]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
debian: Modernize build script
authorBastian Germann <bage@debian.org>
Tue, 1 Oct 2024 00:06:22 +0000 (17:06 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 2 Oct 2024 00:54:48 +0000 (17:54 -0700)
- Use autoreconf template, this will now properly installs the
  translation files
- Use $(CURDIR) to replace `pwd` syntax

Link: https://bugs.launchpad.net/ubuntu/+source/xfsprogs/+bug/2076309
Suggested-by: Zixing Liu <zixing.liu@canonical.com>
Signed-off-by: Bastian Germann <bage@debian.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
debian/rules

index 98dafcab8ac7160be483b11f0c58595a10f13ff1..7c9f90e6c483ffb20c915aaffe718673c6219a5c 100755 (executable)
@@ -2,6 +2,8 @@
 
 export DH_VERBOSE=1
 
+export AUTOHEADER=true
+
 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
     NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
     PMAKEFLAGS += -j$(NUMJOBS)
@@ -15,9 +17,7 @@ package = xfsprogs
 develop = xfslibs-dev
 bootpkg = xfsprogs-udeb
 
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+include /usr/share/dpkg/architecture.mk
 
 version = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2 | cut -d '-' -f 1)
 target ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
@@ -26,9 +26,9 @@ udebpkg = $(bootpkg)_$(version)_$(target).udeb
 dirme  = debian/$(package)
 dirdev = debian/$(develop)
 dirdi  = debian/$(bootpkg)
-pkgme  = DIST_ROOT=`pwd`/$(dirme);  export DIST_ROOT;
-pkgdev = DIST_ROOT=`pwd`/$(dirdev); export DIST_ROOT;
-pkgdi  = DIST_ROOT=`pwd`/$(dirdi); export DIST_ROOT;
+pkgme  = DIST_ROOT=$(CURDIR)/$(dirme);  export DIST_ROOT;
+pkgdev = DIST_ROOT=$(CURDIR)/$(dirdev); export DIST_ROOT;
+pkgdi  = DIST_ROOT=$(CURDIR)/$(dirdi); export DIST_ROOT;
 stdenv = @GZIP=-q; export GZIP;
 
 configure_options = \
@@ -42,35 +42,20 @@ configure_options = \
        --localstatedir=/var
 
 options = export DEBUG=-DNDEBUG DISTRIBUTION=debian \
-         INSTALL_USER=root INSTALL_GROUP=root \
+         INSTALL_USER=root INSTALL_GROUP=root LDFLAGS='$(LDFLAGS)' \
          LOCAL_CONFIGURE_OPTIONS="$(configure_options) --enable-editline=yes --enable-blkid=yes" ;
 diopts  = $(options) \
          export OPTIMIZER=-Os LOCAL_CONFIGURE_OPTIONS="$(configure_options) --enable-gettext=no" ;
-checkdir = test -f debian/rules
 
-build: build-arch build-indep
-build-arch: built
-build-indep: built
-built: dibuild config
-       @echo "== dpkg-buildpackage: build" 1>&2
-       $(MAKE) $(PMAKEFLAGS) default
-       touch built
+%:
+       dh $@
 
-config: .gitcensus
-.gitcensus:
-       @echo "== dpkg-buildpackage: configure" 1>&2
-       $(checkdir)
-       AUTOHEADER=/bin/true dh_autoreconf
-       dh_update_autotools_config
-       # runs configure with $(options)
-       $(options) $(MAKE) $(PMAKEFLAGS) include/builddefs
-       cp -f include/install-sh .
+override_dh_auto_configure:
+       dh_testdir
        touch .gitcensus
 
-dibuild:
-       $(checkdir)
+override_dh_auto_build:
        @echo "== dpkg-buildpackage: installer" 1>&2
-       # runs configure with $(options)
        if [ ! -f mkfs/mkfs.xfs-$(bootpkg) ]; then \
                $(diopts) $(MAKE) include/builddefs; \
                mkdir -p include/xfs; \
@@ -83,46 +68,33 @@ dibuild:
                mv mkfs/mkfs.xfs mkfs/mkfs.xfs-$(bootpkg); \
                $(MAKE) distclean; \
        fi
+       @echo "== dpkg-buildpackage: configure" 1>&2
+       # runs configure with $(options)
+       $(options) $(MAKE) $(PMAKEFLAGS) include/builddefs
+       cp -f include/install-sh .
+       @echo "== dpkg-buildpackage: build" 1>&2
+       $(MAKE) $(PMAKEFLAGS) default
 
-clean:
+execute_before_dh_clean:
        @echo "== dpkg-buildpackage: clean" 1>&2
-       $(checkdir)
+       dh_testdir
        -rm -f built .gitcensus mkfs/mkfs.xfs-$(bootpkg)
        $(MAKE) distclean
        -rm -rf $(dirme) $(dirdev) $(dirdi)
-       -rm -f debian/*substvars debian/files* debian/*.debhelper
-       dh_autoreconf_clean
-       dh_clean
-
-binary-indep:
 
-binary-arch: checkroot built
+override_dh_auto_install:
        @echo "== dpkg-buildpackage: binary-arch" 1>&2
-       $(checkdir)
        -rm -rf $(dirme) $(dirdev) $(dirdi)
+       dh_testdir
        $(pkgme)  $(MAKE) -C . install
        $(pkgdev) $(MAKE) -C . install-dev
        $(pkgdi)  $(MAKE) -C debian install-d-i
        install -D -m 0755 debian/local/initramfs.hook debian/xfsprogs/usr/share/initramfs-tools/hooks/xfs
-       rmdir debian/xfslibs-dev/usr/share/doc/xfsprogs
        rm -f debian/xfslibs-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libhandle.la
        rm -f debian/xfslibs-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libhandle.a
-       dh_installdocs -XCHANGES
-       dh_installchangelogs
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_makeshlibs
-       dh_installsystemd -p xfsprogs --no-restart-after-upgrade --no-stop-on-upgrade system-xfs_scrub.slice xfs_scrub_all.timer
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary: binary-indep binary-arch
 
-checkroot:
-       test 0 -eq `id -u`
+override_dh_installdocs:
+       dh_installdocs -XCHANGES
 
-.PHONY: binary binary-arch binary-indep clean checkroot
+override_dh_installsystemd:
+       dh_installsystemd -p xfsprogs --no-restart-after-upgrade --no-stop-on-upgrade system-xfs_scrub.slice xfs_scrub_all.timer