3 # Ensure that we do not modify file:/// uris (regression test for 
   8 TESTDIR
=$(readlink -f $(dirname $0)) 
  12 configarchitecture 
"amd64" 
  13 configcompression 
'bz2' 'gz' 
  16 insertpackage 
'unstable' 'foo' 'all' '1' 
  17 insertpackage 
'unstable' 'bar' 'amd64' '1' 
  18 insertsource 
'unstable' 'foo' 'all' '1' 
  20 setupaptarchive 
--no-update 
  22 # ensure the archive is not writable 
  23 addtrap 
'prefix' 'chmod 755 aptarchive/dists/unstable/main/binary-all;' 
  24 if [ "$(id -u)" = '0' ]; then 
  25         # too deep to notice it, but it also unlikely that files in the same repo have different permissions 
  26         chmod 500 aptarchive
/dists
/unstable
/main
/binary
-all 
  27         testfailure aptget update
 
  28         rm -rf rootdir
/var
/lib
/apt
/lists
 
  29         chmod 755 aptarchive
/dists
/unstable
/main
/binary
-all 
  30         testsuccess aptget update
 
  31         rm -rf rootdir
/var
/lib
/apt
/lists
 
  32         chmod 511 aptarchive
/dists
/ 
  33         testsuccess aptget update
 
  34         rm -rf rootdir
/var
/lib
/apt
/lists
 
  35         chmod 510 aptarchive
/dists
/ 
  36         testsuccesswithnotice aptget update
 
  37         rm -rf rootdir
/var
/lib
/apt
/lists
 
  38         chmod 500 aptarchive
/dists
/ 
  39         testsuccesswithnotice aptget update
 
  42 chmod 555 aptarchive
/dists
/unstable
/main
/binary
-all 
  43 testsuccess aptget update
 
  45 # the release files aren't an IMS-hit, but the indexes are 
  46 redatereleasefiles 
'+1 hour' 
  48 # we don't download the index if it isn't updated 
  49 testsuccess aptget update 
-o Debug
::pkgAcquire
::Auth
=1 
  50 # file:/ isn't shown in the log, so see if it was downloaded anyhow 
  51 cp -a rootdir
/tmp
/testsuccess.output rootdir
/tmp
/update.output
 
  52 canary
="SHA512:$(bzcat aptarchive/dists/unstable/main/binary-all/Packages.bz2 | sha512sum |cut -f1 -d' ')" 
  53 testfailure 
grep -- "$canary" rootdir
/tmp
/update.output
 
  56         # foo is still available 
  57         testsuccess aptget 
install -s foo
 
  58         testsuccess aptcache showsrc foo
 
  59         testsuccess aptget 
source foo 
--print-uris 
  63 # the release file is new again, the index still isn't, but it is somehow gone now from disk 
  64 redatereleasefiles 
'+2 hour' 
  65 find rootdir
/var
/lib
/apt
/lists 
-name '*_Packages*' -delete 
  67 testsuccess aptget update 
-o Debug
::pkgAcquire
::Auth
=1 
  68 # file:/ isn't shown in the log, so see if it was downloaded anyhow 
  69 cp -a rootdir
/tmp
/testsuccess.output rootdir
/tmp
/update.output
 
  70 canary
="SHA512:$(bzcat aptarchive/dists/unstable/main/binary-all/Packages.bz2 | sha512sum |cut -f1 -d' ')" 
  71 testsuccess 
grep -- "$canary" rootdir
/tmp
/update.output