diff options
author | Julian Andres Klode <jak@debian.org> | 2021-07-05 09:50:02 +0000 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2021-07-05 09:50:02 +0000 |
commit | b1a384c646427e52abef5bdb799f7bbdbb505bb6 (patch) | |
tree | cf4a44b08067ab1563d00a5437d06c43b4927eed | |
parent | 690f6191a4332123a912c812a19a37cef253e90c (diff) | |
parent | e6056cbc8faf82c368d4439b0fcdcf4f46047d59 (diff) |
Merge branch 'fix/sizesharing' into 'main'
Allow packages from volatile sources to be reinstalled
See merge request apt-team/apt!177
18 files changed, 173 insertions, 43 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index d6ffaf34d..37a715390 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -3471,9 +3471,8 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *const Owner, pkgSourceList *const Sourc } if (FileSize == 0 && not _config->FindB("Acquire::AllowUnsizedPackages", false)) { - _error->Error("Repository is broken: %s (= %s) has no Size information", - Version.ParentPkg().FullName(false).c_str(), - Version.VerStr()); + _error->Error("Repository is broken: %s has no Size information", + Desc.Description.c_str()); return; } diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index d0f0838d0..966246ca7 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -404,8 +404,13 @@ uint32_t debListParser::VersionHash() half-configured, triggers-awaited, triggers-pending, installed */ bool debListParser::ParseStatus(pkgCache::PkgIterator &, - pkgCache::VerIterator &) + pkgCache::VerIterator &Ver) { + // the status file has no info about the download size and + // usually this is fine as we will have picked that info up already – + // except if we have volatile sources which are parsed after the status file. + if (Ver->Size == 0) + Ver->Size = Section.FindULL(pkgTagSection::Key::Size); return true; } bool debStatusListParser::ParseStatus(pkgCache::PkgIterator &Pkg, diff --git a/test/integration/Packages-releasefile-verification b/test/integration/Packages-releasefile-verification index 1e5c47096..c013dcb6b 100644 --- a/test/integration/Packages-releasefile-verification +++ b/test/integration/Packages-releasefile-verification @@ -7,9 +7,9 @@ Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) Provides: libapt-pkg-libc6.9-6-4.8 Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt Filename: apt.deb -Size: 0 -MD5sum: d41d8cd98f00b204e9800998ecf8427e -SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +Size: 3 +MD5sum: 583f72a833c7dfd63c03edba3776247a +SHA256: 5009a047a11fbd680bb40d2f23cd3fcd626ac2d672c38e16f53bd622c3961534 Description: Advanced front-end for dpkg This is Debian's next generation front-end for the dpkg package manager. It provides the apt-get utility and APT dselect method that provides a diff --git a/test/integration/Packages-releasefile-verification-new b/test/integration/Packages-releasefile-verification-new index 7f03829d6..ca2657fd4 100644 --- a/test/integration/Packages-releasefile-verification-new +++ b/test/integration/Packages-releasefile-verification-new @@ -10,9 +10,9 @@ Provides: libapt-pkg4.10 Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt Conflicts: python-apt (<< 0.7.93.2~) Filename: apt.deb -Size: 0 -MD5sum: d41d8cd98f00b204e9800998ecf8427e -SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +Size: 3 +MD5sum: 583f72a833c7dfd63c03edba3776247a +SHA256: 5009a047a11fbd680bb40d2f23cd3fcd626ac2d672c38e16f53bd622c3961534 Description: Advanced front-end for dpkg This is Debian's next generation front-end for the dpkg package manager. It provides the apt-get utility and APT dselect method that provides a diff --git a/test/integration/framework b/test/integration/framework index f14b4da64..8c9abfbe4 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -486,10 +486,6 @@ EOF echo 'APT::Machine-ID "912e43bd1c1d4ba481f9f8ccab25f9ee";' > rootdir/etc/apt/apt.conf.d/machine-id - # XXX: We really ought to make the packages in the test suite all have Size fields. - # But this needs a lot more changes, so let's keep it simple for stable updates. - echo 'Acquire::AllowUnsizedPackages "true";' >> rootdir/etc/apt/apt.conf.d/temporary-allow-unsized-packages - configcompression '.' 'gz' #'bz2' 'lzma' 'xz' confighashes 'SHA256' # these are tests, not security best-practices @@ -974,6 +970,8 @@ insertpackage() { Priority: $PRIORITY Section: $SECTION Installed-Size: 42 +Size: 42 +SHA256: 0000000000000000000000000000000000000000000000000000000000000000 Maintainer: Joe Sixpack <joe@example.org>" test "$arch" = 'none' || echo "Architecture: $arch" echo "Version: $VERSION @@ -981,7 +979,6 @@ Filename: pool/${DISTSECTION}/${NAME}/${NAME}_${VERSION}_${arch}.deb" test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" echo "Description: $(printf '%s' "$DESCRIPTION" | head -n 1)" echo "Description-md5: $(printf '%s' "$DESCRIPTION" | md5sum | cut -d' ' -f 1)" - echo "SHA256: 0000000000000000000000000000000000000000000000000000000000000000" echo } >> "${PPATH}/Packages" done diff --git a/test/integration/test-apt-cli-show b/test/integration/test-apt-cli-show index 4f9e9a16c..72f079c1e 100755 --- a/test/integration/test-apt-cli-show +++ b/test/integration/test-apt-cli-show @@ -36,7 +36,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Manual-Installed: yes APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description @@ -48,7 +48,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main i386 Packages Description: Some description That has multiple lines @@ -59,7 +59,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main amd64 Packages Description: Some description That has multiple lines @@ -70,7 +70,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 4229 MB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main amd64 Packages Description: Some description That has multiple lines @@ -83,7 +83,7 @@ Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB Provides: pkga$(generatelotsofnames) -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -95,7 +95,7 @@ Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB Provides: foobar, pkga$(generatelotsofnames) -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -108,7 +108,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -121,7 +121,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -132,7 +132,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -145,7 +145,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -158,7 +158,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines @@ -169,7 +169,7 @@ Priority: optional Section: other Maintainer: Joe Sixpack <joe@example.org> Installed-Size: 43.0 kB -Download-Size: unknown +Download-Size: 42 B APT-Sources: file:$APTARCHIVE unstable/main all Packages Description: Some description That has multiple lines diff --git a/test/integration/test-bug-604222-new-and-autoremove b/test/integration/test-bug-604222-new-and-autoremove index 534c50b80..08756e03d 100755 --- a/test/integration/test-bug-604222-new-and-autoremove +++ b/test/integration/test-bug-604222-new-and-autoremove @@ -63,6 +63,7 @@ The following additional packages will be installed: The following NEW packages will be installed: dummy-archive libavcodec52 libopenal-dev 0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/126 B of archives. After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only testequal "Reading package lists... @@ -75,6 +76,7 @@ The following additional packages will be installed: The following NEW packages will be installed: dummy-archive libavcodec52 libopenal-dev 0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/126 B of archives. After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only -o APT::Get::HideAutoRemove=small @@ -93,6 +95,7 @@ The following additional packages will be installed: The following NEW packages will be installed: dummy-archive libavcodec52 libopenal-dev 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/126 B of archives. After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' diff --git a/test/integration/test-bug-612557-garbage-upgrade b/test/integration/test-bug-612557-garbage-upgrade index d232c4412..e0ede7847 100755 --- a/test/integration/test-bug-612557-garbage-upgrade +++ b/test/integration/test-bug-612557-garbage-upgrade @@ -29,6 +29,7 @@ The following NEW packages will be installed: The following packages will be upgraded: python-uno 1 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. After this operation, 53.2 MB disk space will be freed. E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno @@ -47,6 +48,7 @@ The following NEW packages will be installed: The following packages will be upgraded: python-uno 1 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. After this operation, 53.2 MB disk space will be freed. E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno diff --git a/test/integration/test-bug-613420-new-garbage-dependency b/test/integration/test-bug-613420-new-garbage-dependency index b225bd60e..46c3d94c9 100755 --- a/test/integration/test-bug-613420-new-garbage-dependency +++ b/test/integration/test-bug-613420-new-garbage-dependency @@ -36,6 +36,7 @@ The following NEW packages will be installed: The following packages will be upgraded: openoffice.org-officebean 1 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/168 B of archives. After this operation, 126 MB disk space will be freed. E: Trivial Only specified but this is not a trivial operation." aptget install libreoffice --trivial-only testequal "Reading package lists... @@ -52,5 +53,6 @@ The following NEW packages will be installed: The following packages will be upgraded: openoffice.org-officebean 1 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/168 B of archives. After this operation, 126 MB disk space will be freed. E: Trivial Only specified but this is not a trivial operation." aptget install libreoffice --trivial-only -o APT::Get::HideAutoRemove=small diff --git a/test/integration/test-bug-64141-install-dependencies-for-on-hold b/test/integration/test-bug-64141-install-dependencies-for-on-hold index 7bbb9bf9b..fe3bde648 100755 --- a/test/integration/test-bug-64141-install-dependencies-for-on-hold +++ b/test/integration/test-bug-64141-install-dependencies-for-on-hold @@ -29,6 +29,7 @@ The following NEW packages will be installed: The following packages will be upgraded: apt libc6 2 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/126 B of archives. After this operation, 0 B of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only @@ -42,5 +43,6 @@ The following packages have been kept back: The following packages will be upgraded: libc6 1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. After this operation, 0 B of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only -o Test='hold-back-apt' diff --git a/test/integration/test-bug-657695-resolver-breaks-on-virtuals b/test/integration/test-bug-657695-resolver-breaks-on-virtuals index 366113ade..42b85218b 100755 --- a/test/integration/test-bug-657695-resolver-breaks-on-virtuals +++ b/test/integration/test-bug-657695-resolver-breaks-on-virtuals @@ -48,5 +48,6 @@ The following packages will be REMOVED: The following packages will be upgraded: xserver-xorg-core 1 upgraded, 0 newly installed, 50 to remove and 0 not upgraded. +Need to get 0 B/42 B of archives. After this operation, 2150 kB disk space will be freed. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only diff --git a/test/integration/test-bug-680041-apt-mark-holds-correctly b/test/integration/test-bug-680041-apt-mark-holds-correctly index 49bb21bc1..bdb086616 100755 --- a/test/integration/test-bug-680041-apt-mark-holds-correctly +++ b/test/integration/test-bug-680041-apt-mark-holds-correctly @@ -23,6 +23,7 @@ Calculating upgrade... The following packages will be upgraded: pkgall pkgarch 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. After this operation, 0 B of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only @@ -37,6 +38,7 @@ The following packages have been kept back: The following packages will be upgraded: pkgall 1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. After this operation, 0 B of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only @@ -49,6 +51,7 @@ Calculating upgrade... The following packages will be upgraded: pkgall pkgarch 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. After this operation, 0 B of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only @@ -63,6 +66,7 @@ The following packages have been kept back: The following packages will be upgraded: pkgarch 1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. After this operation, 0 B of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only diff --git a/test/integration/test-bug-722207-print-uris-even-if-very-quiet b/test/integration/test-bug-722207-print-uris-even-if-very-quiet index d39df4dff..116e8fa2a 100755 --- a/test/integration/test-bug-722207-print-uris-even-if-very-quiet +++ b/test/integration/test-bug-722207-print-uris-even-if-very-quiet @@ -17,10 +17,10 @@ setupaptarchive APTARCHIVE=$(readlink -f ./aptarchive) -testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 0 " aptget upgrade -qq --print-uris -testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 0 " aptget dist-upgrade -qq --print-uris -testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 0 " aptget install apt -qq --print-uris -testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 0 SHA256:0000000000000000000000000000000000000000000000000000000000000000" aptget download apt -qq --print-uris +testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 " aptget upgrade -qq --print-uris +testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 " aptget dist-upgrade -qq --print-uris +testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 " aptget install apt -qq --print-uris +testsuccessequal "'file://${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 SHA256:0000000000000000000000000000000000000000000000000000000000000000" aptget download apt -qq --print-uris testsuccessequal "'file:${APTARCHIVE}/apt_2.dsc' apt_2.dsc 9 SHA256:7776436a6d741497f1cd958014e1a05b352224231428152aae39da3c17fd2fd4 'file:${APTARCHIVE}/apt_2.tar.gz' apt_2.tar.gz 12 SHA256:f57f565eabe3fde0ec6e6e0bcc8db1d86fe2b4d6344a380a23520ddbb7728e99" aptget source apt -qq --print-uris testsuccessequal "'https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_2_changelog' apt.changelog" aptget changelog apt -qq --print-uris diff --git a/test/integration/test-explore-or-groups-in-markinstall b/test/integration/test-explore-or-groups-in-markinstall index b88105b6b..fe7e998be 100755 --- a/test/integration/test-explore-or-groups-in-markinstall +++ b/test/integration/test-explore-or-groups-in-markinstall @@ -121,7 +121,7 @@ fi if $TEST_WITH_APTITUDE; then OKAYAPTITUDE='0 packages upgraded, 2 newly installed, 0 to remove and 3 not upgraded. -Need to get 0 B of archives. After unpacking 86.0 kB will be used. +Need to get 0 B/84 B of archives. After unpacking 86.0 kB will be used. Would download/install/remove packages.' testsuccesstailequal 3 "$OKAYAPTITUDE" aptitude install foo-d-level2 -sy testsuccesstailequal 3 "$OKAYAPTITUDE" aptitude install foo-r-level2 -sy diff --git a/test/integration/test-release-candidate-switching b/test/integration/test-release-candidate-switching index 945f68084..5233dec06 100755 --- a/test/integration/test-release-candidate-switching +++ b/test/integration/test-release-candidate-switching @@ -70,6 +70,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (4:4.6.0really4.4.2-1+sid) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok --trivial-only -V @@ -89,6 +90,7 @@ The following NEW packages will be installed: libmtp8 (0.3.3+exp) phonon-backend-xine (5:4.6.0+exp) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok -t experimental --trivial-only -V @@ -111,6 +113,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (4:4.6.0really4.4.2-1+sid) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok/experimental --trivial-only -V @@ -133,6 +136,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-null (4:4.20.0+sid) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-null/experimental --trivial-only -V @@ -158,6 +162,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (4:4.6.0really4.4.2-1+sid) 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/294 B of archives. After this operation, 301 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok/experimental amarok-null/experimental --trivial-only -V @@ -188,6 +193,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (5:4.6.0+exp) 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/294 B of archives. After this operation, 301 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-less/experimental2 amarok-higher/experimental --trivial-only -V @@ -211,6 +217,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-null (4:4.20.0+sid) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-null2/experimental --trivial-only -V @@ -235,6 +242,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (5:4.6.0+exp) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine/experimental --trivial-only -V @@ -259,6 +267,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-null (5:4.20.0+exp) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine2/experimental --trivial-only -V @@ -286,6 +295,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine3 (5:4.6.0+exp) 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/294 B of archives. After this operation, 301 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine3/experimental --trivial-only -V @@ -310,6 +320,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-null (5:4.20.0+exp) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine4/experimental --trivial-only -V @@ -334,6 +345,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-null (5:4.20.0+exp) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-broken/experimental --trivial-only -V @@ -357,6 +369,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (4:4.6.0really4.4.2-1+sid) 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. After this operation, 258 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends/experimental --trivial-only -V -o APT::Install-Recommends=1 @@ -377,6 +390,7 @@ The following NEW packages will be installed: amarok-common (2.3.2-2+exp) amarok-recommends (2.3.2-2+exp) 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. After this operation, 86.0 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends/experimental --trivial-only -V -o APT::Install-Recommends=0 @@ -400,6 +414,7 @@ The following NEW packages will be installed: libmtp8 (0.3.1+sid) phonon-backend-xine (4:4.6.0really4.4.2-1+sid) 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/210 B of archives. After this operation, 215 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends2/experimental --trivial-only -V -o APT::Install-Recommends=1 @@ -439,5 +454,6 @@ The following packages will be DOWNGRADED: amarok (3 => 2.3.1-1+sid) amarok-common (3 => 2.3.1-1+sid) 0 upgraded, 3 newly installed, 2 downgraded, 0 to remove and 0 not upgraded. +Need to get 0 B/210 B of archives. After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." apt install amarok/sid --trivial-only -V diff --git a/test/integration/test-releasefile-verification b/test/integration/test-releasefile-verification index 382d89ecd..5f873b82c 100755 --- a/test/integration/test-releasefile-verification +++ b/test/integration/test-releasefile-verification @@ -40,8 +40,9 @@ Suggested packages: The following NEW packages will be installed: apt 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. After this operation, 5370 kB of additional disk space will be used. -Get:1 http://localhost:${APTHTTPPORT} apt 0.7.25.3 +Get:1 http://localhost:${APTHTTPPORT} apt 0.7.25.3 [3 B] Download complete and in download only mode" aptget install apt -dy } @@ -54,8 +55,9 @@ Suggested packages: The following NEW packages will be installed: apt 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. After this operation, 5808 kB of additional disk space will be used. -Get:1 http://localhost:${APTHTTPPORT} apt 0.8.0~pre1 +Get:1 http://localhost:${APTHTTPPORT} apt 0.8.0~pre1 [3 B] Download complete and in download only mode" aptget install apt -dy } @@ -67,6 +69,7 @@ Suggested packages: The following NEW packages will be installed: apt 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. After this operation, 5370 kB of additional disk space will be used. WARNING: The following packages cannot be authenticated! apt @@ -81,6 +84,7 @@ Suggested packages: The following NEW packages will be installed: apt 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. After this operation, 5808 kB of additional disk space will be used. WARNING: The following packages cannot be authenticated! apt @@ -88,7 +92,7 @@ E: There were unauthenticated packages and -y was used without --allow-unauthent } # fake our downloadable file -touch aptarchive/apt.deb +echo -n 'apt' > aptarchive/apt.deb PKGFILE="${TESTDIR}/$(echo "$(basename "$0")" | sed 's#^test-#Packages-#')" diff --git a/test/integration/test-same-version-but-different b/test/integration/test-same-version-but-different new file mode 100755 index 000000000..df6753a43 --- /dev/null +++ b/test/integration/test-same-version-but-different @@ -0,0 +1,98 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'all-same' 'all' '1' +insertpackage 'testing' 'all-same' 'all' '1' + +insertpackage 'unstable' 'diff-depends' 'all' '1' 'Depends: all-same (= 1)' +insertpackage 'testing' 'diff-depends' 'all' '1' 'Depends: all-same (= 2)' + +insertpackage 'unstable' 'diff-arch' 'all' '1' +insertpackage 'testing' 'diff-arch' 'amd64' '1' + +insertpackage 'unstable' 'diff-ma-1' 'all' '1' 'Multi-Arch: foreign' +insertpackage 'testing' 'diff-ma-1' 'all' '1' + +insertpackage 'unstable' 'diff-ma-2' 'all' '1' 'Multi-Arch: foreign' +insertpackage 'testing' 'diff-ma-2' 'all' '1' 'Multi-Arch: no' + +insertpackage 'unstable' 'diff-ma-3' 'amd64' '1' 'Multi-Arch: foreign' +insertpackage 'testing' 'diff-ma-3' 'amd64' '1' 'Multi-Arch: same' + +insertpackage 'unstable' 'diff-size' 'all' '1' 'Size: 21' +insertpackage 'testing' 'diff-size' 'all' '1' 'Size: 42' + +insertpackage 'unstable' 'diff-instsize' 'all' '1' 'Installed-Size: 21' +insertpackage 'testing' 'diff-instsize' 'all' '1' 'Installed-Size: 42' + +setupaptarchive + +APTARCHIVE="$(readlink -f ./aptarchive)" +testsuccessequal "all-same: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy all-same +testsuccessequal "diff-depends: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-depends +testsuccessequal "diff-arch: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main amd64 Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-arch +testsuccessequal "diff-ma-1: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-ma-1 +testsuccessequal "diff-ma-2: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-ma-2 +testsuccessequal "diff-ma-3: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main amd64 Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main amd64 Packages" apt policy diff-ma-3 +testsuccessequal "diff-size: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-size +testsuccessequal "diff-instsize: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-instsize diff --git a/test/integration/test-ubuntu-bug-1921626-unsized-packages b/test/integration/test-ubuntu-bug-1921626-unsized-packages index 361cccd2e..477ed526d 100755 --- a/test/integration/test-ubuntu-bug-1921626-unsized-packages +++ b/test/integration/test-ubuntu-bug-1921626-unsized-packages @@ -15,14 +15,9 @@ buildsimplenativepackage 'a' 'all' '1.0' 'stable' buildsimplenativepackage 'b' 'all' '1.0' 'stable' '' '' '' '' "$PWD/tree" buildsimplenativepackage 'c' 'all' '1.0' 'stable' -setupaptarchive +setupaptarchive --no-update changetowebserver -# Disable sandbox -echo 'APT::Sandbox::User "root";' > rootdir/etc/apt/apt.conf.d/no-acquire-sandbox -# XXX: Remove temporary hack -rm rootdir/etc/apt/apt.conf.d/temporary-allow-unsized-packages - testsuccess apt update for file in rootdir/var/lib/apt/lists/*Packages; do @@ -35,9 +30,11 @@ size_a=$(wc -c aptarchive/pool/a_1.0_all.deb | awk '{print $1}') size_b=$(wc -c aptarchive/pool/b_1.0_all.deb | awk '{print $1}') size_c=$(wc -c aptarchive/pool/c_1.0_all.deb | awk '{print $1}') +cd downloaded testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable/main all a all 1.0 [$size_a B] Get:2 http://localhost:${APTHTTPPORT} stable/main all b all 1.0 [$size_b B] Get:3 http://localhost:${APTHTTPPORT} stable/main all c all 1.0 [$size_c B]" apt download a b c -o Acquire::AllowUnsizedPackages=true - rm *.deb -testfailureequal "E: Repository is broken: b:i386 (= 1.0) has no Size information" apt download a b c + +testfailureequal "E: Repository is broken: http://localhost:${APTHTTPPORT} stable/main all b all 1.0 has no Size information" apt download a b c +cd .. |