4 TESTDIR
="$(readlink -f "$(dirname "$0")")" 
   7 configarchitecture 'i386' 
   9 insertpackage 'unstable,installed' 'libc6' 'i386' '1' 
  10 insertpackage 'unstable,installed' 'libselinux1' 'i386' '1' 
  12 cp rootdir/var/lib/dpkg/status dpkg.status 
  14 insertpackage 'unstable,installed' 'init' 'i386' '1' 'Depends: systemd-sysv 
  16 insertpackage 'unstable,installed' 'systemd-sysv' 'i386' '215-5+b1' 'Depends: systemd (= 215-5+b1) 
  18 # fun fact: we need these two pre-depends to get systemd ordered before systemd-sysv as 
  19 # many pre-depends mean: do early (as they are a pain, so get them out of the way early) 
  20 insertpackage 'unstable,installed' 'systemd' 'i386' '215-5+b1' 'Pre-Depends: libc6, libselinux1' 
  23 insertpackage 'unstable,installed' 'dependsa' 'i386' '1' 'Depends: dependsb 
  25 insertpackage 'unstable,installed' 'dependsb' 'i386' '1' 'Depends: dependsa 
  29 insertpackage 'unstable,installed' 'predependsa' 'i386' '1' 'Pre-Depends: predependsb 
  31 insertpackage 'unstable,installed' 'predependsb' 'i386' '1' 'Pre-Depends: predependsa 
  34 # pre-depends-to-depends loop 
  35 insertpackage 'unstable,installed' 'predependsdependsa' 'i386' '1' 'Pre-Depends: predependsdependsb 
  37 insertpackage 'unstable,installed' 'predependsdependsb' 'i386' '1' 'Depends: predependsdependsa 
  42 testsuccessequal 'Reading package lists... 
  43 Building dependency tree... 
  44 0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. 
  45 Inst systemd [215-5+b1] (215-5+b1 unstable [i386]) 
  46 Conf systemd (215-5+b1 unstable [i386]) 
  47 Inst systemd-sysv [215-5+b1] (215-5+b1 unstable [i386]) 
  48 Conf systemd-sysv (215-5+b1 unstable [i386])' aptget install --reinstall systemd systemd-sysv -s 
  50 testsuccessequal 'Reading package lists... 
  51 Building dependency tree... 
  52 0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. 
  53 Inst dependsa [1] (1 unstable [i386]) 
  54 Inst dependsb [1] (1 unstable [i386]) 
  55 Conf dependsb (1 unstable [i386]) 
  56 Conf dependsa (1 unstable [i386])' aptget install --reinstall dependsa dependsb -s 
  58 # there is a chance dpkg can actually do these, BUT this depends on the maintainerscripts (not) present 
  59 # which is very very risky to depend on (and apt doesn't know about that anyhow). 
  60 testfailure aptget install --reinstall predependsa predependsb -s -o Debug::pkgPackageManager=1 
  61 testsuccess grep "^E
: Couldn
't configure predependsa:i386, probably a dependency cycle.$" rootdir/tmp/testfailure.output 
  63 # FIXME: the error message is a catch all here, not like the one above 
  64 testfailure aptget install --reinstall predependsdependsa predependsdependsb -s -o Debug::pkgPackageManager=1 
  65 testsuccess grep "^E: Could not configure 'predependsdependsb
:i386
'. $" rootdir/tmp/testfailure.output 
  68 msgmsg 'While we are 
at it
, lets try these loops without reinstall as well
' 
  69 cp dpkg.status rootdir/var/lib/dpkg/status 
  71 testsuccessequal 'Reading package lists...
 
  72 Building dependency tree...
 
  73 The following NEW packages will be installed
: 
  75 0 upgraded
, 2 newly installed
, 0 to remove and 
0 not upgraded.
 
  76 Inst systemd 
(215-5+b1 unstable 
[i386
]) 
  77 Conf systemd 
(215-5+b1 unstable 
[i386
]) 
  78 Inst systemd
-sysv (215-5+b1 unstable 
[i386
]) 
  79 Conf systemd
-sysv (215-5+b1 unstable 
[i386
])' aptget install systemd systemd-sysv -s 
  81 testsuccessequal 'Reading package lists...
 
  82 Building dependency tree...
 
  83 The following NEW packages will be installed
: 
  85 0 upgraded
, 2 newly installed
, 0 to remove and 
0 not upgraded.
 
  86 Inst dependsa 
(1 unstable 
[i386
]) [] 
  87 Inst dependsb 
(1 unstable 
[i386
]) 
  88 Conf dependsb 
(1 unstable 
[i386
]) 
  89 Conf dependsa 
(1 unstable 
[i386
])' aptget install dependsa dependsb -s 
  91 # there is a chance dpkg can actually do these, BUT this depends on the maintainerscripts (not) present 
  92 # which is very very risky to depend on (and apt doesn't know about that anyhow
).
 
  93 testfailure aptget 
install predependsa predependsb 
-s -o Debug
::pkgPackageManager
=1 
  94 testsuccess 
grep "^E: Couldn't configure predependsa:i386, probably a dependency cycle.$" rootdir
/tmp
/testfailure.output
 
  96 # FIXME: the error message is a catch all here, not like the one above 
  97 testfailure aptget 
install predependsdependsa predependsdependsb 
-s -o Debug
::pkgPackageManager
=1 
  98 testsuccess 
grep "^E: Could not configure 'predependsdependsb:i386'. $" rootdir
/tmp
/testfailure.output