summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-10-22 21:15:55 +0200
committerMichael Vogt <mvo@debian.org>2013-10-22 21:15:55 +0200
commit1f467276115ddc43b766dbd1107eb2fb315dc747 (patch)
treeb6c67d95aa8dc98dc0f33a87a34ff25ba385b7e6
parentaf36becc889122909d677c267bc5325fb73b6151 (diff)
use Pkg.FullName() in disappearedPkgs and remove duplicated check
-rw-r--r--apt-pkg/deb/dpkgpm.cc13
-rwxr-xr-xtest/integration/test-disappearing-packages2
2 files changed, 3 insertions, 12 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index c98ff3e04..889b62afa 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -550,16 +550,6 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line)
{
pkgname = APT::String::Strip(list[2]);
action = APT::String::Strip(list[1]);
-
- // this is what we support in the processing stage
- if(action != "install" && action != "configure" &&
- action != "remove" && action != "purge" && action != "purge")
- {
- if (Debug == true)
- std::clog << "ignoring processing action: '" << action
- << "'" << std::endl;
- return;
- }
}
// "status" has the form: "status: pkg: state"
// with state in ["half-installed", "unpacked", "half-configured",
@@ -696,6 +686,7 @@ void pkgDPkgPM::handleDisappearAction(string const &pkgname)
pkgCache::PkgIterator Pkg = Cache.FindPkg(pkgname);
if (unlikely(Pkg.end() == true))
return;
+
// the disappeared package was auto-installed - nothing to do
if ((Cache[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto)
return;
@@ -1218,7 +1209,7 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
{
if((*I).Pkg.end() == true)
continue;
- if (I->Op == Item::Configure && disappearedPkgs.find(I->Pkg.Name()) != disappearedPkgs.end())
+ if (I->Op == Item::Configure && disappearedPkgs.find(I->Pkg.FullName()) != disappearedPkgs.end())
continue;
// We keep this here to allow "smooth" transitions from e.g. multiarch dpkg/ubuntu to dpkg/debian
if (dpkgMultiArch == false && (I->Pkg.Arch() == nativeArch ||
diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages
index 09dbf7014..3b1e1bd7c 100755
--- a/test/integration/test-disappearing-packages
+++ b/test/integration/test-disappearing-packages
@@ -40,7 +40,7 @@ echo "The following package disappeared from your system as
all files have been overwritten by other packages:
old-pkg
Note: This is done automatically and on purpose by dpkg." > $COMPAREFILE
-$CMD 2>&1 | tail -n 4 | diff $COMPAREFILE - && msgpass || msgfail
+$CMD 2>&1 | tail -n 4 | diff -u $COMPAREFILE - && msgpass || msgfail
rm $COMPAREFILE
sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' -e "s#:$(getarchitecture 'native') #:native #"