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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
# -*- Makefile -*-, you silly Emacs!
# vim: set ft=make:
DEBVERS ?= $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
VERSION ?= $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//')
DEBFLAVOR ?= $(shell dpkg-parsechangelog | grep -E ^Distribution: | cut -d" " -f2)
DEBPKGNAME ?= $(shell dpkg-parsechangelog | grep -E ^Source: | cut -d" " -f2)
UPSTREAM_GIT ?= git://github.com/openstack/$(DEBPKGNAME).git
GIT_TAG ?= $(shell echo '$(VERSION)' | sed -e 's/~/_/')
MANIFEST_EXCLUDE_STANDARD ?= $(DEBPKGNAME)
DEBIAN_BRANCH ?= $(shell cat debian/gbp.conf | grep debian-branch | cut -d'=' -f2 | awk '{print $1}')
# Activate xz compression
override_dh_builddeb:
dh_builddeb -- -Zxz -z9
override_dh_installinit:
# Create the init scripts from the template
for i in `ls -1 debian/*.init.in` ; do \
MYINIT=`echo $$i | sed s/.init.in//` ; \
cp $$i $$MYINIT.init ; \
cat /usr/share/openstack-pkg-tools/init-script-template >>$$MYINIT.init ; \
pkgos-gen-systemd-unit $$i ; \
done
# If there's an upstart.in file, use that one instead of the generated one
for i in `ls -1 debian/*.upstart.in` ; do \
MYPKG=`echo $$i | sed s/.upstart.in//` ; \
cp $$MYPKG.upstart.in $$MYPKG.upstart ; \
done
# Generate the upstart job if there's no already existing .upstart.in
for i in `ls debian/*.init.in` ; do \
MYINIT=`echo $$i | sed s/.init.in/.upstart.in/` ; \
if ! [ -e $$MYINIT ] ; then \
pkgos-gen-upstart-job $$i ; \
fi \
done
# Generate the systemd unit file
# Note: because dh_systemd_enable is called by the
# dh sequencer *before* dh_installinit, we have
# to process it manually.
for i in `ls debian/*.init.in` ; do \
pkgos-gen-systemd-unit $$i ; \
MYSERVICE=`echo $$i | sed 's/debian\///'` ; \
MYSERVICE=`echo $$MYSERVICE | sed 's/.init.in/.service/'` ; \
dh_systemd_enable $$MYSERVICE ; \
done
dh_installinit --error-handler=true
gen-author-list:
git log --format='%aN <%aE>' | awk '{arr[$$0]++} END{for (i in arr){print arr[i], i;}}' | sort -rn | cut -d' ' -f2-
gen-upstream-changelog:
git checkout master || git checkout upstream/master
git reset --hard $(GIT_TAG)
git log >$(CURDIR)/../CHANGELOG
git checkout debian/$(DEBFLAVOR)
mv $(CURDIR)/../CHANGELOG $(CURDIR)/debian/CHANGELOG
git add $(CURDIR)/debian/CHANGELOG
git commit -a -m "Updated upstream changelog"
override_dh_installchangelogs:
if [ -e $(CURDIR)/debian/CHANGELOG ] ; then \
dh_installchangelogs $(CURDIR)/debian/CHANGELOG ; \
else \
dh_installchangelogs ; \
fi
get-orig-source:
uscan --verbose --force-download --rename --destdir=../build-area
fetch-upstream-remote:
git remote add upstream $(UPSTREAM_GIT) || true
git fetch upstream
gen-orig-xz:
git tag -v $(GIT_TAG) || true
if [ ! -f ../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ] ; then \
git archive --prefix=$(DEBPKGNAME)-$(VERSION)/ $(GIT_TAG) | xz >../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ; \
fi
[ ! -e ../build-area ] && mkdir ../build-area || true
[ ! -e ../build-area/$(DEBPKGNAME)_$(VERSION).orig.tar.xz ] && cp ../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ../build-area
get-master-branch:
if ! git checkout master ; then \
echo "No upstream branch: checking out" ; \
git checkout -b master upstream/master ; \
fi
git checkout $(DEBIAN_BRANCH)
get-vcs-source:
$(CURDIR)/debian/rules fetch-upstream-remote
$(CURDIR)/debian/rules gen-orig-xz
$(CURDIR)/debian/rules get-master-branch
versioninfo:
echo $(VERSION) > versioninfo
display-po-stats:
cd $(CURDIR)/debian/po ; for i in *.po ; do \
echo -n $$i": " ; \
msgfmt -o /dev/null --statistic $$i ; \
done
call-for-po-trans:
podebconf-report-po --call --withtranslators --languageteam
regen-manifest-patch:
quilt pop -a || true
quilt push install-missing-files.patch
git checkout MANIFEST.in
git ls-files --no-empty-directory --exclude-standard $(MANIFEST_EXCLUDE_STANDARD) | grep -v '.py$$' | grep -v LICENSE | sed -n 's/.*/include &/gp' >> MANIFEST.in
quilt refresh
quilt pop -a
override_dh_gencontrol:
if dpkg-vendor --derives-from ubuntu ; then \
dh_gencontrol -- -T$(CURDIR)/debian/ubuntu_control_vars ; \
else \
dh_gencontrol -- -T$(CURDIR)/debian/debian_control_vars ; \
fi
.PHONY: get-vcs-source get-orig-source override_dh_installinit override_dh_builddeb regen-manifest-patch call-for-po-trans display-po-stats versioninfo
|