4 TESTDIR
=$(readlink -f $(dirname $0)) 
   8 configarchitecture 
"i386" 
  10 insertpackage 
'unstable' 'foo' 'all' '1.0' 
  12 setupaptarchive 
--no-update 
  14 # make Packages *only* accessable 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