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