diff options
Diffstat (limited to '')
-rw-r--r-- | vendor/CMakeLists.txt | 37 | ||||
-rw-r--r-- | vendor/README | 72 | ||||
-rw-r--r-- | vendor/blankon/apt-vendor.ent | 17 | ||||
-rw-r--r-- | vendor/blankon/sources.list.in | 10 | ||||
-rw-r--r-- | vendor/debian/apt-vendor.ent | 19 | ||||
-rw-r--r-- | vendor/debian/sources.list.in | 7 | ||||
-rwxr-xr-x | vendor/getinfo | 83 | ||||
-rw-r--r-- | vendor/raspbian/apt-vendor.ent | 13 | ||||
-rw-r--r-- | vendor/raspbian/sources.list.in | 6 | ||||
-rw-r--r-- | vendor/steamos/apt-vendor.ent | 15 | ||||
-rw-r--r-- | vendor/steamos/sources.list.in | 3 | ||||
-rw-r--r-- | vendor/ubuntu/apt-vendor.ent | 20 | ||||
-rw-r--r-- | vendor/ubuntu/apt.conf-01-vendor-ubuntu | 1 | ||||
-rw-r--r-- | vendor/ubuntu/sources.list.in | 10 |
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 ¤t-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 ¤t-codename; main restricted +deb http://arsip.blankonlinux.or.id/blankon ¤t-codename;-security main restricted +deb http://arsip.blankonlinux.or.id/blankon ¤t-codename;-updates main restricted"> + +<!ENTITY sourceslist-sources-format "Types: deb +URIs: http://arsip.blankonlinux.or.id/blankon +Suites: ¤t-codename; ¤t-codename;-security ¤t-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 ¤t-codename; main restricted +deb-src http://arsip.blankonlinux.or.id/blankon ¤t-codename; main restricted + +deb http://arsip.blankonlinux.or.id/blankon ¤t-codename;-security main restricted +deb-src http://arsip.blankonlinux.or.id/blankon ¤t-codename;-security main restricted + +deb http://arsip.blankonlinux.or.id/blankon ¤t-codename;-updates main restricted +deb-src http://arsip.blankonlinux.or.id/blankon ¤t-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 ¤t-codename; main contrib non-free +deb-src http://repo.steampowered.com/steamos ¤t-codename; main contrib non-free"> +<!ENTITY sourceslist-sources-format "Types: deb deb-src +URIs: http://repo.steampowered.com/steamos +Suites: ¤t-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 |