diff options
Diffstat (limited to '')
-rw-r--r-- | tests/various2.test | 2462 |
1 files changed, 2462 insertions, 0 deletions
diff --git a/tests/various2.test b/tests/various2.test new file mode 100644 index 0000000..c67184e --- /dev/null +++ b/tests/various2.test @@ -0,0 +1,2462 @@ +set -u +. "$TESTSDIR"/test.inc + +echo "Running various other old test..." +mkdir -p conf logs +cat > conf/options <<CONFEND +outhook $SRCDIR/docs/outstore.py +export changed +CONFEND +export REPREPRO_OUT_DB=db.out +cat > conf/distributions <<CONFEND +Codename: test1 +Architectures: abacus source +Components: stupid ugly +Update: Test2toTest1 +DebIndices: Packages Release . .gz .bz2 +UDebIndices: Packages .gz .bz2 +DscIndices: Sources Release .gz .bz2 +Tracking: keep includechanges includebyhand +Log: log1 + +Codename: test2 +Architectures: abacus coal source +Components: stupid ugly +Origin: Brain +Label: Only a test +Suite: broken +Version: 9999999.02 +DebIndices: Packages Release . .gz $SRCDIR/docs/bzip.example testhook +UDebIndices: Packages .gz +DscIndices: Sources Release . .gz $SRCDIR/docs/bzip.example testhook +Description: test with all fields set +DebOverride: binoverride +DscOverride: srcoverride +Log: log2 +CONFEND + +cat > conf/testhook <<'EOF' +#!/bin/sh +echo "testhook got $#: '$1' '$2' '$3' '$4'" +if test -f "$1/$3.deprecated" ; then + echo "$3.deprecated.tobedeleted" >&3 +fi +echo "super-compressed" > "$1/$3.super.new" +echo "$3.super.new" >&3 +EOF +chmod a+x conf/testhook + +mkdir -p "dists/test2/stupid/binary-abacus" +touch "dists/test2/stupid/binary-abacus/Packages.deprecated" +cat > logs/fake.outlog << EOF +BEGIN-DISTRIBUTION test2 dists/test2 +DISTFILE dists/test2 stupid/binary-abacus/Packages.deprecated dists/test2/stupid/binary-abacus/Packages.deprecated +END-DISTRIBUTION test2 dists/test2 +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py logs/fake.outlog +rm logs/fake.outlog + +set -v +checknolog logfile +testrun - -b . export test1 test2 3<<EOF +stdout +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'new' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'new' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'new' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'new' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'new' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'new' +$(odb) +-v1*=Exporting test2... +-v6*= exporting 'test2|stupid|abacus'... +-v6*= creating './dists/test2/stupid/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v11*=Exporthook successfully returned! +-v2*=Created directory "./dists/test2/stupid/binary-coal" +-v6*= exporting 'test2|stupid|coal'... +-v6*= creating './dists/test2/stupid/binary-coal/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v2*=Created directory "./dists/test2/stupid/source" +-v6*= exporting 'test2|stupid|source'... +-v6*= creating './dists/test2/stupid/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +-v2*=Created directory "./dists/test2/ugly" +-v2*=Created directory "./dists/test2/ugly/binary-abacus" +-v6*= exporting 'test2|ugly|abacus'... +-v6*= creating './dists/test2/ugly/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v2*=Created directory "./dists/test2/ugly/binary-coal" +-v6*= exporting 'test2|ugly|coal'... +-v6*= creating './dists/test2/ugly/binary-coal/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v2*=Created directory "./dists/test2/ugly/source" +-v6*= exporting 'test2|ugly|source'... +-v6*= creating './dists/test2/ugly/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +-v1*=Exporting test1... +-v2*=Created directory "./dists/test1" +-v2*=Created directory "./dists/test1/stupid" +-v2*=Created directory "./dists/test1/stupid/binary-abacus" +-v6*= exporting 'test1|stupid|abacus'... +-v6*= creating './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v2*=Created directory "./dists/test1/stupid/source" +-v6*= exporting 'test1|stupid|source'... +-v6*= creating './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v2*=Created directory "./dists/test1/ugly" +-v2*=Created directory "./dists/test1/ugly/binary-abacus" +-v6*= exporting 'test1|ugly|abacus'... +-v6*= creating './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v2*=Created directory "./dists/test1/ugly/source" +-v6*= exporting 'test1|ugly|source'... +-v6*= creating './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +dodo test '!' -e "dists/test2/stupid/binary-abacus/Packages.deprecated" +test -f dists/test1/Release +test -f dists/test2/Release + +cat > dists/test1/stupid/binary-abacus/Release.expected <<END +Component: stupid +Architecture: abacus +END +dodiff dists/test1/stupid/binary-abacus/Release.expected dists/test1/stupid/binary-abacus/Release +rm dists/test1/stupid/binary-abacus/Release.expected +cat > dists/test1/ugly/binary-abacus/Release.expected <<END +Component: ugly +Architecture: abacus +END +dodiff dists/test1/ugly/binary-abacus/Release.expected dists/test1/ugly/binary-abacus/Release +rm dists/test1/ugly/binary-abacus/Release.expected + +echo "super-compressed" > "fakesuper" +FAKESUPERMD5="$(mdandsize fakesuper)" +FAKESUPERSHA1="$(sha1andsize fakesuper)" +FAKESUPERSHA2="$(sha2andsize fakesuper)" + +cat > Release.test1.expected <<END +Codename: test1 +Date: normalized +Architectures: abacus +Components: stupid ugly +MD5Sum: + $EMPTYMD5 stupid/binary-abacus/Packages + $EMPTYGZMD5 stupid/binary-abacus/Packages.gz + $EMPTYBZ2MD5 stupid/binary-abacus/Packages.bz2 + $(mdandsize dists/test1/stupid/binary-abacus/Release) stupid/binary-abacus/Release + $EMPTYMD5 stupid/source/Sources + $EMPTYGZMD5 stupid/source/Sources.gz + $EMPTYBZ2MD5 stupid/source/Sources.bz2 + e38c7da133734e1fd68a7e344b94fe96 39 stupid/source/Release + $EMPTYMD5 ugly/binary-abacus/Packages + $EMPTYGZMD5 ugly/binary-abacus/Packages.gz + $EMPTYBZ2MD5 ugly/binary-abacus/Packages.bz2 + $(mdandsize dists/test1/ugly/binary-abacus/Release) ugly/binary-abacus/Release + $EMPTYMD5 ugly/source/Sources + $EMPTYGZMD5 ugly/source/Sources.gz + $EMPTYBZ2MD5 ugly/source/Sources.bz2 + ed4ee9aa5d080f67926816133872fd02 37 ugly/source/Release +SHA1: + $(sha1andsize dists/test1/stupid/binary-abacus/Packages) stupid/binary-abacus/Packages + $EMPTYGZSHA1 stupid/binary-abacus/Packages.gz + $EMPTYBZ2SHA1 stupid/binary-abacus/Packages.bz2 + $(sha1andsize dists/test1/stupid/binary-abacus/Release) stupid/binary-abacus/Release + $EMPTYSHA1 stupid/source/Sources + $EMPTYGZSHA1 stupid/source/Sources.gz + $EMPTYBZ2SHA1 stupid/source/Sources.bz2 + ff71705a4cadaec55de5a6ebbfcd726caf2e2606 39 stupid/source/Release + $EMPTYSHA1 ugly/binary-abacus/Packages + $EMPTYGZSHA1 ugly/binary-abacus/Packages.gz + $EMPTYBZ2SHA1 ugly/binary-abacus/Packages.bz2 + $(sha1andsize dists/test1/ugly/binary-abacus/Release) ugly/binary-abacus/Release + $EMPTYSHA1 ugly/source/Sources + $EMPTYGZSHA1 ugly/source/Sources.gz + $EMPTYBZ2SHA1 ugly/source/Sources.bz2 + b297876e9d6ee3ee6083160003755047ede22a96 37 ugly/source/Release +SHA256: + $(sha2andsize dists/test1/stupid/binary-abacus/Packages) stupid/binary-abacus/Packages + $EMPTYGZSHA2 stupid/binary-abacus/Packages.gz + $EMPTYBZ2SHA2 stupid/binary-abacus/Packages.bz2 + $(sha2andsize dists/test1/stupid/binary-abacus/Release) stupid/binary-abacus/Release + $EMPTYSHA2 stupid/source/Sources + $EMPTYGZSHA2 stupid/source/Sources.gz + $EMPTYBZ2SHA2 stupid/source/Sources.bz2 + b88352d8e0227a133e2236c3a8961581562ee285980fc20bb79626d0d208aa51 39 stupid/source/Release + $EMPTYSHA2 ugly/binary-abacus/Packages + $EMPTYGZSHA2 ugly/binary-abacus/Packages.gz + $EMPTYBZ2SHA2 ugly/binary-abacus/Packages.bz2 + $(sha2andsize dists/test1/ugly/binary-abacus/Release) ugly/binary-abacus/Release + $EMPTYSHA2 ugly/source/Sources + $EMPTYGZSHA2 ugly/source/Sources.gz + $EMPTYBZ2SHA2 ugly/source/Sources.bz2 + edb5450a3f98a140b938c8266b8b998ba8f426c80ac733fe46423665d5770d9f 37 ugly/source/Release +END +cat > dists/test2/stupid/binary-abacus/Release.expected <<END +Archive: broken +Version: 9999999.02 +Component: stupid +Origin: Brain +Label: Only a test +Architecture: abacus +Description: test with all fields set +END +dodiff dists/test2/stupid/binary-abacus/Release.expected dists/test2/stupid/binary-abacus/Release +rm dists/test2/stupid/binary-abacus/Release.expected +cat > dists/test2/ugly/binary-abacus/Release.expected <<END +Archive: broken +Version: 9999999.02 +Component: ugly +Origin: Brain +Label: Only a test +Architecture: abacus +Description: test with all fields set +END +dodiff dists/test2/ugly/binary-abacus/Release.expected dists/test2/ugly/binary-abacus/Release +rm dists/test2/ugly/binary-abacus/Release.expected +cat > Release.test2.expected <<END +Origin: Brain +Label: Only a test +Suite: broken +Codename: test2 +Version: 9999999.02 +Date: normalized +Architectures: abacus coal +Components: stupid ugly +Description: test with all fields set +MD5Sum: + $EMPTYMD5 stupid/binary-abacus/Packages + $EMPTYGZMD5 stupid/binary-abacus/Packages.gz + $EMPTYBZ2MD5 stupid/binary-abacus/Packages.bz2 + $FAKESUPERMD5 stupid/binary-abacus/Packages.super + $(mdandsize dists/test2/stupid/binary-abacus/Release) stupid/binary-abacus/Release + $EMPTYMD5 stupid/binary-coal/Packages + $EMPTYGZMD5 stupid/binary-coal/Packages.gz + $EMPTYBZ2MD5 stupid/binary-coal/Packages.bz2 + $FAKESUPERMD5 stupid/binary-coal/Packages.super + 10ae2f283e1abdd3facfac6ed664035d 144 stupid/binary-coal/Release + $EMPTYMD5 stupid/source/Sources + $EMPTYGZMD5 stupid/source/Sources.gz + $EMPTYBZ2MD5 stupid/source/Sources.bz2 + $FAKESUPERMD5 stupid/source/Sources.super + b923b3eb1141e41f0b8bb74297ac8a36 146 stupid/source/Release + $EMPTYMD5 ugly/binary-abacus/Packages + $EMPTYGZMD5 ugly/binary-abacus/Packages.gz + $EMPTYBZ2MD5 ugly/binary-abacus/Packages.bz2 + $FAKESUPERMD5 ugly/binary-abacus/Packages.super + $(mdandsize dists/test2/ugly/binary-abacus/Release) ugly/binary-abacus/Release + $EMPTYMD5 ugly/binary-coal/Packages + $EMPTYGZMD5 ugly/binary-coal/Packages.gz + $EMPTYBZ2MD5 ugly/binary-coal/Packages.bz2 + $FAKESUPERMD5 ugly/binary-coal/Packages.super + 7a05de3b706d08ed06779d0ec2e234e9 142 ugly/binary-coal/Release + $EMPTYMD5 ugly/source/Sources + $EMPTYGZMD5 ugly/source/Sources.gz + $EMPTYBZ2MD5 ugly/source/Sources.bz2 + $FAKESUPERMD5 ugly/source/Sources.super + e73a8a85315766763a41ad4dc6744bf5 144 ugly/source/Release +SHA1: + $EMPTYSHA1 stupid/binary-abacus/Packages + $EMPTYGZSHA1 stupid/binary-abacus/Packages.gz + $EMPTYBZ2SHA1 stupid/binary-abacus/Packages.bz2 + $FAKESUPERSHA1 stupid/binary-abacus/Packages.super + $(sha1andsize dists/test2/stupid/binary-abacus/Release) stupid/binary-abacus/Release + $EMPTYSHA1 stupid/binary-coal/Packages + $EMPTYGZSHA1 stupid/binary-coal/Packages.gz + $EMPTYBZ2SHA1 stupid/binary-coal/Packages.bz2 + $FAKESUPERSHA1 stupid/binary-coal/Packages.super + $(sha1andsize dists/test2/stupid/binary-coal/Release) stupid/binary-coal/Release + $EMPTYSHA1 stupid/source/Sources + $EMPTYGZSHA1 stupid/source/Sources.gz + $EMPTYBZ2SHA1 stupid/source/Sources.bz2 + $FAKESUPERSHA1 stupid/source/Sources.super + $(sha1andsize dists/test2/stupid/source/Release) stupid/source/Release + $EMPTYSHA1 ugly/binary-abacus/Packages + $EMPTYGZSHA1 ugly/binary-abacus/Packages.gz + $EMPTYBZ2SHA1 ugly/binary-abacus/Packages.bz2 + $FAKESUPERSHA1 ugly/binary-abacus/Packages.super + $(sha1andsize dists/test2/ugly/binary-abacus/Release) ugly/binary-abacus/Release + $EMPTYSHA1 ugly/binary-coal/Packages + $EMPTYGZSHA1 ugly/binary-coal/Packages.gz + $EMPTYBZ2SHA1 ugly/binary-coal/Packages.bz2 + $FAKESUPERSHA1 ugly/binary-coal/Packages.super + $(sha1andsize dists/test2/ugly/binary-coal/Release) ugly/binary-coal/Release + $EMPTYSHA1 ugly/source/Sources + $EMPTYGZSHA1 ugly/source/Sources.gz + $EMPTYBZ2SHA1 ugly/source/Sources.bz2 + $FAKESUPERSHA1 ugly/source/Sources.super + $(sha1andsize dists/test2/ugly/source/Release) ugly/source/Release +SHA256: + $EMPTYSHA2 stupid/binary-abacus/Packages + $EMPTYGZSHA2 stupid/binary-abacus/Packages.gz + $EMPTYBZ2SHA2 stupid/binary-abacus/Packages.bz2 + $FAKESUPERSHA2 stupid/binary-abacus/Packages.super + $(sha2andsize dists/test2/stupid/binary-abacus/Release) stupid/binary-abacus/Release + $EMPTYSHA2 stupid/binary-coal/Packages + $EMPTYGZSHA2 stupid/binary-coal/Packages.gz + $EMPTYBZ2SHA2 stupid/binary-coal/Packages.bz2 + $FAKESUPERSHA2 stupid/binary-coal/Packages.super + $(sha2andsize dists/test2/stupid/binary-coal/Release) stupid/binary-coal/Release + $EMPTYSHA2 stupid/source/Sources + $EMPTYGZSHA2 stupid/source/Sources.gz + $EMPTYBZ2SHA2 stupid/source/Sources.bz2 + $FAKESUPERSHA2 stupid/source/Sources.super + $(sha2andsize dists/test2/stupid/source/Release) stupid/source/Release + $EMPTYSHA2 ugly/binary-abacus/Packages + $EMPTYGZSHA2 ugly/binary-abacus/Packages.gz + $EMPTYBZ2SHA2 ugly/binary-abacus/Packages.bz2 + $FAKESUPERSHA2 ugly/binary-abacus/Packages.super + $(sha2andsize dists/test2/ugly/binary-abacus/Release) ugly/binary-abacus/Release + $EMPTYSHA2 ugly/binary-coal/Packages + $EMPTYGZSHA2 ugly/binary-coal/Packages.gz + $EMPTYBZ2SHA2 ugly/binary-coal/Packages.bz2 + $FAKESUPERSHA2 ugly/binary-coal/Packages.super + $(sha2andsize dists/test2/ugly/binary-coal/Release) ugly/binary-coal/Release + $EMPTYSHA2 ugly/source/Sources + $EMPTYGZSHA2 ugly/source/Sources.gz + $EMPTYBZ2SHA2 ugly/source/Sources.bz2 + $FAKESUPERSHA2 ugly/source/Sources.super + $(sha2andsize dists/test2/ugly/source/Release) ugly/source/Release +END +normalizerelease dists/test1/Release > dists/test1/Release.normalized +normalizerelease dists/test2/Release > dists/test2/Release.normalized +dodiff Release.test1.expected dists/test1/Release.normalized +dodiff Release.test2.expected dists/test2/Release.normalized +rm dists/*/Release.normalized + +PACKAGE=simple EPOCH="" VERSION=1 REVISION="" SECTION="stupid/base" genpackage.sh +checknolog log1 +testrun - -b . include test1 test.changes 3<<EOF +stdout +-v2*=Created directory "./pool" +-v2*=Created directory "./pool/stupid" +-v2*=Created directory "./pool/stupid/s" +-v2*=Created directory "./pool/stupid/s/simple" +$(ofa 'pool/stupid/s/simple/simple-addons_1_all.deb') +$(ofa 'pool/stupid/s/simple/simple_1_abacus.deb') +$(ofa 'pool/stupid/s/simple/simple_1.tar.gz') +$(ofa 'pool/stupid/s/simple/simple_1.dsc') +$(ofa 'pool/stupid/s/simple/simple_1_source+all+abacus.changes') +$(opa 'simple-addons' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'simple' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'simple' unset 'test1' 'stupid' 'source' 'dsc') +$(ota 'test1' 'simple') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +echo returned: $? +checklog log1 << EOF +DATESTR add test1 deb stupid abacus simple-addons 1 +DATESTR add test1 deb stupid abacus simple 1 +DATESTR add test1 dsc stupid source simple 1 +EOF + +PACKAGE=bloat+-0a9z.app EPOCH=99: VERSION=0.9-A:Z+a:z REVISION=-0+aA.9zZ SECTION="ugly/base" genpackage.sh +testrun - -b . include test1 test.changes 3<<EOF +stdout +-v2*=Created directory "./pool/ugly" +-v2*=Created directory "./pool/ugly/b" +-v2*=Created directory "./pool/ugly/b/bloat+-0a9z.app" +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes') +$(opa 'bloat+-0a9z.app-addons' x 'test1' 'ugly' 'abacus' 'deb') +$(opa 'bloat+-0a9z.app' x 'test1' 'ugly' 'abacus' 'deb') +$(opa 'bloat+-0a9z.app' unset 'test1' 'ugly' 'source' 'dsc') +$(ota 'test1' 'bloat+-0a9z.app') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +-v6*= replacing './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +echo returned: $? +checklog log1 <<EOF +DATESTR add test1 deb ugly abacus bloat+-0a9z.app-addons 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR add test1 deb ugly abacus bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR add test1 dsc ugly source bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +EOF + +testrun - -b . -Tdsc remove test1 simple 3<<EOF +stdout +$(opd 'simple' unset test1 stupid source dsc) +=[tracking_get test1 simple 1] +=[tracking_get found test1 simple 1] +=[tracking_save test1 simple 1] +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 dsc stupid source simple 1 +EOF +testrun - -b . -Tdeb remove test1 bloat+-0a9z.app 3<<EOF +stdout +$(opd 'bloat+-0a9z.app' unset test1 ugly abacus deb) +=[tracking_get test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +=[tracking_get found test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +=[tracking_save test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 deb ugly abacus bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +testrun - -b . -A source remove test1 bloat+-0a9z.app 3<<EOF +stdout +$(opd 'bloat+-0a9z.app' unset test1 ugly source dsc) +=[tracking_get test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +=[tracking_get found test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +=[tracking_save test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +-v6*= replacing './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 dsc ugly source bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +testrun - -b . -A abacus remove test1 simple 3<<EOF +stdout +$(opd 'simple' unset test1 stupid abacus deb) +=[tracking_get test1 simple 1] +=[tracking_get found test1 simple 1] +=[tracking_save test1 simple 1] +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 deb stupid abacus simple 1 +EOF +testrun - -b . -C ugly remove test1 bloat+-0a9z.app-addons 3<<EOF +stdout +$(opd 'bloat+-0a9z.app-addons' unset test1 ugly abacus deb) +=[tracking_get test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +=[tracking_get found test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +=[tracking_save test1 bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ] +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 deb ugly abacus bloat+-0a9z.app-addons 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +testrun - -b . -C stupid remove test1 simple-addons 3<<EOF +stdout +$(opd 'simple-addons' unset test1 stupid abacus deb) +=[tracking_get test1 simple 1] +=[tracking_get found test1 simple 1] +=[tracking_save test1 simple 1] +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 deb stupid abacus simple-addons 1 +EOF +CURDATE="`TZ=GMT LC_ALL=C date +'%a, %d %b %Y %H:%M:%S UTC'`" +normalizerelease dists/test1/Release > Release.test1.normalized +dodiff Release.test1.expected Release.test1.normalized +rm Release.test1.normalized + +cat > conf/srcoverride <<END +simple Section ugly/games +simple Priority optional +simple Maintainer simple.source.maintainer +bloat+-0a9z.app Section stupid/X11 +bloat+-0a9z.app Priority optional +bloat+-0a9z.app X-addition totally-unsupported +bloat+-0a9z.app Maintainer bloat.source.maintainer +END +cat > conf/binoverride <<END +simple Maintainer simple.maintainer +simple Section ugly/base +simple Priority optional +simple-addons Section ugly/addons +simple-addons Priority optional +simple-addons Maintainer simple.add.maintainer +bloat+-0a9z.app Maintainer bloat.maintainer +bloat+-0a9z.app Section stupid/base +bloat+-0a9z.app Priority optional +bloat+-0a9z.app-addons Section stupid/addons +bloat+-0a9z.app-addons Maintainer bloat.add.maintainer +bloat+-0a9z.app-addons Priority optional +END + +testrun - -b . -Tdsc -A source includedsc test2 simple_1.dsc 3<<EOF +stderr +-v1=simple_1.dsc: component guessed as 'ugly' +stdout +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'change' +-v2*=Created directory "./pool/ugly/s" +-v2*=Created directory "./pool/ugly/s/simple" +$(ofa 'pool/ugly/s/simple/simple_1.dsc') +$(ofa 'pool/ugly/s/simple/simple_1.tar.gz') +$(opa 'simple' unset 'test2' 'ugly' 'source' 'dsc') +-v0*=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v11*=Exporthook successfully returned! +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +-v6*= replacing './dists/test2/ugly/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 dsc ugly source simple 1 +EOF +testrun - -b . -Tdsc -A source includedsc test2 bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc 3<<EOF +stderr +-v1=bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc: component guessed as 'stupid' +stdout +-v2*=Created directory "./pool/stupid/b" +-v2*=Created directory "./pool/stupid/b/bloat+-0a9z.app" +$(ofa 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc') +$(ofa 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz') +$(opa 'bloat+-0a9z.app' unset 'test2' 'stupid' 'source' 'dsc') +-v0*=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v11*=Exporthook successfully returned! +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= replacing './dists/test2/stupid/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'change' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 dsc stupid source bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +testrun - -b . -Tdeb -A abacus includedeb test2 simple_1_abacus.deb 3<<EOF +stderr +-v1=simple_1_abacus.deb: component guessed as 'ugly' +stdout +$(ofa 'pool/ugly/s/simple/simple_1_abacus.deb') +$(opa 'simple' x 'test2' 'ugly' 'abacus' 'deb') +-v0*=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v11*=Exporthook successfully returned! +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= replacing './dists/test2/ugly/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'change' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 deb ugly abacus simple 1 +EOF +testrun - -b . -Tdeb -A coal includedeb test2 simple-addons_1_all.deb 3<<EOF +stderr +-v1=simple-addons_1_all.deb: component guessed as 'ugly' +stdout +$(ofa 'pool/ugly/s/simple/simple-addons_1_all.deb') +$(opa 'simple-addons' x 'test2' 'ugly' 'coal' 'deb') +-v0=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v11*=Exporthook successfully returned! +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= replacing './dists/test2/ugly/binary-coal/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|ugly|source'... +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'change' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 deb ugly coal simple-addons 1 +EOF +testrun - -b . -Tdeb -A abacus includedeb test2 bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb 3<<EOF +stderr +-v1=bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb: component guessed as 'stupid' +stdout +$(ofa 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(opa 'bloat+-0a9z.app' x 'test2' 'stupid' 'abacus' 'deb') +-v0=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v6*= replacing './dists/test2/stupid/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v11*=Exporthook successfully returned! +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'change' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 deb stupid abacus bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +testrun - -b . -Tdeb -A coal includedeb test2 bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb 3<<EOF +stderr +-v1=bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb: component guessed as 'stupid' +stdout +$(ofa 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb') +$(opa 'bloat+-0a9z.app-addons' x 'test2' 'stupid' 'coal' 'deb') +-v0=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v11*=Exporthook successfully returned! +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= replacing './dists/test2/stupid/binary-coal/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'change' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 deb stupid coal bloat+-0a9z.app-addons 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +find dists/test2/ \( -name "Packages.gz" -o -name "Sources.gz" \) -print0 | xargs -0 zgrep '^\(Package\|Maintainer\|Section\|Priority\): ' | sort > results +cat >results.expected <<END +dists/test2/stupid/binary-abacus/Packages.gz:Maintainer: bloat.maintainer +dists/test2/stupid/binary-abacus/Packages.gz:Package: bloat+-0a9z.app +dists/test2/stupid/binary-abacus/Packages.gz:Priority: optional +dists/test2/stupid/binary-abacus/Packages.gz:Section: stupid/base +dists/test2/stupid/binary-coal/Packages.gz:Maintainer: bloat.add.maintainer +dists/test2/stupid/binary-coal/Packages.gz:Package: bloat+-0a9z.app-addons +dists/test2/stupid/binary-coal/Packages.gz:Priority: optional +dists/test2/stupid/binary-coal/Packages.gz:Section: stupid/addons +dists/test2/stupid/source/Sources.gz:Maintainer: bloat.source.maintainer +dists/test2/stupid/source/Sources.gz:Package: bloat+-0a9z.app +dists/test2/stupid/source/Sources.gz:Priority: optional +dists/test2/stupid/source/Sources.gz:Section: stupid/X11 +dists/test2/ugly/binary-abacus/Packages.gz:Maintainer: simple.maintainer +dists/test2/ugly/binary-abacus/Packages.gz:Package: simple +dists/test2/ugly/binary-abacus/Packages.gz:Priority: optional +dists/test2/ugly/binary-abacus/Packages.gz:Section: ugly/base +dists/test2/ugly/binary-coal/Packages.gz:Maintainer: simple.add.maintainer +dists/test2/ugly/binary-coal/Packages.gz:Package: simple-addons +dists/test2/ugly/binary-coal/Packages.gz:Priority: optional +dists/test2/ugly/binary-coal/Packages.gz:Section: ugly/addons +dists/test2/ugly/source/Sources.gz:Maintainer: simple.source.maintainer +dists/test2/ugly/source/Sources.gz:Package: simple +dists/test2/ugly/source/Sources.gz:Priority: optional +dists/test2/ugly/source/Sources.gz:Section: ugly/games +END +dodiff results.expected results +rm results +testout "" -b . listfilter test2 'Source(==simple)|(!Source,Package(==simple))' +ls -la results +cat > results.expected << END +test2|ugly|abacus: simple 1 +test2|ugly|coal: simple-addons 1 +test2|ugly|source: simple 1 +END +dodiff results.expected results +testout "" -b . listfilter test2 'Source(==bloat+-0a9z.app)|(!Source,Package(==bloat+-0a9z.app))' +cat > results.expected << END +test2|stupid|abacus: bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +test2|stupid|coal: bloat+-0a9z.app-addons 99:0.9-A:Z+a:z-0+aA.9zZ +test2|stupid|source: bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +END +dodiff results.expected results + +cat >conf/updates <<END +Name: Test2toTest1 +Method: copy:$WORKDIR +VerifyRelease: blindtrust +Suite: test2 +Architectures: coal>abacus abacus source +FilterFormula: Priority(==optional),Package(>=alpha),Package(<=zeta) +FilterList: error list +ListHook: /bin/cp +END + +cat >conf/list <<END +simple-addons install +bloat+-0a9z.app install +simple install +bloat+-0a9z.app-addons install +END + +cp dists/test2/Release Release.test2.safe +ed -s dists/test2/Release <<EOF +g/stupid.source.Sources/s/^ ................................ / ffffffffffffffffffffffffffffffff / +w +q +EOF + +testrun - -b . update test1 3<<EOF +returns 254 +stderr +=WARNING: Single-Instance not yet supported! +=aptmethod error receiving 'copy:$WORKDIR/dists/test2/InRelease': +='Failed to stat - stat (2: No such file or directory)' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/Release' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/Release' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/ugly/source/Sources.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/ugly/source/Sources.bz2' +-v2*=Uncompress './lists/Test2toTest1_test2_ugly_Sources.bz2' into './lists/Test2toTest1_test2_ugly_Sources' using '/bin/bunzip2'... +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/ugly/binary-abacus/Packages.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/ugly/binary-abacus/Packages.bz2' +-v2*=Uncompress './lists/Test2toTest1_test2_ugly_abacus_Packages.bz2' into './lists/Test2toTest1_test2_ugly_abacus_Packages' using '/bin/bunzip2'... +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/ugly/binary-coal/Packages.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/ugly/binary-coal/Packages.bz2' +-v2*=Uncompress './lists/Test2toTest1_test2_ugly_coal_Packages.bz2' into './lists/Test2toTest1_test2_ugly_coal_Packages' using '/bin/bunzip2'... +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +*=Wrong checksum during receive of 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2': +*=md5 expected: ffffffffffffffffffffffffffffffff, got: $(md5 dists/test2/stupid/source/Sources.bz2) +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/stupid/binary-abacus/Packages.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/stupid/binary-abacus/Packages.bz2' +-v2*=Uncompress './lists/Test2toTest1_test2_stupid_abacus_Packages.bz2' into './lists/Test2toTest1_test2_stupid_abacus_Packages' using '/bin/bunzip2'... +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/stupid/binary-coal/Packages.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/stupid/binary-coal/Packages.bz2' +-v2*=Uncompress './lists/Test2toTest1_test2_stupid_coal_Packages.bz2' into './lists/Test2toTest1_test2_stupid_coal_Packages' using '/bin/bunzip2'... +-v0*=There have been errors! +stdout +-v2*=Created directory "./lists" +EOF +cp Release.test2.safe dists/test2/Release +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +ed -s dists/test2/Release <<EOF +g/stupid.source.Sources/s/^ ........................................ / 1111111111111111111111111111111111111111 / +w +q +EOF + +testrun - -b . update test1 3<<EOF +returns 254 +stderr +=WARNING: Single-Instance not yet supported! +=aptmethod error receiving 'copy:$WORKDIR/dists/test2/InRelease': +='Failed to stat - stat (2: No such file or directory)' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/Release' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/Release' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +*=Wrong checksum during receive of 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2': +*=sha1 expected: 1111111111111111111111111111111111111111, got: $(sha1 dists/test2/stupid/source/Sources.bz2) +-v0*=There have been errors! +stdout +EOF +cp Release.test2.safe dists/test2/Release +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +ed -s dists/test2/Release <<EOF +g/stupid.source.Sources/s/^ ................................................................ / 9999999999999999999999999999999999999999999999999999999999999999 / +w +q +EOF + +testrun - -b . update test1 3<<EOF +returns 254 +stderr +=WARNING: Single-Instance not yet supported! +=aptmethod error receiving 'copy:$WORKDIR/dists/test2/InRelease': +='Failed to stat - stat (2: No such file or directory)' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/Release' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/Release' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +*=Wrong checksum during receive of 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2': +*=sha256 expected: 9999999999999999999999999999999999999999999999999999999999999999, got: $(sha256 dists/test2/stupid/source/Sources.bz2) +-v0*=There have been errors! +stdout +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check + +cp conf/updates conf/updates.safe +cat >> conf/updates <<EOF +IgnoreHashes: sha2 +EOF + +testrun - -b . update test1 3<<EOF +returns 248 +stderr +*=Error parsing config file ./conf/updates, line 9, column 15: +*=Unknown flag in IgnoreHashes header.(allowed values: md5, sha1 and sha256) +*=To ignore unknown fields use --ignore=unknownfield +-v0*=There have been errors! +stdout +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check + +cp conf/updates.safe conf/updates +cat >> conf/updates <<EOF +IgnoreHashes: sha1 +EOF + +testrun - -b . update test1 3<<EOF +returns 254 +stderr +=WARNING: Single-Instance not yet supported! +=aptmethod error receiving 'copy:$WORKDIR/dists/test2/InRelease': +='Failed to stat - stat (2: No such file or directory)' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/Release' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/Release' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2' +*=Wrong checksum during receive of 'copy:$WORKDIR/dists/test2/stupid/source/Sources.bz2': +*=sha256 expected: 9999999999999999999999999999999999999999999999999999999999999999, got: $(sha256 dists/test2/stupid/source/Sources.bz2) +-v0*=There have been errors! +stdout +EOF + +cp conf/updates.safe conf/updates +cat >> conf/updates <<EOF +IgnoreHashes: sha256 +EOF + +testrun - -b . update test1 3<<EOF +stderr +=WARNING: Single-Instance not yet supported! +=aptmethod error receiving 'copy:$WORKDIR/dists/test2/InRelease': +='Failed to stat - stat (2: No such file or directory)' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/Release' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/Release' +-v2*=Uncompress './lists/Test2toTest1_test2_stupid_Sources.bz2' into './lists/Test2toTest1_test2_stupid_Sources'... +-v6*=Called /bin/cp './lists/Test2toTest1_test2_ugly_Sources' './lists/_test1_ugly_source_Test2toTest1_Test2toTest1_test2_ugly_Sources' +-v6*=Listhook successfully returned! +-v6*=Called /bin/cp './lists/Test2toTest1_test2_ugly_abacus_Packages' './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_abacus_Packages' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_ugly_coal_Packages' './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_coal_Packages' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_stupid_Sources' './lists/_test1_stupid_source_Test2toTest1_Test2toTest1_test2_stupid_Sources' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_stupid_abacus_Packages' './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_abacus_Packages' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_stupid_coal_Packages' './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_coal_Packages' +stdout +-v0*=Calculating packages to get... +-v3*= processing updates for 'test1|ugly|source' +-v5*= reading './lists/_test1_ugly_source_Test2toTest1_Test2toTest1_test2_ugly_Sources' +-v3*= processing updates for 'test1|ugly|abacus' +-v5*= reading './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_abacus_Packages' +-v5*= reading './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_coal_Packages' +-v3*= processing updates for 'test1|stupid|source' +-v5*= reading './lists/_test1_stupid_source_Test2toTest1_Test2toTest1_test2_stupid_Sources' +-v3*= processing updates for 'test1|stupid|abacus' +-v5*= reading './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_abacus_Packages' +-v5*= reading './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_coal_Packages' +-v0*=Getting packages... +-v1=Freeing some memory... +-v1*=Shutting down aptmethods... +-v0*=Installing (and possibly deleting) packages... +$(opa 'simple' unset 'test1' 'ugly' 'source' 'dsc') +$(opa 'simple' x 'test1' 'ugly' 'abacus' 'deb') +$(opa 'simple-addons' x 'test1' 'ugly' 'abacus' 'deb') +$(opa 'bloat+-0a9z.app' unset 'test1' 'stupid' 'source' 'dsc') +$(opa 'bloat+-0a9z.app' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'bloat+-0a9z.app-addons' x 'test1' 'stupid' 'abacus' 'deb') +-v1*=Retracking test1... +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +-v6*= replacing './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +mv Release.test2.safe dists/test2/Release +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +mv conf/updates.safe conf/updates + +checklog log1 <<EOF +DATESTR add test1 dsc ugly source simple 1 +DATESTR add test1 deb ugly abacus simple 1 +DATESTR add test1 deb ugly abacus simple-addons 1 +DATESTR add test1 dsc stupid source bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR add test1 deb stupid abacus bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR add test1 deb stupid abacus bloat+-0a9z.app-addons 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +checknolog log1 +checknolog log2 +testrun - -b . update test1 3<<EOF +=WARNING: Single-Instance not yet supported! +=aptmethod error receiving 'copy:$WORKDIR/dists/test2/InRelease': +='Failed to stat - stat (2: No such file or directory)' +-v6*=aptmethod start 'copy:$WORKDIR/dists/test2/Release' +-v1*=aptmethod got 'copy:$WORKDIR/dists/test2/Release' +stdout +-v0*=Nothing to do found. (Use --noskipold to force processing) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 < /dev/null +checknolog log2 +testrun - --nolistsdownload --noskipold -b . update test1 3<<EOF +=WARNING: Single-Instance not yet supported! +-v6*=Called /bin/cp './lists/Test2toTest1_test2_ugly_Sources' './lists/_test1_ugly_source_Test2toTest1_Test2toTest1_test2_ugly_Sources' +-v6*=Listhook successfully returned! +-v6*=Called /bin/cp './lists/Test2toTest1_test2_ugly_abacus_Packages' './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_abacus_Packages' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_ugly_coal_Packages' './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_coal_Packages' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_stupid_Sources' './lists/_test1_stupid_source_Test2toTest1_Test2toTest1_test2_stupid_Sources' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_stupid_abacus_Packages' './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_abacus_Packages' +-v6*=Called /bin/cp './lists/Test2toTest1_test2_stupid_coal_Packages' './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_coal_Packages' +stdout +-v0*=Calculating packages to get... +-v3*= processing updates for 'test1|ugly|source' +-v5*= reading './lists/_test1_ugly_source_Test2toTest1_Test2toTest1_test2_ugly_Sources' +-v3*= processing updates for 'test1|ugly|abacus' +-v5*= reading './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_abacus_Packages' +-v5*= reading './lists/_test1_ugly_abacus_Test2toTest1_Test2toTest1_test2_ugly_coal_Packages' +-v3*= processing updates for 'test1|stupid|source' +-v5*= reading './lists/_test1_stupid_source_Test2toTest1_Test2toTest1_test2_stupid_Sources' +-v3*= processing updates for 'test1|stupid|abacus' +-v5*= reading './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_abacus_Packages' +-v5*= reading './lists/_test1_stupid_abacus_Test2toTest1_Test2toTest1_test2_stupid_coal_Packages' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 < /dev/null +checknolog log2 + +find dists/test2/ \( -name "Packages.gz" -o -name "Sources.gz" \) -print0 | xargs -0 zgrep '^Package: ' | sed -e 's/test2/test1/' -e "s/coal/abacus/" | sort > test2 +find dists/test1/ \( -name "Packages.gz" -o -name "Sources.gz" \) -print0 | xargs -0 zgrep '^Package: ' | sort > test1 +dodiff test2 test1 + +testrun - -b . check test1 test2 3<<EOF +stdout +-v1*=Checking test2... +-x1*=Checking packages in 'test2|stupid|abacus'... +-x1*=Checking packages in 'test2|stupid|coal'... +-x1*=Checking packages in 'test2|stupid|source'... +-x1*=Checking packages in 'test2|ugly|abacus'... +-x1*=Checking packages in 'test2|ugly|coal'... +-x1*=Checking packages in 'test2|ugly|source'... +-v1*=Checking test1... +-x1*=Checking packages in 'test1|stupid|abacus'... +-x1*=Checking packages in 'test1|stupid|source'... +-x1*=Checking packages in 'test1|ugly|abacus'... +-x1*=Checking packages in 'test1|ugly|source'... +EOF +testrun "" -b . checkpool +testrun - -b . rereference test1 test2 3<<EOF +stdout +-v1*=Referencing test2... +-v2=Rereferencing test2|stupid|abacus... +-v2=Rereferencing test2|stupid|coal... +-v2=Rereferencing test2|stupid|source... +-v2=Rereferencing test2|ugly|abacus... +-v2=Rereferencing test2|ugly|coal... +-v2=Rereferencing test2|ugly|source... +-v3*=Unlocking dependencies of test2|stupid|abacus... +-v3*=Referencing test2|stupid|abacus... +-v3*=Unlocking dependencies of test2|stupid|coal... +-v3*=Referencing test2|stupid|coal... +-v3*=Unlocking dependencies of test2|stupid|source... +-v3*=Referencing test2|stupid|source... +-v3*=Unlocking dependencies of test2|ugly|abacus... +-v3*=Referencing test2|ugly|abacus... +-v3*=Unlocking dependencies of test2|ugly|coal... +-v3*=Referencing test2|ugly|coal... +-v3*=Unlocking dependencies of test2|ugly|source... +-v3*=Referencing test2|ugly|source... +-v1*=Referencing test1... +-v2=Rereferencing test1|stupid|abacus... +-v2=Rereferencing test1|stupid|source... +-v2=Rereferencing test1|ugly|abacus... +-v2=Rereferencing test1|ugly|source... +-v3*=Unlocking dependencies of test1|stupid|abacus... +-v3*=Referencing test1|stupid|abacus... +-v3*=Unlocking dependencies of test1|stupid|source... +-v3*=Referencing test1|stupid|source... +-v3*=Unlocking dependencies of test1|ugly|abacus... +-v3*=Referencing test1|ugly|abacus... +-v3*=Unlocking dependencies of test1|ugly|source... +-v3*=Referencing test1|ugly|source... +EOF +testrun - -b . check test1 test2 3<<EOF +stdout +-v1*=Checking test1... +-x1*=Checking packages in 'test2|stupid|abacus'... +-x1*=Checking packages in 'test2|stupid|coal'... +-x1*=Checking packages in 'test2|stupid|source'... +-x1*=Checking packages in 'test2|ugly|abacus'... +-x1*=Checking packages in 'test2|ugly|coal'... +-x1*=Checking packages in 'test2|ugly|source'... +-v1*=Checking test2... +-x1*=Checking packages in 'test1|stupid|abacus'... +-x1*=Checking packages in 'test1|stupid|source'... +-x1*=Checking packages in 'test1|ugly|abacus'... +-x1*=Checking packages in 'test1|ugly|source'... +EOF + +testout "" -b . dumptracks +cat >results.expected <<END +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:0.9-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc s 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz s 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb b 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb a 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb a 1 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + +Distribution: test1 +Source: simple +Version: 1 +Files: + pool/stupid/s/simple/simple_1.dsc s 0 + pool/stupid/s/simple/simple_1.tar.gz s 0 + pool/stupid/s/simple/simple_1_abacus.deb b 0 + pool/stupid/s/simple/simple-addons_1_all.deb a 0 + pool/stupid/s/simple/simple_1_source+all+abacus.changes c 0 + pool/ugly/s/simple/simple_1_abacus.deb b 1 + pool/ugly/s/simple/simple-addons_1_all.deb a 1 + pool/ugly/s/simple/simple_1.dsc s 1 + pool/ugly/s/simple/simple_1.tar.gz s 1 + +END +dodiff results.expected results + +testout "" -b . dumpunreferenced +dodiff /dev/null results +testrun - -b . removealltracks test2 test1 3<<EOF +stdout +stderr +*=Error: Requested removing of all tracks of distribution 'test1', +*=which still has tracking enabled. Use --delete to delete anyway. +-v0*=There have been errors! +returns 255 +EOF +testrun - --delete -b . removealltracks test2 test1 3<<EOF +stdout +-v0*=Deleting all tracks for test2... +-v0*=Deleting all tracks for test1... +-v0*=Deleting files no longer referenced... +$(ofd 'pool/stupid/s/simple/simple-addons_1_all.deb') +$(ofd 'pool/stupid/s/simple/simple_1.dsc') +$(ofd 'pool/stupid/s/simple/simple_1.tar.gz') +$(ofd 'pool/stupid/s/simple/simple_1_abacus.deb') +$(ofd 'pool/stupid/s/simple/simple_1_source+all+abacus.changes') +-v2*=removed now empty directory ./pool/stupid/s/simple +-v2*=removed now empty directory ./pool/stupid/s +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes') +-v2*=removed now empty directory ./pool/ugly/b/bloat+-0a9z.app +-v2*=removed now empty directory ./pool/ugly/b +EOF +echo returned: $? +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +testrun - -b . include test1 test.changes 3<<EOF +stdout +-v2*=Created directory "./pool/ugly/b" +-v2*=Created directory "./pool/ugly/b/bloat+-0a9z.app" +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes') +$(opa 'bloat+-0a9z.app-addons' x 'test1' 'ugly' 'abacus' 'deb') +$(opa 'bloat+-0a9z.app' x 'test1' 'ugly' 'abacus' 'deb') +$(opa 'bloat+-0a9z.app' unset 'test1' 'ugly' 'source' 'dsc') +$(ota 'test1' 'bloat+-0a9z.app') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +-v6*= replacing './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR add test1 deb ugly abacus bloat+-0a9z.app-addons 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR add test1 deb ugly abacus bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR add test1 dsc ugly source bloat+-0a9z.app 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +echo returned: $? +OUTPUT=test2.changes PACKAGE=bloat+-0a9z.app EPOCH=99: VERSION=9.0-A:Z+a:z REVISION=-0+aA.9zZ SECTION="ugly/extra" genpackage.sh +testrun - -b . include test1 test2.changes 3<<EOF +stdout +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc') +$(ofa 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:9.0-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes') +$(opu 'bloat+-0a9z.app-addons' x x 'test1' 'ugly' 'abacus' 'deb') +$(opu 'bloat+-0a9z.app' x x 'test1' 'ugly' 'abacus' 'deb') +$(opu 'bloat+-0a9z.app' x x 'test1' 'ugly' 'source' 'dsc') +$(ota 'test1' 'bloat+-0a9z.app') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +-v6*= replacing './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +echo returned: $? +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR replace test1 deb ugly abacus bloat+-0a9z.app-addons 99:9.0-A:Z+a:z-0+aA.9zZ 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR replace test1 deb ugly abacus bloat+-0a9z.app 99:9.0-A:Z+a:z-0+aA.9zZ 99:0.9-A:Z+a:z-0+aA.9zZ +DATESTR replace test1 dsc ugly source bloat+-0a9z.app 99:9.0-A:Z+a:z-0+aA.9zZ 99:0.9-A:Z+a:z-0+aA.9zZ +EOF +testrun - -b . -S sectiontest -P prioritytest includedeb test1 simple_1_abacus.deb 3<<EOF +stderr +-v1*=simple_1_abacus.deb: component guessed as 'stupid' +stdout +-v2*=Created directory "./pool/stupid/s" +-v2*=Created directory "./pool/stupid/s/simple" +$(ofa 'pool/stupid/s/simple/simple_1_abacus.deb') +$(opa 'simple' x 'test1' 'stupid' 'abacus' 'deb') +$(ota 'test1' 'simple') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +echo returned: $? +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +dodo zgrep '^Section: sectiontest' dists/test1/stupid/binary-abacus/Packages.gz +dodo zgrep '^Priority: prioritytest' dists/test1/stupid/binary-abacus/Packages.gz +checklog log1 <<EOF +DATESTR add test1 deb stupid abacus simple 1 +EOF +testrun - -b . -S sectiontest -P prioritytest includedsc test1 simple_1.dsc 3<<EOF +stderr +-v1*=simple_1.dsc: component guessed as 'stupid' +stdout +$(ofa 'pool/stupid/s/simple/simple_1.dsc') +$(ofa 'pool/stupid/s/simple/simple_1.tar.gz') +$(opa 'simple' unset 'test1' 'stupid' 'source' 'dsc') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +echo returned: $? +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +dodo zgrep '^Section: sectiontest' dists/test1/stupid/source/Sources.gz +dodo zgrep '^Priority: prioritytest' dists/test1/stupid/source/Sources.gz +checklog log1 <<EOF +DATESTR add test1 dsc stupid source simple 1 +EOF + +testout "" -b . dumptracks +cat >results.expected <<END +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:0.9-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc s 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz s 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb b 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb a 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:9.0-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb a 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:9.0-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + +Distribution: test1 +Source: simple +Version: 1 +Files: + pool/stupid/s/simple/simple_1_abacus.deb b 1 + pool/stupid/s/simple/simple_1.dsc s 1 + pool/stupid/s/simple/simple_1.tar.gz s 1 + +END +dodiff results.expected results +testout "" -b . dumpunreferenced +dodiff /dev/null results + +echo "now testing .orig.tar.gz handling" +tar -czf test_1.orig.tar.gz test.changes +PACKAGE=test EPOCH="" VERSION=1 REVISION="-2" SECTION="stupid/base" genpackage.sh -sd +testrun - -b . include test1 test.changes 3<<EOF +returns 249 +stderr +*=Unable to find pool/stupid/t/test/test_1.orig.tar.gz needed by test_1-2.dsc! +*=Perhaps you forgot to give dpkg-buildpackage the -sa option, +*= or you could try --ignore=missingfile to guess possible files to use. +-v0*=There have been errors! +stdout +-v2*=Created directory "./pool/stupid/t" +-v2*=Created directory "./pool/stupid/t/test" +$(ofa 'pool/stupid/t/test/test-addons_1-2_all.deb') +$(ofa 'pool/stupid/t/test/test_1-2_abacus.deb') +$(ofa 'pool/stupid/t/test/test_1-2.diff.gz') +$(ofa 'pool/stupid/t/test/test_1-2.dsc') +-v0*=Deleting files just added to the pool but not used. +-v0*=(to avoid use --keepunusednewfiles next time) +$(ofd 'pool/stupid/t/test/test-addons_1-2_all.deb') +$(ofd 'pool/stupid/t/test/test_1-2_abacus.deb') +$(ofd 'pool/stupid/t/test/test_1-2.diff.gz') +$(ofd 'pool/stupid/t/test/test_1-2.dsc') +-v2*=removed now empty directory ./pool/stupid/t/test +-v2*=removed now empty directory ./pool/stupid/t +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checknolog log1 +checknolog log2 +testrun - -b . --ignore=missingfile include test1 test.changes 3<<EOF +stderr +*=Unable to find pool/stupid/t/test/test_1.orig.tar.gz! +*=Perhaps you forgot to give dpkg-buildpackage the -sa option. +*=--ignore=missingfile was given, searching for file... +stdout +-v2*=Created directory "./pool/stupid/t" +-v2*=Created directory "./pool/stupid/t/test" +$(ofa 'pool/stupid/t/test/test-addons_1-2_all.deb') +$(ofa 'pool/stupid/t/test/test_1-2_abacus.deb') +$(ofa 'pool/stupid/t/test/test_1-2.diff.gz') +$(ofa 'pool/stupid/t/test/test_1-2.dsc') +$(ofa 'pool/stupid/t/test/test_1.orig.tar.gz') +$(ofa 'pool/stupid/t/test/test_1-2_source+all+abacus.changes') +$(opa 'test-addons' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'test' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'test' unset 'test1' 'stupid' 'source' 'dsc') +$(ota 'test1' 'test') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR add test1 deb stupid abacus test-addons 1-2 +DATESTR add test1 deb stupid abacus test 1-2 +DATESTR add test1 dsc stupid source test 1-2 +EOF +dodo zgrep test_1-2.dsc dists/test1/stupid/source/Sources.gz + +tar -czf testb_2.orig.tar.gz test.changes +PACKAGE=testb EPOCH="1:" VERSION=2 REVISION="-2" SECTION="stupid/base" genpackage.sh -sa +testrun - -b . include test1 test.changes 3<<EOF +stdout +-v2*=Created directory "./pool/stupid/t/testb" +$(ofa 'pool/stupid/t/testb/testb-addons_2-2_all.deb') +$(ofa 'pool/stupid/t/testb/testb_2-2_abacus.deb') +$(ofa 'pool/stupid/t/testb/testb_2-2.diff.gz') +$(ofa 'pool/stupid/t/testb/testb_2-2.dsc') +$(ofa 'pool/stupid/t/testb/testb_2.orig.tar.gz') +$(ofa 'pool/stupid/t/testb/testb_1:2-2_source+all+abacus.changes') +$(opa 'testb-addons' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'testb' x 'test1' 'stupid' 'abacus' 'deb') +$(opa 'testb' unset 'test1' 'stupid' 'source' 'dsc') +$(ota 'test1' 'testb') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR add test1 deb stupid abacus testb-addons 1:2-2 +DATESTR add test1 deb stupid abacus testb 1:2-2 +DATESTR add test1 dsc stupid source testb 1:2-2 +EOF +dodo zgrep testb_2-2.dsc dists/test1/stupid/source/Sources.gz +rm test2.changes +PACKAGE=testb EPOCH="1:" VERSION=2 REVISION="-3" SECTION="stupid/base" OUTPUT="test2.changes" genpackage.sh -sd +testrun - -b . include test1 test2.changes 3<<EOF +stdout +$(ofa 'pool/stupid/t/testb/testb-addons_2-3_all.deb') +$(ofa 'pool/stupid/t/testb/testb_2-3_abacus.deb') +$(ofa 'pool/stupid/t/testb/testb_2-3.diff.gz') +$(ofa 'pool/stupid/t/testb/testb_2-3.dsc') +$(ofa 'pool/stupid/t/testb/testb_1:2-3_source+all+abacus.changes') +$(opu 'testb-addons' x x 'test1' 'stupid' 'abacus' 'deb') +$(opu 'testb' x x 'test1' 'stupid' 'abacus' 'deb') +$(opu 'testb' x x 'test1' 'stupid' 'source' 'dsc') +$(ota 'test1' 'testb') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR replace test1 deb stupid abacus testb-addons 1:2-3 1:2-2 +DATESTR replace test1 deb stupid abacus testb 1:2-3 1:2-2 +DATESTR replace test1 dsc stupid source testb 1:2-3 1:2-2 +EOF +dodo zgrep testb_2-3.dsc dists/test1/stupid/source/Sources.gz + +testout "" -b . dumpunreferenced +dodiff /dev/null results + +echo "now testing some error messages:" +PACKAGE=4test EPOCH="1:" VERSION=0b.1 REVISION="-1" SECTION="stupid/base" genpackage.sh +testrun - -b . include test1 test.changes 3<<EOF +stdout +-v2*=Created directory "./pool/stupid/4" +-v2*=Created directory "./pool/stupid/4/4test" +$(ofa 'pool/stupid/4/4test/4test-addons_0b.1-1_all.deb') +$(ofa 'pool/stupid/4/4test/4test_0b.1-1_abacus.deb') +$(ofa 'pool/stupid/4/4test/4test_0b.1-1.tar.gz') +$(ofa 'pool/stupid/4/4test/4test_0b.1-1.dsc') +$(ofa 'pool/stupid/4/4test/4test_1:0b.1-1_source+all+abacus.changes') +$(opa '4test-addons' x 'test1' 'stupid' 'abacus' 'deb') +$(opa '4test' x 'test1' 'stupid' 'abacus' 'deb') +$(opa '4test' unset 'test1' 'stupid' 'source' 'dsc') +$(ota 'test1' '4test') +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= looking for changes in 'test1|ugly|source'... +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR add test1 deb stupid abacus 4test-addons 1:0b.1-1 +DATESTR add test1 deb stupid abacus 4test 1:0b.1-1 +DATESTR add test1 dsc stupid source 4test 1:0b.1-1 +EOF + +cat >includeerror.rules <<EOF +returns 255 +stderr +-v0*=There have been errors! +*=Error: Too few arguments for command 'include'! +*=Syntax: reprepro [--delete] include <distribution> <.changes-file> +EOF +testrun includeerror -b . include unknown 3<<EOF +testrun includeerror -b . include unknown test.changes test2.changes +testrun - -b . include unknown test.changes 3<<EOF +stderr +-v0*=There have been errors! +*=No distribution definition of 'unknown' found in './conf/distributions'! +returns 249 +EOF +testout "" -b . dumpunreferenced +dodiff /dev/null results + +testout "" -b . dumptracks +# TODO: check those if they are really expected... +cat > results.expected <<EOF +Distribution: test1 +Source: 4test +Version: 1:0b.1-1 +Files: + pool/stupid/4/4test/4test_0b.1-1.dsc s 1 + pool/stupid/4/4test/4test_0b.1-1.tar.gz s 1 + pool/stupid/4/4test/4test_0b.1-1_abacus.deb b 1 + pool/stupid/4/4test/4test-addons_0b.1-1_all.deb a 1 + pool/stupid/4/4test/4test_1:0b.1-1_source+all+abacus.changes c 0 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:0.9-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc s 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz s 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb b 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb a 0 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:9.0-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb a 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:9.0-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + +Distribution: test1 +Source: simple +Version: 1 +Files: + pool/stupid/s/simple/simple_1_abacus.deb b 1 + pool/stupid/s/simple/simple_1.dsc s 1 + pool/stupid/s/simple/simple_1.tar.gz s 1 + +Distribution: test1 +Source: test +Version: 1-2 +Files: + pool/stupid/t/test/test_1-2.dsc s 1 + pool/stupid/t/test/test_1.orig.tar.gz s 1 + pool/stupid/t/test/test_1-2.diff.gz s 1 + pool/stupid/t/test/test_1-2_abacus.deb b 1 + pool/stupid/t/test/test-addons_1-2_all.deb a 1 + pool/stupid/t/test/test_1-2_source+all+abacus.changes c 0 + +Distribution: test1 +Source: testb +Version: 1:2-2 +Files: + pool/stupid/t/testb/testb_2-2.dsc s 0 + pool/stupid/t/testb/testb_2.orig.tar.gz s 0 + pool/stupid/t/testb/testb_2-2.diff.gz s 0 + pool/stupid/t/testb/testb_2-2_abacus.deb b 0 + pool/stupid/t/testb/testb-addons_2-2_all.deb a 0 + pool/stupid/t/testb/testb_1:2-2_source+all+abacus.changes c 0 + +Distribution: test1 +Source: testb +Version: 1:2-3 +Files: + pool/stupid/t/testb/testb_2-3.dsc s 1 + pool/stupid/t/testb/testb_2.orig.tar.gz s 1 + pool/stupid/t/testb/testb_2-3.diff.gz s 1 + pool/stupid/t/testb/testb_2-3_abacus.deb b 1 + pool/stupid/t/testb/testb-addons_2-3_all.deb a 1 + pool/stupid/t/testb/testb_1:2-3_source+all+abacus.changes c 0 + +EOF +dodiff results.expected results +testrun - -b . tidytracks 3<<EOF +stdout +-v0*=Looking for old tracks in test1... +EOF +testout "" -b . dumptracks +dodiff results.expected results +sed -i -e 's/^Tracking: keep/Tracking: all/' conf/distributions +testrun - -b . tidytracks 3<<EOF +stdout +-v0*=Looking for old tracks in test1... +$(otd 'testb' '1:2-2' 'test1') +$(otd 'bloat+-0a9z.app' '99:0.9-A:Z+a:z-0+aA.9zZ' 'test1') +-v0*=Deleting files no longer referenced... +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:0.9-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes') +$(ofd 'pool/stupid/t/testb/testb-addons_2-2_all.deb') +$(ofd 'pool/stupid/t/testb/testb_2-2_abacus.deb') +$(ofd 'pool/stupid/t/testb/testb_2-2.dsc') +$(ofd 'pool/stupid/t/testb/testb_2-2.diff.gz') +$(ofd 'pool/stupid/t/testb/testb_1:2-2_source+all+abacus.changes') +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +cp db/tracking.db db/saved2tracking.db +cp db/references.db db/saved2references.db +testout "" -b . dumpunreferenced +dodiff /dev/null results +testout "" -b . dumptracks +cat > results.expected <<EOF +Distribution: test1 +Source: 4test +Version: 1:0b.1-1 +Files: + pool/stupid/4/4test/4test_0b.1-1.dsc s 1 + pool/stupid/4/4test/4test_0b.1-1.tar.gz s 1 + pool/stupid/4/4test/4test_0b.1-1_abacus.deb b 1 + pool/stupid/4/4test/4test-addons_0b.1-1_all.deb a 1 + pool/stupid/4/4test/4test_1:0b.1-1_source+all+abacus.changes c 0 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:9.0-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb a 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:9.0-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + +Distribution: test1 +Source: simple +Version: 1 +Files: + pool/stupid/s/simple/simple_1_abacus.deb b 1 + pool/stupid/s/simple/simple_1.dsc s 1 + pool/stupid/s/simple/simple_1.tar.gz s 1 + +Distribution: test1 +Source: test +Version: 1-2 +Files: + pool/stupid/t/test/test_1-2.dsc s 1 + pool/stupid/t/test/test_1.orig.tar.gz s 1 + pool/stupid/t/test/test_1-2.diff.gz s 1 + pool/stupid/t/test/test_1-2_abacus.deb b 1 + pool/stupid/t/test/test-addons_1-2_all.deb a 1 + pool/stupid/t/test/test_1-2_source+all+abacus.changes c 0 + +Distribution: test1 +Source: testb +Version: 1:2-3 +Files: + pool/stupid/t/testb/testb_2-3.dsc s 1 + pool/stupid/t/testb/testb_2.orig.tar.gz s 1 + pool/stupid/t/testb/testb_2-3.diff.gz s 1 + pool/stupid/t/testb/testb_2-3_abacus.deb b 1 + pool/stupid/t/testb/testb-addons_2-3_all.deb a 1 + pool/stupid/t/testb/testb_1:2-3_source+all+abacus.changes c 0 + +EOF +dodiff results.expected results +sed -i -e 's/^Tracking: all/Tracking: minimal/' conf/distributions +testrun - -b . tidytracks 3<<EOF +stdout +-v0*=Looking for old tracks in test1... +EOF +testout "" -b . dumpunreferenced +dodiff /dev/null results +testout "" -b . dumptracks +dodiff results.expected results +sed -i -e 's/^Tracking: minimal includechanges/Tracking: minimal/' conf/distributions +testrun - -b . tidytracks 3<<EOF +stdout +-v0*=Looking for old tracks in test1... +-v0*=Deleting files no longer referenced... +$(ofd 'pool/stupid/4/4test/4test_1:0b.1-1_source+all+abacus.changes') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:9.0-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes') +$(ofd 'pool/stupid/t/test/test_1-2_source+all+abacus.changes') +$(ofd 'pool/stupid/t/testb/testb_1:2-3_source+all+abacus.changes') +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +testout "" -b . dumpunreferenced +dodiff /dev/null results +testout "" -b . dumptracks +cat > results.expected <<EOF +Distribution: test1 +Source: 4test +Version: 1:0b.1-1 +Files: + pool/stupid/4/4test/4test_0b.1-1.dsc s 1 + pool/stupid/4/4test/4test_0b.1-1.tar.gz s 1 + pool/stupid/4/4test/4test_0b.1-1_abacus.deb b 1 + pool/stupid/4/4test/4test-addons_0b.1-1_all.deb a 1 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:9.0-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb a 1 + +Distribution: test1 +Source: simple +Version: 1 +Files: + pool/stupid/s/simple/simple_1_abacus.deb b 1 + pool/stupid/s/simple/simple_1.dsc s 1 + pool/stupid/s/simple/simple_1.tar.gz s 1 + +Distribution: test1 +Source: test +Version: 1-2 +Files: + pool/stupid/t/test/test_1-2.dsc s 1 + pool/stupid/t/test/test_1.orig.tar.gz s 1 + pool/stupid/t/test/test_1-2.diff.gz s 1 + pool/stupid/t/test/test_1-2_abacus.deb b 1 + pool/stupid/t/test/test-addons_1-2_all.deb a 1 + +Distribution: test1 +Source: testb +Version: 1:2-3 +Files: + pool/stupid/t/testb/testb_2-3.dsc s 1 + pool/stupid/t/testb/testb_2.orig.tar.gz s 1 + pool/stupid/t/testb/testb_2-3.diff.gz s 1 + pool/stupid/t/testb/testb_2-3_abacus.deb b 1 + pool/stupid/t/testb/testb-addons_2-3_all.deb a 1 + +EOF +dodiff results.expected results +testrun - -b . tidytracks 3<<EOF +stdout +-v0*=Looking for old tracks in test1... +EOF +testout "" -b . dumpunreferenced +dodiff /dev/null results +# Earlier update rules made this tracking data outdated. +# so copy it, so it can be replayed so that also outdated data +# is tested to be handled correctly. +mv db/tracking.db db/savedtracking.db +mv db/references.db db/savedreferences.db +# Try this with .changes files still listed +mv db/saved2tracking.db db/tracking.db +mv db/saved2references.db db/references.db +sed -i -e 's/^Tracking: minimal/Tracking: minimal includechanges/' conf/distributions +testrun - -b . retrack 3<<EOF +stdout +-v1*=Retracking test1... +$(ota 'test1' 'bloat+-0a9z.app') +-x1*= Tracking test1|stupid|abacus... +-x1*= Tracking test1|stupid|source... +-x1*= Tracking test1|ugly|abacus... +-x1*= Tracking test1|ugly|source... +EOF +testout "" -b . dumptracks +cat > results.expected <<EOF +Distribution: test1 +Source: 4test +Version: 1:0b.1-1 +Files: + pool/stupid/4/4test/4test_0b.1-1.dsc s 1 + pool/stupid/4/4test/4test_0b.1-1.tar.gz s 1 + pool/stupid/4/4test/4test_0b.1-1_abacus.deb b 1 + pool/stupid/4/4test/4test-addons_0b.1-1_all.deb a 1 + pool/stupid/4/4test/4test_1:0b.1-1_source+all+abacus.changes c 0 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:0.9-A:Z+a:z-0+aA.9zZ +Files: + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb a 1 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + +Distribution: test1 +Source: bloat+-0a9z.app +Version: 99:9.0-A:Z+a:z-0+aA.9zZ +Files: + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz s 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb b 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb a 1 + pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_99:9.0-A:Z+a:z-0+aA.9zZ_source+all+abacus.changes c 0 + +Distribution: test1 +Source: simple +Version: 1 +Files: + pool/stupid/s/simple/simple_1_abacus.deb b 1 + pool/stupid/s/simple/simple_1.dsc s 1 + pool/stupid/s/simple/simple_1.tar.gz s 1 + pool/ugly/s/simple/simple_1_abacus.deb b 1 + pool/ugly/s/simple/simple-addons_1_all.deb a 1 + pool/ugly/s/simple/simple_1.dsc s 1 + pool/ugly/s/simple/simple_1.tar.gz s 1 + +Distribution: test1 +Source: test +Version: 1-2 +Files: + pool/stupid/t/test/test_1-2.dsc s 1 + pool/stupid/t/test/test_1.orig.tar.gz s 1 + pool/stupid/t/test/test_1-2.diff.gz s 1 + pool/stupid/t/test/test_1-2_abacus.deb b 1 + pool/stupid/t/test/test-addons_1-2_all.deb a 1 + pool/stupid/t/test/test_1-2_source+all+abacus.changes c 0 + +Distribution: test1 +Source: testb +Version: 1:2-3 +Files: + pool/stupid/t/testb/testb_2-3.dsc s 1 + pool/stupid/t/testb/testb_2.orig.tar.gz s 1 + pool/stupid/t/testb/testb_2-3.diff.gz s 1 + pool/stupid/t/testb/testb_2-3_abacus.deb b 1 + pool/stupid/t/testb/testb-addons_2-3_all.deb a 1 + pool/stupid/t/testb/testb_1:2-3_source+all+abacus.changes c 0 + +EOF +dodiff results.expected results + +testout "" -b . dumpunreferenced +dodiff /dev/null results +testout "" -b . dumpreferences +sort results > results.expected +testrun - -b . rereference 3<<EOF +stdout +-v1*=Referencing test1... +-v3*=Unlocking dependencies of test1|stupid|abacus... +=Rereferencing test1|stupid|abacus... +-v3*=Referencing test1|stupid|abacus... +-v3*=Unlocking dependencies of test1|stupid|source... +=Rereferencing test1|stupid|source... +-v3*=Referencing test1|stupid|source... +-v3*=Unlocking dependencies of test1|ugly|abacus... +=Rereferencing test1|ugly|abacus... +-v3*=Referencing test1|ugly|abacus... +-v3*=Unlocking dependencies of test1|ugly|source... +=Rereferencing test1|ugly|source... +-v3*=Referencing test1|ugly|source... +-v1*=Referencing test2... +-v3*=Unlocking dependencies of test2|stupid|abacus... +=Rereferencing test2|stupid|abacus... +-v3*=Referencing test2|stupid|abacus... +-v3*=Unlocking dependencies of test2|stupid|coal... +=Rereferencing test2|stupid|coal... +-v3*=Referencing test2|stupid|coal... +-v3*=Unlocking dependencies of test2|stupid|source... +=Rereferencing test2|stupid|source... +-v3*=Referencing test2|stupid|source... +-v3*=Unlocking dependencies of test2|ugly|abacus... +=Rereferencing test2|ugly|abacus... +-v3*=Referencing test2|ugly|abacus... +-v3*=Unlocking dependencies of test2|ugly|coal... +=Rereferencing test2|ugly|coal... +-v3*=Referencing test2|ugly|coal... +-v3*=Unlocking dependencies of test2|ugly|source... +=Rereferencing test2|ugly|source... +-v3*=Referencing test2|ugly|source... +EOF +testout "" -b . dumpreferences +sort results > results.sorted +dodiff results.expected results.sorted +rm db/references.db +testrun - -b . rereference 3<<EOF +stdout +-v1*=Referencing test1... +-v3*=Unlocking dependencies of test1|stupid|abacus... +=Rereferencing test1|stupid|abacus... +-v3*=Referencing test1|stupid|abacus... +-v3*=Unlocking dependencies of test1|stupid|source... +=Rereferencing test1|stupid|source... +-v3*=Referencing test1|stupid|source... +-v3*=Unlocking dependencies of test1|ugly|abacus... +=Rereferencing test1|ugly|abacus... +-v3*=Referencing test1|ugly|abacus... +-v3*=Unlocking dependencies of test1|ugly|source... +=Rereferencing test1|ugly|source... +-v3*=Referencing test1|ugly|source... +-v1*=Referencing test2... +-v3*=Unlocking dependencies of test2|stupid|abacus... +=Rereferencing test2|stupid|abacus... +-v3*=Referencing test2|stupid|abacus... +-v3*=Unlocking dependencies of test2|stupid|coal... +=Rereferencing test2|stupid|coal... +-v3*=Referencing test2|stupid|coal... +-v3*=Unlocking dependencies of test2|stupid|source... +=Rereferencing test2|stupid|source... +-v3*=Referencing test2|stupid|source... +-v3*=Unlocking dependencies of test2|ugly|abacus... +=Rereferencing test2|ugly|abacus... +-v3*=Referencing test2|ugly|abacus... +-v3*=Unlocking dependencies of test2|ugly|coal... +=Rereferencing test2|ugly|coal... +-v3*=Referencing test2|ugly|coal... +-v3*=Unlocking dependencies of test2|ugly|source... +=Rereferencing test2|ugly|source... +-v3*=Referencing test2|ugly|source... +EOF +testout "" -b . dumpreferences +sort results > results.sorted +dodiff results.expected results.sorted +testout "" -b . dumpreferences +sort results > results.sorted +dodiff results.expected results.sorted + +sed -i -e 's/^Tracking: minimal/Tracking: keep includechanges/' conf/distributions +mv db/savedtracking.db db/tracking.db +mv db/savedreferences.db db/references.db + +mkdir conf2 +testrun - -b . --confdir ./conf2 update 3<<EOF +returns 254 +stderr +*=Error opening config file './conf2/distributions': No such file or directory(2) +=(Have you forgotten to specify a basedir by -b? +=To only set the conf/ dir use --confdir) +-v0*=There have been errors! +EOF +touch conf2/distributions +testrun - -b . --confdir ./conf2 update 3<<EOF +returns 249 +stderr +*=No distribution definitions found in ./conf2/distributions! +-v0*=There have been errors! +EOF +echo 'Codename: foo' > conf2/distributions +testrun - -b . --confdir ./conf2 update 3<<EOF +stderr +*=Error parsing config file ./conf2/distributions, line 2: +*=Required field 'Architectures' not found in +*=distribution definition starting in line 1 and ending in line 1. +-v0*=There have been errors! +returns 249 +EOF +echo "Architectures: abacus fingers" >> conf2/distributions +testrun - -b . --confdir ./conf2 update 3<<EOF +*=Error parsing config file ./conf2/distributions, line 3: +*=Required field 'Components' not found in +*=distribution definition starting in line 1 and ending in line 2. +-v0*=There have been errors! +returns 249 +EOF +undefinedtargeterror() { +cat <<'EOF' +*=This usually means you removed some component, architecture or even +*=a whole distribution from conf/distributions. +*=In that case you most likely want to call reprepro clearvanished to get rid +*=of the databases belonging to those removed parts. +*=(Another reason to get this error is using conf/ and db/ directories +*= belonging to different reprepro repositories). +EOF +if $1 ; then +cat << 'EOF' +*=To ignore use --ignore=undefinedtarget. +EOF +else +cat << 'EOF' +*=Ignoring as --ignore=undefinedtarget given. +EOF +fi +} +echo 'Components: unneeded bloated i386' >> conf2/distributions +testrun - -b . --confdir ./conf2 update 3<<EOF +*=Error: packages database contains unused 'test1|stupid|abacus' database. +$(undefinedtargeterror true) +-v0*=There have been errors! +returns 255 +EOF +testrun - -b . --confdir ./conf2 --ignore=undefinedtarget update 3<<EOF +*=Error: packages database contains unused 'test1|stupid|abacus' database. +$(undefinedtargeterror false) +*=Error: packages database contains unused 'test1|ugly|abacus' database. +*=Error: packages database contains unused 'test1|ugly|source' database. +*=Error: packages database contains unused 'test1|stupid|source' database. +*=Error: packages database contains unused 'test2|stupid|abacus' database. +*=Error: packages database contains unused 'test2|stupid|coal' database. +*=Error: packages database contains unused 'test2|stupid|source' database. +*=Error: packages database contains unused 'test2|ugly|abacus' database. +*=Error: packages database contains unused 'test2|ugly|coal' database. +*=Error: packages database contains unused 'test2|ugly|source' database. +*=Error: tracking database contains unused 'test1' database. +*=This either means you removed a distribution from the distributions config +*=file without calling clearvanished (or at least removealltracks), you +*=experienced a bug in retrack in versions < 3.0.0, you found a new bug or your +*=config does not belong to this database. +*=To ignore use --ignore=undefinedtracking. +-v0*=There have been errors! +returns 255 +EOF +testrun - -b . --confdir ./conf2 --ignore=undefinedtarget --ignore=undefinedtracking update 3<<EOF +*=Error: packages database contains unused 'test1|stupid|abacus' database. +$(undefinedtargeterror false) +*=Error: tracking database contains unused 'test1' database. +*=This either means you removed a distribution from the distributions config +*=file without calling clearvanished (or at least removealltracks), you +*=experienced a bug in retrack in versions < 3.0.0, you found a new bug or your +*=config does not belong to this database. +*=Ignoring as --ignore=undefinedtracking given. +*=Error: packages database contains unused 'test1|ugly|abacus' database. +*=Error: packages database contains unused 'test1|ugly|source' database. +*=Error: packages database contains unused 'test1|stupid|source' database. +*=Error: packages database contains unused 'test2|stupid|abacus' database. +*=Error: packages database contains unused 'test2|stupid|coal' database. +*=Error: packages database contains unused 'test2|stupid|source' database. +*=Error: packages database contains unused 'test2|ugly|abacus' database. +*=Error: packages database contains unused 'test2|ugly|coal' database. +*=Error: packages database contains unused 'test2|ugly|source' database. +*=Error opening config file './conf2/updates': No such file or directory(2) +-v0*=There have been errors! +returns 254 +EOF +touch conf2/updates +testrun - -b . --confdir ./conf2 --ignore=undefinedtarget --ignore=undefinedtracking --noskipold update 3<<EOF +stderr +*=Error: packages database contains unused 'test1|stupid|abacus' database. +$(undefinedtargeterror false) +*=Error: packages database contains unused 'test1|ugly|abacus' database. +*=Error: packages database contains unused 'test1|ugly|source' database. +*=Error: packages database contains unused 'test1|stupid|source' database. +*=Error: packages database contains unused 'test2|stupid|abacus' database. +*=Error: packages database contains unused 'test2|stupid|coal' database. +*=Error: packages database contains unused 'test2|stupid|source' database. +*=Error: packages database contains unused 'test2|ugly|abacus' database. +*=Error: packages database contains unused 'test2|ugly|coal' database. +*=Error: packages database contains unused 'test2|ugly|source' database. +*=Error: tracking database contains unused 'test1' database. +*=This either means you removed a distribution from the distributions config +*=file without calling clearvanished (or at least removealltracks), you +*=experienced a bug in retrack in versions < 3.0.0, you found a new bug or your +*=config does not belong to this database. +*=Ignoring as --ignore=undefinedtracking given. +*=Nothing to do, because no distribution has an Update: field. +EOF +testrun - -b . clearvanished 3<<EOF +stdout +*=Deleting vanished identifier 'foo|bloated|abacus'. +*=Deleting vanished identifier 'foo|bloated|fingers'. +*=Deleting vanished identifier 'foo|i386|abacus'. +*=Deleting vanished identifier 'foo|i386|fingers'. +*=Deleting vanished identifier 'foo|unneeded|abacus'. +*=Deleting vanished identifier 'foo|unneeded|fingers'. +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +testout "" -b . dumpunreferenced +dodiff /dev/null results +echo "Format: 2.0" > broken.changes +testrun - -b . include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Date' field! +=To ignore use --ignore=missingfield. +-v0*=There have been errors! +returns 255 +EOF +echo "Date: today" >> broken.changes +testrun - -b . include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Source' field +-v0*=There have been errors! +returns 255 +EOF +echo "Source: nowhere" >> broken.changes +testrun - -b . include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Architecture' field +-v0*=There have been errors! +returns 255 +EOF +echo "Architecture: brain" >> broken.changes +testrun - -b . include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Version' field +-v0*=There have been errors! +returns 255 +EOF +echo "Version: 0old" >> broken.changes +testrun - -b . include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Distribution' field +-v0*=There have been errors! +returns 255 +EOF +echo "Distribution: old" >> broken.changes +testrun - -b . include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Maintainer' field! +=To ignore use --ignore=missingfield. +-v0*=There have been errors! +returns 255 +EOF +echo "Distribution: old" >> broken.changes +testrun - -b . --ignore=missingfield include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Maintainer' field! +=Ignoring as --ignore=missingfield given. +*=In 'broken.changes': Missing 'Files' field! +-v0*=There have been errors! +returns 255 +EOF +echo "Files:" >> broken.changes +testrun - -b . --ignore=missingfield include test2 broken.changes 3<<EOF +*=In 'broken.changes': Missing 'Maintainer' field! +*=broken.changes: Not enough files in .changes! +=Ignoring as --ignore=missingfield given. +-v0*=There have been errors! +returns 255 +EOF +testout "" -b . dumpunreferenced +dodiff /dev/null results +echo " $EMPTYMD5 section priority filename_version.tar.gz" >> broken.changes +testrun - -b . --ignore=missingfield include test2 broken.changes 3<<EOF +=In 'broken.changes': Missing 'Maintainer' field! +=Ignoring as --ignore=missingfield given. +*=Warning: File 'filename_version.tar.gz' looks like source but does not start with 'nowhere_'! +=I hope you know what you do. +# grr, this message has really to improve... +*=.changes put in a distribution not listed within it! +=To ignore use --ignore=wrongdistribution. +-v0*=There have been errors! +returns 255 +EOF +cp conf/distributions conf/distributions.old +cat >> conf/distributions <<EOF + +Codename: getmoreatoms +Architectures: brain +Components: test +EOF +testrun - -b . --ignore=unusedarch --ignore=surprisingarch --ignore=wrongdistribution --ignore=missingfield include test2 broken.changes 3<<EOF +=Ignoring as --ignore=missingfield given. +=In 'broken.changes': Missing 'Maintainer' field! +=Warning: File 'filename_version.tar.gz' looks like source but does not start with 'nowhere_'! +=I hope you know what you do. +*=.changes put in a distribution not listed within it! +*=Ignoring as --ignore=wrongdistribution given. +*='filename_version.tar.gz' looks like part of an source package, but no dsc file listed in the .changes file! +-v0*=There have been errors! +returns 255 +EOF + +echo " $EMPTYMD5 section priority nowhere_0old.dsc" >> broken.changes +touch nowhere_0old.dsc + +testrun - -b . --ignore=unusedarch --ignore=surprisingarch --ignore=wrongdistribution --ignore=missingfield include test2 broken.changes 3<<EOF +=Ignoring as --ignore=missingfield given. +=In 'broken.changes': Missing 'Maintainer' field! +=Warning: File 'filename_version.tar.gz' looks like source but does not start with 'nowhere_'! +=I hope you know what you do. +*=.changes put in a distribution not listed within it! +*=Ignoring as --ignore=wrongdistribution given. +*=Architecture header lists architecture 'brain', but no files for it! +*=Ignoring as --ignore=unusedarch given. +*='filename_version.tar.gz' looks like architecture 'source', but this is not listed in the Architecture-Header! +*='nowhere_0old.dsc' looks like architecture 'source', but this is not listed in the Architecture-Header! +*=Ignoring as --ignore=surprisingarch given. +*=Cannot find file './filename_version.tar.gz' needed by 'broken.changes'! +-v0*=There have been errors! +returns 249 +EOF + +touch filename_version.tar.gz +testrun - -b . --ignore=unusedarch --ignore=surprisingarch --ignore=wrongdistribution --ignore=missingfield include test2 broken.changes 3<<EOF +=Ignoring as --ignore=missingfield given. +=In 'broken.changes': Missing 'Maintainer' field! +=Warning: File 'filename_version.tar.gz' looks like source but does not start with 'nowhere_'! +=Warning: File 'nowhere_0old.dsc' looks like source but does not start with 'nowhere_'! +=Warning: File 'nowhere_0old.dsc' looks like source but does not start with 'nowhere_'! +=I hope you know what you do. +*=.changes put in a distribution not listed within it! +*=Ignoring as --ignore=wrongdistribution given. +*=Architecture header lists architecture 'brain', but no files for it! +*=Ignoring as --ignore=unusedarch given. +*='filename_version.tar.gz' looks like architecture 'source', but this is not listed in the Architecture-Header! +*='nowhere_0old.dsc' looks like architecture 'source', but this is not listed in the Architecture-Header! +*=Ignoring as --ignore=surprisingarch given. +stdout +-v2*=Created directory "./pool/stupid/n" +-v2*=Created directory "./pool/stupid/n/nowhere" +$(ofa 'pool/stupid/n/nowhere/filename_version.tar.gz') +$(ofa 'pool/stupid/n/nowhere/nowhere_0old.dsc') +stderr +*=Unexpected empty file './pool/stupid/n/nowhere/nowhere_0old.dsc'! +-v0*=There have been errors! +returns 255 +stdout +-v0*=Deleting files just added to the pool but not used. +-v0*=(to avoid use --keepunusednewfiles next time) +$(ofd 'pool/stupid/n/nowhere/filename_version.tar.gz') +$(ofd 'pool/stupid/n/nowhere/nowhere_0old.dsc') +-v2*=removed now empty directory ./pool/stupid/n/nowhere +-v2*=removed now empty directory ./pool/stupid/n +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +rm nowhere_0old.dsc +mv conf/distributions.old conf/distributions +testrun - -b . clearvanished 3<<EOF +stderr +stdout +*=Deleting vanished identifier 'getmoreatoms|test|brain'. +EOF +mkdir -p pool/stupid/n/nowhere +dodo test ! -f pool/stupid/n/nowhere/filename_version.tar.gz +cp filename_version.tar.gz pool/stupid/n/nowhere/filename_version.tar.gz +testrun - -b . _detect pool/stupid/n/nowhere/filename_version.tar.gz 3<<EOF +stdout +$(ofa 'pool/stupid/n/nowhere/filename_version.tar.gz') +-v0*=1 files were added but not used. +-v0*=The next deleteunreferenced call will delete them. +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +testout "" -b . dumpunreferenced +cat >results.expected <<EOF +pool/stupid/n/nowhere/filename_version.tar.gz +EOF +dodiff results.expected results +testrun - -b . deleteunreferenced 3<<EOF +stdout +$(ofd 'pool/stupid/n/nowhere/filename_version.tar.gz') +-v2*=removed now empty directory ./pool/stupid/n/nowhere +-v2*=removed now empty directory ./pool/stupid/n +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +testout "" -b . dumpunreferenced +dodiff /dev/null results +testout "" -b . dumpreferences +# first remove file, then try to remove the package +testrun - -b . _forget pool/ugly/s/simple/simple_1_abacus.deb 3<<EOF +stdout +$(ofd 'pool/ugly/s/simple/simple_1_abacus.deb' false) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +testrun - -b . remove test1 simple 3<<EOF +# ??? +=Warning: tracking database of test1 missed files for simple_1. +stdout +$(opd 'simple' unset test1 stupid abacus deb) +$(opd 'simple' unset test1 stupid source dsc) +$(opd 'simple' unset test1 ugly abacus deb) +$(opd 'simple' unset test1 ugly source dsc) +-v0*=Exporting indices... +-v6*= looking for changes in 'test1|stupid|abacus'... +-v6*= replacing './dists/test1/stupid/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|stupid|source'... +-v6*= replacing './dists/test1/stupid/source/Sources' (gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|abacus'... +-v6*= replacing './dists/test1/ugly/binary-abacus/Packages' (uncompressed,gzipped,bzip2ed) +-v6*= looking for changes in 'test1|ugly|source'... +-v6*= replacing './dists/test1/ugly/source/Sources' (gzipped,bzip2ed) +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log1 <<EOF +DATESTR remove test1 deb stupid abacus simple 1 +DATESTR remove test1 dsc stupid source simple 1 +DATESTR remove test1 deb ugly abacus simple 1 +DATESTR remove test1 dsc ugly source simple 1 +EOF +testrun - -b . remove test2 simple 3<<EOF +*=Unable to forget unknown filekey 'pool/ugly/s/simple/simple_1_abacus.deb'. +-v0*=There have been errors! +stdout +$(opd 'simple' unset test2 ugly abacus deb) +$(opd 'simple' unset test2 ugly source dsc) +-v0=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= replacing './dists/test2/ugly/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +-v6*= replacing './dists/test2/ugly/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'change' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'change' +-v0=Deleting files no longer referenced... +$(ofd 'pool/ugly/s/simple/simple_1.dsc') +$(ofd 'pool/ugly/s/simple/simple_1.tar.gz') +-v1*=deleting and forgetting pool/ugly/s/simple/simple_1_abacus.deb +returns 249 +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR remove test2 deb ugly abacus simple 1 +DATESTR remove test2 dsc ugly source simple 1 +EOF +testout "" -b . dumpunreferenced +dodiff /dev/null results + +cat > broken.changes <<EOF +Format: -1.0 +Date: yesterday +Source: differently +Version: 0another +Architecture: source abacus +Urgency: super-hyper-duper-important +Maintainer: still me <guess@who> +Description: missing +Changes: missing +Binary: none and nothing +Distribution: test2 +Files: + `md5sum 4test_0b.1-1.dsc| cut -d" " -f 1` `stat -c%s 4test_0b.1-1.dsc` a b differently_0another.dsc + `md5sum 4test_0b.1-1_abacus.deb| cut -d" " -f 1` `stat -c%s 4test_0b.1-1_abacus.deb` a b 4test_0b.1-1_abacus.deb +EOF +#todo: make it work without this.. +cp 4test_0b.1-1.dsc differently_0another.dsc +testrun - -b . include test2 broken.changes 3<<EOF +=Looks like source but does not start with 'differently_' as I would have guessed! +=I hope you know what you do. +*=I don't know what to do having a .dsc without a .diff.gz or .tar.gz in 'broken.changes'! +-v0*=There have been errors! +returns 255 +EOF +cat >> broken.changes <<EOF + `md5sum 4test_0b.1-1.tar.gz| cut -d" " -f 1` `stat -c%s 4test_0b.1-1.tar.gz` a b 4test_0b.1-1.tar.gz +EOF +testrun - -b . include test2 broken.changes 3<<EOF +*=Warning: File '4test_0b.1-1.tar.gz' looks like source but does not start with 'differently_'! +=I hope you know what you do. +*='./pool/stupid/d/differently/4test_0b.1-1_abacus.deb' has packagename '4test' not listed in the .changes file! +*=To ignore use --ignore=surprisingbinary. +-v0*=There have been errors! +stdout +-v2*=Created directory "./pool/stupid/d" +-v2*=Created directory "./pool/stupid/d/differently" +$(ofa 'pool/stupid/d/differently/4test_0b.1-1.tar.gz') +$(ofa 'pool/stupid/d/differently/4test_0b.1-1_abacus.deb') +$(ofa 'pool/stupid/d/differently/differently_0another.dsc') +-v0*=Deleting files just added to the pool but not used. +-v0*=(to avoid use --keepunusednewfiles next time) +$(ofd 'pool/stupid/d/differently/4test_0b.1-1.tar.gz') +$(ofd 'pool/stupid/d/differently/4test_0b.1-1_abacus.deb') +$(ofd 'pool/stupid/d/differently/differently_0another.dsc') +-v2*=removed now empty directory ./pool/stupid/d/differently +-v2*=removed now empty directory ./pool/stupid/d +returns 255 +EOF +testrun - -b . --ignore=surprisingbinary include test2 broken.changes 3<<EOF +*=Warning: File '4test_0b.1-1.tar.gz' looks like source but does not start with 'differently_'! +=I hope you know what you do. +*='./pool/stupid/d/differently/4test_0b.1-1_abacus.deb' has packagename '4test' not listed in the .changes file! +*=Ignoring as --ignore=surprisingbinary given. +*='./pool/stupid/d/differently/4test_0b.1-1_abacus.deb' lists source package '4test', but .changes says it is 'differently'! +-v0*=There have been errors! +stdout +-v2*=Created directory "./pool/stupid/d" +-v2*=Created directory "./pool/stupid/d/differently" +$(ofa 'pool/stupid/d/differently/4test_0b.1-1.tar.gz') +$(ofa 'pool/stupid/d/differently/4test_0b.1-1_abacus.deb') +$(ofa 'pool/stupid/d/differently/differently_0another.dsc') +-v0*=Deleting files just added to the pool but not used. +-v0*=(to avoid use --keepunusednewfiles next time) +$(ofd 'pool/stupid/d/differently/4test_0b.1-1.tar.gz') +$(ofd 'pool/stupid/d/differently/4test_0b.1-1_abacus.deb') +$(ofd 'pool/stupid/d/differently/differently_0another.dsc') +-v2*=removed now empty directory ./pool/stupid/d/differently +-v2*=removed now empty directory ./pool/stupid/d +returns 255 +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +cat > broken.changes <<EOF +Format: -1.0 +Date: yesterday +Source: 4test +Version: 0orso +Architecture: source abacus +Urgency: super-hyper-duper-important +Maintainer: still me <guess@who> +Description: missing +Changes: missing +Binary: 4test +Distribution: test2 +Files: + `md5sum 4test_0b.1-1.dsc| cut -d" " -f 1` `stat -c%s 4test_0b.1-1.dsc` a b 4test_0orso.dsc + `md5sum 4test_0b.1-1_abacus.deb| cut -d" " -f 1` `stat -c%s 4test_0b.1-1_abacus.deb` a b 4test_0b.1-1_abacus.deb + `md5sum 4test_0b.1-1.tar.gz| cut -d" " -f 1` `stat -c%s 4test_0b.1-1.tar.gz` a b 4test_0b.1-1.tar.gz +EOF +cp 4test_0b.1-1.dsc 4test_0orso.dsc +testrun - -b . include test2 broken.changes 3<<EOF +*='./pool/stupid/4/4test/4test_0b.1-1_abacus.deb' lists source version '1:0b.1-1', but .changes says it is '0orso'! +*=To ignore use --ignore=wrongsourceversion. +-v0*=There have been errors! +stdout +$(ofa 'pool/stupid/4/4test/4test_0orso.dsc') +-v0*=Deleting files just added to the pool but not used. +-v0*=(to avoid use --keepunusednewfiles next time) +$(ofd 'pool/stupid/4/4test/4test_0orso.dsc') +returns 255 +EOF +testrun - -b . --ignore=wrongsourceversion include test2 broken.changes 3<<EOF +*='./pool/stupid/4/4test/4test_0b.1-1_abacus.deb' lists source version '1:0b.1-1', but .changes says it is '0orso'! +*=Ignoring as --ignore=wrongsourceversion given. +*='4test_0orso.dsc' says it is version '1:0b.1-1', while .changes file said it is '0orso' +*=To ignore use --ignore=wrongversion. +-v0*=There have been errors! +stdout +$(ofa 'pool/stupid/4/4test/4test_0orso.dsc') +-v0*=Deleting files just added to the pool but not used. +-v0*=(to avoid use --keepunusednewfiles next time) +$(ofd 'pool/stupid/4/4test/4test_0orso.dsc') +returns 255 +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checknolog log1 +checknolog log2 +testrun - -b . --ignore=wrongsourceversion --ignore=wrongversion include test2 broken.changes 3<<EOF +*='./pool/stupid/4/4test/4test_0b.1-1_abacus.deb' lists source version '1:0b.1-1', but .changes says it is '0orso'! +*=Ignoring as --ignore=wrongsourceversion given. +*='4test_0orso.dsc' says it is version '1:0b.1-1', while .changes file said it is '0orso' +*=Ignoring as --ignore=wrongversion given. +stdout +$(ofa 'pool/stupid/4/4test/4test_0orso.dsc') +$(opa '4test' x 'test2' 'stupid' 'abacus' 'deb') +$(opa '4test' unset 'test2' 'stupid' 'source' 'dsc') +-v0*=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v6*= replacing './dists/test2/stupid/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= replacing './dists/test2/stupid/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'change' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'change' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR add test2 deb stupid abacus 4test 1:0b.1-1 +DATESTR add test2 dsc stupid source 4test 1:0b.1-1 +EOF +testrun - -b . remove test2 4test 3<<EOF +stdout +$(opd '4test' unset test2 stupid abacus deb) +$(opd '4test' unset test2 stupid source dsc) +-v0*=Exporting indices... +-v6*= looking for changes in 'test2|stupid|abacus'... +-v6*= replacing './dists/test2/stupid/binary-abacus/Packages' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|stupid|coal'... +-v6*= looking for changes in 'test2|stupid|source'... +-v6*= replacing './dists/test2/stupid/source/Sources' (uncompressed,gzipped,script: bzip.example,testhook) +-v6*= looking for changes in 'test2|ugly|abacus'... +-v6*= looking for changes in 'test2|ugly|coal'... +-v6*= looking for changes in 'test2|ugly|source'... +-v0*=Deleting files no longer referenced... +$(ofd 'pool/stupid/4/4test/4test_0orso.dsc') +*=testhook got 4: './dists/test2' 'stupid/binary-abacus/Packages.new' 'stupid/binary-abacus/Packages' 'change' +*=testhook got 4: './dists/test2' 'stupid/binary-coal/Packages.new' 'stupid/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'stupid/source/Sources.new' 'stupid/source/Sources' 'change' +*=testhook got 4: './dists/test2' 'ugly/binary-abacus/Packages.new' 'ugly/binary-abacus/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/binary-coal/Packages.new' 'ugly/binary-coal/Packages' 'old' +*=testhook got 4: './dists/test2' 'ugly/source/Sources.new' 'ugly/source/Sources' 'old' +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check +checklog log2 <<EOF +DATESTR remove test2 deb stupid abacus 4test 1:0b.1-1 +DATESTR remove test2 dsc stupid source 4test 1:0b.1-1 +EOF +testout "" -b . dumpunreferenced +dodiff /dev/null results + +checknolog log1 +checknolog log2 + +testout "" -b . dumptracks +# TODO: check here for what should be here, +# check the othe stuff, too +#dodiff /dev/null results +cat > conf/distributions <<EOF +Codename: X +Architectures: none +Components: test +EOF +testrun - -b . --delete clearvanished 3<<EOF +stderr +-v4*=Strange, 'X|test|none' does not appear in packages.db yet. +stdout +*=Deleting vanished identifier 'test1|stupid|abacus'. +*=Deleting vanished identifier 'test1|stupid|source'. +*=Deleting vanished identifier 'test1|ugly|abacus'. +*=Deleting vanished identifier 'test1|ugly|source'. +*=Deleting vanished identifier 'test2|stupid|abacus'. +*=Deleting vanished identifier 'test2|stupid|coal'. +*=Deleting vanished identifier 'test2|stupid|source'. +*=Deleting vanished identifier 'test2|ugly|abacus'. +*=Deleting vanished identifier 'test2|ugly|coal'. +*=Deleting vanished identifier 'test2|ugly|source'. +*=Deleting tracking data for vanished distribution 'test1'. +-v0*=Deleting files no longer referenced... +$(ofd 'pool/stupid/4/4test/4test-addons_0b.1-1_all.deb') +$(ofd 'pool/stupid/4/4test/4test_0b.1-1_abacus.deb') +$(ofd 'pool/stupid/4/4test/4test_0b.1-1.dsc') +$(ofd 'pool/stupid/4/4test/4test_0b.1-1.tar.gz') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_9.0-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.dsc') +$(ofd 'pool/ugly/b/bloat+-0a9z.app/bloat+-0a9z.app_9.0-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofd 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app-addons_0.9-A:Z+a:z-0+aA.9zZ_all.deb') +$(ofd 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ_abacus.deb') +$(ofd 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.dsc') +$(ofd 'pool/stupid/b/bloat+-0a9z.app/bloat+-0a9z.app_0.9-A:Z+a:z-0+aA.9zZ.tar.gz') +$(ofd 'pool/stupid/s/simple/simple_1_abacus.deb') +$(ofd 'pool/stupid/s/simple/simple_1.dsc') +$(ofd 'pool/stupid/s/simple/simple_1.tar.gz') +$(ofd 'pool/stupid/t/test/test-addons_1-2_all.deb') +$(ofd 'pool/stupid/t/test/test_1-2_abacus.deb') +$(ofd 'pool/stupid/t/test/test_1-2.dsc') +$(ofd 'pool/stupid/t/test/test_1.orig.tar.gz') +$(ofd 'pool/stupid/t/test/test_1-2.diff.gz') +$(ofd 'pool/stupid/t/testb/testb-addons_2-3_all.deb') +$(ofd 'pool/stupid/t/testb/testb_2-3_abacus.deb') +$(ofd 'pool/stupid/t/testb/testb_2-3.dsc') +$(ofd 'pool/stupid/t/testb/testb_2.orig.tar.gz') +$(ofd 'pool/stupid/t/testb/testb_2-3.diff.gz') +$(ofd 'pool/ugly/s/simple/simple-addons_1_all.deb') +-v2*=removed now empty directory ./pool/stupid/4/4test +-v2*=removed now empty directory ./pool/stupid/4 +-v2*=removed now empty directory ./pool/stupid/b/bloat+-0a9z.app +-v2*=removed now empty directory ./pool/stupid/b +-v2*=removed now empty directory ./pool/stupid/s/simple +-v2*=removed now empty directory ./pool/stupid/s +-v2*=removed now empty directory ./pool/stupid/t/testb +-v2*=removed now empty directory ./pool/stupid/t/test +-v2*=removed now empty directory ./pool/stupid/t +-v2*=removed now empty directory ./pool/stupid +-v2*=removed now empty directory ./pool/ugly/b/bloat+-0a9z.app +-v2*=removed now empty directory ./pool/ugly/b +-v2*=removed now empty directory ./pool/ugly/s/simple +-v2*=removed now empty directory ./pool/ugly/s +-v2*=removed now empty directory ./pool/ugly +-v2*=removed now empty directory ./pool +EOF +REPREPRO_OUT_DIR=. "$SRCDIR"/docs/outstore.py --check + +checknolog logfile +checknolog log1 +checknolog log2 + +testout "" -b . dumptracks +dodiff /dev/null results +testout "" -b . dumpunreferenced +dodiff /dev/null results + +rm -r dists db conf conf2 logs lists +rm 4test* bloat* simple* test_* test-* testb* differently* filename_version.tar.gz +rm test1 test2 test2.changes broken.changes test.changes fakesuper db.out* +rm results results.expected results.log.expected includeerror.rules results.sorted +dodo test ! -d pool + +testsuccess |