123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #!/bin/sh
- set -e
- TESTDIR="$(readlink -f "$(dirname "$0")")"
- . "$TESTDIR/framework"
- setupenvironment
- configarchitecture 'amd64'
- insertinstalledpackage 'pkgb' 'none' '1'
- insertinstalledpackage 'pkgd' 'none' '1'
- insertpackage 'unstable' 'pkga' 'amd64' '2' 'Depends: pkgb'
- insertpackage 'unstable' 'pkgb' 'amd64' '2'
- insertpackage 'unstable' 'pkgc' 'amd64' '1' 'Conflicts: pkgb'
- setupaptarchive
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- The following packages will be REMOVED:
- pkgb:none
- The following NEW packages will be installed:
- pkgc
- 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
- Remv pkgb:none [1]
- Inst pkgc (1 unstable [amd64])
- Conf pkgc (1 unstable [amd64])' aptget install pkgc -s
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- The following additional packages will be installed:
- pkgb
- The following packages will be REMOVED:
- pkgb:none
- The following NEW packages will be installed:
- pkga pkgb
- 0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
- Remv pkgb:none [1]
- Inst pkgb (2 unstable [amd64])
- Inst pkga (2 unstable [amd64])
- Conf pkgb (2 unstable [amd64])
- Conf pkga (2 unstable [amd64])' aptget install pkga -s
- # do not automatically change from none-arch to whatever-arch as
- # this breaks other none packages and dpkg has this ruleset as
- # this difference seems so important that it has to be maintained …
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- Calculating upgrade...
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade -s
- # pkgd has no update with an architecture
- testdpkginstalled pkgd
- msgtest 'Test apt-get purge' 'pkgd'
- testsuccess --nomsg aptget purge pkgd -y
- testdpkgnotinstalled pkgd
- # there is a pkgb with an architecture
- testdpkginstalled pkgb
- msgtest 'Test apt-get purge' 'pkgb:none'
- testsuccess --nomsg aptget purge pkgb:none -y
- testdpkgnotinstalled pkgb
- # check that dependencies are created after the none package exists in the cache
- rm rootdir/var/cache/apt/*.bin
- insertinstalledpackage 'pkgb' 'none' '1'
- insertinstalledpackage 'pkgf' 'none' '1' 'Conflicts: pkgb'
- insertinstalledpackage 'pkgg' 'amd64' '1' 'Conflicts: pkgb'
- insertinstalledpackage 'pkgb' 'amd64' '2'
- testequalor2 "Reading package lists...
- Building dependency tree...
- Reading state information...
- You might want to run 'apt-get -f install' to correct these.
- The following packages have unmet dependencies:
- pkgb : Conflicts: pkgb:none but 1 is installed
- pkgb:none : Conflicts: pkgb but 2 is installed
- pkgf:none : Conflicts: pkgb:none but 1 is installed
- Conflicts: pkgb but 2 is installed
- pkgg : Conflicts: pkgb but 2 is installed
- Conflicts: pkgb:none but 1 is installed
- E: Unmet dependencies. Try using -f." "Reading package lists...
- Building dependency tree...
- Reading state information...
- You might want to run 'apt-get -f install' to correct these.
- The following packages have unmet dependencies:
- pkgb : Conflicts: pkgb:none but 1 is installed
- pkgb:none : Conflicts: pkgb but 2 is installed
- pkgf:none : Conflicts: pkgb but 2 is installed
- Conflicts: pkgb:none but 1 is installed
- pkgg : Conflicts: pkgb but 2 is installed
- Conflicts: pkgb:none but 1 is installed
- E: Unmet dependencies. Try using -f." aptget check
- # check that dependencies are generated for none-packages
- rm rootdir/var/lib/dpkg/status
- insertinstalledpackage 'pkgx' 'none' '1'
- insertinstalledpackage 'pkgy' 'none' '1' 'Depends: pkgz, pkgx (>= 1)'
- insertinstalledpackage 'pkgz' 'none' '1'
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- Reading state information...
- The following packages will be REMOVED:
- pkgx:none* pkgy:none*
- 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
- Purg pkgy:none [1]
- Purg pkgx:none [1]' aptget purge pkgx -s
- testsuccessequal 'Reading package lists...
- Building dependency tree...
- Reading state information...
- The following packages will be REMOVED:
- pkgy:none* pkgz:none*
- 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
- Purg pkgy:none [1]
- Purg pkgz:none [1]' aptget purge pkgz -s
|