#!/bin/sh # # Test for --allow-remove-essential and friends replacing --force-yes # set -e TESTDIR="$(readlink -f "$(dirname $0)")" . "$TESTDIR/framework" setupenvironment configarchitecture 'amd64' insertpackage 'unstable' 'downgrade' 'all' '1' insertinstalledpackage 'downgrade' 'all' '2' insertpackage 'unstable' 'hold' 'all' '2' insertinstalledpackage 'hold' 'all' '1' insertinstalledpackage 'essential' 'all' '1' 'Essential: yes' setupaptarchive testsuccess aptmark hold hold # Test --allow-remove--essential testfailureequal 'Reading package lists... Building dependency tree... The following packages will be REMOVED: essential WARNING: The following essential packages will be removed. This should NOT be done unless you know exactly what you are doing! essential 0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. E: Essential packages were removed and -y was used without --allow-remove-essential.' aptget remove essential -y -s testsuccessequal 'Reading package lists... Building dependency tree... The following packages will be REMOVED: essential WARNING: The following essential packages will be removed. This should NOT be done unless you know exactly what you are doing! essential 0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. Remv essential [1]' aptget remove essential -y --allow-remove-essential -s # Test --allow-change-held-packages (should not influence dist-upgrade, but an install) testsuccessequal 'Reading package lists... Building dependency tree... Calculating upgrade... The following packages have been kept back: hold 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.' aptget dist-upgrade --allow-change-held-packages -s testfailureequal 'Reading package lists... Building dependency tree... The following held packages will be changed: hold The following packages will be upgraded: hold 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. E: Held packages were changed and -y was used without --allow-change-held-packages.' aptget install hold -y -s testfailureequal 'Reading package lists... Building dependency tree... The following held packages will be changed: hold The following packages will be upgraded: hold 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. E: Held packages were changed and -y was used without --allow-change-held-packages.' aptget install hold -y -s testsuccessequal 'Reading package lists... Building dependency tree... The following held packages will be changed: hold The following packages will be upgraded: hold 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Inst hold [1] (2 unstable [all]) Conf hold (2 unstable [all])' aptget install hold -y -s --allow-change-held-packages # Test --allow-downgrades testfailureequal 'Reading package lists... Building dependency tree... The following packages will be DOWNGRADED: downgrade 0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded. E: Packages were downgraded and -y was used without --allow-downgrades.' aptget install downgrade=1 -y -s testsuccessequal 'Reading package lists... Building dependency tree... The following packages will be DOWNGRADED: downgrade 0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded. Inst downgrade [2] (1 unstable [all]) Conf downgrade (1 unstable [all])' aptget install downgrade=1 --allow-downgrades -y -s