From 0005fa07886135d6adfec59f2d722df229b7af12 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 30 Nov 2013 22:07:38 +0100 Subject: use a substvar to set the archive-keyring in debian/control Adds a small helper to extract the small information bits we store in apt-vendor.ent and uses it in debian/rules to set apt:keyring as a substvar for debian/control populated with the &keyring-package; info --- debian/control | 2 +- debian/rules | 2 +- vendor/debian/makefile | 2 +- vendor/getinfo | 36 ++++++++++++++++++++++++++++++++++++ vendor/ubuntu/makefile | 2 +- 5 files changed, 40 insertions(+), 4 deletions(-) create mode 100755 vendor/getinfo diff --git a/debian/control b/debian/control index 84d6155a6..c70d0e9ea 100644 --- a/debian/control +++ b/debian/control @@ -17,7 +17,7 @@ XS-Testsuite: autopkgtest Package: apt Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, debian-archive-keyring, gnupg +Depends: ${shlibs:Depends}, ${misc:Depends}, ${apt:keyring}, gnupg Replaces: manpages-pl (<< 20060617-3~), manpages-it (<< 2.80-4~) Breaks: manpages-pl (<< 20060617-3~), manpages-it (<< 2.80-4~) Conflicts: python-apt (<< 0.7.93.2~) diff --git a/debian/rules b/debian/rules index 28525af50..f4f7ec06b 100755 --- a/debian/rules +++ b/debian/rules @@ -219,7 +219,7 @@ apt: build-binary build-manpages debian/apt.install dh_fixperms -p$@ dh_installdeb -p$@ dh_shlibdeps -p$@ - dh_gencontrol -p$@ + dh_gencontrol -p$@ -- -Vapt:keyring="$(shell ./vendor/getinfo keyring-package)" dh_md5sums -p$@ dh_builddeb -p$@ diff --git a/vendor/debian/makefile b/vendor/debian/makefile index 41202c6a0..dd35a70f0 100644 --- a/vendor/debian/makefile +++ b/vendor/debian/makefile @@ -8,4 +8,4 @@ include ../../buildlib/defaults.mak doc: sources.list sources.list: sources.list.in ../../doc/apt-verbatim.ent - sed -e 's#&stable-codename;#$(shell grep --max-count=1 '^ $@ + sed -e 's#&stable-codename;#$(shell ../getinfo debian-stable-codename)#g' $< > $@ diff --git a/vendor/getinfo b/vendor/getinfo new file mode 100755 index 000000000..df5a44e5c --- /dev/null +++ b/vendor/getinfo @@ -0,0 +1,36 @@ +#!/bin/sh +# small helper to extract information form *.ent files + +BASEDIR="$(readlink -f "$(dirname $0)")" +INFO="$(readlink -f "${BASEDIR}/current/apt-vendor.ent")" + +if [ -z "$INFO" ] || [ ! -e "$INFO" ]; then + echo >&2 'The current vendor is not valid or not chosen by the buildsystem yet.' + exit 1 +fi + +getrawfield() { + grep --max-count=1 "^}" + echo "${FIELD%<*}" +} + +case "$1" in +debian-stable-codename) + getrawfield 'stable-codename' "${BASEDIR}/../doc/apt-verbatim.ent" + ;; +ubuntu-codename) + getrawfield 'stable-codename' "${BASEDIR}/../doc/apt-verbatim.ent" + ;; +keyring-package) + getfield "$1" + ;; +*) + echo >&2 "Unknown data field $1 requested" + exit 2 + ;; +esac diff --git a/vendor/ubuntu/makefile b/vendor/ubuntu/makefile index 388a529a9..ea67e6e63 100644 --- a/vendor/ubuntu/makefile +++ b/vendor/ubuntu/makefile @@ -8,4 +8,4 @@ include ../../buildlib/defaults.mak doc: sources.list sources.list: sources.list.in ../../doc/apt-verbatim.ent - sed -e 's#&ubuntu-codename;#$(shell grep --max-count=1 '^ $@ + sed -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' $< > $@ -- cgit v1.2.3