X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=debian%2Frules;h=5fbee8a867cfed555ae777dc9bbdfb193c41933c;hb=43d9f902b88486ed255e1fdc475e613bca3872f8;hp=afb548cf6fa34f4f18c992c95b9b52752e9c3745;hpb=d973c18b33df378b071a951e942954e79f316567;p=tools%2Fe2fsprogs.git diff --git a/debian/rules b/debian/rules index afb548c..5fbee8a 100755 --- a/debian/rules +++ b/debian/rules @@ -1,563 +1,148 @@ #! /usr/bin/make -f -# -*- makefile -*- -# -# Invoke each target with `./debian/rules '. All targets should be -# invoked with the package root as the current directory. -# -# The `binary' target must be run as root, as it needs to install files with -# specific ownerships. --include debian/rules.custom +# export DH_VERBOSE=1 + +export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all + +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk # be paranoid export LC_ALL ?= C -# Allow distro-specific behaviour -DISTRO :=$(shell sed -ne '/DISTRIB_ID/s/.*=//p' /etc/lsb-release 2>/dev/null || echo Debian) -SYS_BLKID_VER := $(shell dpkg-query -W libblkid1 | cut -f 2 | cut -b 1) -ifeq ($(SYS_BLKID_VER),2) -UTIL_LINUX_NG ?= yes +ifeq ($(DEB_HOST_ARCH_OS), hurd) +SKIP_FUSE2FS=yes endif -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) -DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) -DEB_HOST_OS ?= $(shell dpkg-architecture -qDEB_HOST_OS) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null) - -# find the version for the main package, from changelog file -MAIN_VERSION = $(shell head -n 1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') -# find versions for libraries going into their own packages, from their Makefile.in's, -# and sonames for all libs -COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) -COMERR_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3) -SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) -SS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3) - -ifneq ($(UTIL_LINUX_NG),yes) -UUID_VERSION ?= $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) -UUID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) - -BLKID_VERSION ?= $(shell grep ELF_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) -BLKID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) +ifneq ($(filter pkg.e2fsprogs.no-fuse2fs,$(DEB_BUILD_PROFILES)),) +SKIP_FUSE2FS=yes endif -EXT2FS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3) -E2P_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3) - -package ?= e2fsprogs +COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) +SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) topdir ?= $(shell pwd) -debdir ?= ${topdir}/debian -tmpdir ?= ${debdir}/tmp -udebdir ?= ${debdir}/e2fsprogs-udeb -ifneq ($(UTIL_LINUX_NG),yes) -blkidudebdir ?= ${debdir}/libblkid1-udeb -uuidudebdir ?= ${debdir}/libuuid1-udeb -endif -libcomerrdir ?= ${debdir}/libcomerr${COMERR_SOVERSION} -comerrdevdir ?= ${debdir}/comerr-dev -libcomerrdbgdir ?= ${debdir}/libcomerr2-dbg -libssdir ?= ${debdir}/libss${SS_SOVERSION} -ssdevdir ?= ${debdir}/ss-dev -libssdbgdir ?= ${debdir}/libss2-dbg -ifneq ($(UTIL_LINUX_NG),yes) -libblkiddir ?= ${debdir}/libblkid${BLKID_SOVERSION} -libblkiddevdir ?= ${debdir}/libblkid-dev -libblkiddbgdir ?= ${debdir}/libblkid1-dbg -libuuiddir ?= ${debdir}/libuuid${UUID_SOVERSION} -uuiddevdir ?= ${debdir}/uuid-dev -libuuiddbgdir ?= ${debdir}/libuuid1-dbg -uuidruntimedir ?= ${debdir}/uuid-runtime -uuidruntimedbgdir ?= ${debdir}/uuid-runtime-dbg -endif -libext2dir ?= ${debdir}/e2fslibs -libext2devdir ?= ${debdir}/e2fslibs-dev -libext2dbgdir ?= ${debdir}/e2fslibs-dbg -maindir ?= ${debdir}/e2fsprogs -e2fsckstaticdir ?= ${debdir}/e2fsck-static -debugdir ?= ${debdir}/e2fsprogs-dbg -stdbuilddir ?= ${debdir}/BUILD-STD -bfbuilddir ?= ${debdir}/BUILD-BF -staticbuilddir ?= ${debdir}/BUILD-STATIC -mipsbuilddir ?= ${debdir}/BUILD-MIPS -mipsbuilddir64 ?= ${debdir}/BUILD-MIPS-64 -# docdir ?= ${maindir}/usr/share/doc/${package} -MANDIR ?= /usr/share/man -mandir ?= ${tmpdir}${MANDIR} - -UDEB_NAME ?= $(package)-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb -UDEB_PRIORITY ?= $(shell grep '^Package: e2fsprogs-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) - -ifneq ($(UTIL_LINUX_NG),yes) -BLKID_UDEB_NAME ?= libblkid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb -BLKID_UDEB_PRIORITY ?= $(shell grep '^Package: libblkid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) - -UUID_UDEB_NAME ?= libuuid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb -UUID_UDEB_PRIORITY ?= $(shell grep '^Package: libuuid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) -endif - -STAMPSDIR ?= debian/stampdir -CFGSTDSTAMP ?= ${STAMPSDIR}/configure-std-stamp -CFGBFSTAMP ?= ${STAMPSDIR}/configure-bf-stamp -CFGSTATICSTAMP ?= ${STAMPSDIR}/configure-static-stamp -BUILDSTDSTAMP ?= ${STAMPSDIR}/build-std-stamp -BUILDBFSTAMP ?= ${STAMPSDIR}/build-bf-stamp -BUILDSTATICSTAMP ?=${STAMPSDIR}/build-static-stamp +tmpdir ?= ${topdir}/debian/tmp +udebdir ?= ${topdir}/debian/e2fsprogs-udeb +stdbuilddir ?= ${topdir}/debian/BUILD-STD INSTALL ?= install INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755 -#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) -#INSTALL_PROGRAM += -s -#endif - -DEFAULT_CFLAGS ?= -g -O2 -DEFAULT_LDFLAGS ?= -Wl,-Bsymbolic-functions - -CFLAGS += $(shell dpkg-buildflags --get CFLAGS) -LDFLAGS += $(shell dpkg-buildflags --get LDFLAGS) -CPPFLAGS += $(shell dpkg-buildflags --get CPPFLAGS) - -ifeq (${DEB_HOST_ARCH},alpha) -CFLAGS += -DHAVE_NETINET_IN_H -else -CFLAGS += -D__NO_STRING_INLINES -endif - -ifeq (${DEB_HOST_ARCH_OS},linux) -BUILD_STATIC = build-static -E2FSCK_STATIC = ${staticbuilddir}/e2fsck/e2fsck.static -else -E2FSCK_STATIC = ${stdbuilddir}/e2fsck/e2fsck.static -endif - -BF_CFLAGS = -Os -fomit-frame-pointer - -COMMON_CONF_FLAGS = --disable-e2initrd-helper --enable-elf-shlibs \ - --enable-quota --infodir=/usr/share/info -ifeq ($(UTIL_LINUX_NG),yes) -COMMON_CONF_FLAGS += --disable-fsck --disable-libblkid \ - --disable-libuuid --disable-uuidd -else -COMMON_CONF_FLAGS += --enable-fsck -endif - -ifneq ($(strip $(DEB_HOST_MULTIARCH)),) -MULTIARCH_CONF ?= --with-multiarch=$(DEB_HOST_MULTIARCH) -# This doesn't work yet because gdb and lintian don't expect and/or -# don't work with /usr/lib//debug -#USRLIB = /usr/lib/$(DEB_HOST_MULTIARCH) -USRLIB ?= /usr/lib -else -USRLIB ?= /usr/lib +ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS))) +SYMBOL_LIBS := libext2fs libcomerr2 libss2 endif -STD_CONF_FLAGS ?= --enable-symlink-install $(MULTIARCH_CONF) - -BF_CONF_FLAGS ?= --disable-nls --disable-imager --disable-testio-debug \ - --disable-uuidd --disable-tls --disable-debugfs - -STATIC_CONF_FLAGS ?= --disable-nls --disable-imager \ - --disable-uuidd --disable-tls - -MIPS_NOPIC_CONF_FLAGS ?= --disable-nls --disable-imager \ - --disable-uuidd --disable-tls \ - --disable-resizer # --disable-debugfs +CFLAGS_SHLIB = $(CFLAGS) +CFLAGS_STLIB = $(CFLAGS) +LDFLAGS_SHLIB = $(LDFLAGS) +LDFLAGS_STATIC = $(filter-out -fPIE -fpie -pie,$(LDFLAGS)) -# we can't use those flags at configure time -MIPS_CFLAGS ?= -G 0 -fno-pic -mno-abicalls -MIPS_CFLAGS_64 ?= -mabi=64 -G 0 -fno-pic -mno-abicalls +BACKTRACE_CONF_FLAGS ?= $(shell if debian/scripts/test-backtrace ; then echo --disable-backtrace ; fi) -ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) -ifneq (,$(findstring $(DEB_BUILD_ARCH),mips mipsel)) -ismips=ismips -endif -endif +COMMON_CONF_FLAGS = --enable-elf-shlibs --disable-ubsan \ + --disable-addrsan --disable-threadsan --disable-e2initrd-helper \ + --disable-fsck --disable-libblkid --disable-libuuid --disable-uuidd \ + --infodir=/usr/share/info --enable-symlink-install \ + --with-multiarch=$(DEB_HOST_MULTIARCH) \ + $(BACKTRACE_CONF_FLAGS) ${EXTRA_CONF_FLAGS} -M4_ARGS= -ifeq ($(UTIL_LINUX_NG),yes) -M4_ARGS+=-DUTIL_LINUX_NG -else -M4_ARGS+=-UUTIL_LINUX_NG +ifneq ($(SKIP_FUSE2FS),) +COMMON_CONF_FLAGS += --disable-fuse2fs endif -ifneq ($(strip $(DEB_HOST_MULTIARCH)),) -M4_ARGS+=-DDO_MULTIARCH -else -M4_ARGS+=-UDO_MULTIARCH +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +CC ?= $(DEB_HOST_GNU_TYPE)-gcc +COMMON_CONF_FLAGS += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) endif -FILES_FIXUP= libcomerr2.files comerr-dev.files libss2.files ss-dev.files \ - libuuid1.files uuid-dev.files libblkid1.files libblkid-dev.files \ - e2fslibs.files e2fslibs-dev.files - -debian-files: debian/control debian/e2fsprogs.shlibs.local -ifeq ($(strip $(DEB_HOST_MULTIARCH)),) - for i in $(FILES_FIXUP); do \ - sed -e 's;lib/\*/;lib/;' debian/$$i.in > debian/$$i; \ - done -else - for i in $(FILES_FIXUP); do cp debian/$$i.in debian/$$i; done -endif - -mrproper: clean - rm debian/control debian/e2fsprogs.shlibs.local - -debian/control: debian/control.in debian/rules - m4 $(M4_ARGS) < debian/control.in | grep -v ^REMOVE_ME$$ > $@ +%: + dh $@ -B${stdbuilddir} -debian/e2fsprogs.shlibs.local: debian/e2fsprogs.shlibs.local.in - m4 $(M4_ARGS) < debian/e2fsprogs.shlibs.local.in > $@ - -${CFGSTDSTAMP}: - dh_testdir - - # Make sure we don't try to rebuild the configure scripts - find . -name configure | xargs touch +override_dh_autoreconf: +override_dh_auto_configure: mkdir -p ${stdbuilddir} -ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) cd ${stdbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" -else - cd ${stdbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \ - --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" -endif + ../../configure ${COMMON_CONF_FLAGS} - # specially-built MIPS libs -ifneq ($(ismips),) - mkdir -p ${mipsbuilddir} ${mipsbuilddir64} - cd ${mipsbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} CFLAGS="${CFLAGS}" - cd ${mipsbuilddir64} && AWK=/usr/bin/awk \ - ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} CFLAGS="${CFLAGS}" -endif - - mkdir -p ${STAMPSDIR} - touch ${CFGSTDSTAMP} - -${CFGBFSTAMP}: - dh_testdir - rm -f config.cache - - mkdir -p ${bfbuilddir} -ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) - cd ${bfbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \ - CFLAGS="${CFLAGS} ${BF_CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" -else - cd ${bfbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \ - --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" -endif - mkdir -p ${STAMPSDIR} - touch ${CFGBFSTAMP} - -${CFGSTATICSTAMP}: - dh_testdir - rm -f config.cache - - mkdir -p ${staticbuilddir} -ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) - if type diet > /dev/null 2>&1 ; then \ - cd ${staticbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${STATIC_CONF_FLAGS} \ - --with-diet-libc CFLAGS="${CFLAGS}"; \ - else \ - cd ${staticbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${STATIC_CONF_FLAGS} \ - CFLAGS="${CFLAGS}"; \ - fi -else - cd ${staticbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${STATIC_CONF_FLAGS} \ - --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" -endif - mkdir -p ${STAMPSDIR} - touch ${CFGSTATICSTAMP} - -build-arch: build -build-indep: build -build: build-std build-bf $(BUILD_STATIC) - -build-std: ${BUILDSTDSTAMP} -${BUILDSTDSTAMP}: ${CFGSTDSTAMP} - dh_testdir +override_dh_auto_build: $(MAKE) -C ${stdbuilddir} V=1 all $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static + if ! test -d debian/orig-gmo ; then \ + mkdir debian/orig-gmo ; \ + mv po/*.gmo po/*.po debian/orig-gmo ; \ + cp debian/orig-gmo/*.po po ; \ + fi $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo - ( cd ${stdbuilddir}/doc && $(MAKE) V=1 libext2fs_abt.html ) - ( cd ${stdbuilddir}/lib/et && $(MAKE) V=1 com_err.info com_err_abt.html ) - - # specially-built MIPS libs -ifneq ($(ismips),) - $(MAKE) -C ${mipsbuilddir}/util V=1 - $(MAKE) -C ${mipsbuilddir} V=1 \ - CFLAGS="${CFLAGS} ${MIPS_CFLAGS}" \ - LIB_SUBDIRS="lib/et lib/ext2fs" libs - $(MAKE) -C ${mipsbuilddir64}/util V=1 - $(MAKE) -C ${mipsbuilddir64} V=1 \ - CFLAGS="${CFLAGS} ${MIPS_CFLAGS_64}" \ - LIB_SUBDIRS="lib/et lib/ext2fs" libs -endif + $(MAKE) -C ${stdbuilddir}/doc V=1 libext2fs.html + $(MAKE) -C ${stdbuilddir}/lib/et V=1 com_err.info com_err.html + cat $(shell /bin/ls -1 ./doc/RelNotes/*.txt | tac) | \ + gzip -9n > ${stdbuilddir}/NEWS.gz - touch ${BUILDSTDSTAMP} - -build-bf: ${BUILDBFSTAMP} -${BUILDBFSTAMP}: ${CFGBFSTAMP} - dh_testdir - $(MAKE) -C ${bfbuilddir} V=1 libs - $(MAKE) -C ${bfbuilddir}/e2fsck V=1 all - $(MAKE) -C ${bfbuilddir}/misc V=1 all - touch ${BUILDBFSTAMP} - -build-static: ${BUILDSTATICSTAMP} -${BUILDSTATICSTAMP}: ${CFGSTATICSTAMP} - dh_testdir - $(MAKE) -C ${staticbuilddir} V=1 libs - $(MAKE) -C ${staticbuilddir}/e2fsck V=1 all e2fsck.static - touch ${BUILDSTATICSTAMP} - -clean: - dh_testdir - rm -rf ${STAMPSDIR} - [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} distclean - [ ! -f ${bfbuilddir}/Makefile ] || $(MAKE) -C ${bfbuilddir} distclean - [ ! -f ${staticbuilddir}/Makefile ] || $(MAKE) -C ${staticbuilddir} distclean - rm -rf ${stdbuilddir} ${bfbuilddir} ${staticbuilddir} ${mipsbuilddir} ${mipsbuilddir64} - rm -f debian/*.substvars - dh_clean - -install: cleanup install-std - -# This rule allows to factorize the dh_clean between the 2 install rules -# This must be launched before install-* (if launching them by hand, for -# exemple) or results are unpredictable -cleanup: - dh_testdir - dh_testroot - dh_prep - -install-std: DH_OPTIONS= -install-std: build - dh_testdir - dh_testroot - dh_installdirs +override_dh_auto_clean: + if test -d debian/orig-gmo ; then \ + rm -f po/*.gmo po/*.po ; \ + mv debian/orig-gmo/* po ; \ + rmdir debian/orig-gmo ; \ + fi + rm -rf ${stdbuilddir} +override_dh_auto_install: mkdir -p ${tmpdir}/sbin - $(MAKE) -C ${stdbuilddir} install DESTDIR=${tmpdir} \ + $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true # static libs and .h files - $(MAKE) -C ${stdbuilddir} install-libs DESTDIR=${tmpdir} LDCONFIG=true + $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true # statically-linked fsck - ${INSTALL_PROGRAM} $(E2FSCK_STATIC) ${tmpdir}/sbin - cp ${mandir}/man8/e2fsck.8 ${mandir}/man8/e2fsck.static.8 - # remove static quota library for now - rm ${tmpdir}/usr/include/quota/mkquota.h - find ${tmpdir}/usr/lib -name quota.pc -o -name libquota.a | xargs rm + ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static ${tmpdir}/sbin + (cd debian/tmp/usr/share/man/man8 ; cp e2fsck.8 e2fsck.static.8) -ifeq ($(DEB_BUILD_GNU_SYSTEM), gnu) +ifeq ($(DEB_HOST_ARCH_OS), hurd) ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf endif - dh_movefiles - test -z "`find ${tmpdir} -type f`" - - # specially-built MIPS libs -ifneq ($(ismips),) - $(INSTALL) -p -m 0644 ${mipsbuilddir}/lib/libext2fs.a \ - ${debdir}/e2fslibs-dev/usr/lib/libext2fs-nopic.a - $(INSTALL) -p -m 0644 ${mipsbuilddir64}/lib/libext2fs.a \ - ${debdir}/e2fslibs-dev/usr/lib/lib64ext2fs-nopic.a -endif - -install-udeb: DH_OPTIONS= -install-udeb: build - dh_testdir - dh_testroot - - $(MAKE) -C ${bfbuilddir} install-shlibs-libs-recursive DESTDIR=${udebdir} \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - $(MAKE) -C ${bfbuilddir}/e2fsck install DESTDIR=${udebdir} \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - $(MAKE) -C ${bfbuilddir}/misc install DESTDIR=${udebdir} \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - $(MAKE) -C ${bfbuilddir}/resize install DESTDIR=${udebdir} \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - - rm -rf ${udebdir}/usr - find ${udebdir}/sbin -type f -a ! -name e2fsck \ - -a ! -name mke2fs -a ! -name tune2fs \ - -a ! -name resize2fs -a ! -name badblocks -print | xargs rm - - (cd ${udebdir}/sbin; ln -s e2fsck fsck.ext2 ; \ - ln -s e2fsck fsck.ext3 ; ln -s e2fsck fsck.ext4 ; \ - ln -s mke2fs mkfs.ext2 ; ln -s mke2fs mkfs.ext3 ; \ - ln -s mke2fs mkfs.ext4) - -ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${blkidudebdir}/lib - mv ${udebdir}/lib/libblkid.* ${blkidudebdir}/lib - - mkdir -p ${uuidudebdir}/lib - mv ${udebdir}/lib/libuuid.* ${uuidudebdir}/lib -endif - -binary-indep: - # no arch-independant debs. - -binary-arch: DH_OPTIONS= -a -binary-arch: install install-udeb - dh_testdir - dh_testroot - - # lintian overrides - for i in $$(cd debian && echo *.lintian-overrides); do \ - pkg=$${i%.lintian-overrides} ;\ - if test "$${pkg}" != source ; then \ - $(INSTALL) -m 0644 -D -p debian/$$i ${debdir}/$${pkg}/usr/share/lintian/overrides/$${pkg} ;\ - fi ;\ - done - - # symlinks to prepare dh_installdocs run - -ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${debdir}/libblkid${BLKID_SOVERSION}/usr/share/doc/libblkid${BLKID_SOVERSION} - mkdir -p ${debdir}/libblkid-dev/usr/share/doc - ln -sf libblkid${BLKID_SOVERSION} ${debdir}/libblkid-dev/usr/share/doc/libblkid-dev -endif - - mkdir -p ${debdir}/libss${SS_SOVERSION}/usr/share/doc/libss${SS_SOVERSION} - mkdir -p ${debdir}/ss-dev/usr/share/doc - ln -sf libss${SS_SOVERSION} ${debdir}/ss-dev/usr/share/doc/ss-dev +override_dh_install: + dh_install -p e2fsprogs --sourcedir=${stdbuilddir} NEWS.gz \ + usr/share/doc/e2fsprogs + dh_install + dh_missing --fail-missing - mkdir -p ${debdir}/libcomerr${COMERR_SOVERSION}/usr/share/doc/libcomerr${COMERR_SOVERSION} - mkdir -p ${debdir}/comerr-dev/usr/share/doc - ln -sf libcomerr${COMERR_SOVERSION} ${debdir}/comerr-dev/usr/share/doc/comerr-dev - -ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${debdir}/libuuid${UUID_SOVERSION}/usr/share/doc/libuuid${UUID_SOVERSION} - mkdir -p ${debdir}/uuid-dev/usr/share/doc -# ln -sf libuuid${UUID_SOVERSION} ${debdir}/uuid-dev/usr/share/doc/uuid-dev -endif - - mkdir -p ${debdir}/e2fslibs/usr/share/doc/e2fslibs - mkdir -p ${debdir}/e2fslibs-dev/usr/share/doc - ln -sf e2fslibs ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev - -ifneq ($(UTIL_LINUX_NG),yes) - $(INSTALL) -p -m 0644 debian/libblkid.copyright \ - ${debdir}/libblkid${BLKID_SOVERSION}/usr/share/doc/libblkid${BLKID_SOVERSION}/copyright -endif - - dh_installdocs -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb +override_dh_lintian: + dh_lintian + $(INSTALL) -D -p -m644 debian/e2fsprogs-udeb.lintian-overrides \ + debian/e2fsprogs-udeb/usr/share/lintian/overrides/e2fsprogs-udeb +override_dh_installinfo: # HTML docs - $(INSTALL) -d ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/ + $(INSTALL) -d debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/ $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \ - ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/ - $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/ + debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/ + $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/html-info/ $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \ - ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/ + debian/comerr-dev/usr/share/doc/comerr-dev/html-info/ # texinfo docs - mkdir -p ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION} + mkdir -p debian/comerr-dev/usr/share/doc/comerr-dev $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \ - ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/libext2fs.texi + debian/libext2fs-dev/usr/share/doc/libext2fs2/libext2fs.texi $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \ - ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/com_err.texi + debian/comerr-dev/usr/share/doc/comerr-dev/com_err.texi - $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples + $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/examples $(INSTALL) -p -m 0644 lib/ss/ss_err.et \ ${stdbuilddir}/lib/ext2fs/ext2_err.et \ - ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples - $(INSTALL) -d ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples + debian/comerr-dev/usr/share/doc/comerr-dev/examples + $(INSTALL) -d debian/ss-dev/usr/share/doc/ss-dev/examples $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \ - ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples + debian/ss-dev/usr/share/doc/ss-dev/examples dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info - dh_installinfo -pe2fslibs-dev ${stdbuilddir}/doc/libext2fs.info - - DH_OPTIONS= dh_installchangelogs -pe2fsprogs \ - -plibcomerr${COMERR_SOVERSION} \ - -plibss${SS_SOVERSION} \ - -pe2fslibs -pe2fsck-static \ - -pe2fsprogs-dbg -pe2fslibs-dbg \ - -plibcomerr2-dbg -plibss2-dbg -ifneq ($(UTIL_LINUX_NG),yes) - DH_OPTIONS= dh_installchangelogs -plibuuid${UUID_SOVERSION} \ - -puuid-dev -puuid-runtime -puuid-runtime-dbg -plibuuid1-dbg \ - -plibblkid${BLKID_SOVERSION} -plibblkid1-dbg -endif - - dh_fixperms -ifneq ($(ismips),) - dh_strip -k -Xlib64ext2fs-nopic.a -else - dh_strip -k -endif - - # debug package stuff - rm -rf ${udebdir}/usr -ifneq ($(UTIL_LINUX_NG),yes) - rm -rf ${blkidudebdir}/usr - rm -rf ${uuidudebdir}/usr -endif - -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - mkdir -p ${debugdir}/$(USRLIB) - mv ${maindir}/usr/lib/debug ${debugdir}/$(USRLIB) - rm -rf ${maindir}/usr/lib/debug - mv ${e2fsckstaticdir}/usr/lib/debug/sbin/* \ - ${debugdir}/$(USRLIB)/debug - rm -rf ${e2fsckstaticdir}/usr/lib - -ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${uuidruntimedbgdir}/$(USRLIB) - mv ${uuidruntimedir}/usr/lib/debug ${uuidruntimedbgdir}/$(USRLIB) - rmdir ${uuidruntimedir}/usr/lib -endif + dh_installinfo -plibext2fs-dev ${stdbuilddir}/doc/libext2fs.info - mkdir -p ${libext2dbgdir}/$(USRLIB) - mv ${libext2dir}/usr/lib/debug ${libext2dbgdir}/$(USRLIB) - rmdir ${libext2dir}/usr/lib - - mkdir -p ${libcomerrdbgdir}/$(USRLIB) - mv ${libcomerrdir}/usr/lib/debug ${libcomerrdbgdir}/$(USRLIB) - rmdir ${libcomerrdir}/usr/lib - - mkdir -p ${libssdbgdir}/$(USRLIB) - mv ${libssdir}/usr/lib/debug ${libssdbgdir}/$(USRLIB) - rmdir ${libssdir}/usr/lib - -ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${libuuiddbgdir}/$(USRLIB) - mv ${libuuiddir}/usr/lib/debug ${libuuiddbgdir}/$(USRLIB) - rmdir ${libuuiddir}/usr/lib - - mkdir -p ${libblkiddbgdir}/$(USRLIB) - mv ${libblkiddir}/usr/lib/debug ${libblkiddbgdir}/$(USRLIB) - rmdir ${libblkiddir}/usr/lib -endif -endif - - # dpkg symbol handling -ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS))) -SYMBOL_LIBS := e2fslibs libcomerr2 libss2 -ifneq ($(UTIL_LINUX_NG),yes) -SYMBOL_LIBS += libblkid1 libuuid1 -endif +override_dh_makeshlibs: for i in $(SYMBOL_LIBS); \ do \ echo "Generating symbols for $$i..."; \ @@ -566,86 +151,28 @@ endif patch debian/$$i.symbols < debian/$$i.tmp-patch; \ /bin/rm debian/$$i.tmp-patch; \ done -endif - - for i in e2fsprogs e2fsprogs-dbg e2fslibs e2fslibs-dbg; do \ - $(INSTALL) -p -m 0644 debian/copyright \ - ${debdir}/$$i/usr/share/doc/$$i/copyright; \ - done - -ifneq ($(UTIL_LINUX_NG),yes) - $(INSTALL) -p -m 0644 debian/uuid-runtime.copyright \ - ${uuidruntimedbgdir}/usr/share/doc/uuid-runtime-dbg/copyright -endif + dh_makeshlibs --add-udeb=e2fsprogs-udeb - $(INSTALL) -p -m 0644 debian/libcomerr2.copyright \ - ${libcomerrdbgdir}/usr/share/doc/libcomerr2-dbg/copyright - - $(INSTALL) -p -m 0644 debian/libss2.copyright \ - ${libssdbgdir}/usr/share/doc/libss2-dbg/copyright - -ifneq ($(UTIL_LINUX_NG),yes) - $(INSTALL) -p -m 0644 debian/libblkid.copyright \ - ${libblkiddbgdir}/usr/share/doc/libblkid1-dbg/copyright - - $(INSTALL) -p -m 0644 debian/libuuid1.copyright \ - ${libuuiddbgdir}/usr/share/doc/libuuid1-dbg/copyright -endif - - dh_compress - - dh_makeshlibs -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb - dh_makeshlibs -plibcomerr${COMERR_SOVERSION} \ - -V 'libcomerr2 (>= 1.33-3)' -ifneq ($(UTIL_LINUX_NG),yes) - dh_makeshlibs -plibblkid${BLKID_SOVERSION} -V 'libblkid1 (>= 1.39-1)' - echo "udeb: libblkid 1 libblkid1-udeb" >> \ - debian/libblkid1/DEBIAN/shlibs - echo "udeb: libuuid 1 libuuid1-udeb" >> debian/libuuid1/DEBIAN/shlibs -endif - - dh_installdeb - dh_shlibdeps -l${stdbuilddir}/lib +override_dh_shlibdeps: dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \ - -u"-Ldebian/e2fsprogs.shlibs.local" + -- -Ldebian/e2fsprogs.shlibs.local dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \ - -u"-Ldebian/e2fsprogs-udeb.shlibs.local" - - dh_gencontrol -Ncomerr-dev -Nss-dev -Nuuid-dev \ - -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb - DH_OPTIONS= dh_gencontrol -pcomerr-dev \ - -u '-v${COMERR_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}' - DH_OPTIONS= dh_gencontrol -pss-dev \ - -u '-v${SS_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}' -ifneq ($(UTIL_LINUX_NG),yes) - DH_OPTIONS= dh_gencontrol -puuid-dev \ - -u '-v${UUID_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}' -endif - dh_gencontrol -pe2fsprogs-udeb -- -fdebian/files~ -ifneq ($(UTIL_LINUX_NG),yes) - dh_gencontrol -plibblkid1-udeb -- -fdebian/files~ - dh_gencontrol -plibuuid1-udeb -- -fdebian/files~ -endif - - dpkg-distaddfile $(UDEB_NAME) debian-installer $(UDEB_PRIORITY) -ifneq ($(UTIL_LINUX_NG),yes) - dpkg-distaddfile $(BLKID_UDEB_NAME) debian-installer $(BLKID_UDEB_PRIORITY) - dpkg-distaddfile $(UUID_UDEB_NAME) debian-installer $(UUID_UDEB_PRIORITY) -endif - dh_md5sums -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb - dh_builddeb -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb - dh_builddeb -pe2fsprogs-udeb --filename=$(UDEB_NAME) -ifneq ($(UTIL_LINUX_NG),yes) - dh_builddeb -plibblkid1-udeb --filename=$(BLKID_UDEB_NAME) - dh_builddeb -plibuuid1-udeb --filename=$(UUID_UDEB_NAME) + -- -Ldebian/e2fsprogs-udeb.shlibs.local +ifeq ($(SKIP_FUSE2FS),) + dh_shlibdeps -pfuse2fs -l${stdbuilddir}/lib \ + -- -Ldebian/e2fsprogs.shlibs.local endif + dh_shlibdeps --remaining-packages -l${stdbuilddir}/lib -binary: binary-indep binary-arch +override_dh_gencontrol: + dh_gencontrol -pcomerr-dev -- -v${COMERR_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION} + dh_gencontrol -pss-dev -- -v${SS_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION} + dh_gencontrol --remaining-packages -.PHONY: binary binary-arch binary-indep clean checkroot mrproper \ - debug_flags debian-files +override_dh_auto_test: +ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + $(MAKE) -C ${stdbuilddir} V=1 check +endif -debug_flags: - @echo CFLAGS is $(CFLAGS) - @echo LDFLAGS is $(LDFLAGS) - @echo CPPFLAGS is $(CPPFLAGS) +test_printenv: + printenv | sort