Message: previous - next
Month: October 2012

Reduce packages size (was 3.5.13 SRU prerelease preparations)

From: Slávek Banko <slavek.banko@...>
Date: Sat, 6 Oct 2012 18:51:23 +0200
On Saturday 29 of September 2012 04:05:43 Timothy Pearson wrote:
> > On Friday 28 of September 2012 17:07:33 Timothy Pearson wrote:
> >> Interesting!  Are you going to do this in the R14 packaging tree as
> >> well?
> >
> > I assume that the change native => quilt could be used for the final R14
> > and
> > certainly for subsequent SRU in R14. In order to use quilt also for the
> > nightly-builds, it requires to modify scripts that you use to prepare
> > packages for nigtly-builds.
> >
> > For example, it should need to change the version number used for base
> > tarball "orig.tar.bz2" because it is not possible to use dash for a
> > version
> > of "upstream" package on Debian. Instead of
> > 14.0.0-0debian11+r274+pr2~wheezy
> > would have to be used, for example 14.0.0~r274 for the base tarball
> > orig.tar.bz2. And distribution specific version would in this case be:
> > 14.0.0~r274-0debian11~wheezy.
> >
> > It is therefore a question, whether is now a good time for such a change?
> >
> > Slavek
> > --
> As this would require a change of the versioning scheme, now is not a good
> time for the change.
> Tim

Because for now, you can not change from native packages to quilt, I have two 
other ways to reduce packages size!


I tested that all currently supported distributions (Debian from Squeeze, 
Ubuntu from Lucid) have support for source packages using XZ compression. 
Switching from bzip2 to XZ can reduce source packages about 12%.

If there are no objections, I can make this change immediately.


I noticed that although we use bzip2 compression for source packages inside 
binary packages are still gzip. I checked that there is also possibility to 
switch compression for binary packages. I tested, that except Lucid is 
possible to use inside binary packages XZ compression. For Lucid can be used 
bzip2. The need to use for Lucid a different compression is not a problem. I 
create rule that automatically selects compression by availability XZ:

DEB_DH_BUILDDEB_ARGS = -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
                              && echo xz || echo bzip2)

Change from gzip to bzip2 (for Lucid) reduces binary packages by about 12%. 
Change to XZ (for all others) reduces binary packages by about 25%.

If there are no objections, I add gradually this change to all packages.