]> git.saurik.com Git - apt.git/commitdiff
use a substvar to set the archive-keyring in debian/control
authorDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 30 Nov 2013 21:07:38 +0000 (22:07 +0100)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 30 Nov 2013 22:34:15 +0000 (23:34 +0100)
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
debian/rules
vendor/debian/makefile
vendor/getinfo [new file with mode: 0755]
vendor/ubuntu/makefile

index 84d6155a6c0b8de25577203a38219325331d3c81..c70d0e9eaab2f6e862cb3505a2093229f2adad74 100644 (file)
@@ -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~)
index 28525af5062fe88a1c462e6ca3ca9790d8a98117..f4f7ec06bd803413137cca5deaf0a836d36f392e 100755 (executable)
@@ -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$@
 
index 41202c6a0f22022a5dd898f0c3f2fdde6cebc073..dd35a70f0a27af9fe0a135788c0b5ce563b29a27 100644 (file)
@@ -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 '^<!ENTITY stable-codename "' ../../doc/apt-verbatim.ent | cut -d'"' -f 2)#g' $^ > $@
+       sed -e 's#&stable-codename;#$(shell ../getinfo debian-stable-codename)#g' $< > $@
diff --git a/vendor/getinfo b/vendor/getinfo
new file mode 100755 (executable)
index 0000000..df5a44e
--- /dev/null
@@ -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 "^<!ENTITY $1 \"" "${2:-$INFO}" | cut -d'"' -f 2
+}
+
+getfield() {
+       local FIELD="$(getrawfield "$@")"
+       FIELD="${FIELD#*>}"
+       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
index 388a529a92292ab2708607c78bc201b6fe0f3a69..ea67e6e6339ba0385917313bec2f9a0985601201 100644 (file)
@@ -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 '^<!ENTITY ubuntu-codename "' ../../doc/apt-verbatim.ent | cut -d'"' -f 2)#g' $^ > $@
+       sed -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' $< > $@