diff options
author | Theodore Ts'o <tytso@mit.edu> | 2018-01-03 16:05:44 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2018-01-03 17:26:08 -0500 |
commit | f704ab1c3f39df569d4cbe25a6ee60466a4519fc (patch) | |
tree | e42df847c8b51ddb388e3ba053f36443fb15a5ae | |
parent | 0e253c1a5581a7f55de4a7811f963b63f5772f59 (diff) | |
download | e2fsprogs-f704ab1c3f39df569d4cbe25a6ee60466a4519fc.tar.gz |
debian: convert to use build profile rules exclusively
This commit drops support for the debian/rules.custom file, and only
relies on build profiles.
This means we no longer need to build the control file from
control.in, which simplifies this; developers can now build a debian
package immediately after checking out the tree from git. This also
implies that we are dropping support for Debian 7 (wheezy) and Ubuntu
Trusty (14.04LTS) and older releases. (People who want to backport to
these older distributions will have to make manual adjustments to the
debian/control and debian/rules files.)
Instead of using SKIP_E2FSCK_STATIC in debian/rules.custom, use the
new build profile: pkg.e2fsprogs.no-static-e2fsck
Support for the old-style *-dbg files used in Debian Jessie (which did
not support dbgsym packages) is completely automated. The system will
auto-detect systems which do not support dbgsym and automatically set
the pkg.e2fsprogs.legacy-pkg build profile.
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | debian/control (renamed from debian/control.in) | 14 | ||||
-rwxr-xr-x | debian/rules | 40 |
2 files changed, 19 insertions, 35 deletions
diff --git a/debian/control.in b/debian/control index d03756eb1..2a96a1f0c 100644 --- a/debian/control.in +++ b/debian/control @@ -16,8 +16,8 @@ Description: ext2 / ext3 / ext4 file system driver for FUSE writing from devices or image files containing ext2, ext3, and ext4 file systems. -ifdef(`E2FSCK_STATIC',`` Package: e2fsck-static +Build-Profiles: <!pkg.e2fsprogs.no-static-e2fsck> Priority: optional Depends: ${misc:Depends} Recommends: sash | bash-static | zsh-static | busybox-static @@ -31,7 +31,6 @@ Description: statically-linked version of the ext2/ext3/ext4 filesystem checker . You may want to install a statically-linked shell as well, to be able to run this program if something like your C library gets corrupted. -'')dnl Package: e2fsprogs-l10n Section: localization @@ -107,7 +106,6 @@ Description: command-line interface parsing library - headers and static librari . This package contains the development environment for the ss library. -ifdef(`UDEB_PKGS',`` Package: e2fsprogs-udeb Build-Profiles: <!noudeb> Package-Type: udeb @@ -119,9 +117,8 @@ Description: stripped-down versions of e2fsprogs, for debian-installer This package is an e2fsprogs package built for a reduced size, so that it can help to save space in debian-installer. . - Don'''``t attempt to install this package, it has no support for a couple of + Don't attempt to install this package, it has no support for a couple of features you surely want. Anyway it should refuse to install. -'')dnl Package: e2fslibs Section: libs @@ -173,8 +170,9 @@ Description: ext2/ext3/ext4 file system utilities This package contains programs for creating, checking, and maintaining ext2/3/4-based file systems. It also includes the "badblocks" program, which can be used to scan for bad blocks on a disk or other storage device. -ifdef(`USE_DBGSYM',,`` + Package: e2fsprogs-dbg +Build-Profiles: <pkg.e2fsprogs.legacy-dbg> Section: debug Priority: extra Depends: e2fsprogs (= ${binary:Version}), ${misc:Depends} @@ -186,6 +184,7 @@ Description: debugging information for e2fsprogs dump analysis. Package: e2fslibs-dbg +Build-Profiles: <pkg.e2fsprogs.legacy-dbg> Section: debug Priority: extra Depends: e2fslibs (= ${binary:Version}), ${misc:Depends} @@ -196,6 +195,7 @@ Description: debugging information for e2fslibs information is used for execution tracing and core dump analysis. Package: libcomerr2-dbg +Build-Profiles: <pkg.e2fsprogs.legacy-dbg> Section: debug Priority: extra Depends: libcomerr2 (= ${binary:Version}), ${misc:Depends} @@ -206,6 +206,7 @@ Description: debugging information for libcomerr2 information is used for execution tracing and core dump analysis. Package: libss2-dbg +Build-Profiles: <pkg.e2fsprogs.legacy-dbg> Section: debug Priority: extra Depends: libss2 (= ${binary:Version}), ${misc:Depends} @@ -214,4 +215,3 @@ Description: debugging information for libss2 This package includes the debug information useful for debugging the ss library, contained in the libss2 package. The debug information is used for execution tracing and core dump analysis. -'')dnl diff --git a/debian/rules b/debian/rules index 2bdcbcccb..e44422c14 100755 --- a/debian/rules +++ b/debian/rules @@ -7,8 +7,6 @@ # The `binary' target must be run as root, as it needs to install files with # specific ownerships. --include debian/rules.custom - .PHONY: binary binary-arch binary-indep build build-arch build-indep \ build-bf build-std install install-udeb \ clean checkroot mrproper debug_flags debian-files @@ -39,6 +37,10 @@ ifneq ($(filter pkg.e2fsprogs.no-fuse2fs,$(DEB_BUILD_PROFILES)),) SKIP_FUSE2FS=yes endif +ifneq ($(filter pkg.e2fsprogs.no-static-e2fsck,$(DEB_BUILD_PROFILES)),) +SKIP_E2FSCK_STATIC=yes +endif + ifneq ($(filter noudeb,$(DEB_BUILD_PROFILES)),) SKIP_UDEB=yes endif @@ -54,7 +56,10 @@ dh_strip_args2 = -p$(1) --dbgsym-migration='$(2)-dbg (<= 1.43-1)' else dh_strip_args = -p$(1) --dbg-package=$(1)-dbg dh_strip_args2 = -p$(1) --dbg-package=$(2)-dbg +DBG_PACKAGES += -pe2fsprogs-dbg -pe2fslibs-dbg -plibcomerr2-dbg -plibss2-dbg +export DEB_BUILD_PROFILES += pkg.e2fsprogs.legacy-dbg endif + # 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, @@ -91,7 +96,7 @@ 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) +UDEB_PRIORITY ?= $(shell grep '^Package: e2fsprogs-udeb' debian/control -A 10 | grep ^Priority: | cut -d ' ' -f 2) STAMPSDIR ?= debian/stampdir CFGSTDSTAMP ?= ${STAMPSDIR}/configure-std-stamp @@ -170,36 +175,15 @@ BF_CONF_FLAGS ?= --enable-elf-shlibs --disable-nls --disable-imager \ --disable-testio-debug --disable-uuidd --disable-tls \ --disable-tdb --disable-debugfs -M4_ARGS= DBG_PACKAGES= -ifeq ($(USE_DBGSYM),yes) -M4_ARGS+=-DUSE_DBGSYM -else -DBG_PACKAGES += -pe2fsprogs-dbg -pe2fslibs-dbg -plibcomerr2-dbg -plibss2-dbg -M4_ARGS+=-UUSE_DBGSYM -endif - -ifneq ($(BUILD_E2FSCK_STATIC),no) -M4_ARGS+=-DE2FSCK_STATIC -else -M4_ARGS+=-UE2FSCK_STATIC -endif - ifeq ($(SKIP_UDEB),) INSTALL_UDEB = install-udeb -M4_ARGS+=-DUDEB_PKGS -else -M4_ARGS+=-UUDEB_PKGS endif -debian-files: debian/control +debian-files: mrproper: clean - rm debian/control - -debian/control: debian/control.in debian/rules - m4 $(M4_ARGS) < debian/control.in | grep -v ^REMOVE_ME$$ > $@ ${CFGSTDSTAMP}: dh_testdir @@ -273,7 +257,7 @@ build-std: ${BUILDSTDSTAMP} ${BUILDSTDSTAMP}: ${CFGSTDSTAMP} dh_testdir $(MAKE) -C ${stdbuilddir} V=1 all -ifneq ($(BUILD_E2FSCK_STATIC),no) +ifneq ($(SKIP_E2FSCK_STATIC),yes) $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static endif if ! test -d debian/orig-gmo ; then \ @@ -324,7 +308,7 @@ install: build # static libs and .h files $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true -ifneq ($(BUILD_E2FSCK_STATIC),no) +ifneq ($(SKIP_E2FSCK_STATIC),yes) # statically-linked fsck ${INSTALL_PROGRAM} $(E2FSCK_STATIC) ${tmpdir}/sbin cp ${mandir}/man8/e2fsck.8 ${mandir}/man8/e2fsck.static.8 @@ -424,7 +408,7 @@ binary-arch: install $(INSTALL_UDEB) dh_installchangelogs -a dh_fixperms -a dh_strip $(call dh_strip_args,e2fsprogs) -ifneq ($(BUILD_E2FSCK_STATIC),no) +ifneq ($(SKIP_E2FSCK_STATIC),yes) dh_strip $(call dh_strip_args2,e2fsck-static,e2fsprogs) endif dh_strip $(call dh_strip_args,e2fslibs) |