4 TESTDIR
=$(readlink -f $(dirname $0)) 
   7 configarchitecture 
'amd64' 'i386' 
   9 aptconfig dump 
--no-empty --format '%v%n' APT
::Never
-MarkAuto-Sections > nevermarkauto.sections
 
  10 testsuccess 
grep '^metapackages$' nevermarkauto.sections
 
  12 buildsimplenativepackage 
'mydesktop' 'all' '1' 'unstable' 'Depends: mydesktop-core, foreignpkg 
  13 Recommends: notavailable' '' 'metapackages' 
  14 buildsimplenativepackage 
'mydesktop-core' 'amd64' '1' 'unstable' 'Depends: bad-texteditor | texteditor, browser (>= 42), nosection, foreignpkg 
  15 Recommends: notavailable 
  16 Multi-Arch: foreign' '' 'metapackages' 
  17 buildsimplenativepackage 
'browser' 'amd64' '41' 'stable' 
  18 buildsimplenativepackage 
'browser' 'amd64' '42' 'unstable' 
  19 buildsimplenativepackage 
'texteditor' 'amd64' '1' 'stable' 
  20 buildsimplenativepackage 
'bad-texteditor' 'amd64' '1' 'stable' 'Depends: texteditor 
  21 Conflicts: mydesktop-core' 
  22 buildsimplenativepackage 
'nosection' 'amd64' '1' 'stable' '' '' '<none>' 
  23 buildsimplenativepackage 
'foreignpkg' 'i386' '1' 'stable' 'Multi-Arch: foreign' 
  26 testsuccess aptcache show nosection
 
  27 testfailure 
grep 'Section' rootdir
/tmp
/testsuccess.output
 
  28 testequal 
'dpkg' aptmark showmanual
 
  30 testsuccess aptget 
install mydesktop 
-y -o Debug
::pkgProblemResolver
=1 -o Debug
::pkgDepCache
::Marker
=1 
  32 testmarkedmanual 
'dpkg' 'mydesktop' 
  33 testmarkedauto 
'mydesktop-core' 'foreignpkg:i386' 'texteditor' 'browser' 'nosection' 
  35 # if the remove is from a user, don't do manual-bit passing 
  36 testequal 
'Reading package lists... 
  37 Building dependency tree... 
  38 Reading state information... 
  39 The following packages will be REMOVED: 
  40   browser foreignpkg:i386 mydesktop mydesktop-core nosection texteditor 
  41 0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. 
  43 Remv mydesktop-core [1] 
  45 Remv foreignpkg:i386 [1] 
  47 Remv texteditor [1]' aptget autoremove mydesktop 
-s 
  49 testequal 
'Reading package lists... 
  50 Building dependency tree... 
  51 Reading state information... 
  52 The following packages will be REMOVED: 
  53   mydesktop mydesktop-core texteditor 
  54 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 
  56 Remv mydesktop-core [1] 
  57 Remv texteditor [1]' aptget autoremove texteditor 
-s #-o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 
  58 testsuccess aptget autoremove texteditor 
-y 
  60 testdpkgnotinstalled mydesktop mydesktop
-core texteditor
 
  61 testdpkginstalled browser
 
  63 testmarkedmanual 
'browser' 'dpkg' 'foreignpkg:i386' 'nosection' 
  66 # test that installed/upgraded auto-pkgs are not set to manual 
  68 testsuccess aptget 
install browser
=41 -y --allow-downgrades 
  70 testmarkedmanual 
'browser' 'dpkg' 'foreignpkg:i386' 'nosection' 
  72 testsuccess aptmark auto browser
 
  73 testmarkedauto 
'browser' 
  74 testsuccess aptmark auto nosection
 
  75 testmarkedauto 
'browser' 'nosection' 
  76 testmarkedmanual 
'dpkg' 'foreignpkg:i386' 
  78 # nosection should be auto, not manual, but is marked as such by the resolver 
  79 # removing mydesktop-core temporally… the resolver should be figuring out here 
  80 # that there is no point of removing mydesktop-core as its an unavoidable 
  81 # dependency of the user-requested mydesktop 
  83 testsuccess aptget 
install mydesktop 
-y -o Debug
::pkgProblemResolver
=1 -o Debug
::pkgDepCache
::Marker
=1 -o Debug
::pkgDepCache
::AutoInstall
=1 
  85 testmarkedmanual 
'dpkg' 'foreignpkg:i386' 'mydesktop' 'nosection' 
  86 testmarkedauto 
'browser' 'mydesktop-core' 'texteditor'