]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-686346-package-missing-architecture
eipp: add Allow-Temporary-Remove-of-Essentials
[apt.git] / test / integration / test-bug-686346-package-missing-architecture
index b0e0aa3c43713dbfe507e742f47033d7c1feb111..8f9536a094292b73e8de85dbd45b3630b45262e1 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'amd64'
 
@@ -11,11 +11,10 @@ insertinstalledpackage 'pkgd' 'none' '1'
 insertpackage 'unstable' 'pkga' 'amd64' '2' 'Depends: pkgb'
 insertpackage 'unstable' 'pkgb' 'amd64' '2'
 insertpackage 'unstable' 'pkgc' 'amd64' '1' 'Conflicts: pkgb'
-insertpackage 'unstable' 'pkge' 'none' '1'
 
 setupaptarchive
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following packages will be REMOVED:
   pkgb:none
@@ -26,9 +25,9 @@ Remv pkgb:none [1]
 Inst pkgc (1 unstable [amd64])
 Conf pkgc (1 unstable [amd64])' aptget install pkgc -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
-The following extra packages will be installed:
+The following additional packages will be installed:
   pkgb
 The following packages will be REMOVED:
   pkgb:none
@@ -41,30 +40,24 @@ Inst pkga (2 unstable [amd64])
 Conf pkgb (2 unstable [amd64])
 Conf pkga (2 unstable [amd64])' aptget install pkga -s
 
-# ensure that arch-less stanzas from Packages files are ignored
-msgtest 'Package is distributed in the Packages files' 'pkge'
-grep -q 'Package: pkge' $(find aptarchive -name 'Packages') && msgpass || msgfail
-testnopackage pkge
-testnopackage pkge:none
-testnopackage pkge:*
-
 # do not automatically change from none-arch to whatever-arch as
 # this breaks other none packages and dpkg has this ruleset as
 # this difference seems so important that it has to be maintained …
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
+Calculating upgrade...
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade -s
 
 # pkgd has no update with an architecture
 testdpkginstalled pkgd
 msgtest 'Test apt-get purge' 'pkgd'
-aptget purge pkgd -y >/dev/null 2>&1 && msgpass || msgfail
+testsuccess --nomsg aptget purge pkgd -y
 testdpkgnotinstalled pkgd
 
 # there is a pkgb with an architecture
 testdpkginstalled pkgb
 msgtest 'Test apt-get purge' 'pkgb:none'
-aptget purge pkgb:none -y >/dev/null 2>&1 && msgpass || msgfail
+testsuccess --nomsg aptget purge pkgb:none -y
 testdpkgnotinstalled pkgb
 
 # check that dependencies are created after the none package exists in the cache
@@ -73,7 +66,7 @@ insertinstalledpackage 'pkgb' 'none' '1'
 insertinstalledpackage 'pkgf' 'none' '1' 'Conflicts: pkgb'
 insertinstalledpackage 'pkgg' 'amd64' '1' 'Conflicts: pkgb'
 insertinstalledpackage 'pkgb' 'amd64' '2'
-testequal "Reading package lists...
+testequalor2 "Reading package lists...
 Building dependency tree...
 Reading state information...
 You might want to run 'apt-get -f install' to correct these.
@@ -84,4 +77,37 @@ The following packages have unmet dependencies:
              Conflicts: pkgb but 2 is installed
  pkgg : Conflicts: pkgb but 2 is installed
         Conflicts: pkgb:none but 1 is installed
+E: Unmet dependencies. Try using -f." "Reading package lists...
+Building dependency tree...
+Reading state information...
+You might want to run 'apt-get -f install' to correct these.
+The following packages have unmet dependencies:
+ pkgb : Conflicts: pkgb:none but 1 is installed
+ pkgb:none : Conflicts: pkgb but 2 is installed
+ pkgf:none : Conflicts: pkgb but 2 is installed
+             Conflicts: pkgb:none but 1 is installed
+ pkgg : Conflicts: pkgb but 2 is installed
+        Conflicts: pkgb:none but 1 is installed
 E: Unmet dependencies. Try using -f." aptget check
+
+# check that dependencies are generated for none-packages
+rm rootdir/var/lib/dpkg/status
+insertinstalledpackage 'pkgx' 'none' '1'
+insertinstalledpackage 'pkgy' 'none' '1' 'Depends: pkgz, pkgx (>= 1)'
+insertinstalledpackage 'pkgz' 'none' '1'
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+Reading state information...
+The following packages will be REMOVED:
+  pkgx:none* pkgy:none*
+0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
+Purg pkgy:none [1]
+Purg pkgx:none [1]' aptget purge pkgx -s
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+Reading state information...
+The following packages will be REMOVED:
+  pkgy:none* pkgz:none*
+0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
+Purg pkgy:none [1]
+Purg pkgz:none [1]' aptget purge pkgz -s