summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/CMakeLists.txt37
-rw-r--r--vendor/README72
-rw-r--r--vendor/blankon/apt-vendor.ent17
-rw-r--r--vendor/blankon/sources.list.in10
-rw-r--r--vendor/debian/apt-vendor.ent19
-rw-r--r--vendor/debian/sources.list.in7
-rwxr-xr-xvendor/getinfo83
-rw-r--r--vendor/raspbian/apt-vendor.ent13
-rw-r--r--vendor/raspbian/sources.list.in6
-rw-r--r--vendor/steamos/apt-vendor.ent15
-rw-r--r--vendor/steamos/sources.list.in3
-rw-r--r--vendor/ubuntu/apt-vendor.ent20
-rw-r--r--vendor/ubuntu/apt.conf-01-vendor-ubuntu1
-rw-r--r--vendor/ubuntu/sources.list.in10
14 files changed, 313 insertions, 0 deletions
diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
new file mode 100644
index 0000000..8246c72
--- /dev/null
+++ b/vendor/CMakeLists.txt
@@ -0,0 +1,37 @@
+# Determine the current vendor, export to CURRENT_VENDOR
+if (NOT DEFINED CURRENT_VENDOR)
+ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/getinfo current
+ OUTPUT_VARIABLE CURRENT_VENDOR_OUT OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ set(CURRENT_VENDOR "${CURRENT_VENDOR_OUT}" CACHE STRING "Select the system vendor")
+ message(STATUS "Detected vendor: ${CURRENT_VENDOR_OUT}")
+else()
+ message(STATUS "Detected vendor: ${CURRENT_VENDOR} (cached)")
+endif()
+
+# Handle sources.list example
+add_vendor_file(OUTPUT sources.list
+ INPUT "${CURRENT_VENDOR}/sources.list.in"
+ MODE 644
+ VARIABLES sourceslist-list-format
+ debian-stable-codename
+ debian-oldstable-codename
+ debian-testing-codename
+ ubuntu-codename
+ current-codename)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sources.list
+ DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
+
+# Handle apt.conf snippets
+file(GLOB conffiles ${CURRENT_VENDOR}/apt.conf-*)
+foreach(file ${conffiles})
+ file(RELATIVE_PATH confname ${CMAKE_CURRENT_SOURCE_DIR}/${CURRENT_VENDOR}/ ${file})
+ string(REPLACE "apt.conf-" "" confname "${confname}")
+ install(FILES "${file}"
+ DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/apt/apt.conf.d/"
+ RENAME "${confname}")
+endforeach()
+
+if (EXISTS "${CURRENT_VENDOR}/CMakeLists.txt")
+ add_subdirectory(${CURRENT_VENDOR})
+endif()
diff --git a/vendor/README b/vendor/README
new file mode 100644
index 0000000..6846c84
--- /dev/null
+++ b/vendor/README
@@ -0,0 +1,72 @@
+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.
+
+The fields sourceslist-list-format and sourceslist-sources-format are used as
+examples in the sources.list manpage and the first one is additionally
+available in the sources.list.in template.
+They should in general reflect the default sources of your distro.
+
+== 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;
+* &sourceslist-list-format;
+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, with
+"apt.conf-" removed from the beginning of the filename.
diff --git a/vendor/blankon/apt-vendor.ent b/vendor/blankon/apt-vendor.ent
new file mode 100644
index 0000000..ea7625f
--- /dev/null
+++ b/vendor/blankon/apt-vendor.ent
@@ -0,0 +1,17 @@
+<!-- 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">
+
+<!ENTITY sourceslist-list-format "deb http://arsip.blankonlinux.or.id/blankon &current-codename; main restricted
+deb http://arsip.blankonlinux.or.id/blankon &current-codename;-security main restricted
+deb http://arsip.blankonlinux.or.id/blankon &current-codename;-updates main restricted">
+
+<!ENTITY sourceslist-sources-format "Types: deb
+URIs: http://arsip.blankonlinux.or.id/blankon
+Suites: &current-codename; &current-codename;-security &current-codename;-updates
+Components: main restricted">
diff --git a/vendor/blankon/sources.list.in b/vendor/blankon/sources.list.in
new file mode 100644
index 0000000..2322e97
--- /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/apt-vendor.ent b/vendor/debian/apt-vendor.ent
new file mode 100644
index 0000000..41484c4
--- /dev/null
+++ b/vendor/debian/apt-vendor.ent
@@ -0,0 +1,19 @@
+<!-- details about the keys used by the distribution -->
+<!ENTITY keyring-distro "Debian">
+<!ENTITY keyring-package "<package>debian-archive-keyring</package>">
+<!ENTITY keyring-filename "">
+<!ENTITY keyring-removed-filename "">
+<!ENTITY keyring-master-filename "">
+<!ENTITY keyring-uri "">
+
+<!ENTITY sourceslist-list-format "deb http://deb.debian.org/debian &debian-stable-codename; main contrib non-free
+deb http://security.debian.org &debian-stable-codename;/updates main contrib non-free">
+<!ENTITY sourceslist-sources-format "Types: deb
+URIs: http://deb.debian.org/debian
+Suites: &debian-stable-codename;
+Components: main contrib non-free
+
+Types: deb
+URIs: http://security.debian.org
+Suites: &debian-stable-codename;/updates
+Components: main contrib non-free">
diff --git a/vendor/debian/sources.list.in b/vendor/debian/sources.list.in
new file mode 100644
index 0000000..73a2ec9
--- /dev/null
+++ b/vendor/debian/sources.list.in
@@ -0,0 +1,7 @@
+# See sources.list(5) manpage for more information
+# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
+&sourceslist-list-format;
+
+# Uncomment if you want the apt-get source function to work
+#deb-src http://deb.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
new file mode 100755
index 0000000..37eb74c
--- /dev/null
+++ b/vendor/getinfo
@@ -0,0 +1,83 @@
+#!/bin/sh
+# small helper to extract information form *.ent files
+
+BASEDIR="$(readlink -f "$(dirname $0)")"
+
+getcurrent() {
+ # search for an exact match to use the correct sources.list example
+ cd $BASEDIR
+ DISTROS="$(find . -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2)"
+ for DISTRO in $DISTROS; do
+ if dpkg-vendor --is $DISTRO; then
+ echo $DISTRO
+ return 0
+ fi
+ done
+
+ # 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)
+ for DISTRO in $DISTROS; do
+ if [ "$DISTRO" = 'debian' -o "$DISTRO" = 'ubuntu' ]; then continue; fi
+ if dpkg-vendor --derives-from $DISTRO; then
+ echo $DISTRO
+ return 0
+ fi
+ done
+
+ # Do the ubuntu/debian dance we talked about
+ if dpkg-vendor --derives-from ubuntu; then
+ echo $DISTRO
+ return 0
+ fi
+
+ echo debian
+ return 0
+}
+
+if [ "$1" = "--vendor" ]; then
+ CURRENT_VENDOR="$2"
+ shift 2
+else
+ CURRENT_VENDOR=$(getcurrent)
+fi
+INFO="$(readlink -f "${BASEDIR}/$CURRENT_VENDOR/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.'
+ exit 1
+fi
+
+getrawfield() {
+ awk "/<!ENTITY $1/ {f=NR} f && NR-1==f { print; exit 0 }" RS='"' "${2:-$INFO}"
+}
+
+getfield() {
+ local FIELD="$(getrawfield "$@")"
+ FIELD="${FIELD#*>}"
+ echo "${FIELD%<*}"
+}
+
+case "$1" in
+debian-stable-codename|debian-oldstable-codename|debian-testing-codename|ubuntu-codename)
+ getrawfield "$1" "$VERBATIM"
+ ;;
+sourceslist-list-format|keyring-package|keyring-filename|keyring-master-filename|keyring-removed-filename|keyring-uri|current-codename)
+ exec $0 --vendor $CURRENT_VENDOR 'vendor' "$@"
+ ;;
+vendor)
+ getfield "$2"
+ ;;
+verbatim)
+ getfield "$2" "$VERBATIM"
+ ;;
+current)
+ echo $CURRENT_VENDOR
+ ;;
+*)
+ echo >&2 "Unknown data field $1 requested"
+ exit 2
+ ;;
+esac
diff --git a/vendor/raspbian/apt-vendor.ent b/vendor/raspbian/apt-vendor.ent
new file mode 100644
index 0000000..96d9fb7
--- /dev/null
+++ b/vendor/raspbian/apt-vendor.ent
@@ -0,0 +1,13 @@
+<!-- details about the keys used by the distribution -->
+<!ENTITY keyring-distro "Raspbian">
+<!ENTITY keyring-package "<package>raspbian-archive-keyring</package>">
+<!ENTITY keyring-filename "<filename>/usr/share/keyrings/raspbian-archive-keyring.gpg</filename>">
+<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/raspbian-archive-removed-keys.gpg</filename>">
+<!ENTITY keyring-master-filename "">
+<!ENTITY keyring-uri "">
+
+<!ENTITY sourceslist-list-format "deb http://mirrordirector.raspbian.org/raspbian &debian-stable-codename; main contrib non-free">
+<!ENTITY sourceslist-sources-format "Types: deb
+URIs: http://mirrordirector.raspbian.org/raspbian
+Suites: &debian-stable-codename;
+Components: main contrib non-free">
diff --git a/vendor/raspbian/sources.list.in b/vendor/raspbian/sources.list.in
new file mode 100644
index 0000000..ea4ee60
--- /dev/null
+++ b/vendor/raspbian/sources.list.in
@@ -0,0 +1,6 @@
+# See sources.list(5) manpage for more information
+# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
+&sourceslist-list-format;
+
+# Uncomment if you want the apt-get source function to work
+#deb-src http://mirrordirector.raspbian.org/raspbian &debian-stable-codename; main contrib non-free
diff --git a/vendor/steamos/apt-vendor.ent b/vendor/steamos/apt-vendor.ent
new file mode 100644
index 0000000..7cf100f
--- /dev/null
+++ b/vendor/steamos/apt-vendor.ent
@@ -0,0 +1,15 @@
+<!-- details about the keys used by the distribution -->
+<!ENTITY keyring-distro "SteamOS">
+<!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 keyring-master-filename "">
+<!ENTITY keyring-uri "">
+<!ENTITY current-codename "alchemist">
+
+<!ENTITY sourceslist-list-format "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">
+<!ENTITY sourceslist-sources-format "Types: deb deb-src
+URIs: http://repo.steampowered.com/steamos
+Suites: &current-codename;
+Components: main contrib non-free">
diff --git a/vendor/steamos/sources.list.in b/vendor/steamos/sources.list.in
new file mode 100644
index 0000000..246d2e3
--- /dev/null
+++ b/vendor/steamos/sources.list.in
@@ -0,0 +1,3 @@
+# See sources.list(5) manpage for more information
+# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
+&sourceslist-list-format;
diff --git a/vendor/ubuntu/apt-vendor.ent b/vendor/ubuntu/apt-vendor.ent
new file mode 100644
index 0000000..dcebc92
--- /dev/null
+++ b/vendor/ubuntu/apt-vendor.ent
@@ -0,0 +1,20 @@
+<!-- details about the keys used by the distribution -->
+<!ENTITY keyring-distro "Ubuntu">
+<!ENTITY keyring-package "<package>ubuntu-keyring</package>">
+<!ENTITY keyring-filename "<filename>/usr/share/keyrings/ubuntu-archive-keyring.gpg</filename>">
+<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/ubuntu-archive-removed-keys.gpg</filename>">
+<!ENTITY keyring-master-filename "/usr/share/keyrings/ubuntu-master-keyring.gpg">
+<!ENTITY keyring-uri "http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg">
+
+<!ENTITY sourceslist-list-format "deb http://us.archive.ubuntu.com/ubuntu &ubuntu-codename; main restricted
+deb http://security.ubuntu.com/ubuntu &ubuntu-codename;-security main restricted
+deb http://us.archive.ubuntu.com/ubuntu &ubuntu-codename;-updates main restricted">
+<!ENTITY sourceslist-sources-format "Types: deb
+URIs: http://us.archive.ubuntu.com/ubuntu
+Suites: &ubuntu-codename; &ubuntu-codename;-updates
+Components: main restricted
+
+Types: deb
+URIs: http://security.ubuntu.com/ubuntu
+Suites: &ubuntu-codename;-security
+Components: main restricted">
diff --git a/vendor/ubuntu/apt.conf-01-vendor-ubuntu b/vendor/ubuntu/apt.conf-01-vendor-ubuntu
new file mode 100644
index 0000000..44e6847
--- /dev/null
+++ b/vendor/ubuntu/apt.conf-01-vendor-ubuntu
@@ -0,0 +1 @@
+Acquire::Changelogs::AlwaysOnline "true";
diff --git a/vendor/ubuntu/sources.list.in b/vendor/ubuntu/sources.list.in
new file mode 100644
index 0000000..00db2f8
--- /dev/null
+++ b/vendor/ubuntu/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://us.archive.ubuntu.com/ubuntu &ubuntu-codename; main restricted
+deb-src http://us.archive.ubuntu.com/ubuntu &ubuntu-codename; main restricted
+
+deb http://security.ubuntu.com/ubuntu &ubuntu-codename;-security main restricted
+deb-src http://security.ubuntu.com/ubuntu &ubuntu-codename;-security main restricted
+
+deb http://us.archive.ubuntu.com/ubuntu &ubuntu-codename;-updates main restricted
+deb-src http://us.archive.ubuntu.com/ubuntu &ubuntu-codename;-updates main restricted