]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/pkgcachegen.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 19 Sep 2012 09:35:53 +0000 (11:35 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 19 Sep 2012 09:35:53 +0000 (11:35 +0200)
  - ensure that dependencies for packages:none are always generated

apt-pkg/pkgcachegen.cc
debian/changelog
test/integration/test-bug-686346-package-missing-architecture

index 54b07c465390ed86f8d61fa26c0c30fb0833916e..5f37330c9b2e7a1f4f0125fc2d6fae35cb3eb980 100644 (file)
@@ -922,7 +922,7 @@ bool pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator &Ver,
    // Locate the target package
    pkgCache::PkgIterator Pkg = Grp.FindPkg(Arch);
    // we don't create 'none' packages and their dependencies if we can avoid it …
-   if (Pkg.end() == true && Arch == "none")
+   if (Pkg.end() == true && Arch == "none" && strcmp(Ver.ParentPkg().Arch(), "none") != 0)
       return true;
    Dynamic<pkgCache::PkgIterator> DynPkg(Pkg);
    if (Pkg.end() == true) {
index 86f8579a7047b863abf6646b734693ba5927111b..5b0d049b75dce6d49ee6ac632b2fca3faac53fe6 100644 (file)
@@ -1,3 +1,11 @@
+apt (0.9.7.6) UNRELEASED; urgency=low
+
+  [ David Kalnischkies ]
+  * apt-pkg/pkgcachegen.cc:
+    - ensure that dependencies for packages:none are always generated
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Wed, 19 Sep 2012 11:29:56 +0200
+
 apt (0.9.7.5) unstable; urgency=low
 
   [ Manpages translation updates ]
index b0e0aa3c43713dbfe507e742f47033d7c1feb111..b2c9ec9ee969d32c7359f1be30d5e7320282247d 100755 (executable)
@@ -85,3 +85,25 @@ The following packages have unmet dependencies:
  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'
+testequal '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
+testequal '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