test-apt-translation-has-no-packages 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh
  2. #
  3. # Due to corruption (local or network) a user might end up with a
  4. # Translation-$lang file on disk that is actually a Packages file. In this
  5. # case apt used to generate invalid package versions out of the
  6. # Translation-$lang file (i.e. apt-cache policy foo) would show a version
  7. # coming out of a Translation file. Downloading this versions fails as
  8. # there is no acquire method available for the package
  9. #
  10. set -e
  11. TESTDIR="$(readlink -f "$(dirname "$0")")"
  12. . "$TESTDIR/framework"
  13. setupenvironment
  14. configarchitecture "amd64"
  15. buildsimplenativepackage 'foo' 'all' '1.0'
  16. setupaptarchive
  17. APTARCHIVE="$(readlink -f ./aptarchive)"
  18. # corrupt the Translation-en file to look like a regular Packages file
  19. rm rootdir/var/cache/apt/*.bin
  20. cp "$APTARCHIVE/dists/unstable/main/binary-amd64/Packages" \
  21. rootdir/var/lib/apt/lists/*Translation-en
  22. # ensure that there is no Version for the package foo generated out of
  23. # the corrupted Translation-en file
  24. testsuccessequal "foo:
  25. Installed: (none)
  26. Candidate: 1.0
  27. Version table:
  28. 1.0 500
  29. 500 file:$APTARCHIVE unstable/main all Packages" aptcache policy foo