#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment

# we need this construct here as it isn't really possible to fake native arch for dpkg-* tools
NATIVE="$(command dpkg --print-architecture)"
configarchitecture $NATIVE

insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign'
insertinstalledpackage 'pkga' 'all' '1'
buildsimplenativepackage 'pkgb' "$NATIVE" '1' 'stable' 'Conflicts: pkga'
buildsimplenativepackage 'pkgc' "$NATIVE" '1' 'stable' 'Build-Depends: pkgb'

setupaptarchive

testsuccessequal "Reading package lists...
Reading package lists...
Building dependency tree...
The following packages will be REMOVED:
  pkga
The following NEW packages will be installed:
  pkgb
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Remv pkga [1]
Inst pkgb (1 stable [$NATIVE])
Conf pkgb (1 stable [$NATIVE])" aptget build-dep pkgc -s

testsuccessequal "Reading package lists...
Reading package lists...
Building dependency tree...
The following packages will be REMOVED:
  pkga*
The following NEW packages will be installed:
  pkgb
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Purg pkga [1]
Inst pkgb (1 stable [$NATIVE])
Conf pkgb (1 stable [$NATIVE])" aptget build-dep pkgc -s --purge

testsuccessequal 'Reading package lists...
Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt autoremove -s
testdpkgnotinstalled pkgb
testsuccess apt build-dep pkgc -y -o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgDepCache::Marker=1
testdpkginstalled pkgb
testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt autoremove -s
testsuccess apt purge pkgb pkgc -y
testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt autoremove -s
testsuccess apt build-dep pkgc -y -o APT::Get::Build-Dep-Automatic=true
testsuccessequal 'Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
  pkgb
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Remv pkgb [1]' apt autoremove -s