]> git.saurik.com Git - apt.git/commitdiff
accept ../ on the cmdline as start for a deb file as well
authorDavid Kalnischkies <david@kalnischkies.de>
Sun, 29 Nov 2015 13:27:25 +0000 (14:27 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Sun, 29 Nov 2015 13:32:29 +0000 (14:32 +0100)
Regression of 14341a7ee1ca3dbcdcdbe10ad19b947ce23d972d.

Reported-By: Julian Andres Klode <jak@debian.org>
apt-pkg/sourcelist.cc
test/integration/test-apt-get-install-deb

index 56df976e82eb495ec80a6a4b788eaad23d174440..1e6b831be7a7be189e522a18bb658e63706091e8 100644 (file)
@@ -558,7 +558,7 @@ bool pkgSourceList::AddVolatileFile(std::string const &File)                /*{{{*/
 void pkgSourceList::AddVolatileFiles(CommandLine &CmdL, std::vector<const char*> * const VolatileCmdL)/*{{{*/
 {
    std::remove_if(CmdL.FileList + 1, CmdL.FileList + 1 + CmdL.FileSize(), [&](char const * const I) {
-      if (I != nullptr && (I[0] == '/' || (I[0] == '.' && I[1] == '/')))
+      if (I != nullptr && (I[0] == '/' || (I[0] == '.' && ((I[1] == '.' && I[2] == '/') || I[1] == '/'))))
       {
         if (AddVolatileFile(I))
         {
index 21cd86e9d8d3d0a2bdb6533dce090f0d9396a90f..4daac881fa79a6b212f388f14f7dc3cfbab280ab 100755 (executable)
@@ -40,9 +40,13 @@ The following packages have unmet dependencies:
  foo : Conflicts: foo:i386 but 1.0 is to be installed
 E: Unable to correct problems, you have held broken packages." aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s
 
-testdpkgnotinstalled 'foo'
+testdpkgnotinstalled 'foo' 'foo:i386'
 testsuccess aptget install ./incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1
 testdpkginstalled 'foo:i386'
+cd downloaded
+testsuccess aptget install "$(readlink -f ../incoming/foo_1.0_i386.deb)" -o Debug::pkgCacheGen=1 -y --allow-downgrades
+testsuccess aptget install ../incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 -y --allow-downgrades
+cd ..
 
 testsuccessequal "Reading package lists...
 Building dependency tree...