chiark / gitweb /
lib/dpkg/tarfn.c: Kludge `tar_header_decode' to handle spurious `errno'.
[dpkg] / scripts / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 SUBDIRS = mk po
4
5 bin_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
25 EXTRA_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
48 CLEANFILES = \
49         $(test_data_objects) \
50         $(bin_SCRIPTS)
51
52 perllibdir = $(PERL_LIBDIR)
53 nobase_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
120 EXTRA_DIST += \
121         Test/Dpkg.pm \
122         $(nil)
123
124 # Keep it even if empty to have man3dir correctly set
125 man3_MANS =
126
127 do_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
138 do_shell_subst = $(AM_V_GEN) sed \
139         -e "s:^version[[:space:]]*=[[:space:]]*['\"][^'\"]*[\"']:version=\"$(PACKAGE_VERSION)\":"
140
141 SUFFIXES = .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
153 install-data-local:
154 if 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
167 endif
168
169 # Ideally we'd use 'sed -i', but unfortunately that's not portable.
170 install-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
177 uninstall-local:
178 if 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
182 endif
183
184 coverage: 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
192 coverage-clean:
193         rm -rf cover_db
194
195 TEST_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
201 TEST_COVERAGE = $(PERL_COVERAGE)
202
203 test_tmpdir = t.tmp
204
205 test_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
250 test_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
353 test_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
391 OBJDUMP = objdump -w -f -p -T -R
392
393 refresh-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
406 include $(top_srcdir)/check.am
407
408 clean-local: check-clean coverage-clean
409         rm -fr man