commit 23b58d17ea7cd85308835e617120bfbc855b0216 Author: josch Date: Sat May 23 14:23:02 2015 +0200 initial commit diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..4a1e3ad --- /dev/null +++ b/test.sh @@ -0,0 +1,128 @@ +#!/bin/sh + +set -x + +PWD="`pwd`" +APTROOT="$PWD/aptroot" +EXPREPO="$PWD/exprepo" +SIDREPO="$PWD/sidrepo" +ARCH="amd64" + +rm -rf "$EXPREPO" +rm -rf "$SIDREPO" +rm -rf "$APTROOT" + +# populate experimental repository + +mkdir -p "$EXPREPO" + +cat << END > "$EXPREPO/Packages" +Package: pkg-a +Version: 1.0 +Architecture: amd64 +Depends: pkg-b (= 2.0), pkg-c, pkg-d (= 1.0) + +Package: pkg-b +Version: 2.0 +Architecture: amd64 + +Package: pkg-c +Version: 2.0 +Architecture: amd64 + +Package: pkg-d +Version: 2.0 +Architecture: amd64 +END + +md5=`md5sum "$EXPREPO/Packages" | awk '{print $1}'` +size=`stat -c %s "$EXPREPO/Packages"` + +cat << END > "$EXPREPO/Release" +Codename: experimental +MD5Sum: + $md5 $size Packages +END + +# populate unstable repository + +mkdir -p "$SIDREPO" + +cat << END > "$SIDREPO/Packages" +Package: pkg-b +Version: 1.0 +Architecture: amd64 + +Package: pkg-c +Version: 1.0 +Architecture: amd64 + +Package: pkg-d +Version: 1.0 +Architecture: amd64 +END + +md5=`md5sum "$SIDREPO/Packages" | awk '{print $1}'` +size=`stat -c %s "$SIDREPO/Packages"` + +cat << END > "$SIDREPO/Release" +Codename: unstable +MD5Sum: + $md5 $size Packages +END + +# setup apt + +mkdir -p $APTROOT +mkdir -p $APTROOT/etc/apt/ +mkdir -p $APTROOT/etc/apt/apt.conf.d/ +mkdir -p $APTROOT/etc/apt/preferences.d/ +mkdir -p $APTROOT/var/lib/dpkg/ +mkdir -p $APTROOT/var/cache/apt/ + +touch $APTROOT/var/lib/dpkg/status + +cat << END > "$APTROOT/etc/apt/apt.conf" +Apt::Architecture "$ARCH"; +Apt::Architectures "$ARCH"; +Dir "$APTROOT/"; +Dir::State::Status "$APTROOT/var/lib/dpkg/status"; +Debug::pkgProblemResolver true; +Debug::pkgDepCache::Marker 1; +Debug::pkgDepCache::AutoInstall 1; +END + +cat << END > "$APTROOT/etc/apt/sources.list" +deb file:$EXPREPO ./ +deb file:$SIDREPO ./ +END + +cat << END > "$APTROOT/etc/apt/preferences.d/sid.pref" +Package: * +Pin: release n=unstable +Pin-Priority: 900 +END + +cat << END > "$APTROOT/etc/apt/preferences.d/exp.pref" +Package: * +Pin: release n=experimental +Pin-Priority: 500 +END + +APT_CONFIG="$APTROOT/etc/apt/apt.conf" +export APT_CONFIG + +# run test + +apt-get update + +apt-cache policy + +apt-get install --simulate pkg-a + +apt-get install --simulate pkg-a -t experimental + +apt-get install --simulate --solver aspcud \ + -o APT::Solver::Strict-Pinning=false \ + -o APT::Solver::aspcud::Preferences="-new,-removed,-changed,+sum(solution,apt-pin)" \ + pkg-a