[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Question on installing packages via the Python APT library



Hi! I'm currently working on a project that's going to be using the Python APT library to handle some package installation, but I've got a question on how exactly a certain thing is working:

I've gotten everything up to the actual installation of packages done (up to the point of calling 'DepCache.commit()', but once I get to the 'commit()' stage I can't figure out how to control the output of the 'commit()' call in a way I'm wanting.

Going with the two classes that are specified for the 'commit()' function, I currently have the following implemented (I haven't exactly figured out what to put in each one yet, as I'm still trying to figure out all how this step works):

acquire_progress: https://gist.github.com/hwittenborn/56fa689b86396a904155e4b1b5be817a
install_progress: https://gist.github.com/hwittenborn/0eb762abdfeb96e2c1cbf4f5b6a975f3

The 'tap.message' library being used inside both of those classes is just a message system for my program, they don't do anything particularly important that would affect anything at all.

The acquire_progress stage *appears* to be working fine, though the packages I downloaded were quite small so I didn't really get a chance to see if it just did some weird stuff like with install progress;

The problem with install_progress is that it's exiting my program, and then proceeding with installing packages, as if it starts installing packages in the background. How exactly should I go about waiting for it to finish though?

On a side note, I'm seeing this text whenever it (presumably) gets to the install part:

"""
custom fork found
got pid: 31873
got pid: 0
got fd: 4
"""

Is there any way I can hide that? I'm thinking it's from the 'fork()' call in the install_progress class, but the Python APT documentation is recommending not changing that [1], so I wasn't really sure.

[1]: https://apt-team.pages.debian.net/python-apt/library/apt.progress.base.html#apt.progress.base.InstallProgress.fork

Thanks, anything helps!

---




Reply to: