]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - debian/rules
debian: fix FTBFS regression caused by debhelper/10.9
[thirdparty/e2fsprogs.git] / debian / rules
CommitLineData
4d8f08f4
TT
1#! /usr/bin/make -f
2# -*- makefile -*-
3#
4# Invoke each target with `./debian/rules <target>'. All targets should be
5# invoked with the package root as the current directory.
6#
7# The `binary' target must be run as root, as it needs to install files with
8# specific ownerships.
9
d973c18b
TT
10-include debian/rules.custom
11
697e21fa
TT
12export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all
13
4d8f08f4 14# be paranoid
d973c18b 15export LC_ALL ?= C
4d8f08f4 16
f85cc2a8
TT
17# These are used for cross-compiling and for saving the configure script
18# from having to guess our platform (since we know it already)
d973c18b
TT
19DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
20DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
21DEB_HOST_OS ?= $(shell dpkg-architecture -qDEB_HOST_OS)
22DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
23DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
e84a4a61 24DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
716ff03b 25DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
4d8f08f4 26
becb01ce
TT
27# Allow distro-specific behaviour
28DISTRO :=$(shell sed -ne '/DISTRIB_ID/s/.*=//p' /etc/lsb-release 2>/dev/null || echo Debian)
becb01ce 29
716ff03b 30ifeq ($(DEB_HOST_ARCH_OS), hurd)
d3c05957
TT
31SKIP_FUSE2FS=yes
32endif
33
a6728639
TT
34DH_VERSION := $(shell dpkg-query -W -f '$${Version}' debhelper)
35
36# USE_DBGSYM :=
37USE_DBGSYM ?= $(shell if dpkg --compare-versions $(DH_VERSION) ">=" 9.20160114 ; then echo yes ; fi)
38
39ifeq ($(USE_DBGSYM),yes)
40dh_strip_args = -p$(1) --dbgsym-migration='$(1)-dbg (<= 1.43-1)'
41dh_strip_args2 = -p$(1) --dbgsym-migration='$(2)-dbg (<= 1.43-1)'
42else
43dh_strip_args = -p$(1) --dbg-package=$(1)-dbg
44dh_strip_args2 = -p$(1) --dbg-package=$(2)-dbg
45endif
4d8f08f4 46# find the version for the main package, from changelog file
56eb4d47 47MAIN_VERSION = $(shell head -n 1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g')
e5b16437
TT
48# find versions for libraries going into their own packages, from their Makefile.in's,
49# and sonames for all libs
d973c18b
TT
50COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3)
51COMERR_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3)
52SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3)
53SS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3)
95f65c3d 54
d973c18b
TT
55EXT2FS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3)
56E2P_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3)
4d8f08f4 57
d973c18b 58package ?= e2fsprogs
4d8f08f4 59
d973c18b
TT
60topdir ?= $(shell pwd)
61debdir ?= ${topdir}/debian
62tmpdir ?= ${debdir}/tmp
63udebdir ?= ${debdir}/e2fsprogs-udeb
d973c18b
TT
64libcomerrdir ?= ${debdir}/libcomerr${COMERR_SOVERSION}
65comerrdevdir ?= ${debdir}/comerr-dev
66libcomerrdbgdir ?= ${debdir}/libcomerr2-dbg
67libssdir ?= ${debdir}/libss${SS_SOVERSION}
68ssdevdir ?= ${debdir}/ss-dev
69libssdbgdir ?= ${debdir}/libss2-dbg
d973c18b
TT
70libext2dir ?= ${debdir}/e2fslibs
71libext2devdir ?= ${debdir}/e2fslibs-dev
72libext2dbgdir ?= ${debdir}/e2fslibs-dbg
73maindir ?= ${debdir}/e2fsprogs
74e2fsckstaticdir ?= ${debdir}/e2fsck-static
75debugdir ?= ${debdir}/e2fsprogs-dbg
76stdbuilddir ?= ${debdir}/BUILD-STD
d973c18b
TT
77# docdir ?= ${maindir}/usr/share/doc/${package}
78MANDIR ?= /usr/share/man
79mandir ?= ${tmpdir}${MANDIR}
80
81UDEB_NAME ?= $(package)-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb
82UDEB_PRIORITY ?= $(shell grep '^Package: e2fsprogs-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2)
dd198d68 83
d973c18b
TT
84STAMPSDIR ?= debian/stampdir
85CFGSTDSTAMP ?= ${STAMPSDIR}/configure-std-stamp
86CFGBFSTAMP ?= ${STAMPSDIR}/configure-bf-stamp
d973c18b
TT
87BUILDSTDSTAMP ?= ${STAMPSDIR}/build-std-stamp
88BUILDBFSTAMP ?= ${STAMPSDIR}/build-bf-stamp
541d173d 89
d973c18b
TT
90INSTALL ?= install
91INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755
1893e713 92
fbcb3a85
TT
93#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
94#INSTALL_PROGRAM += -s
95#endif
1893e713 96
618dcd2c
TT
97ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS)))
98SYMBOL_LIBS := e2fslibs libcomerr2 libss2
618dcd2c
TT
99endif
100
d973c18b
TT
101DEFAULT_CFLAGS ?= -g -O2
102DEFAULT_LDFLAGS ?= -Wl,-Bsymbolic-functions
910fae94 103
95decc5c 104CFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \
697e21fa 105 DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) \
95decc5c
TT
106 dpkg-buildflags --get CFLAGS; else echo $(DEFAULT_CFLAGS) ; fi)
107LDFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \
697e21fa 108 DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) \
95decc5c
TT
109 dpkg-buildflags --get LDFLAGS; else echo $(DEFAULT_LDFLAGS) ; fi)
110CPPFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \
697e21fa 111 DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) \
95decc5c 112 dpkg-buildflags --get CPPFLAGS; fi)
910fae94 113
4d8f08f4 114ifeq (${DEB_HOST_ARCH},alpha)
0b5b9f90 115CFLAGS += -DHAVE_NETINET_IN_H
4d8f08f4 116else
0b5b9f90 117CFLAGS += -D__NO_STRING_INLINES
4d8f08f4
TT
118endif
119
fb8bcfcd 120E2FSCK_STATIC = ${stdbuilddir}/e2fsck/e2fsck.static
3e41608a 121
04f34e71
TT
122CFLAGS_SHLIB = $(CFLAGS)
123CFLAGS_STLIB = $(CFLAGS)
124LDFLAGS_SHLIB = $(LDFLAGS)
697e21fa
TT
125LDFLAGS_STATIC = $(filter-out -fPIE -fpie -pie,$(LDFLAGS))
126
2b561a67
TT
127ifneq ($(SKIP_UDEB),)
128SKIP_BF ?= yes
129endif
130
be241786
TT
131ifeq ($(SKIP_BF),yes)
132BUILD_BF =
133bfbuilddir ?= ${stdbuilddir}
134else
135BUILD_BF = build-bf
136bfbuilddir ?= ${debdir}/BUILD-BF
137endif
138
0b5b9f90 139BF_CFLAGS = -Os -fomit-frame-pointer
79786216 140
efeda9d5 141UTIL_CONF_FLAGS ?= --disable-fsck --disable-libblkid \
95f65c3d 142 --disable-libuuid --disable-uuidd
79786216 143
d3c05957 144ifneq ($(SKIP_FUSE2FS),)
5a0affdb
TT
145UTIL_CONF_FLAGS += --disable-fuse2fs
146endif
147
6e2393fd
TT
148BACKTRACE_CONF_FLAGS ?= $(shell if ${debdir}/scripts/test-backtrace ; then echo --disable-backtrace ; fi)
149
534366de 150COMMON_CONF_FLAGS = --disable-e2initrd-helper \
efeda9d5 151 --infodir=/usr/share/info --enable-symlink-install \
e84a4a61
TT
152 --with-multiarch=$(DEB_HOST_MULTIARCH) \
153 $(BACKTRACE_CONF_FLAGS) $(UTIL_CONF_FLAGS)
79786216 154
efeda9d5
TT
155STD_CONF_FLAGS ?= --enable-elf-shlibs
156
157BF_CONF_FLAGS ?= --enable-elf-shlibs --disable-nls --disable-imager \
3dcb760f
TT
158 --disable-testio-debug --disable-uuidd --disable-tls \
159 --disable-tdb --disable-debugfs
79786216 160
95f65c3d 161M4_ARGS=
a6728639
TT
162DBG_PACKAGES=
163
164ifeq ($(USE_DBGSYM),yes)
165M4_ARGS+=-DUSE_DBGSYM
166else
167DBG_PACKAGES += -pe2fsprogs-dbg -pe2fslibs-dbg -plibcomerr2-dbg -plibss2-dbg
168M4_ARGS+=-UUSE_DBGSYM
169endif
170
a8ffb5c2
FB
171ifneq ($(BUILD_E2FSCK_STATIC),no)
172M4_ARGS+=-DE2FSCK_STATIC
173else
174M4_ARGS+=-UE2FSCK_STATIC
175endif
176
2b561a67
TT
177ifeq ($(SKIP_UDEB),)
178INSTALL_UDEB = install-udeb
179M4_ARGS+=-DUDEB_PKGS
180else
181M4_ARGS+=-UUDEB_PKGS
182endif
183
3f557ac7 184debian-files: debian/control
e54e7000
TT
185
186mrproper: clean
3f557ac7 187 rm debian/control
e54e7000 188
95f65c3d 189debian/control: debian/control.in debian/rules
55e00a25 190 m4 $(M4_ARGS) < debian/control.in | grep -v ^REMOVE_ME$$ > $@
95f65c3d 191
541d173d 192${CFGSTDSTAMP}:
4d8f08f4 193 dh_testdir
6bb275aa
TT
194 if which dh_update_autotools_config > /dev/null 2>&1 ; then \
195 dh_update_autotools_config ;\
196 fi
541d173d 197
41b6ae60
TT
198 # Make sure we don't try to rebuild the configure scripts
199 find . -name configure | xargs touch
200
79786216
TT
201 mkdir -p ${stdbuilddir}
202ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
be5a72da 203 cd ${stdbuilddir} && AWK=/usr/bin/awk \
98e858bf 204 ../../configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \
efeda9d5 205 ${EXTRA_CONF_FLAGS} CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" \
697e21fa
TT
206 LDFLAGS="$(LDFLAGS)" CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
207 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
208 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
209 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
79786216 210else
be5a72da 211 cd ${stdbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \
98e858bf 212 ../../configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \
efeda9d5
TT
213 ${EXTRA_CONF_FLAGS} --build=$(DEB_BUILD_GNU_TYPE) \
214 --host=$(DEB_HOST_GNU_TYPE) CFLAGS="${CFLAGS}" \
697e21fa
TT
215 CPPFLAGS="$(CPPFLAGS)" CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
216 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
217 LDFLAGS="$(LDFLAGS)" \
218 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
219 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
79786216 220endif
e5b16437 221
541d173d
TT
222 mkdir -p ${STAMPSDIR}
223 touch ${CFGSTDSTAMP}
4d8f08f4 224
541d173d 225${CFGBFSTAMP}:
4d8f08f4 226 dh_testdir
6bb275aa
TT
227 if which dh_update_autotools_config > /dev/null 2>&1 ; then \
228 dh_update_autotools_config ;\
229 fi
541d173d
TT
230 rm -f config.cache
231
79786216 232 mkdir -p ${bfbuilddir}
4d8f08f4 233ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
be5a72da 234 cd ${bfbuilddir} && AWK=/usr/bin/awk \
98e858bf 235 ../../configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \
efeda9d5 236 ${EXTRA_CONF_FLAGS} CFLAGS="${CFLAGS} ${BF_CFLAGS}" \
697e21fa
TT
237 CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
238 CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
239 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
240 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
241 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
4d8f08f4 242else
be5a72da 243 cd ${bfbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \
98e858bf 244 ../../configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \
efeda9d5
TT
245 ${EXTRA_CONF_FLAGS} --build=$(DEB_BUILD_GNU_TYPE) \
246 --host=$(DEB_HOST_GNU_TYPE) CFLAGS="${CFLAGS}" \
697e21fa
TT
247 CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
248 CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
249 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
250 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
251 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
4d8f08f4 252endif
541d173d
TT
253 mkdir -p ${STAMPSDIR}
254 touch ${CFGBFSTAMP}
79786216 255
55e00a25
TT
256build-arch: build
257build-indep: build
bf26fae3 258build: build-std $(BUILD_BF)
79786216 259
541d173d
TT
260build-std: ${BUILDSTDSTAMP}
261${BUILDSTDSTAMP}: ${CFGSTDSTAMP}
79786216 262 dh_testdir
f921eda1 263 $(MAKE) -C ${stdbuilddir} V=1 all
a8ffb5c2 264ifneq ($(BUILD_E2FSCK_STATIC),no)
cd056798 265 $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static
a8ffb5c2 266endif
2c0e8c7a
TT
267 if ! test -d debian/orig-gmo ; then \
268 mkdir debian/orig-gmo ; \
269 mv po/*.gmo po/*.po debian/orig-gmo ; \
270 cp debian/orig-gmo/*.po po ; \
271 fi
f921eda1 272 $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo
e5b16437 273
b79e338d
TT
274 ( cd ${stdbuilddir}/doc && $(MAKE) V=1 libext2fs.html )
275 ( cd ${stdbuilddir}/lib/et && $(MAKE) V=1 com_err.info com_err.html )
e5b16437 276
541d173d 277 touch ${BUILDSTDSTAMP}
79786216 278
541d173d
TT
279build-bf: ${BUILDBFSTAMP}
280${BUILDBFSTAMP}: ${CFGBFSTAMP}
79786216 281 dh_testdir
f921eda1
TT
282 $(MAKE) -C ${bfbuilddir} V=1 libs
283 $(MAKE) -C ${bfbuilddir}/e2fsck V=1 all
284 $(MAKE) -C ${bfbuilddir}/misc V=1 all
c1986ecb 285 $(MAKE) -C ${bfbuilddir}/resize V=1 all
541d173d 286 touch ${BUILDBFSTAMP}
4d8f08f4
TT
287
288clean:
289 dh_testdir
2c0e8c7a
TT
290 if test -d debian/orig-gmo ; then \
291 rm -f po/*.gmo po/*.po ; \
292 mv debian/orig-gmo/* po ; \
293 rmdir debian/orig-gmo ; \
294 fi
541d173d 295 rm -rf ${STAMPSDIR}
c1986ecb
TT
296 [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} V=1 distclean
297 [ ! -f ${bfbuilddir}/Makefile ] || $(MAKE) -C ${bfbuilddir} V=1 distclean
298 [ ! -f ${staticbuilddir}/Makefile ] || $(MAKE) -C ${staticbuilddir} V=1 distclean
f088231e 299 rm -rf ${stdbuilddir} ${bfbuilddir} ${staticbuilddir}
4534f8bc 300 rm -f debian/*.substvars
4d8f08f4
TT
301 dh_clean
302
62775dc5 303install: cleanup install-std
79786216
TT
304
305# This rule allows to factorize the dh_clean between the 2 install rules
306# This must be launched before install-* (if launching them by hand, for
055866d8 307# example) or results are unpredictable
79786216 308cleanup:
b90b826b
TT
309 dh_testdir
310 dh_testroot
ef797135 311 dh_prep
79786216
TT
312
313install-std: DH_OPTIONS=
314install-std: build
315 dh_testdir
316 dh_testroot
b90b826b 317 dh_installdirs
4d8f08f4 318
b90b826b 319 mkdir -p ${tmpdir}/sbin
c1986ecb 320 $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \
79786216
TT
321 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
322 # static libs and .h files
c1986ecb 323 $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true
4d8f08f4 324
a8ffb5c2 325ifneq ($(BUILD_E2FSCK_STATIC),no)
1893e713 326 # statically-linked fsck
a827a2a3 327 ${INSTALL_PROGRAM} $(E2FSCK_STATIC) ${tmpdir}/sbin
ec3bb41b 328 cp ${mandir}/man8/e2fsck.8 ${mandir}/man8/e2fsck.static.8
a8ffb5c2
FB
329endif
330
716ff03b 331ifeq ($(DEB_HOST_ARCH_OS), hurd)
b1c828e8
TT
332 ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf
333endif
334
2a4c77bc 335 dh_movefiles
15fdc401 336 test -z "`find ${tmpdir} -type f`"
2a4c77bc 337
62775dc5
TT
338install-udeb: DH_OPTIONS=
339install-udeb: build
79786216
TT
340 dh_testdir
341 dh_testroot
79786216 342
c1986ecb 343 $(MAKE) -C ${bfbuilddir} V=1 install-shlibs-libs-recursive DESTDIR=${udebdir} \
62775dc5 344 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
c1986ecb 345 $(MAKE) -C ${bfbuilddir}/e2fsck V=1 install DESTDIR=${udebdir} \
62775dc5 346 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
c1986ecb 347 $(MAKE) -C ${bfbuilddir}/misc V=1 install DESTDIR=${udebdir} \
79786216 348 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
c1986ecb 349 $(MAKE) -C ${bfbuilddir}/resize V=1 install DESTDIR=${udebdir} \
8a8a12c1 350 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
2a4c77bc 351
62775dc5 352 rm -rf ${udebdir}/usr
e3075aea 353 find ${udebdir}/sbin -type f -a ! -name e2fsck \
8a8a12c1
TT
354 -a ! -name mke2fs -a ! -name tune2fs \
355 -a ! -name resize2fs -a ! -name badblocks -print | xargs rm
e3075aea 356
be241786
TT
357 (cd ${udebdir}/sbin; ln -sf e2fsck fsck.ext2 ; \
358 ln -sf e2fsck fsck.ext3 ; ln -sf e2fsck fsck.ext4 ; \
359 ln -sf mke2fs mkfs.ext2 ; ln -sf mke2fs mkfs.ext3 ; \
360 ln -sf mke2fs mkfs.ext4)
dd198d68 361
9b412579
TT
362binary-indep: install
363 dh_testdir
364 dh_testroot
365 dh_lintian -i
366 dh_installchangelogs -i
367 dh_fixperms -i
368 dh_compress -i
369 dh_installdeb -i
370 dh_gencontrol -i
371 dh_md5sums -i
372 dh_builddeb -i
373
374# binary-arch builds a superset of binary-indep. This is because
375# building e2fsprogs-l10n.deb unnecessarily takes less time than
376# running the install recipe twice. At some point when we rototill
377# the rules file we can clean this up in a better way.
2b561a67 378binary-arch: install $(INSTALL_UDEB)
b90b826b
TT
379 dh_testdir
380 dh_testroot
381
e1ada171 382 dh_lintian
79786216 383
b90b826b 384 # symlinks to prepare dh_installdocs run
1893e713 385
151c86ab
TT
386 mkdir -p ${debdir}/libss${SS_SOVERSION}/usr/share/doc/libss${SS_SOVERSION}
387 mkdir -p ${debdir}/ss-dev/usr/share/doc
388 ln -sf libss${SS_SOVERSION} ${debdir}/ss-dev/usr/share/doc/ss-dev
b90b826b 389
151c86ab
TT
390 mkdir -p ${debdir}/libcomerr${COMERR_SOVERSION}/usr/share/doc/libcomerr${COMERR_SOVERSION}
391 mkdir -p ${debdir}/comerr-dev/usr/share/doc
e5b16437 392 ln -sf libcomerr${COMERR_SOVERSION} ${debdir}/comerr-dev/usr/share/doc/comerr-dev
4d8f08f4 393
151c86ab
TT
394 mkdir -p ${debdir}/e2fslibs/usr/share/doc/e2fslibs
395 mkdir -p ${debdir}/e2fslibs-dev/usr/share/doc
396 ln -sf e2fslibs ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev
4d8f08f4 397
8788da36 398 dh_installdocs -Ne2fsprogs-udeb
b90b826b 399
4d8f08f4 400 # HTML docs
b1e22d52 401 $(INSTALL) -d ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/
4534f8bc 402 $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \
151c86ab 403 ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/
b1e22d52 404 $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/
4534f8bc 405 $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \
151c86ab 406 ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/
4d8f08f4
TT
407
408 # texinfo docs
151c86ab 409 mkdir -p ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}
b1e22d52 410 $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \
151c86ab 411 ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/libext2fs.texi
b1e22d52 412 $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \
e5b16437 413 ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/com_err.texi
4d8f08f4 414
b1e22d52
TT
415 $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples
416 $(INSTALL) -p -m 0644 lib/ss/ss_err.et \
151c86ab
TT
417 ${stdbuilddir}/lib/ext2fs/ext2_err.et \
418 ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples
b1e22d52
TT
419 $(INSTALL) -d ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples
420 $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \
151c86ab
TT
421 ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples
422
541d173d 423 dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info
79786216 424 dh_installinfo -pe2fslibs-dev ${stdbuilddir}/doc/libext2fs.info
4d8f08f4 425
d1335619 426 dh_installchangelogs
a3f464ff 427 dh_fixperms
a6728639 428 dh_strip $(call dh_strip_args,e2fsprogs)
2b561a67 429ifneq ($(BUILD_E2FSCK_STATIC),no)
a6728639 430 dh_strip $(call dh_strip_args2,e2fsck-static,e2fsprogs)
2b561a67 431endif
a6728639 432 dh_strip $(call dh_strip_args,e2fslibs)
a6728639
TT
433 dh_strip $(call dh_strip_args,libss${SS_SOVERSION})
434 dh_strip $(call dh_strip_args,libcomerr${COMERR_SOVERSION})
7f2c7495 435 dh_strip
fbcb3a85 436
649bd289 437 # dpkg symbol handling
95f65c3d 438 for i in $(SYMBOL_LIBS); \
649bd289
TT
439 do \
440 echo "Generating symbols for $$i..."; \
441 dpkg-gensymbols -p$$i -Pdebian/$$i > debian/$$i.tmp-patch; \
442 cat debian/$$i.tmp-patch; \
443 patch debian/$$i.symbols < debian/$$i.tmp-patch; \
444 /bin/rm debian/$$i.tmp-patch; \
445 done
649bd289 446
b90b826b 447 dh_compress
4d8f08f4 448
e1ada171 449 dh_makeshlibs --add-udeb=e2fsprogs-udeb
6fe7d115 450
b90b826b 451 dh_installdeb
79786216 452 dh_shlibdeps -l${stdbuilddir}/lib
151c86ab
TT
453 dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \
454 -u"-Ldebian/e2fsprogs.shlibs.local"
2b561a67 455ifeq ($(SKIP_UDEB),)
7a15db23
TT
456 dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \
457 -u"-Ldebian/e2fsprogs-udeb.shlibs.local"
2b561a67 458endif
d3c05957 459ifeq ($(SKIP_FUSE2FS),)
d1335619
TT
460 dh_shlibdeps -pfuse2fs -l${stdbuilddir}/lib \
461 -u"-Ldebian/e2fsprogs.shlibs.local"
d3c05957 462endif
b90b826b 463
8788da36 464 dh_gencontrol -Ncomerr-dev -Nss-dev -Ne2fsprogs-udeb
b90b826b 465 DH_OPTIONS= dh_gencontrol -pcomerr-dev \
d8a1a674 466 -u '-v${COMERR_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}'
b90b826b 467 DH_OPTIONS= dh_gencontrol -pss-dev \
d8a1a674 468 -u '-v${SS_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}'
2b561a67 469ifeq ($(SKIP_UDEB),)
bf5498cc 470 dh_gencontrol -pe2fsprogs-udeb -- -fdebian/files~
2b561a67 471endif
b90b826b 472
2b561a67 473ifeq ($(SKIP_UDEB),)
bf5498cc 474 dpkg-distaddfile $(UDEB_NAME) debian-installer $(UDEB_PRIORITY)
95f65c3d 475endif
e1ada171
TT
476 dh_md5sums
477 dh_builddeb
e254d05b 478
9b412579
TT
479# binary-arch builds a superset of binary-indep. See the comment
480# before the binary-arch rule for more details.
481binary: binary-arch
4d8f08f4 482
910fae94
TT
483.PHONY: binary binary-arch binary-indep clean checkroot mrproper \
484 debug_flags debian-files
485
486debug_flags:
487 @echo CFLAGS is $(CFLAGS)
488 @echo LDFLAGS is $(LDFLAGS)
489 @echo CPPFLAGS is $(CPPFLAGS)