]>
git.saurik.com Git - apt.git/blob - test/integration/test-sourceslist-trusted-options
4 TESTDIR
="$(readlink -f "$(dirname "$0")")"
8 configarchitecture 'amd64'
10 buildsimplenativepackage 'foo' 'amd64' '1' 'stable'
11 buildsimplenativepackage 'foo' 'amd64' '2' 'testing'
13 setupaptarchive --no-update
15 APTARCHIVE=$(readlink -f ./aptarchive)
17 everythingsucceeds() {
18 testsuccessequal 'Listing...
24 rm -f foo_1_amd64.deb foo_2_amd64.deb
25 testsuccess aptget download foo "$@
"
26 testsuccess test -s foo_1_amd64.deb -o -s foo_2_amd64.deb
28 rm -f foo_1.dsc foo_2.dsc
29 testsuccess aptget source foo --dsc-only -d "$@
"
30 testsuccess test -s foo_1.dsc -o -s foo_2.dsc
35 testsuccessequal 'Listing...
40 local WARNING='WARNING: The following packages cannot be authenticated!
42 E: Some packages could not be authenticated'
45 rm -f foo_1_amd64.deb foo_2_amd64.deb
46 testfailure aptget download foo "$@
"
47 testequal "$WARNING" tail -n 3 ../rootdir/tmp/testfailure.output
48 testfailure test -s foo_1_amd64.deb -o -s foo_2_amd64.deb
50 rm -f foo_1.dsc foo_2.dsc
51 testfailure aptget source foo --dsc-only -d "$@
"
52 testequal "$WARNING" tail -n 3 ../rootdir/tmp/testfailure.output
53 testfailure test -s foo_1.dsc -o -s foo_2.dsc
57 cp -a rootdir/etc/apt/sources.list.d/ rootdir/etc/apt/sources.list.d.bak/
58 echo 'Debug::Acquire::Transaction "true
";
59 Debug::pkgAcquire::Worker "true
";' > rootdir/etc/apt/apt.conf.d/00debugging
62 rm -rf rootdir/var/lib/apt/lists
63 # note that insecure with trusted=yes are allowed
64 # as the trusted=yes indicates that security is provided by
65 # something above the understanding of apt
66 ${1:-testsuccess} aptget update --no-allow-insecure-repositories
69 insecureaptgetupdate() {
70 rm -rf rootdir/var/lib/apt/lists
71 testfailure aptget update --no-allow-insecure-repositories
72 rm -rf rootdir/var/lib/apt/lists
73 testwarning aptget update --allow-insecure-repositories
76 msgmsg 'Test without trusted option and good sources'
77 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
80 everythingsucceeds -t stable
81 everythingsucceeds -t testing
83 msgmsg 'Test with trusted=yes option and good sources'
84 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
85 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/*
88 everythingsucceeds -t stable
89 everythingsucceeds -t testing
91 msgmsg 'Test with trusted=no option and good sources'
92 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
93 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/*
94 # we want the warnings on the actions, but for 'update' everything is fine
97 everythingfails -t stable
98 everythingfails -t testing
100 find aptarchive/dists/stable \( -name 'InRelease' -o -name 'Release.gpg' \) -delete
102 msgmsg 'Test without trusted option and good and unsigned sources'
103 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
106 everythingfails -t stable
107 everythingsucceeds -t testing
109 msgmsg 'Test with trusted=yes option and good and unsigned sources'
110 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
111 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/*
114 everythingsucceeds -t stable
115 everythingsucceeds -t testing
117 msgmsg 'Test with trusted=no option and good and unsigned sources'
118 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
119 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/*
122 everythingfails -t stable
123 everythingfails -t testing
125 signreleasefiles 'Marvin Paranoid' 'aptarchive/dists/stable'
127 msgmsg 'Test without trusted option and good and unknown sources'
128 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
131 everythingfails -t stable
132 everythingsucceeds -t testing
134 msgmsg 'Test with trusted=yes option and good and unknown sources'
135 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
136 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/*
137 aptgetupdate 'testwarning'
139 everythingsucceeds -t stable
140 everythingsucceeds -t testing
142 msgmsg 'Test with trusted=no option and good and unknown sources'
143 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
144 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/*
147 everythingfails -t stable
148 everythingfails -t testing
150 signreleasefiles 'Rex Expired' 'aptarchive/dists/stable'
151 cp -a keys/rexexpired.pub rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg
153 msgmsg 'Test without trusted option and good and expired sources'
154 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
157 everythingfails -t stable
158 everythingsucceeds -t testing
160 msgmsg 'Test with trusted=yes option and good and expired sources'
161 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
162 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/*
163 aptgetupdate 'testwarning'
165 everythingsucceeds -t stable
166 everythingsucceeds -t testing
168 msgmsg 'Test with trusted=no option and good and expired sources'
169 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
170 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/*
173 everythingfails -t stable
174 everythingfails -t testing
176 # same as the one further above, but this time testing is unsigned
177 find aptarchive/ \( -name 'InRelease' -o -name 'Release.gpg' \) -delete
178 signreleasefiles 'Joe Sixpack' 'aptarchive/dists/stable'
180 msgmsg 'Test without trusted option and unsigned and good sources'
181 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
184 everythingsucceeds -t stable
185 everythingfails -t testing
187 msgmsg 'Test with trusted=yes option and unsigned and good sources'
188 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
189 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/*
192 everythingsucceeds -t stable
193 everythingsucceeds -t testing
195 msgmsg 'Test with trusted=no option and unsigned and good sources'
196 cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/
197 sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/*
200 everythingfails -t stable
201 everythingfails -t testing
203 msgmsg 'Test conflicting trusted options are refused'
205 echo "$@
" > rootdir/etc/apt/sources.list.d/example.list
206 testfailuremsg 'E: Conflicting values set for option Trusted regarding source http://example.org/bad/ unstable
207 E: The list of sources could not be read.' aptget update --print-uris
209 for VAL in 'yes' 'no'; do
210 testsource "deb http
://example.org
/bad unstable main
211 deb
[trusted
=${VAL}] http
://example.org
/bad unstable non
-free"
212 testsource "deb
[trusted
=${VAL}] http
://example.org
/bad unstable main
213 deb http
://example.org
/bad unstable non
-free"
215 testsource 'deb [trusted=yes] http://example.org/bad unstable main
216 deb [trusted=no] http://example.org/bad unstable non-free'
217 testsource 'deb [trusted=no] http://example.org/bad unstable main
218 deb [trusted=yes] http://example.org/bad unstable non-free'