]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-758153-versioned-provides-support
just-in-time creation for (implicit) Provides
[apt.git] / test / integration / test-bug-758153-versioned-provides-support
index 2904ae5a14b3ad5540f83d0c86f9d1201f0969cd..bf42f57fd8e7f18de6427aff6be22aa05945f36b 100755 (executable)
@@ -24,10 +24,29 @@ insertpackage 'experimental' 'foreign-webserver' 'i386' '4' 'Multi-Arch: foreign
 Provides: httpd (= 4)'
 insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)'
 
 Provides: httpd (= 4)'
 insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)'
 
+# arch-qualified provides, see #777071
+insertpackage 'unstable' 'foo' 'all' '1' 'Provides: bar:i386'
+insertpackage 'unstable' 'baz' 'i386,amd64' '1' 'Depends: bar'
+insertpackage 'experimental' 'baz' 'i386,amd64' '2' 'Depends: bar:i386'
+insertpackage 'experimental' 'baz-broken' 'i386' '2' 'Depends: bar:amd64'
+
+insertpackage 'unstable' 'next' 'amd64' '1' 'Multi-Arch: foreign
+Provides: next (= 2)'
+insertpackage 'unstable' 'needsrealnext' 'amd64,i386' '2' 'Depends: next (>= 2)'
+
+insertpackage 'unstable' 'virtualnext2' 'amd64' '1' 'Multi-Arch: foreign
+Provides: next2 (= 2)'
+insertpackage 'unstable' 'needsnext2' 'amd64,i386' '2' 'Depends: next2 (>= 2)'
+
+insertpackage 'unstable' 'virtualnext3' 'amd64' '1' 'Multi-Arch: no
+Provides: next3 (= 2)'
+insertpackage 'unstable' 'needsnext3' 'amd64,i386' '2' 'Depends: next3 (>= 2)'
+
 setupaptarchive
 
 setupaptarchive
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 Building dependency tree...
+Calculating upgrade...
 The following packages will be upgraded:
   webapp webserver
 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 The following packages will be upgraded:
   webapp webserver
 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
@@ -36,7 +55,7 @@ Inst webapp [1] (2 unstable [all])
 Conf webserver (2 unstable [amd64])
 Conf webapp (2 unstable [all])' aptget dist-upgrade -s
 
 Conf webserver (2 unstable [amd64])
 Conf webapp (2 unstable [all])' aptget dist-upgrade -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following packages will be upgraded:
   webapp webserver
 Building dependency tree...
 The following packages will be upgraded:
   webapp webserver
@@ -46,7 +65,7 @@ Inst webapp [1] (2 unstable [all])
 Conf webserver (2 unstable [amd64])
 Conf webapp (2 unstable [all])' aptget install webapp webserver -s
 
 Conf webserver (2 unstable [amd64])
 Conf webapp (2 unstable [all])' aptget install webapp webserver -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following packages will be upgraded:
   webapp webserver
 Building dependency tree...
 The following packages will be upgraded:
   webapp webserver
@@ -56,7 +75,7 @@ Inst webapp [1] (3 experimental [all])
 Conf webserver (2 unstable [amd64])
 Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s
 
 Conf webserver (2 unstable [amd64])
 Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following packages will be upgraded:
   webapp webserver
 Building dependency tree...
 The following packages will be upgraded:
   webapp webserver
@@ -66,7 +85,7 @@ Inst webapp [1] (2 unstable [all])
 Conf webserver (3 experimental [amd64])
 Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s
 
 Conf webserver (3 experimental [amd64])
 Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
   foreign-webserver:i386
 Building dependency tree...
 The following NEW packages will be installed:
   foreign-webserver:i386
@@ -78,7 +97,7 @@ Inst webapp [1] (2 unstable [all])
 Conf foreign-webserver:i386 (2 unstable [i386])
 Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s
 
 Conf foreign-webserver:i386 (2 unstable [i386])
 Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
   foreign-webserver:i386
 Building dependency tree...
 The following NEW packages will be installed:
   foreign-webserver:i386
@@ -90,7 +109,7 @@ Inst webapp [1] (3 experimental [all])
 Conf foreign-webserver:i386 (2 unstable [i386])
 Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s
 
 Conf foreign-webserver:i386 (2 unstable [i386])
 Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
   foreign-webserver:i386
 Building dependency tree...
 The following NEW packages will be installed:
   foreign-webserver:i386
@@ -102,7 +121,7 @@ Inst webapp [1] (2 unstable [all])
 Conf foreign-webserver:i386 (4 experimental [i386])
 Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s
 
 Conf foreign-webserver:i386 (4 experimental [i386])
 Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s
 
