diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:40:32 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:40:32 +0000 |
commit | 76faa357888fc7ac8697e12f151f70fd7227a978 (patch) | |
tree | 5cfd018ebeb537a499caa021a008c6e51cc22d73 /debian/rules | |
parent | Adding upstream version 1.20.13. (diff) | |
download | dpkg-debian.tar.xz dpkg-debian.zip |
Adding debian version 1.20.13.debian/1.20.13debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-x | debian/rules | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..fde5388 --- /dev/null +++ b/debian/rules @@ -0,0 +1,167 @@ +#!/usr/bin/make -f +# debian/rules for the dpkg suite. +# Copyright © 2004 Scott James Remnant <scott@netsplit.com> +# Copyright © 2006-2012 Guillem Jover <guillem@debian.org> + +WFLAGS := \ + -Wall -Wextra \ + -Wno-missing-field-initializers \ + -Wno-nonnull-compare \ + -Wno-unused-parameter \ + $(nil) + +# Use the in-tree dpkg-buildflags +dpkg_buildflags = \ + DEB_BUILD_MAINT_OPTIONS="hardening=+all" \ + DEB_CFLAGS_MAINT_APPEND="$(WFLAGS)" \ + DEB_CXXFLAGS_MAINT_APPEND="$(WFLAGS)" \ + $(CURDIR)/run-script scripts/dpkg-buildflags.pl + +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +# Support cross-compiling. +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build=$(DEB_HOST_GNU_TYPE) +else + confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +endif + +# Do not enable everything on all platforms. +ifeq ($(DEB_HOST_ARCH_OS),linux) + confflags += --with-libselinux +endif +ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS))) + confflags += --disable-silent-rules + testflags += TESTSUITEFLAGS=--verbose +endif + +# Enable parallel test suite +NUMJOBS = 1 +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +D := $(CURDIR)/debian/tmp + +# Configure the build tree +build-tree/config.status: + dh_testdir + dh_autoreconf + + install -d build-tree + cd build-tree && ../configure $(confflags) \ + $(shell $(dpkg_buildflags) --export=configure) \ + --prefix=/usr \ + --mandir=\$${datadir}/man \ + --infodir=\$${datadir}/info \ + --sysconfdir=/etc \ + --sbindir=/sbin \ + --localstatedir=/var \ + --libexecdir=\$${exec_prefix}/lib \ + --with-devlibdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ + --without-libmd \ + --with-libz \ + --with-liblzma \ + --with-libbz2 + +# Build the package in build-tree +build-indep build-arch build: build-tree/config.status + dh_testdir + + cd build-tree && $(MAKE) + +# Run the test suites +check: build + dh_testdir + +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + cd build-tree && $(MAKE) $(testflags) TEST_PARALLEL=$(NUMJOBS) check +endif + +# Install the package underneath debian/tmp +install: check + dh_testdir + dh_testroot + dh_prep + dh_installdirs + + cd build-tree && $(MAKE) DESTDIR=$(D) install + + # Special-case the lintian profile, as dh cannot rename on install. + mkdir -p $(D)/usr/share/lintian/profiles/dpkg + cp debian/dpkg.lintian-profile \ + $(D)/usr/share/lintian/profiles/dpkg/main.profile + +define dpkg-installmanl10n +for f in `sed -e 's:\*:*/*:' -e 's:^:$(D)/:' debian/$(1).manpages`; do \ + if [ -e $$f ]; then \ + install -D $$f `echo $$f | sed -e 's:^$(D):debian/$(1):'`; \ + fi; \ +done +endef + +# Put together the dpkg and dselect packages +binary-arch: install + dh_testdir -a + dh_testroot -a + dh_install -a + dh_installcron -a + dh_installlogrotate -a + dh_installlogrotate -a --name=alternatives + dh_installchangelogs -a ChangeLog* + dh_installdocs -a + $(call dpkg-installmanl10n,dpkg) + $(call dpkg-installmanl10n,dselect) + dh_installman -a + dh_link -a + dh_bugfiles -a -A + dh_lintian -a + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +# Put together the dpkg-dev package +binary-indep: install + dh_testdir -i + dh_testroot -i + dh_install -i + dh_installcron -i + dh_installchangelogs -i ChangeLog* + dh_installdocs -i -Ndpkg-dev + dh_installdocs -pdpkg-dev --doc-main-package=dpkg + $(call dpkg-installmanl10n,dpkg-dev) + dh_installman -i + dh_link -i + dh_bugfiles -i -A + dh_lintian -i + dh_perl -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +binary: binary-arch binary-indep + + +# Clean up the mess we made +clean: + dh_testdir + + [ ! -f Makefile ] || $(MAKE) distclean + rm -rf build-tree + dh_autoreconf_clean + dh_clean + + +.PHONY: build check install binary-arch binary-indep binary clean |