From feb81787827d973366ae20edcbce4bf5fccdebfd Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 22 Apr 2014 18:59:22 +0200 Subject: add a README for vendor information --- vendor/README | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 vendor/README (limited to 'vendor/README') diff --git a/vendor/README b/vendor/README new file mode 100644 index 000000000..19cda6236 --- /dev/null +++ b/vendor/README @@ -0,0 +1,60 @@ +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 ¤t-codename; is yours and can be set in apt-vendor.ent -- cgit v1.2.3-70-g09d2 From c1b3d18934ce35f6a82b05207f53bf9b0cbfb961 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 26 Apr 2014 13:31:41 +0200 Subject: allow vendors to install configuration files Vendors like ubuntu need to change some options, so giving them a way to do this less painfully avoids reducing differences. --- debian/apt.conf.Ubuntu | 6 ------ debian/rules | 9 ++------- vendor/README | 6 ++++++ vendor/ubuntu/apt.conf-01-vendor-ubuntu | 6 ++++++ 4 files changed, 14 insertions(+), 13 deletions(-) delete mode 100644 debian/apt.conf.Ubuntu create mode 100644 vendor/ubuntu/apt.conf-01-vendor-ubuntu (limited to 'vendor/README') diff --git a/debian/apt.conf.Ubuntu b/debian/apt.conf.Ubuntu deleted file mode 100644 index c4092ff44..000000000 --- a/debian/apt.conf.Ubuntu +++ /dev/null @@ -1,6 +0,0 @@ -// Server information for apt-changelog -APT { - Changelogs { - Server "http://changelogs.ubuntu.com/changelogs"; - }; -}; diff --git a/debian/rules b/debian/rules index 300c0f756..fc0e9e8f6 100755 --- a/debian/rules +++ b/debian/rules @@ -56,9 +56,6 @@ endif # APT Programs in apt-utils APT_UTILS=ftparchive sortpkgs extracttemplates -# get distro -APT_VENDOR_CONF := $(shell lsb_release -i -s) - # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -194,10 +191,8 @@ apt: build-binary build-manpages debian/apt.install chmod 755 debian/$@/etc/kernel/postinst.d/apt-auto-removal # install bash completion cp share/bash-completions/* debian/$@/usr/share/bash-completion/completions/ - # install distro specific apt conf - if [ -e debian/apt.conf.${APT_VENDOR_CONF} ]; then \ - cp debian/apt.conf.${APT_VENDOR_CONF} debian/$@/etc/apt/apt.conf.d/01-vendor-${APT_VENDOR_CONF}; \ - fi + # install vendor specific apt confs + find -L vendor/current -name 'apt.conf-*' | while read conf; do cp "$${conf}" "debian/$@/etc/apt/apt.conf.d/$${conf#*-}"; done # make rosetta happy and remove pot files in po/ (but leave stuff # in po/domains/* untouched) and cp *.po into each domain dir diff --git a/vendor/README b/vendor/README index 19cda6236..c2fabbd4c 100644 --- a/vendor/README +++ b/vendor/README @@ -58,3 +58,9 @@ You can use some placeholders in this file, namely: 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. 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"; + }; +}; -- cgit v1.2.3-70-g09d2