1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --parallel --with autoreconf
## http://wiki.debian.org/onlyjob/get-orig-source
PKD = $(word 1,$(abspath $(dir $(MAKEFILE_LIST))))
PKG = $(word 2,$(shell dpkg-parsechangelog -l$(PKD)/changelog | grep ^Source))
UVER = $(shell dpkg-parsechangelog -l$(PKD)/changelog | perl -ne 'print $$1 if m{^Version:\s+(?:\d+:)?(\d.*)(?:\-\d+.*)};')
DTYPE =
VER ?= $(subst $(DTYPE),,$(UVER))
UURL = http://git.drumgizmo.org/dgedit.git
UDATE = $(shell date --rfc-3339=seconds --date='TZ="UTC" $(shell echo $(VER) | perl -ne 'print "$$1-$$2-$$3" if m/\+(?:git|svn|hg)(\d{4})(\d{2})(\d{2})/')')
.PHONY: get-orig-source
get-orig-source: $(PKG)_$(VER)$(DTYPE).orig.tar.xz $(info I: $(PKG)_$(VER)$(DTYPE))
@
$(PKG)_$(VER)$(DTYPE).orig.tar.xz: $(info I: UDATE=$(UDATE))
$(if $(wildcard $(PKG)-$(VER)),$(error $(PKG)-$(VER) exist, aborting..))
@echo "# Downloading..."
git clone $(UURL) $(PKG)-$(VER) \
|| $(RM) -r $(PKG)-$(VER)
cd $(PKG)-$(VER) \
&& git checkout v$(VER) || git checkout $$(git log -n1 --format=%h --before="$(UDATE)") \
&& [ -s ChangeLog ] || ( echo "# Generating ChangeLog..." \
; git log --pretty="format:%ad %aN <%aE>%n%n%x09* %s%n" --date=short > ChangeLog \
; touch -d "$$(git log -1 --format='%ci')" ChangeLog) \
&& echo "# Setting times..." \
&& git ls-tree -r --name-only HEAD | while read F ; do touch --no-dereference -d "$$(git log -1 --format="%ai" -- "$$F")" "$$F"; done \
&& echo "# Cleaning-up..." \
&& $(RM) -r .git .git*
@echo "# Packing..."
find -L "$(PKG)-$(VER)" -xdev -type f -print | LC_ALL=C sort \
| XZ_OPT="-6v" tar -caf "$(PKG)_$(VER)$(DTYPE).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX \
&& $(RM) -r "$(PKG)-$(VER)"
|