Doing as Raphael suggests... Anyone know of a reliable way to get a complete list of the files related to a package, even the derived files (like those generated by .config, .postinst, or preprocessing of .py files)?
> Hello Philip, > > you might want to ask on [email protected] as I'm no longer > involved in dpkg development. > > But you are partly reinventing "dpkg -V"... > > Cheers, > > On Tue, 29 Sep 2015, Philip Prindeville wrote: >> >> >> On 05/01/2015 06:51 AM, Raphael Hertzog wrote: >>> Hi, >>> >>> On Thu, 30 Apr 2015, Philip Prindeville wrote: >>>> But then I need to read either /var/lib/dpkg/info/<package>.list for a >>>> list of installed files, or else >>>> /var/lib/dpkg/info/<package>:<arch>.list ... and I can't figure out what >>>> the rule is for knowing when it's the latter. >>> When the package is "Multi-Arch: same" but you should not really access >>> those files directly, instead you should rely on dpkg-query -L to access >>> those list of files. >>> >>>> Oh, almost forgot. Is there a tutorial to using the Dpkg::* classes? >>> Not that I know. There are the manual pages, that's all. >>> >>> Cheers, >> >> >> Might add a few extra classes for some convenience functions, like reading >> the .list and .md5sums files... since I'm trying to avoid spawning hundreds >> of sub-processes by the tool, which would be orders of magnitude slower than >> reading them in-process. >> >> Also had a question about how certain files, like those created in .postinst >> or .conffiles scripts, aren't included in the pkg.list file? For instance, >> any of the python library packages generate .pyc files from the .py files, >> but the former aren't included in the bill-of-materials (i.e. the .list >> file). >> >> I'm writing a script that runs on a system and finds all >> deleted/added/modified files on that system per the Dpkg information. >> >> For instance, if you had: >> >> /etc/libvirt/qemu/networks/backbone.xml >> >> that would show up as an "added" file, related to the libvirt-daemon-system >> package. >> >> If you modified (i.e. md5sum mismatch with the .md5sums file) the file: >> >> /usr/share/misc/pci.ids >> >> that would show up as a "modified" file, belonging to the pciutils >> bill-of-materials. >> >> But I'm seeing about 13,000 files on my system that look like they are >> related to packages, but don't appear in the .list files for the installed >> packages (like all the .pyc files). >> >> Is there a way to relate those files to their packages that I'm not figuring >> out? >> >> I know that in the RPM 4.0 packaging, ALL files related to a package >> (including socket files in /var/run, or synthesized config files like >> sendmail.cf), must be explicitly called out. >> >> What am I missing here? >> >> Thanks, >> >> -Philip >> > > -- > Raphaël Hertzog ◈ Debian Developer > > Support Debian LTS: http://www.freexian.com/services/debian-lts.html > Learn to master Debian: http://debian-handbook.info/get/

