summaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/README66
-rw-r--r--vendor/blankon/apt-vendor.ent8
-rw-r--r--vendor/blankon/sources.list.in10
-rw-r--r--vendor/debian/makefile17
-rw-r--r--vendor/debian/sources.list.in8
-rwxr-xr-xvendor/getinfo20
-rw-r--r--vendor/makefile38
-rw-r--r--vendor/raspbian/makefile16
-rw-r--r--vendor/steamos/apt-vendor.ent2
-rw-r--r--vendor/steamos/makefile17
-rw-r--r--vendor/steamos/sources.list.in4
-rw-r--r--vendor/tanglu/apt-vendor.ent1
-rw-r--r--vendor/tanglu/makefile16
-rw-r--r--vendor/tanglu/sources.list.in8
-rw-r--r--vendor/ubuntu/apt.conf-01-vendor-ubuntu6
-rw-r--r--vendor/ubuntu/makefile16
-rw-r--r--vendor/vendor.makefile21
17 files changed, 159 insertions, 115 deletions
diff --git a/vendor/README b/vendor/README
new file mode 100644
index 000000000..c2fabbd4c
--- /dev/null
+++ b/vendor/README
@@ -0,0 +1,66 @@
+The vendor system in APT is an experiment to help distributions ship a stock
+apt release instead of applying documentation patches to it, increasing
+maintenance burden for everyone and hiding 'interesting' patches in the mix.
+
+The provided information is used in the apt-key script and in documentation
+like manpages and example configuration files. If you have patches modifying
+additional bits and pieces currently not covered by this system please
+contact us so we can change this!
+
+
+== Adding a new vendor
+
+In the same directory you found this README in you should create a new
+directory with the name of your distribution (as defined by dpkg-vendor,
+ e.g. via "dpkg-vendor --query Vendor"). The name is case-insensitive,
+but ensure that the name is otherwise correct and the other fields in
+your deb-origin(5) file are correct as well as our buildsystem relies on
+this information.
+
+If no information is found for the current vendor at buildtime, the system
+looks for a vendor the current vendor is a derivative of, falling back to
+Debian if all else fails.
+
+The directory should include 2 files at the moment. It is best to look
+at the files of other distributions to understand what values are to be
+expected. Some additional notes about them can be found below.
+
+If we happen to include new fields/files in this system, we will opt for
+using a sensible default rather than failing the build or similar, so
+you are recommend to watch this space.
+Ensure also that your information is up-to-date!
+
+Contributing a new vendor as well as updating a existing one is best done
+by opening a bug in the Debian BTS against apt with a patch attached.
+
+
+== apt-vendor.ent
+
+The format used is the one DocBook XML uses. The file is included as an
+entity file in the manpages xml source, so the syntax has to be valid!
+
+The keyring-* settings are additionally used also in the creation of the
+apt-key script and the keyring-package in particular as a dependency for apt.
+
+The field current-codename is optional and can be used in sources.list.in.
+
+
+== sources.list.in
+
+An example for a sources.list which will be shipped in /usr/share/doc.
+This file will NOT be installed in /etc or otherwise used by apt.
+
+You can use some placeholders in this file, namely:
+* &debian-stable-codename;
+* &debian-oldstable-codename;
+* &debian-testing-codename;
+* &ubuntu-codename;
+with the value you would expect based on the name.
+
+The placeholder &current-codename; is yours and can be set in apt-vendor.ent
+
+
+== apt.conf-*
+
+Files in your vendor directory following this naming scheme will be picked up
+by the debian/rules file and installed in /etc/apt/apt.conf.d/ directory.
diff --git a/vendor/blankon/apt-vendor.ent b/vendor/blankon/apt-vendor.ent
new file mode 100644
index 000000000..2600eb715
--- /dev/null
+++ b/vendor/blankon/apt-vendor.ent
@@ -0,0 +1,8 @@
+<!-- details about the keys used by the distribution -->
+<!ENTITY keyring-distro "BlankOn">
+<!ENTITY keyring-package "<package>blankon-keyring</package>">
+<!ENTITY keyring-filename "<filename>/usr/share/keyrings/blankon-archive-keyring.gpg</filename>">
+<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/blankon-archive-removed-keys.gpg</filename>">
+<!ENTITY keyring-master-filename "/usr/share/keyrings/blankon-master-keyring.gpg">
+<!ENTITY keyring-uri "http://arsip.blankonlinux.or.id/blankon/project/blankon-archive-keyring.gpg">
+<!ENTITY current-codename "tambora">
diff --git a/vendor/blankon/sources.list.in b/vendor/blankon/sources.list.in
new file mode 100644
index 000000000..2322e974d
--- /dev/null
+++ b/vendor/blankon/sources.list.in
@@ -0,0 +1,10 @@
+# See sources.list(5) manpage for more information
+# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
+deb http://arsip.blankonlinux.or.id/blankon &current-codename; main restricted
+deb-src http://arsip.blankonlinux.or.id/blankon &current-codename; main restricted
+
+deb http://arsip.blankonlinux.or.id/blankon &current-codename;-security main restricted
+deb-src http://arsip.blankonlinux.or.id/blankon &current-codename;-security main restricted
+
+deb http://arsip.blankonlinux.or.id/blankon &current-codename;-updates main restricted
+deb-src http://arsip.blankonlinux.or.id/blankon &current-codename;-updates main restricted
diff --git a/vendor/debian/makefile b/vendor/debian/makefile
deleted file mode 100644
index 25bc0350c..000000000
--- a/vendor/debian/makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- make -*-
-BASE=../..
-SUBDIR=vendor/debian
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-doc binary manpages: sources.list
-
-sources.list: sources.list.in ../../doc/apt-verbatim.ent
- sed -e 's#&stable-codename;#$(shell ../getinfo debian-stable-codename)#g' $< > $@
-
-clean: clean/sources.list
-
-clean/sources.list:
- rm -f sources.list
-
diff --git a/vendor/debian/sources.list.in b/vendor/debian/sources.list.in
index 745e32cbe..2e430296a 100644
--- a/vendor/debian/sources.list.in
+++ b/vendor/debian/sources.list.in
@@ -1,8 +1,8 @@
# See sources.list(5) manpage for more information
# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
-deb http://ftp.us.debian.org/debian &stable-codename; main contrib non-free
-deb http://security.debian.org &stable-codename;/updates main contrib non-free
+deb http://ftp.us.debian.org/debian &debian-stable-codename; main contrib non-free
+deb http://security.debian.org &debian-stable-codename;/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
-#deb-src http://ftp.us.debian.org/debian &stable-codename; main contrib non-free
-#deb-src http://security.debian.org &stable-codename;/updates main contrib non-free
+#deb-src http://ftp.us.debian.org/debian &debian-stable-codename; main contrib non-free
+#deb-src http://security.debian.org &debian-stable-codename;/updates main contrib non-free
diff --git a/vendor/getinfo b/vendor/getinfo
index 4422f5d78..d45c0fca2 100755
--- a/vendor/getinfo
+++ b/vendor/getinfo
@@ -3,6 +3,7 @@
BASEDIR="$(readlink -f "$(dirname $0)")"
INFO="$(readlink -f "${BASEDIR}/current/apt-vendor.ent")"
+VERBATIM="${BASEDIR}/../doc/apt-verbatim.ent"
if [ -z "$INFO" ] || [ ! -e "$INFO" ]; then
echo >&2 'The current vendor is not valid or not chosen by the buildsystem yet.'
@@ -20,17 +21,20 @@ getfield() {
}
case "$1" in
-debian-stable-codename)
- getrawfield 'stable-codename' "${BASEDIR}/../doc/apt-verbatim.ent"
- ;;
-tanglu-codename)
- getrawfield 'tanglu-codename' "${BASEDIR}/../doc/apt-verbatim.ent"
+debian-stable-codename|debian-oldstable-codename|debian-testing-codename)
+ getrawfield "${1#*-}" "$VERBATIM"
;;
ubuntu-codename)
- getrawfield 'ubuntu-codename' "${BASEDIR}/../doc/apt-verbatim.ent"
+ getrawfield "$1" "$VERBATIM"
+ ;;
+keyring-package|keyring-filename|keyring-master-filename|keyring-removed-filename|keyring-uri|current-codename)
+ exec $0 'vendor' "$@"
+ ;;
+vendor)
+ getfield "$2"
;;
-keyring-package|keyring-filename|keyring-master-filename|keyring-removed-filename|keyring-uri|current-distro-codename)
- getfield "$1"
+verbatim)
+ getfield "$2" "$VERBATIM"
;;
*)
echo >&2 "Unknown data field $1 requested"
diff --git a/vendor/makefile b/vendor/makefile
index 619c603fb..0701a03eb 100644
--- a/vendor/makefile
+++ b/vendor/makefile
@@ -14,11 +14,9 @@ veryclean: veryclean/subdirs
dirs: dirs/subdirs
manpages: manpages/subdirs
-all/subdirs binary/subdirs doc/subdirs dirs/subdirs manpages/subdirs:
- $(MAKE) -C current $(patsubst %/subdirs,%,$@)
-
-clean/subdirs veryclean/subdirs:
- test ! -e current || $(MAKE) -C current $(patsubst %/subdirs,%,$@)
+all/subdirs binary/subdirs doc/subdirs dirs/subdirs manpages/subdirs clean/subdirs veryclean/subdirs:
+ test ! -e current/makefile || $(MAKE) -C current $(patsubst %/subdirs,%,$@)
+ test ! -e current/makefile.auto || $(MAKE) -C current -f makefile.auto $(patsubst %/subdirs,%,$@)
current:
rm -f $@
@@ -29,17 +27,29 @@ current:
break; \
fi; \
done
- # if we haven't found a specific, look for a deriving in hardcoded order
- test -e $@ || \
- (dpkg-vendor --derives-from ubuntu && cp ln -s ubuntu $@ ) || \
- (dpkg-vendor --derives-from tanglu && cp ln -s tanglu $@ ) || \
- ln -s debian $@
+ # if we haven't found a specific, look for a deriving
+ # we do ubuntu and debian last as those are the biggest families
+ # and would therefore potentially 'shadow' smaller families
+ # (especially debian as it sorts quiet early)
+ if ! test -e $@; then \
+ find -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do \
+ if [ "$$DISTRO" = 'debian' -o "$$DISTRO" = 'ubuntu' ]; then continue; fi; \
+ if dpkg-vendor --derives-from $$DISTRO; then \
+ ln -s $$DISTRO $@; \
+ break; \
+ fi; \
+ done; \
+ test -e $@ || \
+ (dpkg-vendor --derives-from ubuntu && cp ln -s ubuntu $@ ) || \
+ ln -s debian $@; \
+ fi
+ if test ! -e current/makefile; then \
+ sed "s#@@VENDOR@@#$(notdir $(shell readlink -f current))#" vendor.makefile > current/makefile.auto; \
+ fi
.PHONY: clean veryclean all binary vendor
-.NOPARALLEL:
clean: clean/current
-clean/current:
- test ! -e current || $(MAKE) -C current clean
- rm -f current
+clean/current: clean/subdirs
+ rm -f current/makefile.auto current
diff --git a/vendor/raspbian/makefile b/vendor/raspbian/makefile
deleted file mode 100644
index c4464900f..000000000
--- a/vendor/raspbian/makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- make -*-
-BASE=../..
-SUBDIR=vendor/raspbian
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-doc binary manpages: sources.list
-
-sources.list: sources.list.in ../../doc/apt-verbatim.ent
- sed -e 's#&stable-codename;#$(shell ../getinfo debian-stable-codename)#g' $< > $@
-
-clean: clean/sources.list
-
-clean/sources.list:
- rm -f sources.list
diff --git a/vendor/steamos/apt-vendor.ent b/vendor/steamos/apt-vendor.ent
index 69bb254ef..dc1b798e6 100644
--- a/vendor/steamos/apt-vendor.ent
+++ b/vendor/steamos/apt-vendor.ent
@@ -3,6 +3,6 @@
<!ENTITY keyring-package "<package>valve-archive-keyring</package>">
<!ENTITY keyring-filename "<filename>/usr/share/keyrings/valve-archive-keyring.gpg</filename>">
<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/valve-archive-removed-keys.gpg</filename>">
-<!ENTITY current-distro-codename "alchemist">
<!ENTITY keyring-master-filename "">
<!ENTITY keyring-uri "">
+<!ENTITY current-codename "alchemist">
diff --git a/vendor/steamos/makefile b/vendor/steamos/makefile
deleted file mode 100644
index 9ee0e65a2..000000000
--- a/vendor/steamos/makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- make -*-
-BASE=../..
-SUBDIR=vendor/steamos
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-doc binary manpages: sources.list
-
-sources.list: sources.list.in ../../doc/apt-verbatim.ent
- sed -e 's#&stable-codename;#$(shell ../getinfo debian-stable-codename)#g' $< | sed -e 's#&steamos-codename;#$(shell ../getinfo current-distro-codename)#g' > $@
-
-clean: clean/sources.list
-
-clean/sources.list:
- rm -f sources.list
-
diff --git a/vendor/steamos/sources.list.in b/vendor/steamos/sources.list.in
index fed6c3818..69174d090 100644
--- a/vendor/steamos/sources.list.in
+++ b/vendor/steamos/sources.list.in
@@ -1,5 +1,5 @@
# See sources.list(5) manpage for more information
# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
-deb http://repo.steampowered.com/steamos &steamos-codename; main contrib non-free
-deb-src http://repo.steampowered.com/steamos &steamos-codename; main contrib non-free
+deb http://repo.steampowered.com/steamos &current-codename; main contrib non-free
+deb-src http://repo.steampowered.com/steamos &current-codename; main contrib non-free
diff --git a/vendor/tanglu/apt-vendor.ent b/vendor/tanglu/apt-vendor.ent
index 4b70a5f82..d2442209c 100644
--- a/vendor/tanglu/apt-vendor.ent
+++ b/vendor/tanglu/apt-vendor.ent
@@ -5,3 +5,4 @@
<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/tanglu-archive-removed-keys.gpg</filename>">
<!ENTITY keyring-master-filename "">
<!ENTITY keyring-uri "">
+<!ENTITY current-codename "bartholomea">
diff --git a/vendor/tanglu/makefile b/vendor/tanglu/makefile
deleted file mode 100644
index 9fe680bc6..000000000
--- a/vendor/tanglu/makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- make -*-
-BASE=../..
-SUBDIR=vendor/tanglu
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-doc binary manpages: sources.list
-
-sources.list: sources.list.in ../../doc/apt-verbatim.ent
- sed -e 's#&tanglu-codename;#$(shell ../getinfo tanglu-codename)#g' $< > $@
-
-clean: clean/sources.list
-
-clean/sources.list:
- rm -f sources.list
diff --git a/vendor/tanglu/sources.list.in b/vendor/tanglu/sources.list.in
index dfa219046..ce95e70c2 100644
--- a/vendor/tanglu/sources.list.in
+++ b/vendor/tanglu/sources.list.in
@@ -1,7 +1,7 @@
# See sources.list(5) manpage for more information
-deb http://archive.tanglu.org/tanglu &tanglu-codename; main contrib non-free
-#deb-src http://archive.tanglu.org/tanglu &tanglu-codename; main contrib non-free
+deb http://archive.tanglu.org/tanglu &current-codename; main contrib non-free
+#deb-src http://archive.tanglu.org/tanglu &current-codename; main contrib non-free
-#deb http://archive.tanglu.org/tanglu &tanglu-codename;-updates main contrib non-free
-#deb-src http://archive.tanglu.org/tanglu &tanglu-codename;-updates main contrib non-free
+#deb http://archive.tanglu.org/tanglu &current-codename;-updates main contrib non-free
+#deb-src http://archive.tanglu.org/tanglu &current-codename;-updates main contrib non-free
diff --git a/vendor/ubuntu/apt.conf-01-vendor-ubuntu b/vendor/ubuntu/apt.conf-01-vendor-ubuntu
new file mode 100644
index 000000000..c4092ff44
--- /dev/null
+++ b/vendor/ubuntu/apt.conf-01-vendor-ubuntu
@@ -0,0 +1,6 @@
+// Server information for apt-changelog
+APT {
+ Changelogs {
+ Server "http://changelogs.ubuntu.com/changelogs";
+ };
+};
diff --git a/vendor/ubuntu/makefile b/vendor/ubuntu/makefile
deleted file mode 100644
index afcaaf718..000000000
--- a/vendor/ubuntu/makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- make -*-
-BASE=../..
-SUBDIR=vendor/ubuntu
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-doc binary manpages: sources.list
-
-sources.list: sources.list.in ../../doc/apt-verbatim.ent
- sed -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' $< > $@
-
-clean: clean/sources.list
-
-clean/sources.list:
- rm -f sources.list
diff --git a/vendor/vendor.makefile b/vendor/vendor.makefile
new file mode 100644
index 000000000..40b35ea3d
--- /dev/null
+++ b/vendor/vendor.makefile
@@ -0,0 +1,21 @@
+# -*- make -*-
+BASE=../..
+SUBDIR=vendor/@@VENDOR@@
+
+# Bring in the default rules
+include ../../buildlib/defaults.mak
+
+doc binary manpages: sources.list
+
+sources.list: sources.list.in ../../doc/apt-verbatim.ent
+ sed -e 's#&debian-stable-codename;#$(shell ../getinfo debian-stable-codename)#g' \
+ -e 's#&debian-oldstable-codename;#$(shell ../getinfo debian-oldstable-codename)#g' \
+ -e 's#&debian-testing-codename;#$(shell ../getinfo debian-testing-codename)#g' \
+ -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' \
+ -e 's#&current-codename;#$(shell ../getinfo current-codename)#g' \
+ $< > $@
+
+clean: clean/sources.list
+
+clean/sources.list:
+ rm -f sources.list