Subject: Re: pkg summary file format proposal
To: None <tech-pkg@NetBSD.org>
From: None <joerg@britannica.bec.de>
List: tech-pkg
Date: 02/05/2006 16:41:28
On Sat, Feb 04, 2006 at 07:18:00PM +0100, Dieter Baron wrote:
> I propose the file be called `pkg_summary.txt' and be placed in the
> same directory as the binary packages themselves (the `All' directory
> in the standard layout).  Since it can grow quite large, we may want
> to compress it with gzip and call it `pkg_summary.txt.gz'

Any strong reason to use gzip and not bzip2?

>   To save space, I would like to change the way multi-line values are
> stored (both in the summary and the +{BUILD,INSTALLED}_INFO files).
> They are currently stored as multiple lines:
> 
> REQUIRES=/usr/pkg/lib/libjpeg.so.62
> REQUIRES=/usr/pkg/lib/libpng.so.3
> 
> while I would like to have continuation lines start with a single tab
> character:
> 
> REQUIRES=/usr/pkg/lib/libjpeg.so.62
> 	/usr/pkg/lib/libpng.so.3

Please don't do this. It makes the output harder to process like Jeremy
said already and it might even be counterproductive for the compression.
Keep in mind that REQUIRES=/usr/pkg/lib would end up as a single token
for LZ77.

> I propose including the following variables:

[snap list]

Can we also have a delimiter token? I think that might be handy later
:-)

>   Comments are welcome if I missed anything important or if any of
> these are superfluous.

I don't think the object format is really important, on the other hand
the pkg_install version can be.

>   This allows easy integration of the summary information creation
> into bulk builds, by running the following command at the end:
> 
> 	pkg_info -C *.tgz | gzip -9 > pkg_summary.txt.gz

Which might not work for large binary lists on platforms with not too
large argmax. But that can be worked around of course.

Joerg