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

Re: .deb format: let's use 0.939, zstd, drop bzip2



On Fri, May 10, 2019 at 11:30:14AM +0200, Andrej Shadura wrote:
> On Fri, 10 May 2019 at 06:47, Adam Borowski <kilobyte@angband.pl> wrote:
> > > So I think Andrej is on the spot, and we should just switch from ar(5)
> > > to tar(5) as the container
> >
> > I would heavily advise against archive-in-archive.  Especially not tar, with
> > its block madness.  The blocks disappear when compressed but you're not
> > going to compress the outer layer.  Also, you can't shed the outer layer of
> > tar without a filter.
> 
> You may be amazed, but that’s actually what ipkg used to do (and opkg
> still supports):
> 
> [1]: https://web.archive.org/web/20100823030002/http://www.handhelds.org/moin/moin.cgi/Ipkg#head-133c8da00cf5d277becb22540e75e6fbe5536902
> 
> [2]: https://git.yoctoproject.org/cgit/cgit.cgi/opkg/tree/libopkg/opkg_archive.c#n523

This code does a filter, via libarchive callbacks.  I've just implemented
the very same thing myself.  Libarchive is quite smart and avoids copying
the data around when possible, but the overhead of block callbacks is still
significant.

It's not possible to peel away the outer layer as tar doesn't guarantee the
data is contiguous in the file.  It supports sparse files, etc.

> (I think it would be quite ironic if Debian switches to a package
> format derived from Debian to be used elsewhere.)

Why?  Stealing the work from derivatives means the community at large is
more effective.  Code/idea/design reuse is good.


喵!
-- 
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢰⠒⠀⣿⡁
⢿⡄⠘⠷⠚⠋⠀ NADIE anticipa la inquisición de españa!
⠈⠳⣄⠀⠀⠀⠀


Reply to: