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

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: