From c427b1e218e61bd1aacbddf9013e58b8aa445a7c Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 29 Nov 2010 21:43:07 +0100 Subject: * apt-pkg/algorithms.cc: - mark all installed packages first without auto installation in a dist-upgrade to prefer upgrading packages instead of installing new packages in versioned or-groups (Closes: #605394) --- .../Packages-bug-605394-versioned-or-groups | 71 ++++++++++++++++++++++ .../status-bug-605394-versioned-or-groups | 34 +++++++++++ .../test-bug-605394-versioned-or-groups | 25 ++++++++ 3 files changed, 130 insertions(+) create mode 100644 test/integration/Packages-bug-605394-versioned-or-groups create mode 100644 test/integration/status-bug-605394-versioned-or-groups create mode 100755 test/integration/test-bug-605394-versioned-or-groups (limited to 'test') diff --git a/test/integration/Packages-bug-605394-versioned-or-groups b/test/integration/Packages-bug-605394-versioned-or-groups new file mode 100644 index 000000000..60327364b --- /dev/null +++ b/test/integration/Packages-bug-605394-versioned-or-groups @@ -0,0 +1,71 @@ +Package: apache2-mpm-prefork +Priority: optional +Section: httpd +Installed-Size: 68 +Maintainer: Debian Apache Maintainers +Architecture: i386 +Source: apache2 +Version: 2.2.16-4 +Provides: apache2-mpm +Conflicts: apache2-mpm +Filename: pool/main/a/apache2/apache2-mpm-prefork_2.2.16-4_i386.deb +Size: 2276 +MD5Sum: c0db3e637052e59dbdb2fa08f4cdcea4 +Description: Apache HTTP Server - traditional non-threaded model +Task: web-server + +Package: apache2-mpm-worker +Priority: optional +Section: httpd +Installed-Size: 68 +Maintainer: Debian Apache Maintainers +Architecture: i386 +Source: apache2 +Version: 2.2.16-4 +Provides: apache2-mpm +Conflicts: apache2-mpm +Filename: pool/main/a/apache2/apache2-mpm-worker_2.2.16-4_i386.deb +Size: 2220 +MD5Sum: 71bccda875aa0afac700410b951370ba +Description: Apache HTTP Server - high speed threaded model + +Package: libapache2-mod-php5 +Priority: optional +Section: httpd +Installed-Size: 7588 +Maintainer: Debian PHP Maintainers +Architecture: i386 +Source: php5 +Version: 5.3.3-4 +Depends: apache2-mpm-prefork (>> 2.0.52) +Filename: pool/main/p/php5/libapache2-mod-php5_5.3.3-4_i386.deb +Size: 2886980 +MD5Sum: b41ec4b98aa08966288570e07cd864ab +Description: server-side, HTML-embedded scripting language (Apache 2 module) +Task: web-server + +Package: php5-cgi +Priority: optional +Section: php +Installed-Size: 14672 +Maintainer: Debian PHP Maintainers +Architecture: i386 +Source: php5 +Version: 5.3.3-4 +Filename: pool/main/p/php5/php5-cgi_5.3.3-4_i386.deb +Size: 5713726 +MD5Sum: 9e579982032c7bb98508e16e314f45e9 +Description: server-side, HTML-embedded scripting language (CGI binary) + +Package: php5 +Priority: optional +Section: php +Installed-Size: 20 +Maintainer: Debian PHP Maintainers +Architecture: all +Version: 5.3.3-4 +Depends: libapache2-mod-php5 (>= 5.3.3-4) | php5-cgi (>= 5.3.3-4) +Filename: pool/main/p/php5/php5_5.3.3-4_all.deb +Size: 1050 +MD5Sum: cbedd95ed5b868ba1ffd10747abc0ee3 +Description: server-side, HTML-embedded scripting language (metapackage) diff --git a/test/integration/status-bug-605394-versioned-or-groups b/test/integration/status-bug-605394-versioned-or-groups new file mode 100644 index 000000000..3ac9c3054 --- /dev/null +++ b/test/integration/status-bug-605394-versioned-or-groups @@ -0,0 +1,34 @@ +Package: apache2-mpm-worker +Status: install ok installed +Priority: optional +Section: httpd +Installed-Size: 68 +Maintainer: Debian Apache Maintainers +Architecture: i386 +Source: apache2 +Version: 2.2.16-4 +Provides: apache2-mpm +Conflicts: apache2-mpm +Description: Apache HTTP Server - high speed threaded model + +Package: php5-cgi +Status: install ok installed +Priority: optional +Section: php +Installed-Size: 14672 +Maintainer: Debian PHP Maintainers +Architecture: i386 +Source: php5 +Version: 5.3.3-3 +Description: server-side, HTML-embedded scripting language (CGI binary) + +Package: php5 +Status: install ok installed +Priority: optional +Section: php +Installed-Size: 20 +Maintainer: Debian PHP Maintainers +Architecture: all +Version: 5.3.3-3 +Depends: libapache2-mod-php5 (>= 5.3.3-3) | libapache2-mod-php5filter (>= 5.3.3-3) | php5-cgi (>= 5.3.3-3) +Description: server-side, HTML-embedded scripting language (metapackage) diff --git a/test/integration/test-bug-605394-versioned-or-groups b/test/integration/test-bug-605394-versioned-or-groups new file mode 100755 index 000000000..0d7ad77f6 --- /dev/null +++ b/test/integration/test-bug-605394-versioned-or-groups @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +local TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" +setupaptarchive + +testequal "Reading package lists... +Building dependency tree... +The following packages will be upgraded: + php5 php5-cgi +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/5715 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 + +msgtest "Solution process doesn't involve" 'apache2-mpm-prefork' + +if aptget dist-upgrade --trivial-only -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 2>&1 | grep apache2-mpm-prefork > /dev/null; then + msgfail +else + msgpass +fi -- cgit v1.2.3