lib/dpkg/tarfn.c: Kludge `tar_header_decode' to handle spurious `errno'.
[dpkg] / scripts / Makefile.am
CommitLineData
1479465f
GJ
1## Process this file with automake to produce Makefile.in
2
3SUBDIRS = mk po
4
5bin_SCRIPTS = \
6 dpkg-architecture \
7 dpkg-buildflags \
8 dpkg-buildpackage \
9 dpkg-checkbuilddeps \
10 dpkg-distaddfile \
11 dpkg-genbuildinfo \
12 dpkg-genchanges \
13 dpkg-gencontrol \
14 dpkg-gensymbols \
15 dpkg-maintscript-helper \
16 dpkg-mergechangelogs \
17 dpkg-name \
18 dpkg-parsechangelog \
19 dpkg-scanpackages \
20 dpkg-scansources \
21 dpkg-shlibdeps \
22 dpkg-source \
23 dpkg-vendor
24
25EXTRA_DIST = \
26 dpkg-architecture.pl \
27 dpkg-buildflags.pl \
28 dpkg-buildpackage.pl \
29 dpkg-checkbuilddeps.pl \
30 dpkg-distaddfile.pl \
31 dpkg-genbuildinfo.pl \
32 dpkg-genchanges.pl \
33 dpkg-gencontrol.pl \
34 dpkg-gensymbols.pl \
35 dpkg-maintscript-helper.sh \
36 dpkg-mergechangelogs.pl \
37 dpkg-name.pl \
38 dpkg-parsechangelog.pl \
39 dpkg-scanpackages.pl \
40 dpkg-scansources.pl \
41 dpkg-shlibdeps.pl \
42 dpkg-source.pl \
43 dpkg-vendor.pl \
44 $(test_scripts) \
45 $(test_data)
46
47
48CLEANFILES = \
49 $(test_data_objects) \
50 $(bin_SCRIPTS)
51
52perllibdir = $(PERL_LIBDIR)
53nobase_dist_perllib_DATA = \
54 Dpkg/Arch.pm \
55 Dpkg/BuildFlags.pm \
56 Dpkg/BuildOptions.pm \
57 Dpkg/BuildProfiles.pm \
58 Dpkg/Build/Env.pm \
59 Dpkg/Build/Info.pm \
60 Dpkg/Build/Types.pm \
61 Dpkg/Changelog.pm \
62 Dpkg/Changelog/Debian.pm \
63 Dpkg/Changelog/Entry.pm \
64 Dpkg/Changelog/Entry/Debian.pm \
65 Dpkg/Changelog/Parse.pm \
66 Dpkg/Checksums.pm \
67 Dpkg/Compression.pm \
68 Dpkg/Compression/FileHandle.pm \
69 Dpkg/Compression/Process.pm \
70 Dpkg/Conf.pm \
71 Dpkg/Control.pm \
72 Dpkg/Control/Changelog.pm \
73 Dpkg/Control/FieldsCore.pm \
74 Dpkg/Control/Fields.pm \
75 Dpkg/Control/Info.pm \
76 Dpkg/Control/HashCore.pm \
77 Dpkg/Control/Hash.pm \
78 Dpkg/Control/Tests.pm \
79 Dpkg/Control/Tests/Entry.pm \
80 Dpkg/Control/Types.pm \
81 Dpkg/Deps.pm \
82 Dpkg/Dist/Files.pm \
83 Dpkg/ErrorHandling.pm \
84 Dpkg/Exit.pm \
85 Dpkg/File.pm \
86 Dpkg/Getopt.pm \
87 Dpkg/Gettext.pm \
88 Dpkg/Index.pm \
89 Dpkg/Interface/Storable.pm \
90 Dpkg/IPC.pm \
91 Dpkg/Package.pm \
92 Dpkg/Path.pm \
93 Dpkg/Shlibs.pm \
94 Dpkg/Shlibs/Objdump.pm \
95 Dpkg/Shlibs/Symbol.pm \
96 Dpkg/Shlibs/SymbolFile.pm \
97 Dpkg/Shlibs/Cppfilt.pm \
98 Dpkg/Source/Archive.pm \
99 Dpkg/Source/Functions.pm \
100 Dpkg/Source/Package.pm \
101 Dpkg/Source/Package/V1.pm \
102 Dpkg/Source/Package/V2.pm \
103 Dpkg/Source/Package/V3/Bzr.pm \
104 Dpkg/Source/Package/V3/Custom.pm \
105 Dpkg/Source/Package/V3/Native.pm \
106 Dpkg/Source/Package/V3/Git.pm \
107 Dpkg/Source/Package/V3/Quilt.pm \
108 Dpkg/Source/Patch.pm \
109 Dpkg/Source/Quilt.pm \
110 Dpkg/Substvars.pm \
111 Dpkg/Util.pm \
112 Dpkg/Vars.pm \
113 Dpkg/Vendor.pm \
114 Dpkg/Vendor/Debian.pm \
115 Dpkg/Vendor/Default.pm \
116 Dpkg/Vendor/Ubuntu.pm \
117 Dpkg/Version.pm \
118 Dpkg.pm
119
120EXTRA_DIST += \
121 Test/Dpkg.pm \
122 $(nil)
123
124# Keep it even if empty to have man3dir correctly set
125man3_MANS =
126
127do_perl_subst = $(AM_V_GEN) sed \
128 -e "s:^\#![[:space:]]*/usr/bin/perl:\#!$(PERL):" \
129 -e "s:our \$$CONFDIR = .*;:our \$$CONFDIR = '$(pkgconfdir)';:" \
130 -e "s:our \$$ADMINDIR = .*;:our \$$ADMINDIR = '$(admindir)';:" \
131 -e "s:our \$$LIBDIR = .*;:our \$$LIBDIR = '$(pkglibexecdir)';:" \
132 -e "s:our \$$DATADIR = .*;:our \$$DATADIR = '$(pkgdatadir)';:" \
133 -e "s:our \$$PROGMAKE = .*;:our \$$PROGMAKE = '$(MAKE)';:" \
134 -e "s:our \$$PROGTAR = .*;:our \$$PROGTAR = '$(TAR)';:" \
135 -e "s:our \$$PROGPATCH = .*;:our \$$PROGPATCH = '$(PATCH)';:" \
136 -e "s:our \$$PROGVERSION = .*;:our \$$PROGVERSION = '$(PACKAGE_VERSION)';:"
137
138do_shell_subst = $(AM_V_GEN) sed \
139 -e "s:^version[[:space:]]*=[[:space:]]*['\"][^'\"]*[\"']:version=\"$(PACKAGE_VERSION)\":"
140
141SUFFIXES = .pl .sh
142
143.pl: Makefile
144 @test -d `dirname $@` || $(MKDIR_P) `dirname $@`
145 $(do_perl_subst) <$< >$@
146 $(AM_V_at) chmod +x $@
147
148.sh: Makefile
149 @test -d `dirname $@` || $(MKDIR_P) `dirname $@`
150 $(do_shell_subst) <$< >$@
151 $(AM_V_at) chmod +x $@
152
153install-data-local:
154if BUILD_POD_DOC
155# Install manual pages for perl modules manually as make can't deal
156# properly with filenames containing colons
157# Remove empty manual pages (perl modules not documented)
158 $(MKDIR_P) $(DESTDIR)$(man3dir)
159 for module in $(nobase_dist_perllib_DATA); do \
160 name=`echo $$module | sed -e 's|/|::|g' -e 's/\.pm$$//'`; \
161 $(POD2MAN) --utf8 --center=libdpkg-perl --release=$(VERSION) \
162 --name="$$name" --section=3 $(srcdir)/$$module \
163 >$(DESTDIR)$(man3dir)/$$name.3; \
164 test -s $(DESTDIR)$(man3dir)/$$name.3 || \
165 rm -f $(DESTDIR)$(man3dir)/$$name.3; \
166 done
167endif
168
169# Ideally we'd use 'sed -i', but unfortunately that's not portable.
170install-data-hook:
171 mv $(DESTDIR)$(perllibdir)/Dpkg.pm \
172 $(DESTDIR)$(perllibdir)/Dpkg.pm.tmp
173 $(do_perl_subst) <$(DESTDIR)$(perllibdir)/Dpkg.pm.tmp \
174 >$(DESTDIR)$(perllibdir)/Dpkg.pm
175 rm -f $(DESTDIR)$(perllibdir)/Dpkg.pm.tmp
176
177uninstall-local:
178if BUILD_POD_DOC
179 for module in $(nobase_dist_perllib_DATA); do \
180 rm -f $(DESTDIR)$(man3dir)/`echo $$module | sed -e 's|/|::|g' -e 's/\.pm$$/.3/'`; \
181 done
182endif
183
184coverage: check
185 $(PERL_COVER) -silent \
186 -ignore_re '^t/.*\.t' \
187 -outputdir $(top_builddir)/doc/coverage/scripts
188 : # Cleanup coverage report index
189 $(PERL) -i -p -e "s:$(abs_top_builddir)::" \
190 $(top_builddir)/doc/coverage/scripts/coverage.html
191
192coverage-clean:
193 rm -rf cover_db
194
195TEST_ENV_VARS = \
196 DPKG_PROGTAR=$(TAR) \
197 DPKG_PROGPATCH=$(PATCH) \
198 DPKG_PROGMAKE=$(MAKE) \
199 DPKG_DATADIR=$(top_srcdir)/data \
200 DPKG_ORIGINS_DIR=$(srcdir)/t/origins
201TEST_COVERAGE = $(PERL_COVERAGE)
202
203test_tmpdir = t.tmp
204
205test_scripts = \
206 t/Dpkg_Version.t \
207 t/Dpkg_Arch.t \
208 t/Dpkg_Package.t \
209 t/Dpkg_Shlibs_Cppfilt.t \
210 t/Dpkg_Shlibs.t \
211 t/Dpkg_BuildFlags.t \
212 t/Dpkg_BuildOptions.t \
213 t/Dpkg_BuildProfiles.t \
214 t/Dpkg_Build_Env.t \
215 t/Dpkg_Build_Info.t \
216 t/Dpkg_Build_Types.t \
217 t/Dpkg_Checksums.t \
218 t/Dpkg_ErrorHandling.t \
219 t/Dpkg_Exit.t \
220 t/Dpkg_File.t \
221 t/Dpkg_Getopt.t \
222 t/Dpkg_Gettext.t \
223 t/Dpkg_Conf.t \
224 t/Dpkg_Deps.t \
225 t/Dpkg_Path.t \
226 t/Dpkg_Util.t \
227 t/Dpkg_Vars.t \
228 t/Dpkg_Interface_Storable.t \
229 t/Dpkg_Vendor.t \
230 t/Dpkg_Changelog.t \
231 t/Dpkg_Changelog_Ubuntu.t \
232 t/Dpkg_Control.t \
233 t/Dpkg_Control_Tests.t \
234 t/Dpkg_Index.t \
235 t/Dpkg_Substvars.t \
236 t/Dpkg_IPC.t \
237 t/Dpkg_Compression.t \
238 t/Dpkg_Source_Functions.t \
239 t/Dpkg_Source_Patch.t \
240 t/Dpkg_Source_Quilt.t \
241 t/Dpkg_Source_Archive.t \
242 t/Dpkg_Source_Package.t \
243 t/Dpkg_Dist_Files.t \
244 t/dpkg_source.t \
245 t/dpkg_buildpackage.t \
246 t/merge_changelogs.t \
247 t/mk.t \
248 $(nil)
249
250test_data = \
251 t/Dpkg_Shlibs/symbols.blacklisted \
252 t/Dpkg_Shlibs/symbols.blacklist-groups \
253 t/Dpkg_Shlibs/symbols.blacklist-filter \
254 t/Dpkg_Shlibs/symbols.blacklist-ignore \
255 t/Dpkg_Shlibs/symbols.fake-1 \
256 t/Dpkg_Shlibs/symbols.fake-2 \
257 t/Dpkg_Shlibs/symbols.fake-3 \
258 t/Dpkg_Shlibs/symbols.include-1 \
259 t/Dpkg_Shlibs/symbols.include-2 \
260 t/Dpkg_Shlibs/symbols.include-3 \
261 t/Dpkg_Shlibs/basictags.symbols \
262 t/Dpkg_Shlibs/basictags.c \
263 t/Dpkg_Shlibs/patterns.symbols \
264 t/Dpkg_Shlibs/patterns.cpp \
265 t/Dpkg_Shlibs/patterns.map \
266 t/Dpkg_Shlibs/ld.so.conf \
267 t/Dpkg_Shlibs/ld.so.conf_2 \
268 t/Dpkg_Shlibs/ld.so.conf.d/normal.conf \
269 t/Dpkg_Shlibs/ld.so.conf.d/inf_recurse.conf \
270 t/Dpkg_Shlibs/ld.so.conf.d/recursive.conf \
271 t/Dpkg_Shlibs/objdump.space \
272 t/Dpkg_Shlibs/objdump.spacesyms \
273 t/Dpkg_Shlibs/objdump.basictags-amd64 \
274 t/Dpkg_Shlibs/objdump.basictags-i386 \
275 t/Dpkg_Shlibs/objdump.basictags-mips \
276 t/Dpkg_Shlibs/objdump.blacklisted \
277 t/Dpkg_Shlibs/objdump.patterns \
278 t/Dpkg_Shlibs/objdump.glib-ia64 \
279 t/Dpkg_Shlibs/objdump.libc6-2.3 \
280 t/Dpkg_Shlibs/objdump.libc6-2.6 \
281 t/Dpkg_Shlibs/objdump.dbd-pg \
282 t/Dpkg_Shlibs/objdump.ls \
283 t/Dpkg_Shlibs/spacesyms.map \
284 t/Dpkg_Shlibs/spacesyms-c-gen.pl \
285 t/Dpkg_Shlibs/spacesyms-o-map.pl \
286 t/Dpkg_Source_Patch/c-style.patch \
287 t/Dpkg_Source_Patch/ghost-hunk.patch \
288 t/Dpkg_Source_Patch/indent-header.patch \
289 t/Dpkg_Source_Patch/index-+++.patch \
290 t/Dpkg_Source_Patch/index-alone.patch \
291 t/Dpkg_Source_Patch/index-inert.patch \
292 t/Dpkg_Source_Patch/partial.patch \
293 t/Dpkg_Changelog/countme \
294 t/Dpkg_Changelog/date-format \
295 t/Dpkg_Changelog/fields \
296 t/Dpkg_Changelog/misplaced-tz \
297 t/Dpkg_Changelog/regressions \
298 t/Dpkg_Changelog/shadow \
299 t/Dpkg_Changelog/unreleased \
300 t/Dpkg_Checksums/empty \
301 t/Dpkg_Checksums/data-1 \
302 t/Dpkg_Checksums/data-2 \
303 t/Dpkg_Conf/config-mixed \
304 t/Dpkg_Control/control-1 \
305 t/Dpkg_Control/bogus-unsigned.dsc \
306 t/Dpkg_Control/bogus-armor-double.dsc \
307 t/Dpkg_Control/bogus-armor-formfeed.dsc \
308 t/Dpkg_Control/bogus-armor-no-sig.dsc \
309 t/Dpkg_Control/bogus-armor-trail.dsc \
310 t/Dpkg_Control/bogus-armor-inline.dsc \
311 t/Dpkg_Control/bogus-armor-nested.dsc \
312 t/Dpkg_Control/bogus-armor-spaces.dsc \
313 t/Dpkg_Control_Tests/tests-missing-fields \
314 t/Dpkg_Control_Tests/tests-plain-text \
315 t/Dpkg_Control_Tests/tests-valid \
316 t/Dpkg_Source_Quilt/parse/debian/patches/series \
317 t/Dpkg_Substvars/substvars1 \
318 t/Dpkg_Substvars/substvars2 \
319 t/Dpkg_Dist_Files/files-byhand \
320 t/Dpkg_Dist_Files/files-fragment-a \
321 t/Dpkg_Dist_Files/files-fragment-b \
322 t/dpkg_buildpackage/test-source_0.dsc \
323 t/dpkg_buildpackage/test-source_0_all.changes \
324 t/dpkg_buildpackage/test-source_0_any.changes \
325 t/dpkg_buildpackage/test-source_0_binary.changes \
326 t/dpkg_buildpackage/test-source_0_full.changes \
327 t/dpkg_buildpackage/test-source_0_source.changes \
328 t/dpkg_source/testsuite_0.dsc \
329 t/dpkg_source/testsuite_1.dsc \
330 t/dpkg_source/testsuite_2.dsc \
331 t/dpkg_source/testsuite_3.dsc \
332 t/merge_changelogs/ch-old \
333 t/merge_changelogs/ch-a \
334 t/merge_changelogs/ch-b \
335 t/merge_changelogs/ch-badver-a \
336 t/merge_changelogs/ch-badver-b \
337 t/merge_changelogs/ch-badver-merged \
338 t/merge_changelogs/ch-badver-old \
339 t/merge_changelogs/ch-merged \
340 t/merge_changelogs/ch-merged-basic \
341 t/merge_changelogs/ch-merged-pr \
342 t/merge_changelogs/ch-merged-pr-basic \
343 t/mk/debian/changelog \
344 t/mk/architecture.mk \
345 t/mk/buildflags.mk \
346 t/mk/pkg-info.mk \
347 t/mk/vendor.mk \
348 t/origins/debian \
349 t/origins/default \
350 t/origins/gnewsense \
351 t/origins/ubuntu
352
353test_data_objects = \
354 t/Dpkg_Shlibs/libobjdump.basictags-amd64.so \
355 t/Dpkg_Shlibs/libobjdump.basictags-i386.so \
356 t/Dpkg_Shlibs/libobjdump.basictags-mips.so \
357 t/Dpkg_Shlibs/libobjdump.patterns.so \
358 t/Dpkg_Shlibs/libobjdump.spacesyms.so \
359 $(nil)
360
361$(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-amd64.so: $(srcdir)/t/Dpkg_Shlibs/basictags.c
362 $(CC) $(CFLAGS) -shared -fPIC -Wl,-soname -Wl,libbasictags.so.1 $< \
363 -DAMD64 -o $@
364
365$(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-mips.so: $(srcdir)/t/Dpkg_Shlibs/basictags.c
366 $(CC) $(CFLAGS) -shared -fPIC -Wl,-soname -Wl,libbasictags.so.1 $< \
367 -DMIPS -o $@
368
369$(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-i386.so: $(srcdir)/t/Dpkg_Shlibs/basictags.c
370 $(CC) $(CFLAGS) -shared -fPIC -Wl,-soname -Wl,libbasictags.so.1 $< \
371 -DI386 -o $@
372
373$(srcdir)/t/Dpkg_Shlibs/libobjdump.patterns.so: $(srcdir)/t/Dpkg_Shlibs/patterns.cpp $(srcdir)/t/Dpkg_Shlibs/patterns.map
374 $(CXX) $(CXXFLAGS) -shared -fPIC -Wl,-soname -Wl,libpatterns.so.1 \
375 -Wl,--version-script=$(srcdir)/t/Dpkg_Shlibs/patterns.map $< -o $@
376
377$(srcdir)/t/Dpkg_Shlibs/spacesyms.c: $(srcdir)/t/Dpkg_Shlibs/spacesyms-c-gen.pl
378 $(srcdir)/t/Dpkg_Shlibs/spacesyms-c-gen.pl > $@
379
380$(srcdir)/t/Dpkg_Shlibs/spacesyms.o: $(srcdir)/t/Dpkg_Shlibs/spacesyms.c $(srcdir)/t/Dpkg_Shlibs/spacesyms-o-map.pl
381 $(CC) $(CFLAGS) -c -fPIC -o $@.tmp $<
382 $(srcdir)/t/Dpkg_Shlibs/spacesyms-o-map.pl $@.tmp $@
383 rm -f $@.tmp
384
385$(srcdir)/t/Dpkg_Shlibs/libobjdump.spacesyms.so: $(srcdir)/t/Dpkg_Shlibs/spacesyms.o $(srcdir)/t/Dpkg_Shlibs/spacesyms.map
386 $(CC) -shared -Wl,-soname -Wl,libspacesyms.so.1 \
387 -Wl,--version-script=$(srcdir)/t/Dpkg_Shlibs/spacesyms.map $< -o $@
388
389.PHONY: refresh-test-data
390
391OBJDUMP = objdump -w -f -p -T -R
392
393refresh-test-data: $(test_data_objects)
394 $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-amd64.so \
395 >$(srcdir)/t/Dpkg_Shlibs/objdump.basictags-amd64
396 $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-i386.so \
397 >$(srcdir)/t/Dpkg_Shlibs/objdump.basictags-i386
398 $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.basictags-mips.so \
399 >$(srcdir)/t/Dpkg_Shlibs/objdump.basictags-mips
400 $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.patterns.so \
401 >$(srcdir)/t/Dpkg_Shlibs/objdump.patterns
402 $(OBJDUMP) $(srcdir)/t/Dpkg_Shlibs/libobjdump.spacesyms.so \
403 >$(srcdir)/t/Dpkg_Shlibs/objdump.spacesyms
404 $(OBJDUMP) `which ls` >$(srcdir)/t/Dpkg_Shlibs/objdump.ls
405
406include $(top_srcdir)/check.am
407
408clean-local: check-clean coverage-clean
409 rm -fr man