define get_package_version IFS=' ()' read _ ver _ < $(1)/debian/changelog && echo $${ver##*:} endef arch := $(shell dpkg-architecture -q DEB_HOST_ARCH) version := $(shell $(call get_package_version, .)) fido_version := $(shell $(call get_package_version, libfido2)) dh_runit_version := $(shell $(call get_package_version, dh-runit)) # fido_version = 1.4.0-2 # dh_runit_version = 2.8.11 packages = openssh-client openssh-server openssh-sftp-server package_files = $(addsuffix _$(version)_$(arch).deb,$(addprefix ../,$(packages))) fido_package_files = \ fido2-tools_$(fido_version)_$(arch).deb \ fido2-tools-dbgsym_$(fido_version)_$(arch).deb \ libfido2-1_$(fido_version)_$(arch).deb \ libfido2-1-dbgsym_$(fido_version)_$(arch).deb \ libfido2-dev_$(fido_version)_$(arch).deb \ libfido2-doc_$(fido_version)_all.deb dh_runit_package_files = \ dh-runit_$(dh_runit_version)_all.deb \ runit-helper_$(dh_runit_version)_all.deb committed_build_products = config.guess config.h.in config.sub configure aclocal.m4 .DEFAULT_GOAL = build-stamp gitignore: git checkout $(committed_build_products) build-stamp: libfido2/install-stamp dh-runit/install-stamp BB_TOOL = apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -t buster-backports build-stamp: pkgs=$(package_files) libfido2/build-stamp: pkgs=$(fido_package_files) libfido2/build-stamp: mbd_tool="-t $(BB_TOOL)" dh-runit/build-stamp: pkgs=$(dh_runit_package_files) build-stamp libfido2/build-stamp dh-runit/build-stamp: cd $(dir $@) && mk-build-deps $(mbd_tool) ./debian/control --install --root-cmd sudo --remove || true cd $(dir $@) && dpkg-buildpackage -us -uc -nc for pkg in $(pkgs); do [ -e "$$pkg" ] || exit; done touch $@ $(package_files): build-stamp $(fido_package_files): libfido2/build-stamp $(dh_runit_package_files): dh-runit/build-stamp install: libfido2/install-stamp dh-runit/install-stamp install-stamp libfido2/install-stamp: dh-runit/install-stamp libfido2/build-stamp sudo dpkg -i \ libfido2-1_$(fido_version)_$(arch).deb \ libfido2-dev_$(fido_version)_$(arch).deb touch $@ dh-runit/install-stamp: dh-runit/build-stamp sudo dpkg -i \ dh-runit_$(dh_runit_version)_all.deb \ runit-helper_$(dh_runit_version)_all.deb touch $@ install-stamp: $(package_files) sudo dpkg -i $(package_files) touch $@ list: @echo $(package_files) cp: [ "$(dest)" ] cp --reflink $(package_files) '$(dest)'/ stampdirs = ./ dh-runit/ libfido2/ .PHONY: clean mrproper clean: rm -f $(addsuffix build-stamp, $(stampdirs)) $(addsuffix install-stamp, $(stampdirs)) dh-clean: dh clean mrproper: clean dh-clean gitignore