3 AT_SETUP([dpkg-deb options])
4 AT_KEYWORDS([dpkg-deb command-line])
5 AT_CHECK([dpkg-deb --help], [], [ignore])
8 AT_SETUP([dpkg-deb .deb format])
9 AT_KEYWORDS([dpkg-deb deb])
11 DPKG_GEN_CONTROL([pkg-deb-format])
12 DPKG_MOD_CONTROL([pkg-deb-format],
13 [s/^Description:.*$/& - deb format support/])
14 AT_DATA([pkg-deb-format/file-templ], [test
17 # Initialize the template package
18 mv pkg-deb-format pkg-templ
19 chmod -R u+w pkg-templ
20 find pkg-templ | xargs touch -t 197001010100.00
21 $ASROOT dpkg-deb --uniform-compression -Znone -b pkg-templ >/dev/null
23 # Extract the base members
25 gzip -c control.tar >control.tar.gz
26 gzip -c data.tar >data.tar.gz
27 xz -c control.tar >control.tar.xz
28 xz -c data.tar >data.tar.xz
29 bzip2 -c data.tar >data.tar.bz2
30 lzma -c data.tar >data.tar.lzma
36 # Test debian-binary with 2.x versions
37 cp pkg-templ.deb pkg-version-2x.deb
38 echo 2.999 >debian-binary
39 ar rc pkg-version-2x.deb debian-binary
40 ar t pkg-version-2x.deb
41 ar x pkg-templ.deb debian-binary
42 # XXX: Ideally we would have no need to strip trailing spaces.
43 dpkg-deb -I pkg-version-2x.deb | sed -e 's/ *$//'
47 new debian package, version 2.999.
48 size 20674 bytes: control archive=10240 bytes.
49 193 bytes, 7 lines control
50 Package: pkg-deb-format
54 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
56 Description: test package - deb format support
60 # Test debian-binary with extra lines
61 cp pkg-templ.deb pkg-magic-extra.deb
62 echo "extra line" >>debian-binary
63 ar rc pkg-magic-extra.deb debian-binary
64 ar t pkg-magic-extra.deb
65 ar x pkg-templ.deb debian-binary
66 # XXX: Ideally we would have no need to strip trailing spaces.
67 dpkg-deb -I pkg-magic-extra.deb | sed -e 's/ *$//'
71 new debian package, version 2.0.
72 size 20684 bytes: control archive=10240 bytes.
73 193 bytes, 7 lines control
74 Package: pkg-deb-format
78 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
80 Description: test package - deb format support
84 # Test missing debian-binary member
85 cp pkg-templ.deb pkg-missing-magic.deb
86 ar d pkg-missing-magic.deb debian-binary
87 ar t pkg-missing-magic.deb
88 dpkg-deb -I pkg-missing-magic.deb
91 ], [dpkg-deb: error: file 'pkg-missing-magic.deb' is not a debian binary archive (try dpkg-split?)
95 # Test missing control member
96 cp pkg-templ.deb pkg-missing-control.deb
97 ar d pkg-missing-control.deb control.tar
98 ar t pkg-missing-control.deb
99 dpkg-deb -I pkg-missing-control.deb
100 ], [2], [debian-binary
102 ], [dpkg-deb: error: archive 'pkg-missing-control.deb' has premature member 'data.tar' before 'control.tar', giving up
106 # Test missing data member
107 cp pkg-templ.deb pkg-missing-data.deb
108 ar d pkg-missing-data.deb data.tar
109 ar t pkg-missing-data.deb
110 dpkg-deb -c pkg-missing-data.deb
111 ], [2], [debian-binary
113 ], [dpkg-deb: error: unexpected end of file in archive member header in pkg-missing-data.deb
117 # Test mixed member (index 1)
118 cp pkg-templ.deb pkg-mixed-1-member.deb
119 ar ra debian-binary pkg-mixed-1-member.deb unknown
120 ar t pkg-mixed-1-member.deb
121 dpkg-deb -I pkg-mixed-1-member.deb
122 ], [2], [debian-binary
126 ], [dpkg-deb: error: archive 'pkg-mixed-1-member.deb' has premature member 'unknown' before 'control.tar', giving up
130 # Test mixed member (index 2)
131 cp pkg-templ.deb pkg-mixed-2-member.deb
132 ar ra control.tar pkg-mixed-2-member.deb unknown
133 ar t pkg-mixed-2-member.deb
134 dpkg-deb -c pkg-mixed-2-member.deb
135 ], [2], [debian-binary
139 ], [dpkg-deb: error: archive 'pkg-mixed-2-member.deb' has premature member 'unknown' before 'data.tar', giving up
143 # Test swapped control and data members
144 cp pkg-templ.deb pkg-swap-members.deb
145 ar ma data.tar pkg-swap-members.deb control.tar
146 ar t pkg-swap-members.deb
147 dpkg-deb -I pkg-swap-members.deb
148 ], [2], [debian-binary
151 ], [dpkg-deb: error: archive 'pkg-swap-members.deb' has premature member 'data.tar' before 'control.tar', giving up
156 cp pkg-templ.deb pkg-extra-member.deb
157 ar q pkg-extra-member.deb unknown
158 ar t pkg-extra-member.deb
159 # XXX: Ideally we would have no need to strip trailing spaces.
160 dpkg-deb -I pkg-extra-member.deb | sed -e 's/ *$//'
161 ], [], [debian-binary
165 new debian package, version 2.0.
166 size 20732 bytes: control archive=10240 bytes.
167 193 bytes, 7 lines control
168 Package: pkg-deb-format
172 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
174 Description: test package - deb format support
179 cp pkg-templ.deb pkg-under-member.deb
180 ar ra debian-binary pkg-under-member.deb _ignore
181 ar t pkg-under-member.deb
182 # XXX: Ideally we would have no need to strip trailing spaces.
183 dpkg-deb -I pkg-under-member.deb | sed -e 's/ *$//'
184 ], [], [debian-binary
188 new debian package, version 2.0.
189 size 20732 bytes: control archive=10240 bytes.
190 193 bytes, 7 lines control
191 Package: pkg-deb-format
195 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
197 Description: test package - deb format support
201 # Test data.tar.bad member
202 dd if=/dev/zero of=data.tar.bad bs=1K count=4 status=none
203 ar rc pkg-data-bad.deb debian-binary control.tar.gz data.tar.bad
204 ar t pkg-data-bad.deb
205 dpkg-deb -c pkg-data-bad.deb
206 ], [2], [debian-binary
209 ], [dpkg-deb: error: archive 'pkg-data-bad.deb' uses unknown compression for member 'data.tar.bad', giving up
213 # Test control.tar member
214 ar rc pkg-control-none.deb debian-binary control.tar data.tar
215 ar t pkg-control-none.deb
216 # XXX: Ideally we would have no need to strip trailing spaces.
217 dpkg-deb -I pkg-control-none.deb | sed -e 's/ *$//'
218 ], [], [debian-binary
221 new debian package, version 2.0.
222 size 20672 bytes: control archive=10240 bytes.
223 193 bytes, 7 lines control
224 Package: pkg-deb-format
228 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
230 Description: test package - deb format support
234 # Test control.tar.xz member
235 ar rc pkg-control-xz.deb debian-binary control.tar.xz data.tar.xz
236 ar t pkg-control-xz.deb
237 dpkg-deb -c pkg-control-xz.deb
238 ], [], [debian-binary
241 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
242 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ
246 # Test data.tar member
247 ar rc pkg-data-none.deb debian-binary control.tar.gz data.tar
248 ar t pkg-data-none.deb
249 dpkg-deb -c pkg-data-none.deb
250 ], [], [debian-binary
253 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
254 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ
258 # Test data.tar.gz member
259 ar rc pkg-data-gz.deb debian-binary control.tar.gz data.tar.gz
261 dpkg-deb -c pkg-data-gz.deb
262 ], [], [debian-binary
265 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
266 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ
270 # Test data.tar.xz member
271 ar rc pkg-data-xz.deb debian-binary control.tar.gz data.tar.xz
273 dpkg-deb -c pkg-data-xz.deb
274 ], [], [debian-binary
277 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
278 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ
282 # Test data.tar.bz2 member
283 ar rc pkg-data-bz2.deb debian-binary control.tar.gz data.tar.bz2
284 ar t pkg-data-bz2.deb
285 dpkg-deb -c pkg-data-bz2.deb
286 ], [], [debian-binary
289 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
290 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ
294 # Test data.tar.lzma member
295 ar rc pkg-data-lzma.deb debian-binary control.tar.gz data.tar.lzma
296 ar t pkg-data-lzma.deb
297 dpkg-deb -c pkg-data-lzma.deb
298 ], [], [debian-binary
301 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
302 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ
306 # Test non-uniform data.tar/control.tar member compression
307 ar rc pkg-mixed-comp.deb debian-binary control.tar.xz data.tar.gz
308 ar t pkg-mixed-comp.deb
309 # XXX: Ideally we would have no need to strip trailing spaces.
310 dpkg-deb -I pkg-mixed-comp.deb | sed -e 's/ *$//'
311 dpkg-deb -c pkg-mixed-comp.deb
312 ], [], [debian-binary
315 new debian package, version 2.0.
316 size 682 bytes: control archive=336 bytes.
317 193 bytes, 7 lines control
318 Package: pkg-deb-format
322 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
324 Description: test package - deb format support
325 drwxr-xr-x root/root 0 1970-01-01 00:00 ./
326 -rw-r--r-- root/root 5 1970-01-01 00:00 ./file-templ