4 TESTDIR
=$(readlink -f $(dirname $0))
8 configarchitecture
"i386"
10 insertpackage
'unstable' 'foo' 'all' '1.0'
12 setupaptarchive
--no-update
14 # make Packages *only* accessible by-hash for this test
15 mkdir -p aptarchive
/dists
/unstable
/main
/binary
-i386/by
-hash/SHA512
16 (cd aptarchive
/dists
/unstable
/main
/binary
-i386/by
-hash/SHA512
&&
17 mv ..
/..
/Packages
* .
&&
18 ln -s Packages.gz
$(sha512sum Packages.gz|cut -f1 -d' ') )
21 mkdir -p aptarchive
/dists
/unstable
/main
/source
/by
-hash/SHA512
22 (cd aptarchive
/dists
/unstable
/main
/source
/by
-hash/SHA512
&&
23 ln -s ..
/..
/Sources.gz
$(sha512sum ../../Sources.gz|cut -f1 -d' ')
26 # we moved the Packages file away, normal update won't work
27 testfailure aptget update
29 # ensure we do not know about "foo"
30 testfailureequal
"Reading package lists...
31 Building dependency tree...
32 E: Unable to locate package foo" aptget
install -q -s foo
34 # ensure we can apt-get update by hash
35 testsuccess aptget update
-o APT
::Acquire
::By
-Hash=1 -o Acquire
::Languages
=none
38 testsuccessequal
"Inst foo (1.0 unstable [all])
39 Conf foo (1.0 unstable [all])" aptget
install -qq -s foo
43 # add magic string to Release file ...
44 MAGIC
="Acquire-By-Hash: true"
45 sed -i "s#Suite: unstable#Suite: unstable\n$MAGIC#" aptarchive
/dists
/unstable
/Release
47 # ... and verify that it fetches by hash now
48 rm -rf rootdir
/var
/lib
/apt
/lists
49 testsuccess aptget update
-o Acquire
::Languages
=none