APT

Merge lp://staging/~pitti/apt/compressed-indexes into lp://staging/~ubuntu-core-dev/apt/ubuntu

Proposed by Martin Pitt
Status: Rejected
Rejected by: Martin Pitt
Proposed branch: lp://staging/~pitti/apt/compressed-indexes
Merge into: lp://staging/~ubuntu-core-dev/apt/ubuntu
Diff against target: 90174 lines (+26606/-12459) (has conflicts)
118 files modified
apt-inst/contrib/arfile.h (+1/-0)
apt-inst/makefile (+1/-1)
apt-pkg/acquire-item.cc (+40/-5)
apt-pkg/acquire-item.h (+13/-1)
apt-pkg/aptconfiguration.cc (+235/-4)
apt-pkg/aptconfiguration.h (+27/-0)
apt-pkg/contrib/configuration.cc (+11/-11)
apt-pkg/contrib/configuration.h (+19/-18)
apt-pkg/contrib/fileutl.cc (+41/-6)
apt-pkg/contrib/fileutl.h (+6/-3)
apt-pkg/contrib/mmap.cc (+89/-46)
apt-pkg/contrib/mmap.h (+7/-3)
apt-pkg/contrib/strutl.cc (+18/-0)
apt-pkg/contrib/strutl.h (+1/-0)
apt-pkg/deb/debindexfile.cc (+34/-17)
apt-pkg/deb/debindexfile.h (+3/-2)
apt-pkg/deb/deblistparser.cc (+24/-5)
apt-pkg/deb/deblistparser.h (+2/-1)
apt-pkg/deb/debmetaindex.cc (+17/-3)
apt-pkg/deb/debrecords.cc (+9/-3)
apt-pkg/deb/debsrcrecords.cc (+3/-2)
apt-pkg/deb/debsrcrecords.h (+3/-3)
apt-pkg/deb/dpkgpm.cc (+1/-1)
apt-pkg/depcache.cc (+5/-5)
apt-pkg/indexfile.cc (+23/-24)
apt-pkg/init.h (+1/-1)
apt-pkg/makefile (+1/-1)
apt-pkg/pkgcache.cc (+18/-9)
apt-pkg/pkgcache.h (+2/-2)
apt-pkg/policy.cc (+15/-1)
apt-pkg/srcrecords.cc (+2/-2)
apt-pkg/srcrecords.h (+4/-4)
buildlib/apti18n.h.in (+3/-0)
buildlib/library.mak (+7/-7)
buildlib/libversion.mak (+3/-0)
cmdline/apt-cache.cc (+14/-3)
cmdline/apt-get.cc (+7/-5)
cmdline/apt-key (+1/-0)
cmdline/apt-mark (+11/-11)
configure.in (+8/-0)
debian/NEWS (+8/-1)
debian/changelog (+165/-0)
debian/control (+18/-0)
debian/rules (+13/-12)
doc/apt-cdrom.8.xml (+1/-1)
doc/apt-ftparchive.1.xml (+21/-1)
doc/apt.conf.5.xml (+32/-1)
doc/apt_preferences.5.xml (+9/-1)
doc/examples/configure-index (+9/-0)
doc/po/apt-doc.pot (+411/-371)
doc/po/de.po (+462/-373)
doc/po/es.po (+3511/-2616)
doc/po/fr.po (+390/-295)
doc/po/it.po (+284/-257)
doc/po/ja.po (+306/-257)
doc/po/pl.po (+2580/-759)
doc/po/pt_BR.po (+285/-258)
ftparchive/apt-ftparchive.cc (+6/-4)
ftparchive/cachedb.cc (+17/-13)
ftparchive/cachedb.h (+11/-11)
ftparchive/contents.cc (+1/-1)
ftparchive/contents.h (+1/-1)
ftparchive/multicompress.cc (+7/-7)
ftparchive/multicompress.h (+6/-6)
ftparchive/override.cc (+8/-8)
ftparchive/override.h (+5/-5)
ftparchive/writer.cc (+37/-38)
ftparchive/writer.h (+20/-19)
po/ar.po.OTHER (+2896/-0)
po/ast.po (+200/-175)
po/bg.po (+201/-176)
po/bs.po (+193/-172)
po/ca.po (+200/-175)
po/cs.po (+200/-175)
po/cy.po (+200/-173)
po/da.po (+200/-174)
po/de.po (+430/-410)
po/dz.po (+201/-175)
po/el.po (+200/-175)
po/en_GB.po (+256/-231)
po/es.po (+200/-175)
po/eu.po (+200/-175)
po/fi.po (+200/-175)
po/fr.po (+6/-8)
po/gl.po (+200/-175)
po/hu.po (+200/-175)
po/it.po (+16/-7)
po/ja.po (+200/-175)
po/km.po (+201/-175)
po/ko.po (+200/-175)
po/ku.po.OTHER (+2875/-0)
po/lt.po (+200/-178)
po/makefile (+1/-0)
po/mr.po (+200/-175)
po/nb.po (+200/-175)
po/ne.po (+200/-175)
po/nl.po (+329/-312)
po/nn.po (+200/-173)
po/pl.po (+200/-175)
po/pt.po (+200/-175)
po/pt_BR.po (+200/-175)
po/ro.po (+200/-175)
po/ru.po (+202/-188)
po/sk.po (+11/-10)
po/sl.po (+200/-173)
po/sv.po (+200/-175)
po/th.po (+200/-175)
po/tl.po (+200/-174)
po/uk.po.OTHER (+3161/-0)
po/vi.po (+200/-175)
po/zh_CN.po (+200/-174)
po/zh_TW.po (+200/-175)
test/libapt/assert.h (+21/-0)
test/libapt/getlanguages_test.cc (+149/-0)
test/libapt/makefile (+25/-0)
test/libapt/parsedepends_test.cc (+128/-0)
test/libapt/run-tests.sh (+7/-0)
test/test-indexes.sh (+143/-0)
Text conflict in apt-pkg/indexfile.cc
Text conflict in buildlib/libversion.mak
Text conflict in configure.in
Text conflict in debian/changelog
Text conflict in debian/control
Text conflict in doc/po/fr.po
Contents conflict in po/ar.po
Contents conflict in po/ku.po
Contents conflict in po/uk.po
To merge this branch: bzr merge lp://staging/~pitti/apt/compressed-indexes
Reviewer Review Type Date Requested Status
Martin Pitt Needs Fixing
Michael Vogt Pending
Review via email: mp+27342@code.staging.launchpad.net

