Browse Source

* apt-pkg/depcache.cc:

- do not check endpointer packages instead of only those which prevented
    NeverAutoRemove settings from having an effect (Closes: #598452)
tags/debian/0.8.6
David Kalnischkies 11 years ago
parent
commit
01a6e24cd1
4 changed files with 61 additions and 10 deletions
  1. +1
    -1
      apt-pkg/depcache.h
  2. +4
    -1
      debian/changelog
  3. +24
    -0
      test/integration/framework
  4. +32
    -8
      test/integration/test-autoremove

+ 1
- 1
apt-pkg/depcache.h View File

@@ -189,7 +189,7 @@ class pkgDepCache : protected pkgCache::Namespace
DefaultRootSetFunc() : Configuration::MatchAgainstConfig("APT::NeverAutoRemove") {};
virtual ~DefaultRootSetFunc() {};

bool InRootSet(const pkgCache::PkgIterator &pkg) { return pkg.end() == true && Match(pkg.Name()); };
bool InRootSet(const pkgCache::PkgIterator &pkg) { return pkg.end() == false && Match(pkg.Name()); };
};

struct StateCache


+ 4
- 1
debian/changelog View File

@@ -6,8 +6,11 @@ apt (0.8.6) UNRELEASED; urgency=low
available one as it is maybe not an expected language (Closes: #597925)
* apt-pkg/contrib/strutl.cc:
- add a space between number and unit as required by SI (Closes: #598352)
* apt-pkg/depcache.cc:
- do not check endpointer packages instead of only those which prevented
NeverAutoRemove settings from having an effect (Closes: #598452)

-- David Kalnischkies <kalnischkies@gmail.com> Tue, 28 Sep 2010 17:25:22 +0200
-- David Kalnischkies <kalnischkies@gmail.com> Wed, 29 Sep 2010 19:54:45 +0200

apt (0.8.5) unstable; urgency=low



+ 24
- 0
test/integration/framework View File

@@ -499,3 +499,27 @@ testnopackage() {
fi
msgpass
}

testdpkginstalled() {
msgtest "Test for correctly installed package(s) with" "dpkg -l $*"
local PKGS="$(dpkg -l $* | grep '^[a-z]' | grep '^[^i]' | wc -l)"
if [ "$PKGS" != 0 ]; then
echo $PKGS
dpkg -l $* | grep '^[a-z]'
msgfail
return 1
fi
msgpass
}

testdpkgnoninstalled() {
msgtest "Test for correctly non-installed package(s) with" "dpkg -l $*"
local PKGS="$(dpkg -l $* | grep '^[a-z]' | grep '^[^u]' | wc -l)"
if [ "$PKGS" != 0 ]; then
echo
dpkg -l $* | grep '^[a-z]'
msgfail
return 1
fi
msgpass
}

+ 32
- 8
test/integration/test-autoremove View File

@@ -4,26 +4,50 @@ set -e
local TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
setupenvironment
configarchitecture "i386"
configarchitecture 'i386'

buildsimplenativepackage "unrelated" "all" "1" "unstable"
buildsimplenativepackage "po-debconf" "all" "1.0.16" "unstable"
buildsimplenativepackage "debhelper" "all" "8.0.0" "unstable" "Depends: po-debconf"
buildsimplenativepackage 'unrelated' 'all' '1' 'unstable'
buildsimplenativepackage 'po-debconf' 'all' '1.0.16' 'unstable'
buildsimplenativepackage 'debhelper' 'all' '8.0.0' 'unstable' 'Depends: po-debconf'
setupaptarchive

aptget install unrelated debhelper -qq 2>&1 > /dev/null
testdpkginstalled 'unrelated' 'debhelper' 'po-debconf'

testfileequal "rootdir/var/lib/apt/extended_states" "Package: po-debconf
testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: po-debconf
Architecture: i386
Auto-Installed: 1
"
'
aptget remove debhelper -y -qq 2>&1 > /dev/null
testdpkgnoninstalled 'debhelper'
testdpkginstalled 'po-debconf unrelated'

echo 'APT::NeverAutoRemove { "^debc.*nf$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove
testequal 'Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
po-debconf
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Remv po-debconf [1.0.16]' aptget autoremove -s
testdpkginstalled 'po-debconf'

echo 'APT::NeverAutoRemove { "^po-debconf$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove
aptget autoremove -y -qq 2>&1 > /dev/null
testdpkginstalled 'po-debconf'

testfileequal "rootdir/var/lib/apt/extended_states" ""
echo 'APT::NeverAutoRemove { "^po-.*$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove
aptget autoremove -y -qq 2>&1 > /dev/null
testdpkginstalled "po-debconf"

rm rootdir/etc/apt/apt.conf.d/00autoremove
aptget autoremove -y -qq 2>&1 > /dev/null
testdpkgnoninstalled 'po-debconf'

testfileequal 'rootdir/var/lib/apt/extended_states' ''

sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d'
testfileequal "rootdir/var/log/apt/history.log" '
testfileequal 'rootdir/var/log/apt/history.log' '
Install: unrelated:i386 (1), debhelper:i386 (8.0.0), po-debconf:i386 (1.0.16, automatic)

Remove: debhelper:i386 (8.0.0)


Loading…
Cancel
Save