]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - debian/rules
debian: don't restart e2scrub_all when upgrading package
[thirdparty/e2fsprogs.git] / debian / rules
CommitLineData
4d8f08f4 1#! /usr/bin/make -f
336ac184
TT
2
3# export DH_VERBOSE=1
965e82cb 4
697e21fa
TT
5export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all
6
336ac184
TT
7DPKG_EXPORT_BUILDFLAGS = 1
8include /usr/share/dpkg/default.mk
9
4d8f08f4 10# be paranoid
d973c18b 11export LC_ALL ?= C
4d8f08f4 12
716ff03b 13ifeq ($(DEB_HOST_ARCH_OS), hurd)
d3c05957
TT
14SKIP_FUSE2FS=yes
15endif
16
8c72de15
SM
17ifneq ($(filter pkg.e2fsprogs.no-fuse2fs,$(DEB_BUILD_PROFILES)),)
18SKIP_FUSE2FS=yes
19endif
20
d973c18b 21COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3)
d973c18b 22SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3)
4d8f08f4 23
d973c18b 24topdir ?= $(shell pwd)
336ac184
TT
25tmpdir ?= ${topdir}/debian/tmp
26udebdir ?= ${topdir}/debian/e2fsprogs-udeb
27stdbuilddir ?= ${topdir}/debian/BUILD-STD
541d173d 28
d973c18b 29INSTALL ?= install
3da214e5 30INSTALL_PROGRAM ?= $(INSTALL) -p -m 0755
1893e713 31
618dcd2c 32ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS)))
146649cd 33SYMBOL_LIBS := libext2fs libcomerr2 libss2
618dcd2c
TT
34endif
35
04f34e71
TT
36CFLAGS_SHLIB = $(CFLAGS)
37CFLAGS_STLIB = $(CFLAGS)
38LDFLAGS_SHLIB = $(LDFLAGS)
697e21fa
TT
39LDFLAGS_STATIC = $(filter-out -fPIE -fpie -pie,$(LDFLAGS))
40
336ac184 41BACKTRACE_CONF_FLAGS ?= $(shell if debian/scripts/test-backtrace ; then echo --disable-backtrace ; fi)
6e2393fd 42
cfb073a4 43COMMON_CONF_FLAGS = --enable-elf-shlibs --disable-ubsan \
336ac184
TT
44 --disable-addrsan --disable-threadsan --disable-e2initrd-helper \
45 --disable-fsck --disable-libblkid --disable-libuuid --disable-uuidd \
efeda9d5 46 --infodir=/usr/share/info --enable-symlink-install \
e84a4a61 47 --with-multiarch=$(DEB_HOST_MULTIARCH) \
336ac184 48 $(BACKTRACE_CONF_FLAGS) ${EXTRA_CONF_FLAGS}
79786216 49
336ac184
TT
50ifneq ($(SKIP_FUSE2FS),)
51COMMON_CONF_FLAGS += --disable-fuse2fs
52endif
efeda9d5 53
336ac184
TT
54ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
55CC ?= $(DEB_HOST_GNU_TYPE)-gcc
56COMMON_CONF_FLAGS += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
57endif
95f65c3d 58
336ac184
TT
59%:
60 dh $@ -B${stdbuilddir}
541d173d 61
336ac184 62override_dh_autoreconf:
41b6ae60 63
336ac184 64override_dh_auto_configure:
79786216 65 mkdir -p ${stdbuilddir}
be5a72da 66 cd ${stdbuilddir} && AWK=/usr/bin/awk \
336ac184 67 ../../configure ${COMMON_CONF_FLAGS}
4d8f08f4 68
336ac184 69override_dh_auto_build:
f921eda1 70 $(MAKE) -C ${stdbuilddir} V=1 all
b637c57d 71ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES)))
cd056798 72 $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static
b637c57d 73endif
2c0e8c7a
TT
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 ; \
78 fi
f921eda1 79 $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo
e5b16437 80
922a40cf
TT
81 $(MAKE) -C ${stdbuilddir}/doc V=1 libext2fs.html
82 $(MAKE) -C ${stdbuilddir}/lib/et V=1 com_err.info com_err.html
40ab405c
TT
83 cat $(shell /bin/ls -1 ./doc/RelNotes/*.txt | tac) | \
84 gzip -9n > ${stdbuilddir}/NEWS.gz
e5b16437 85
336ac184 86override_dh_auto_clean:
2c0e8c7a
TT
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 ; \
91 fi
336ac184 92 rm -rf ${stdbuilddir}
4d8f08f4 93
336ac184 94override_dh_auto_install:
b90b826b 95 mkdir -p ${tmpdir}/sbin
c1986ecb 96 $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \
79786216
TT
97 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
98 # static libs and .h files
c1986ecb 99 $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true
4d8f08f4 100
b637c57d 101ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES)))
1893e713 102 # statically-linked fsck
336ac184
TT
103 ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static ${tmpdir}/sbin
104 (cd debian/tmp/usr/share/man/man8 ; cp e2fsck.8 e2fsck.static.8)
b637c57d 105endif
a8ffb5c2 106
716ff03b 107ifeq ($(DEB_HOST_ARCH_OS), hurd)
b1c828e8
TT
108 ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf
109endif
110
336ac184 111override_dh_install:
922a40cf
TT
112 dh_install -p e2fsprogs --sourcedir=${stdbuilddir} NEWS.gz \
113 usr/share/doc/e2fsprogs
e98cdafb
TT
114 dh_install
115 dh_missing --fail-missing
922a40cf 116
b637c57d 117ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
336ac184
TT
118override_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
b637c57d 122endif
b90b826b 123
336ac184 124override_dh_installinfo:
4d8f08f4 125 # HTML docs
336ac184 126 $(INSTALL) -d debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/
4534f8bc 127 $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \
336ac184
TT
128 debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/
129 $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/html-info/
4534f8bc 130 $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \
336ac184 131 debian/comerr-dev/usr/share/doc/comerr-dev/html-info/
4d8f08f4
TT
132
133 # texinfo docs
336ac184 134 mkdir -p debian/comerr-dev/usr/share/doc/comerr-dev
b1e22d52 135 $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \
336ac184 136 debian/libext2fs-dev/usr/share/doc/libext2fs2/libext2fs.texi
b1e22d52 137 $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \
336ac184 138 debian/comerr-dev/usr/share/doc/comerr-dev/com_err.texi
4d8f08f4 139
336ac184 140 $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/examples
b1e22d52 141 $(INSTALL) -p -m 0644 lib/ss/ss_err.et \
151c86ab 142 ${stdbuilddir}/lib/ext2fs/ext2_err.et \
336ac184
TT
143 debian/comerr-dev/usr/share/doc/comerr-dev/examples
144 $(INSTALL) -d debian/ss-dev/usr/share/doc/ss-dev/examples
b1e22d52 145 $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \
336ac184 146 debian/ss-dev/usr/share/doc/ss-dev/examples
151c86ab 147
541d173d 148 dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info
146649cd 149 dh_installinfo -plibext2fs-dev ${stdbuilddir}/doc/libext2fs.info
4d8f08f4 150
a4c91450
DW
151override_dh_installsystemd:
152 dh_installsystemd -p e2fsprogs --no-restart-after-upgrade --no-stop-on-upgrade e2scrub_all.timer e2scrub_reap.service
153 dh_installsystemd --name=service1
154
336ac184 155override_dh_makeshlibs:
95f65c3d 156 for i in $(SYMBOL_LIBS); \
649bd289
TT
157 do \
158 echo "Generating symbols for $$i..."; \
159 dpkg-gensymbols -p$$i -Pdebian/$$i > debian/$$i.tmp-patch; \
160 cat debian/$$i.tmp-patch; \
161 patch debian/$$i.symbols < debian/$$i.tmp-patch; \
162 /bin/rm debian/$$i.tmp-patch; \
163 done
b637c57d 164 dh_makeshlibs $(if $(filter noudeb,$(DEB_BUILD_PROFILES)),,--add-udeb=e2fsprogs-udeb)
649bd289 165
336ac184 166override_dh_shlibdeps:
151c86ab 167 dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \
336ac184 168 -- -Ldebian/e2fsprogs.shlibs.local
b637c57d 169ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
7a15db23 170 dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \
336ac184 171 -- -Ldebian/e2fsprogs-udeb.shlibs.local
b637c57d 172endif
d3c05957 173ifeq ($(SKIP_FUSE2FS),)
d1335619 174 dh_shlibdeps -pfuse2fs -l${stdbuilddir}/lib \
336ac184 175 -- -Ldebian/e2fsprogs.shlibs.local
d3c05957 176endif
336ac184 177 dh_shlibdeps --remaining-packages -l${stdbuilddir}/lib
b90b826b 178
336ac184 179override_dh_gencontrol:
e98cdafb
TT
180 dh_gencontrol -pcomerr-dev -- -v${COMERR_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION}
181 dh_gencontrol -pss-dev -- -v${SS_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION}
336ac184 182 dh_gencontrol --remaining-packages
910fae94 183
7f4c3bb1 184override_dh_auto_test:
20a18d54 185ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
704b18b9 186 PRINT_FAILED=yes $(MAKE) -C ${stdbuilddir} V=1 check
20a18d54 187endif
7f4c3bb1 188
336ac184
TT
189test_printenv:
190 printenv | sort