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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
# -*- Makefile -*-, you silly Emacs!
# vim: set ft=make:
PYTHONS:=$(shell pyversions -vr)
PYTHON3S:=$(shell py3versions -vr)
DEBVERS ?= $(shell dpkg-parsechangelog -SVersion)
VERSION ?= $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//')
DEBFLAVOR ?= $(shell dpkg-parsechangelog -SDistribution)
DEBPKGNAME ?= $(shell dpkg-parsechangelog -SSource)
UPSTREAM_GIT ?= https://github.com/openstack/$(DEBPKGNAME).git
GIT_TAG ?= $(shell echo '$(VERSION)' | sed -e 's/~/_/g')
MANIFEST_EXCLUDE_STANDARD ?= $(DEBPKGNAME)
DEBIAN_BRANCH ?= $(shell cat debian/gbp.conf | grep debian-branch | cut -d'=' -f2 | awk '{print $1}')
export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog -SVersion | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~git.*//' -e 's/~bpo.*//' -e 's/~/.0/' -e 's/+dfsg1//' -e 's/+ds1//' -e 's/~/.0/' | head -n 1)
export PBR_VERSION=$(shell dpkg-parsechangelog -SVersion | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~git.*//' -e 's/~bpo.*//' -e 's/~/.0/' -e 's/+dfsg1//' -e 's/+ds1//' -e 's/~/.0/' | head -n 1)
gen-init-configurations:
# Create the init scripts and systemd unit files from the template
set -e ; set -x ; 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 a service.in file, use that one instead of the generated one
set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \
MYPKG=`echo $$i | sed s/.service.in//` ; \
cp $$MYPKG.service.in $$MYPKG.service ; \
done
# Generate the systemd unit if there's no already existing .service.in
set -e ; set -x ; for i in `ls debian/*.init.in` ; do \
MYINIT=`echo $$i | sed s/.init.in/.service.in/` ; \
if ! [ -e $$MYINIT ] ; then \
pkgos-gen-systemd-unit $$i ; \
fi \
done
override_dh_installsystemd: gen-init-configurations
dh_installsystemd
override_dh_installinit: gen-init-configurations
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:
ifeq (,$(findstring https:,$(UPSTREAM_GIT)))
$(error Using insecure proto in UPSTREAM_GIT: $(UPSTREAM_GIT))
endif
git remote add upstream $(UPSTREAM_GIT) || true
git remote set-url upstream $(UPSTREAM_GIT)
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
gen-orig-gz:
git tag -v $(GIT_TAG) || true
if [ ! -f ../$(DEBPKGNAME)_$(VERSION).orig.tar.gz ] ; then \
git archive --prefix=$(DEBPKGNAME)-$(VERSION)/ $(GIT_TAG) | gzip >../$(DEBPKGNAME)_$(VERSION).orig.tar.gz ; \
fi
[ ! -e ../build-area ] && mkdir ../build-area || true
[ ! -e ../build-area/$(DEBPKGNAME)_$(VERSION).orig.tar.gz ] && cp ../$(DEBPKGNAME)_$(VERSION).orig.tar.gz ../build-area
gen-orig-bz2:
git tag -v $(GIT_TAG) || true
if [ ! -f ../$(DEBPKGNAME)_$(VERSION).orig.tar.bz2 ] ; then \
git archive --prefix=$(DEBPKGNAME)-$(VERSION)/ $(GIT_TAG) | bzip2 >../$(DEBPKGNAME)_$(VERSION).orig.tar.bz2 ; \
fi
[ ! -e ../build-area ] && mkdir ../build-area || true
[ ! -e ../build-area/$(DEBPKGNAME)_$(VERSION).orig.tar.bz2 ] && cp ../$(DEBPKGNAME)_$(VERSION).orig.tar.bz2 ../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 regen-manifest-patch call-for-po-trans display-po-stats versioninfo
|