diff options
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..5786bae --- /dev/null +++ b/debian/rules @@ -0,0 +1,133 @@ +#!/usr/bin/make -f +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ $(opt_no_act) + +override_dh_auto_clean: + if [ -f doc/api.backup.done ]; then rm -rf doc/api; mv doc/api.backup doc/api; rm doc/api.backup.done; else rm -rf doc/api.backup*; fi + dh_auto_clean --builddirectory debian/xzdec-build + dh_auto_clean --builddirectory debian/normal-build + dh_auto_clean --builddirectory debian/static-build + +override_dh_auto_install-indep: + +override_dh_auto_install-arch: + dh_auto_install --builddirectory debian/xzdec-build + dh_auto_install --builddirectory debian/normal-build + dh_auto_install --builddirectory debian/static-build + +override_dh_installchangelogs: + dh_installchangelogs ChangeLog + +override_dh_auto_build-indep: + if [ ! -d doc/api.backup ]; then cp --reflink=auto -ra doc/api doc/api.backup; touch doc/api.backup.done; fi + cd doxygen && sh update-doxygen + +override_dh_auto_build-arch: + dh_auto_build --builddirectory debian/normal-build + dh_auto_build --builddirectory debian/static-build + # The xzdec binary/ package is built with -Os as suggested in PACKAGERS + # to create a small binary. + @echo "blhc: ignore-line-regexp: .*-D_BLHC_IGNORE_THIS_LINE.*" + dh_auto_build --builddirectory debian/xzdec-build + +override_dh_auto_test-indep: + +override_dh_auto_test-arch: +ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + @echo Skipping tests +else + dh_auto_test --builddirectory debian/normal-build + dh_auto_test --builddirectory debian/static-build + dh_auto_test --builddirectory debian/xzdec-build +endif + +override_dh_auto_configure: + dh_auto_configure --builddirectory debian/normal-build -- \ + $(opt_reproduce) \ + --enable-threads --disable-static \ + $(opt_optimize) $(opt_quiet) \ + --disable-xzdec --disable-lzmadec + dh_auto_configure --builddirectory debian/static-build -- \ + $(opt_reproduce) \ + --enable-threads --disable-shared \ + --enable-liblzma2-compat \ + $(opt_optimize) $(opt_quiet) \ + --disable-lzmainfo --disable-scripts \ + --disable-xzdec --disable-lzmadec \ + --disable-xz --disable-lzma-links + dh_auto_configure --builddirectory debian/xzdec-build -- \ + $(opt_reproduce) \ + --disable-shared --disable-nls --disable-encoders \ + --enable-small --disable-threads \ + --disable-liblzma2-compat \ + $(opt_optimize_small) $(opt_quiet) \ + --disable-lzmainfo --disable-scripts \ + --disable-xz --disable-lzma-links + +small_flags_env = +small_flags_env += DEB_CFLAGS_MAINT_STRIP='-O2 -O3' +small_flags_env += DEB_CFLAGS_MAINT_PREPEND='-Os -D_BLHC_IGNORE_THIS_LINE' +flags_cmd = dpkg-buildflags --export=configure +opt_optimize = $(shell $(flags_cmd)) +opt_optimize_small = $(shell $(small_flags_env) $(flags_cmd)) +opt_reproduce = gl_cv_posix_shell=/bin/sh + +opt_no_act = +opt_quiet = + +# Unless noopt is set, use optimized CRC32 routine on the Hurd. +ifeq (hurd,$(shell dpkg-architecture -qDEB_HOST_ARCH_OS)) + cputype := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) + ifeq (i386,$(cputype)) + opt_optimize += --enable-assembler=x86 + opt_optimize_small += --enable-assembler=x86 + endif +endif + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + opt_optimize += --disable-assembler + opt_optimize_small += --disable-assembler +endif + +ifneq (,$(findstring n,$(MAKEFLAGS))) + opt_no_act = --no-act +endif + +ifneq (,$(filter quiet,$(DEB_BUILD_OPTIONS))) + opt_quiet = --quiet + MAKEFLAGS += --quiet +endif + +override_dh_makeshlibs: + dh_makeshlibs --add-udeb=liblzma5-udeb + +# Build a tarball with the latest upstream version. +# This is made complicated by the need to choose a nice version number. +REPO = https://git.tukaani.org/xz.git +BRANCH = master +get-orig-source: + mkdir debian-orig-source + -set -e; cd debian-orig-source; \ + : Fetch latest upstream version.; \ + git init -q; \ + git fetch -q --tags $(REPO); \ + git fetch -q $(REPO) $(BRANCH); \ + : Determine version number.; \ + commit_name=$$(git describe FETCH_HEAD); \ + release=$${commit_name%%-*}; \ + date=$$(date --utc --date="$$( \ + git log -1 --pretty=format:%cD "$$commit_name" \ + )" "+%Y%m%d"); \ + if test "$$commit_name" = "$$release"; \ + then upstream_version=$${commit_name#v}; \ + else upstream_version="$${release#v}+$${date}"; \ + fi; \ + : Generate tarball.; \ + echo "packaging $$commit_name"; \ + git archive --format=tar "$$commit_name" \ + --prefix="xz-utils-$$upstream_version/" | \ + gzip -n --rsyncable -9 \ + > "../xz-utils_$$upstream_version.orig.tar.gz" + rm -fr debian-orig-source |