#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 PKD = $(abspath $(dir $(MAKEFILE_LIST))) PKG = $(word 2,$(shell dpkg-parsechangelog -l$(PKD)/changelog | grep ^Source)) VER = $(shell dpkg-parsechangelog -l$(PKD)/changelog -SVersion | perl -ne 'print $$1 if m{(\d.*)(?:\-\d+.*)};') PKGG = $(patsubst %-pkg,%,$(PKG)) VERG = $(shell dpkg-parsechangelog -l$(PKGG)/debian/changelog -SVersion | perl -ne 'print $$1 if m{(\d.*)};') ## check if host package version (without debian revision) match full version of encapsulated guest package ifneq ($(VER), $(VERG)) $(error Error: Packages' version mismatch: host(upstream part)/$(VER) != guest/$(VERG)) endif %: debian/po/templates.pot dh $@ debian/po/templates.pot: debconf-updatepo --verbose override_dh_installchangelogs: dh_installchangelogs $(PKGG)/debian/changelog override_dh_gencontrol: dh_gencontrol -v -- \ -Vguest:Build-Depends="$(shell perl -0n -E 's{^#.*$$}{}mg;' -E 'print $$1 if m{^Build-Depends:([^:A-Z]+)}ms;' $(PKGG)/debian/control)" \ -Vguest:Provides="$(shell perl -0nE 'print join q{,},m{^Package:\s+([^\s]+)}smg;' $(PKGG)/debian/control)" \ -Vguest:Recommends="$(shell perl -0n -E 'print $$1 if m{^Recommends:([^:A-Z]+)}ms;' $(PKGG)/debian/control)" \ -Vguest:Suggests="$(shell perl -0n -E 'print $$1 if m{^Suggests:([^:A-Z]+)}ms;' $(PKGG)/debian/control)" \ -Vguest:Description="$(shell perl -0n -E 's/^Description:[^\n]+\K/./sm; s/\n\n|\Z/EEooDD/smg; s/\n\s+\.?/\\\$${Newline}/smg; print $$1 if m/^Description:\s*(.+?)EEooDD/ms;' $(PKGG)/debian/control)" \ -Vguest="$(PKGG)" override_dh_builddeb: dh_builddeb -- -Zxz .PHONY: get-orig-source XZ_FILES=$(notdir $(wildcard $(PKGG)/*.xz)) SHA_FILES=$(addprefix $(PKGG)/, $(XZ_FILES:.xz=.xz.sha256)) DELTA_FILES=$(addprefix $(PKGG)/, $(XZ_FILES:.xz=.xz.delta)) #$(info XZ_FILES="$(XZ_FILES)" SHA_FILES="$(SHA_FILES)") get-orig-source: $(PKG)_$(VER).orig.tar.xz @ $(SHA_FILES): sha256sum $(@:.xz.sha256=.xz) | sed 's! .*/! /usr/src/$(PKG)/!' > $@ $(DELTA_FILES): pristine-xz gendelta $(@:.xz.delta=.xz) $@ $(PKG)_$(VER).orig.tar.xz: $(SHA_FILES) mkdir $(PKG)_$(VER) cp --archive --recursive $(PKGG) $(PKG)_$(VER)/ find -L "$(PKG)_$(VER)" -xdev -type f -print | LC_ALL=C sort \ | XZ_OPT="-6v" tar -caf $(PKG)_$(VER).orig.tar.xz -T- --exclude="*.xz" --owner=root --group=root --mode=a+rX $(RM) -r $(PKG)_$(VER)