Bläddra i källkod

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
David Kalnischkies 12 år sedan
förälder
incheckning
0005fa0788
5 ändrade filer med 40 tillägg och 4 borttagningar
  1. 1 1
      debian/control
  2. 1 1
      debian/rules
  3. 1 1
      vendor/debian/makefile
  4. 36 0
      vendor/getinfo
  5. 1 1
      vendor/ubuntu/makefile

+ 1 - 1
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~)

+ 1 - 1
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$@
 

+ 1 - 1
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 '^<!ENTITY stable-codename "' ../../doc/apt-verbatim.ent | cut -d'"' -f 2)#g' $^ > $@
+	sed -e 's#&stable-codename;#$(shell ../getinfo debian-stable-codename)#g' $< > $@

+ 36 - 0
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 "^<!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

+ 1 - 1
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 '^<!ENTITY ubuntu-codename "' ../../doc/apt-verbatim.ent | cut -d'"' -f 2)#g' $^ > $@
+	sed -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' $< > $@