4 TESTDIR
=$(readlink -f $(dirname $0)) 
   8 configarchitecture 
'native' 
  10 insertinstalledpackage 
'sysvinit' 'native' '1' 'Essential: yes' 
  12 buildsimplenativepackage 
'sysvinit' 'native' '2' 'sid' 'Pre-Depends: sysvinit-core | systemd-sysv 
  14 buildsimplenativepackage 
'sysvinit-core' 'native' '2' 'sid' 
  16 buildsimplenativepackage 
'systemd-sysv' 'native' '2~conflict' 'sid-conflict' 'Conflicts: sysvinit (<< 2) 
  17 Breaks: sysvinit-core' 
  19 buildsimplenativepackage 
'systemd-sysv' 'native' '2~break' 'sid-break' 'Breaks: sysvinit (<< 2), sysvinit-core' 
  23 cp -a rootdir
/var
/lib
/dpkg
/status dpkg.status.backup
 
  26         cp -a dpkg.status.backup rootdir
/var
/lib
/dpkg
/status
 
  27         rm -f rootdir
/var
/lib
/apt
/extended_states
 
  28         testfailureequal 
"Reading package lists... 
  29 Building dependency tree... 
  30 The following additional packages will be installed: 
  32 The following NEW packages will be installed: 
  34 The following packages will be upgraded: 
  36 1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 
  37 E: This installation run will require temporarily removing the essential package sysvinit:$(getarchitecture 'native') due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option. 
  38 E: Internal Error, Could not early remove sysvinit:$(dpkg --print-architecture) (2)" aptget 
install systemd
-sysv -t "$1" -s 
  39         # ensure that really nothing happens 
  40         testfailure aptget 
install systemd
-sysv -y -t "$1" 
  41         testdpkginstalled 
'sysvinit' 
  42         testdpkgnotinstalled 
'systemd-sysv' 
  44         # with enough force however … 
  45         cp -a dpkg.status.backup rootdir
/var
/lib
/dpkg
/status
 
  46         testsuccess aptget 
install systemd
-sysv -y -t "$1" -o APT
::Force
-LoopBreak=1 
  47         testdpkginstalled 
'sysvinit' 'systemd-sysv' 
  50 testforcebreak 
'sid-conflict' 
  51 testforcebreak 
'sid-break'