]>
Commit | Line | Data |
---|---|---|
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 | ||
12 | TESTDIR="$(readlink -f "$(dirname "$0")")" | |
13 | . "$TESTDIR/framework" | |
14 | ||
15 | setupenvironment | |
16 | configarchitecture "amd64" | |
17 | ||
18 | buildsimplenativepackage 'foo' 'all' '1.0' | |
19 | setupaptarchive | |
20 | ||
21 | APTARCHIVE="$(readlink -f ./aptarchive)" | |
22 | ||
23 | # corrupt the Translation-en file to look like a regular Packages file | |
24 | rm rootdir/var/cache/apt/*.bin | |
25 | cp "$APTARCHIVE/dists/unstable/main/binary-amd64/Packages" \ | |
26 | rootdir/var/lib/apt/lists/*Translation-en | |
27 | ||
28 | # ensure that there is no Version for the package foo generated out of | |
29 | # the corrupted Translation-en file | |
30 | testsuccessequal "foo: | |
31 | Installed: (none) | |
32 | Candidate: 1.0 | |
33 | Version table: | |
34 | 1.0 500 | |
35 | 500 file:$APTARCHIVE unstable/main all Packages" aptcache policy foo |