Description of the change

This branch introduces support for storing gzip-compressed package indexes locally. On my system, this reduces /var/lib/apt/lists/ from 70 MB to 19 MB without introducing noticeable additional latency (mostly because my hard disk is very slow, thus the additional CPU overhead of uncompressing the indexes for building the cache is more than offset by the saved I/O). But even on netbooks or thin clients with fast SSD and slow processor this is an interesting option if the install is very space constrained.

I did not enable this option by default. To use it, one needs to create a file like

$ cat /etc/apt/apt.conf.d/02compress-indexes
Acquire::GzipIndexes "true";
Acquire::CompressionTypes::Order:: "gz";

The second is necessary since the patch deliberately avoids re-compressing downloaded indexes, it just keeps an already gzip compressed index if it gets one.

I also added some test cases for this in test/test-indexes.sh, which run noninteractively and use the local build tree. This tests both uncompressed and compressed indexes with apt-cache and apt-get in various combinations.

Note that although this introduces a new protected member in FileFD, this does _not_ change the ABI of libapt, since FileFD is an internal class only and not exported in libapt-pkg-dev. I ran the abi checker and it gave me a clean bill.

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Oh, forgot: I based this branch off http://bzr.debian.org/apt/debian-sid/, so lp:apt might not actually be the correct target here. My intention for this is to land in the upstream (Debian) trunk.

FYI, I backported the changes to lucid, and are now running with this version on my desktop (with compressed indexes).

Revision history for this message
Martin Pitt (pitti) wrote :

Ah, seems that lp:apt is indeed quite different, sorry :-( So please ignore the autogenerated diff here, and perhaps just use the bazaar.lp.net links for review?

Revision history for this message
Martin Pitt (pitti) wrote :

Ah, I just discovered some regressions wrt. apt-get source and apt-cache showsrc. I committed test cases for those (r1982), and will re-propose the merge against the correct branch (lp:~mvo/apt/debian-sid should be a good mirror of the Debian one?) once it's fixed.

review: Needs Fixing

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: