Bug#799158: Acquire::GzipIndexes breaks "copy" APT method ("Hash Sum mismatch")
Package: apt
Version: 1.0.10.2
Hi,
Docker's Debian images do a few non-standard things with their APT
configuration, but in particular they add:
Acquire::GzipIndexes "true";
(This reduced their wheezy image from 30MB -> 8MB.)
However, this doesn't seem to work when using the "copy" APT method:
$ cat /etc/apt/sources.list
deb copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid main
deb-src copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid main
$ apt-get update
Ign:1 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid InRelease
Get:2 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid Release
[252 kB]
Get:3 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid Release.gpg
[1554 B]
Get:4 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid/main
Sources [10.5 MB]
Err:4 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid/main
Sources
Hash Sum mismatch
Get:5 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid/main amd64
Packages [10.1 MB]
Err:5 copy:/home/mirror/mirror.chris-lamb.co.uk/debian sid/main amd64
Packages
Hash Sum mismatch
[..]
The files themselves seem to be match the hashes:
$ grep main/source/Sources
/home/mirror/mirror.chris-lamb.co.uk/debian/dists/sid/Release | head
-n4
debce8f250490c4bcb25cc0924cd926b 38111794 main/source/Sources
c49a3e3a3f078dcaeb4ca4f271781f7a 7876
main/source/Sources.diff/Index
adfea60f28e7a58436c5e6972d771b77 10477560 main/source/Sources.gz
8fc39dc141ae9314fb13124b4644611a 8099536 main/source/Sources.xz
$ md5sum
/home/mirror/mirror.chris-lamb.co.uk/debian/dists/sid/main/source/Sources.gz
adfea60f28e7a58436c5e6972d771b77
/home/mirror/mirror.chris-lamb.co.uk/debian/dists/sid/main/source/Sources.gz
$ gunzip -c
/home/mirror/mirror.chris-lamb.co.uk/debian/dists/sid/main/source/Sources.gz
| md5sum -
debce8f250490c4bcb25cc0924cd926b -
If it helps, methods/copy.cc has this:
38 void CopyMethod::CalculateHashes(FetchResult &Res)
39 {
40 Hashes Hash;
41 FileFd::CompressMode CompressMode = FileFd::None;
42 if (_config->FindB("Acquire::GzipIndexes", false) == true)
43 CompressMode = FileFd::Extension;
44
45 FileFd Fd(Res.Filename, FileFd::ReadOnly, CompressMode);
46 Hash.AddFD(Fd);
47 Res.TakeHashes(Hash);
48 }
Using the "file" method (or HTTP) on the same mirror works without
error.
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
Reply to: