On Thu, Jan 30, 2014 at 03:13:16AM +0000, Wookey wrote: > Package: apt > Version: 0.9.15 > Severity: important > > In the sources I have my own bootstrap repository containing a lot of > (unstable) packages built for arm64, and plain debian unstable and saucy repos > > apt-get install <arch-all-package> (that is available in all 3 repos) > results in a size mismatch error. It seems that apt is using the > checksum from one repo but downloading the package from another. > > The packages used is just an example it seems to be the same for any arch all > package > > (debian-arm64)# apt-cache policy x11proto-scrnsaver-dev > x11proto-scrnsaver-dev: > Installed: (none) > Candidate: 1.2.2-1 > Version table: > 1.2.2-1 0 > 500 http://people.debian.org/~wookey/bootstrap/debianrepo2/ > debianstrap/main arm64 Packages > 500 http://ftp.uk.debian.org/debian/ unstable/main amd64 Packages > 500 http://ports.ubuntu.com/ubuntu-ports/ saucy/main arm64 Packages >
Right, and that's a problem, as having two different packages with the same version is not really supported. APT differentiates packages with the same version by CRC-16 hashing the fields Installed-Size Depends Pre-Depends Conflicts Breaks Replaces in order to handle packages where those are the same APT would need to hash size or SHA hash as well, but this fails for installed packages, as this information is not provided in /var/lib/dpkg/status. An alternative would be to change the cache-building algorithms to look at SHA hashes and/or size and create different version entries in the cache if they are present in both versions, but different. SHA Hashes would require all repositories to use the same best checksum algorithm. -- Julian Andres Klode - Debian Developer, Ubuntu Member See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/. Please do not top-post if possible. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org