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

Re: Best options for programmatically analyzing packages?



Hi Nathan,

Quoting Nathan Willis (2020-12-17 20:05:01)
> If I can pose a question to the more experienced in the audience: what 
> are the best relatively-modern tools for exploring stats about a set 
> of packages from the Debian archive?
> 
> I feel like this ought to be relatively straightforward, but between 
> all the various QA and build subdomains, I'm finding the Step Zero a 
> little obtuse. All I mean is like, e.g., if I want to grab metadata 
> about the font packages (package formats, last-update dates, copyright 
> fields, licenses, maybe file lists), or a subset of them, to sift 
> through locally, what are my options for doing that directly in 
> $POPULAR_LANGUAGE_OF_THE_MOMENT?
> 
> The only real wrinkle is that I'm interested in potentially comparing 
> across releases, so simply scraping apt and dkpg for myself won't (I 
> think) cut it.... I am interested in font packages, of course, which 
> is why I'm asking on this list specifically — in case someone who had 
> dealt with the old Font Review service or a similar effort had advice 
> to share.
> 
> All advice is more than welcome, of course.

So you want to examine, locally, a collection of packages in a 
distribution - and compare across distributions (or across releases of a 
distribution, depending on how you use the terms)?

There are no tools to extract information e.g. about font metadata 
without opening up the package. First extract the files you want to 
examine, and then use appropriate examination tools directly on the 
files (or indirectly - e.g. fontconfig tools against the fontconfig 
cache).

While it may be faster to explicitly extract files from a package with 
"dpkg-deb --extract ...", it is simpler to install the packages into a 
virtualised environment.  I recommend using mmdebstrap for that - should 
be the fastest tool for such task, and is optimized to automation (and 
if you cannot figure out how to use it then try ask the author - I have 
followed along on bugreports and he provides excellent guidance!).

I would suggest to first create a shell script that gathers the 
information you want for your currently tunning system, then (with 
mmdebstrap) bootstrap a virgin instance for each distribution you want 
to compare, and run the script inside each of those instances.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature


Reply to: