diff options
-rw-r--r-- | apt-pkg/sourcelist.cc | 2 | ||||
-rwxr-xr-x | test/integration/test-apt-get-install-deb | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index 56df976e8..1e6b831be 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -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)) { diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb index 21cd86e9d..4daac881f 100755 --- a/test/integration/test-apt-get-install-deb +++ b/test/integration/test-apt-get-install-deb @@ -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... |