-testequal 'Reading package lists...
+testfailureequal 'Reading package lists...
 Building dependency tree...
 Some packages could not be installed. This may mean that you have
 requested an impossible situation or if you are using the unstable
 Building dependency tree...
 Some packages could not be installed. This may mean that you have
 requested an impossible situation or if you are using the unstable
@@ -114,7 +133,7 @@ The following packages have unmet dependencies:
  cool-webapp : Depends: httpd (>= 4)
 E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s
 
  cool-webapp : Depends: httpd (>= 4)
 E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s
 
-testequal 'Reading package lists...
+testfailureequal 'Reading package lists...
 Building dependency tree...
 Some packages could not be installed. This may mean that you have
 requested an impossible situation or if you are using the unstable
 Building dependency tree...
 Some packages could not be installed. This may mean that you have
 requested an impossible situation or if you are using the unstable
@@ -126,7 +145,7 @@ The following packages have unmet dependencies:
  cool-webapp : Depends: httpd (>= 4)
 E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s
 
  cool-webapp : Depends: httpd (>= 4)
 E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
   cool-webapp foreign-webserver:i386
 Building dependency tree...
 The following NEW packages will be installed:
   cool-webapp foreign-webserver:i386
@@ -135,3 +154,137 @@ Inst foreign-webserver:i386 (4 experimental [i386])
 Inst cool-webapp (4 experimental [all])
 Conf foreign-webserver:i386 (4 experimental [i386])
 Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s
 Inst cool-webapp (4 experimental [all])
 Conf foreign-webserver:i386 (4 experimental [i386])
 Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  foo
+The following NEW packages will be installed:
+  baz:i386 foo
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst foo (1 unstable [all])
+Inst baz:i386 (1 unstable [i386])
+Conf foo (1 unstable [all])
+Conf baz:i386 (1 unstable [i386])' aptget install baz:i386 -s
+
+testfailureequal 'Reading package lists...
+Building dependency tree...
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ baz : Depends: bar but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget install baz:amd64 -s
+
+testsuccessequal "Reading package lists...
+Building dependency tree...
+Selected version '2' (experimental [amd64]) for 'baz'
+The following extra packages will be installed:
+  foo
+The following NEW packages will be installed:
+  baz foo
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst foo (1 unstable [all])
+Inst baz (2 experimental [amd64])
+Conf foo (1 unstable [all])
+Conf baz (2 experimental [amd64])" aptget install baz/experimental -s -q=0
+
+testsuccessequal "Reading package lists...
+Building dependency tree...
+Selected version '2' (experimental [i386]) for 'baz:i386'
+The following extra packages will be installed:
+  foo
+The following NEW packages will be installed:
+  baz:i386 foo
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst foo (1 unstable [all])
+Inst baz:i386 (2 experimental [i386])
+Conf foo (1 unstable [all])
+Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s -q=0
+
+testfailureequal 'Reading package lists...
+Building dependency tree...
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ baz-broken:i386 : Depends: bar but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget install baz-broken -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  next
+The following NEW packages will be installed:
+  needsrealnext next
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst next (1 unstable [amd64])
+Inst needsrealnext (2 unstable [amd64])
+Conf next (1 unstable [amd64])
+Conf needsrealnext (2 unstable [amd64])' aptget install needsrealnext -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  next
+The following NEW packages will be installed:
+  needsrealnext:i386 next
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst next (1 unstable [amd64])
+Inst needsrealnext:i386 (2 unstable [i386])
+Conf next (1 unstable [amd64])
+Conf needsrealnext:i386 (2 unstable [i386])' aptget install needsrealnext:i386 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  virtualnext2
+The following NEW packages will be installed:
+  needsnext2 virtualnext2
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst virtualnext2 (1 unstable [amd64])
+Inst needsnext2 (2 unstable [amd64])
+Conf virtualnext2 (1 unstable [amd64])
+Conf needsnext2 (2 unstable [amd64])' aptget install needsnext2 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  virtualnext2
+The following NEW packages will be installed:
+  needsnext2:i386 virtualnext2
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst virtualnext2 (1 unstable [amd64])
+Inst needsnext2:i386 (2 unstable [i386])
+Conf virtualnext2 (1 unstable [amd64])
+Conf needsnext2:i386 (2 unstable [i386])' aptget install needsnext2:i386 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following extra packages will be installed:
+  virtualnext3
+The following NEW packages will be installed:
+  needsnext3 virtualnext3
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst virtualnext3 (1 unstable [amd64])
+Inst needsnext3 (2 unstable [amd64])
+Conf virtualnext3 (1 unstable [amd64])
+Conf needsnext3 (2 unstable [amd64])' aptget install needsnext3 -s
+
+testfailureequal 'Reading package lists...
+Building dependency tree...
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ needsnext3:i386 : Depends: next3:i386 (>= 2) but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget install needsnext3:i386 -s