I'm trying to do some package manipulation (a la dpkg) and while I can just popen
or subprocess.call
I'd rather do things the python way if possible.
Unfortunately I've been unable to find a python module to do the trick.
I've seen reference to python-deb
but it appears to be defunct. python-apt
might seem like a potential solution, but AFAICT it cannot handle individual .deb
files.
Anyone know of a good dpkg python solution?
Actually, python-apt
allows you to work with these files directly. Here's an example:
from apt.debfile import DebPackage
from pprint import pprint
pkg = DebPackage('/tmp/wajig_2.7_all.deb')
pprint(pkg.filelist)
Output:
$ ./script.py
['./',
'etc/',
'etc/bash_completion.d/',
...
'usr/bin/',
'usr/bin/wajig']
It's not as complete as I would like sadly, but it has a bunch of functionality.
(more info)
Python-apt is probably the canonical way of doing this, but if you require the ability to work on non-debian platforms, I've released an early version of a native reimplementation of some parts of it:
https://github.com/memory/python-dpkg
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With