From cbd5fc0a6c666768ab8a127b9caabc6ee7a95b64 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 14 Jan 2011 00:48:33 +0100 Subject: [PATCH] Add a testcase to verify that packages which are held back by dpkg are not causing installation/removal of other packages (#64141) --- ...bug-64141-install-dependencies-for-on-hold | 42 +++++++++++++++++++ ...bug-64141-install-dependencies-for-on-hold | 33 +++++++++++++++ ...bug-64141-install-dependencies-for-on-hold | 34 +++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 test/integration/Packages-bug-64141-install-dependencies-for-on-hold create mode 100644 test/integration/status-bug-64141-install-dependencies-for-on-hold create mode 100755 test/integration/test-bug-64141-install-dependencies-for-on-hold diff --git a/test/integration/Packages-bug-64141-install-dependencies-for-on-hold b/test/integration/Packages-bug-64141-install-dependencies-for-on-hold new file mode 100644 index 000000000..7005fa4f4 --- /dev/null +++ b/test/integration/Packages-bug-64141-install-dependencies-for-on-hold @@ -0,0 +1,42 @@ +Package: apt +Priority: important +Section: admin +Installed-Size: 6048 +Maintainer: APT Development Team +Architecture: i386 +Version: 0.8.10 +Provides: libapt-pkg4.10 +Depends: libc6 (>= 2.10), libdb4.8 +Breaks: oldcrap +Filename: pool/main/a/apt/apt_0.8.10_i386.deb +Size: 2160758 +MD5sum: 5aa2234f7b91056d430669cddf6e6e50 +Description: Advanced front-end for dpkg + +Package: libc6 +Priority: required +Section: libs +Installed-Size: 9356 +Maintainer: GNU Libc Maintainers +Architecture: i386 +Source: eglibc +Version: 2.11.2-7 +Provides: glibc-2.11-1 +Filename: pool/main/e/eglibc/libc6_2.11.2-7_i386.deb +Size: 3880868 +MD5sum: c48fd2854fc62125824267d086600793 +Description: Embedded GNU C Library: Shared libraries + +Package: libdb4.8 +Priority: standard +Section: libs +Installed-Size: 1488 +Maintainer: Clint Adams +Architecture: i386 +Source: db4.8 +Version: 4.8.30-3 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/d/db4.8/libdb4.8_4.8.30-3_i386.deb +Size: 681988 +MD5sum: 0d58c15898a95436d2ec480aa22693ff +Description: Berkeley v4.8 Database Libraries [runtime] diff --git a/test/integration/status-bug-64141-install-dependencies-for-on-hold b/test/integration/status-bug-64141-install-dependencies-for-on-hold new file mode 100644 index 000000000..c82ebd19c --- /dev/null +++ b/test/integration/status-bug-64141-install-dependencies-for-on-hold @@ -0,0 +1,33 @@ +Package: apt +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 6048 +Maintainer: APT Development Team +Architecture: i386 +Version: 0.8.9 +Provides: libapt-pkg4.10 +Depends: libc6 (>= 2.3.4) +Description: Advanced front-end for dpkg + +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 9356 +Maintainer: GNU Libc Maintainers +Architecture: i386 +Source: eglibc +Version: 2.3.5-7 +Provides: glibc-2.11-1 +Description: Embedded GNU C Library: Shared libraries + +Package: oldcrap +Status: install ok installed +Priority: extra +Section: oldlibs +Installed-Size: 1 +Maintainer: Joe Sixpack +Architecture: all +Version: 1-1 +Description: Old crappy nothing package diff --git a/test/integration/test-bug-64141-install-dependencies-for-on-hold b/test/integration/test-bug-64141-install-dependencies-for-on-hold new file mode 100755 index 000000000..4633ffcc3 --- /dev/null +++ b/test/integration/test-bug-64141-install-dependencies-for-on-hold @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + oldcrap +The following NEW packages will be installed: + libdb4.8 +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/6724 kB of archives. +After this operation, 1523 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + +echo 'apt hold' | dpkg --set-selections + +testequal 'Reading package lists... +Building dependency tree... +The following packages have been kept back: + apt +The following packages will be upgraded: + libc6 +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/3881 kB 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' -- 2.45.2