debian/changelog: fix missing Closed: annotation
[e2fsprogs.git] / debian / rules
blobe36bcaaafc89edf2bc57052700b4daf5088c31e1
1 #! /usr/bin/make -f
3 # export DH_VERBOSE=1
5 export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all
7 DPKG_EXPORT_BUILDFLAGS = 1
8 include /usr/share/dpkg/default.mk
10 # be paranoid
11 export LC_ALL ?= C
13 ifeq ($(DEB_HOST_ARCH_OS), hurd)
14 SKIP_FUSE2FS=yes
15 endif
17 ifneq ($(filter pkg.e2fsprogs.no-fuse2fs,$(DEB_BUILD_PROFILES)),)
18 SKIP_FUSE2FS=yes
19 endif
21 COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3)
22 SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3)
24 topdir ?= $(shell pwd)
25 tmpdir ?= ${topdir}/debian/tmp
26 udebdir ?= ${topdir}/debian/e2fsprogs-udeb
27 stdbuilddir ?= ${topdir}/debian/BUILD-STD
29 INSTALL ?= install
30 INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755
32 ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS)))
33 SYMBOL_LIBS := libext2fs libcomerr2 libss2
34 endif
36 CFLAGS_SHLIB = $(CFLAGS)
37 CFLAGS_STLIB = $(CFLAGS)
38 LDFLAGS_SHLIB = $(LDFLAGS)
39 LDFLAGS_STATIC = $(filter-out -fPIE -fpie -pie,$(LDFLAGS))
41 BACKTRACE_CONF_FLAGS ?= $(shell if debian/scripts/test-backtrace ; then echo --disable-backtrace ; fi)
43 COMMON_CONF_FLAGS = --enable-elf-shlibs --disable-ubsan \
44 --disable-addrsan --disable-threadsan --disable-e2initrd-helper \
45 --disable-fsck --disable-libblkid --disable-libuuid --disable-uuidd \
46 --infodir=/usr/share/info --enable-symlink-install \
47 --with-multiarch=$(DEB_HOST_MULTIARCH) \
48 $(BACKTRACE_CONF_FLAGS) ${EXTRA_CONF_FLAGS}
50 ifneq ($(SKIP_FUSE2FS),)
51 COMMON_CONF_FLAGS += --disable-fuse2fs
52 endif
54 ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
55 CC ?= $(DEB_HOST_GNU_TYPE)-gcc
56 COMMON_CONF_FLAGS += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
57 endif
60 dh $@ -B${stdbuilddir}
62 override_dh_autoreconf:
64 override_dh_auto_configure:
65 mkdir -p ${stdbuilddir}
66 cd ${stdbuilddir} && AWK=/usr/bin/awk \
67 ../../configure ${COMMON_CONF_FLAGS}
69 override_dh_auto_build:
70 $(MAKE) -C ${stdbuilddir} V=1 all
71 ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES)))
72 $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static
73 endif
74 if ! test -d debian/orig-gmo ; then \
75 mkdir debian/orig-gmo ; \
76 mv po/*.gmo po/*.po debian/orig-gmo ; \
77 cp debian/orig-gmo/*.po po ; \
79 $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo
81 $(MAKE) -C ${stdbuilddir}/doc V=1 libext2fs.html
82 $(MAKE) -C ${stdbuilddir}/lib/et V=1 com_err.info com_err.html
83 cat $(shell /bin/ls -1 ./doc/RelNotes/*.txt | tac) | \
84 gzip -9n > ${stdbuilddir}/NEWS.gz
86 override_dh_auto_clean:
87 if test -d debian/orig-gmo ; then \
88 rm -f po/*.gmo po/*.po ; \
89 mv debian/orig-gmo/* po ; \
90 rmdir debian/orig-gmo ; \
92 rm -rf ${stdbuilddir}
94 override_dh_auto_install:
95 mkdir -p ${tmpdir}/sbin
96 $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \
97 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
98 # static libs and .h files
99 $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true
101 ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES)))
102 # statically-linked fsck
103 ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static ${tmpdir}/sbin
104 (cd debian/tmp/usr/share/man/man8 ; cp e2fsck.8 e2fsck.static.8)
105 endif
107 ifeq ($(DEB_HOST_ARCH_OS), hurd)
108 ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf
109 endif
111 override_dh_install:
112 dh_install -p e2fsprogs --sourcedir=${stdbuilddir} NEWS.gz \
113 usr/share/doc/e2fsprogs
114 dh_install
115 dh_missing --fail-missing
117 ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
118 override_dh_lintian:
119 dh_lintian
120 $(INSTALL) -D -p -m644 debian/e2fsprogs-udeb.lintian-overrides \
121 debian/e2fsprogs-udeb/usr/share/lintian/overrides/e2fsprogs-udeb
122 endif
124 override_dh_installinfo:
125 # HTML docs
126 $(INSTALL) -d debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/
127 $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \
128 debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/
129 $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/html-info/
130 $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \
131 debian/comerr-dev/usr/share/doc/comerr-dev/html-info/
133 # texinfo docs
134 mkdir -p debian/comerr-dev/usr/share/doc/comerr-dev
135 $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \
136 debian/libext2fs-dev/usr/share/doc/libext2fs2/libext2fs.texi
137 $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \
138 debian/comerr-dev/usr/share/doc/comerr-dev/com_err.texi
140 $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/examples
141 $(INSTALL) -p -m 0644 lib/ss/ss_err.et \
142 ${stdbuilddir}/lib/ext2fs/ext2_err.et \
143 debian/comerr-dev/usr/share/doc/comerr-dev/examples
144 $(INSTALL) -d debian/ss-dev/usr/share/doc/ss-dev/examples
145 $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \
146 debian/ss-dev/usr/share/doc/ss-dev/examples
148 dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info
149 dh_installinfo -plibext2fs-dev ${stdbuilddir}/doc/libext2fs.info
151 override_dh_makeshlibs:
152 for i in $(SYMBOL_LIBS); \
153 do \
154 echo "Generating symbols for $$i..."; \
155 dpkg-gensymbols -p$$i -Pdebian/$$i > debian/$$i.tmp-patch; \
156 cat debian/$$i.tmp-patch; \
157 patch debian/$$i.symbols < debian/$$i.tmp-patch; \
158 /bin/rm debian/$$i.tmp-patch; \
159 done
160 dh_makeshlibs $(if $(filter noudeb,$(DEB_BUILD_PROFILES)),,--add-udeb=e2fsprogs-udeb)
162 override_dh_shlibdeps:
163 dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \
164 -- -Ldebian/e2fsprogs.shlibs.local
165 ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
166 dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \
167 -- -Ldebian/e2fsprogs-udeb.shlibs.local
168 endif
169 ifeq ($(SKIP_FUSE2FS),)
170 dh_shlibdeps -pfuse2fs -l${stdbuilddir}/lib \
171 -- -Ldebian/e2fsprogs.shlibs.local
172 endif
173 dh_shlibdeps --remaining-packages -l${stdbuilddir}/lib
175 override_dh_gencontrol:
176 dh_gencontrol -pcomerr-dev -- -v${COMERR_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION}
177 dh_gencontrol -pss-dev -- -v${SS_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION}
178 dh_gencontrol --remaining-packages
180 override_dh_auto_test:
181 ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
182 $(MAKE) -C ${stdbuilddir} V=1 check
183 endif
185 test_printenv:
186 printenv | sort