123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- #!/bin/sh
- set -e
- TESTDIR="$(readlink -f "$(dirname "$0")")"
- . "$TESTDIR/framework"
- setupenvironment
- 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'
- setupaptarchive
- testsuccess aptget install unrelated debhelper -y
- testdpkginstalled 'unrelated' 'debhelper' 'po-debconf'
- testmarkedauto 'po-debconf'
- testsuccess aptget remove debhelper -y
- testdpkgnotinstalled 'debhelper'
- testdpkginstalled 'po-debconf' 'unrelated'
- echo 'unrelated purge' | dpkg --set-selections
- testdpkgstatus 'pi' '1' 'unrelated'
- AUTOREMOVE='apt autoremove'
- if [ -n "$SUDO_USER" ]; then
- AUTOREMOVE="sudo $AUTOREMOVE"
- fi
- echo 'APT::NeverAutoRemove { "^debc.*nf$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove
- testsuccessequal '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
- testequal "Reading package lists...
- Building dependency tree...
- Reading state information...
- The following package was automatically installed and is no longer required:
- po-debconf
- Use '$AUTOREMOVE' to remove it.
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s
- testequal "Reading package lists...
- Building dependency tree...
- Reading state information...
- 1 package was automatically installed and is no longer required.
- Use '$AUTOREMOVE' to remove it.
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s -o APT::Get::HideAutoRemove=small
- testdpkginstalled 'po-debconf'
- echo 'APT::NeverAutoRemove { "^po-debconf$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove
- testsuccess aptget autoremove -y
- testdpkginstalled 'po-debconf'
- testdpkgstatus 'pi' '1' 'unrelated'
- echo 'APT::NeverAutoRemove { "^po-.*$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove
- testsuccess aptget autoremove -y
- testdpkginstalled "po-debconf"
- testdpkgstatus 'pi' '1' 'unrelated'
- rm rootdir/etc/apt/apt.conf.d/00autoremove
- testsuccess aptget autoremove -y
- testdpkgnotinstalled 'po-debconf'
- testdpkgstatus 'pi' '1' 'unrelated'
- testmarkedauto
- sed rootdir/var/log/apt/history.log -e '/^Commandline: / d' \
- -e '/^Start-Date: / d' -e '/^End-Date: / d' \
- -e '/^Requested-By: / d' \
- -e 's#), #)\nInstall: #g' | sort -u > apt-history.log
- testfileequal 'apt-history.log' '
- Install: debhelper:i386 (8.0.0)
- Install: po-debconf:i386 (1.0.16, automatic)
- Install: unrelated:i386 (1)
- Remove: debhelper:i386 (8.0.0)
- Remove: po-debconf:i386 (1.0.16)'
- testsuccess aptget install debhelper -y
- testdpkgstatus 'pi' '1' 'unrelated'
- testdpkginstalled 'debhelper' 'po-debconf'
- testsuccess aptmark auto debhelper
- testmarkedauto 'debhelper' 'po-debconf'
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- Reading state information...
- The following packages will be REMOVED:
- debhelper po-debconf
- 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
- Remv debhelper [8.0.0]
- Remv po-debconf [1.0.16]' aptget autoremove -s
- testequal "Reading package lists...
- Building dependency tree...
- Reading state information...
- The following packages were automatically installed and are no longer required:
- debhelper po-debconf
- Use '$AUTOREMOVE' to remove them.
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s
- testequal "Reading package lists...
- Building dependency tree...
- Reading state information...
- 2 packages were automatically installed and are no longer required.
- Use '$AUTOREMOVE' to remove them.
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s -o APT::Get::HideAutoRemove=small
- testsuccess aptmark hold debhelper
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- Reading state information...
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget autoremove -s
- testsuccess aptget autoremove debhelper -y --allow-change-held-packages
- testdpkgnotinstalled 'po-debconf' 'debhelper'
- testdpkgstatus 'pi' '1' 'unrelated'
- testmarkedauto
- testsuccess aptget install debhelper --solver apt -y -o Debug::pkgDepCache::Marker=1
- testmarkedauto 'po-debconf'
- testdpkgstatus 'pi' '1' 'unrelated'
- insertinstalledpackage 'bar' 'all' '1' 'Depends: foo-provider'
- insertinstalledpackage 'foo-multi1-1' 'all' '1' 'Provides: foo-provider
- Source: foo-multi (1)'
- insertinstalledpackage 'foo-multi1-2' 'all' '1' 'Provides: foo-provider
- Source: foo-multi (2)'
- insertinstalledpackage 'foo-multi1-3' 'all' '1' 'Provides: foo-provider
- Source: foo-multi (3)'
- insertinstalledpackage 'foo-multi2-1' 'all' '1' 'Provides: foo-provider
- Source: foo-multi (1)'
- insertinstalledpackage 'foo-multi2-2' 'all' '1' 'Provides: foo-provider
- Source: foo-multi (2)'
- insertinstalledpackage 'foo-multi2-3' 'all' '1' 'Provides: foo-provider
- Source: foo-multi (3)'
- insertinstalledpackage 'foo-plus-1' 'all' '1' 'Provides: foo-provider
- Source: foo-plus (1)'
- insertinstalledpackage 'foo-plus-2' 'all' '1' 'Provides: foo-provider
- Source: foo-plus (2)'
- insertinstalledpackage 'foo-plus-3' 'all' '1' 'Provides: foo-provider
- Source: foo-plus (3)'
- insertinstalledpackage 'foo-single-1' 'all' '1' 'Provides: foo-provider'
- insertinstalledpackage 'foo-single-2' 'all' '1' 'Provides: foo-provider'
- testsuccess aptmark auto 'foo-*'
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- Reading state information...
- The following packages will be REMOVED:
- foo-multi1-1 foo-multi1-2 foo-multi2-1 foo-multi2-2 foo-plus-1 foo-plus-2
- 0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded.
- Remv foo-multi1-1 [1]
- Remv foo-multi1-2 [1]
- Remv foo-multi2-1 [1]
- Remv foo-multi2-2 [1]
- Remv foo-plus-1 [1]
- Remv foo-plus-2 [1]' apt autoremove -s
- testdpkgstatus 'pi' '1' 'unrelated'
- testsuccess apt purge unrelated -y
|