]> git.saurik.com Git - apt.git/blame_incremental - vendor/README
enforce GCC5 C++11 ABI and usage
[apt.git] / vendor / README
... / ...
CommitLineData
1The vendor system in APT is an experiment to help distributions ship a stock
2apt release instead of applying documentation patches to it, increasing
3maintenance burden for everyone and hiding 'interesting' patches in the mix.
4
5The provided information is used in the apt-key script and in documentation
6like manpages and example configuration files. If you have patches modifying
7additional bits and pieces currently not covered by this system please
8contact us so we can change this!
9
10
11== Adding a new vendor
12
13In the same directory you found this README in you should create a new
14directory with the name of your distribution (as defined by dpkg-vendor,
15 e.g. via "dpkg-vendor --query Vendor"). The name is case-insensitive,
16but ensure that the name is otherwise correct and the other fields in
17your deb-origin(5) file are correct as well as our buildsystem relies on
18this information.
19
20If no information is found for the current vendor at buildtime, the system
21looks for a vendor the current vendor is a derivative of, falling back to
22Debian if all else fails.
23
24The directory should include 2 files at the moment. It is best to look
25at the files of other distributions to understand what values are to be
26expected. Some additional notes about them can be found below.
27
28If we happen to include new fields/files in this system, we will opt for
29using a sensible default rather than failing the build or similar, so
30you are recommend to watch this space.
31Ensure also that your information is up-to-date!
32
33Contributing a new vendor as well as updating a existing one is best done
34by opening a bug in the Debian BTS against apt with a patch attached.
35
36
37== apt-vendor.ent
38
39The format used is the one DocBook XML uses. The file is included as an
40entity file in the manpages xml source, so the syntax has to be valid!
41
42The keyring-* settings are additionally used also in the creation of the
43apt-key script and the keyring-package in particular as a dependency for apt.
44
45The field current-codename is optional and can be used in sources.list.in.
46
47The fields sourceslist-list-format and sourceslist-sources-format are used as
48examples in the sources.list manpage and the first one is additionally
49available in the sources.list.in template.
50They should in general reflect the default sources of your distro.
51
52== sources.list.in
53
54An example for a sources.list which will be shipped in /usr/share/doc.
55This file will NOT be installed in /etc or otherwise used by apt.
56
57You can use some placeholders in this file, namely:
58* &debian-stable-codename;
59* &debian-oldstable-codename;
60* &debian-testing-codename;
61* &ubuntu-codename;
62* &sourceslist-list-format;
63with the value you would expect based on the name.
64
65The placeholder &current-codename; is yours and can be set in apt-vendor.ent
66
67
68== apt.conf-*
69
70Files in your vendor directory following this naming scheme will be picked up
71by the debian/rules file and installed in /etc/apt/apt.conf.d/ directory, with
72"apt.conf-" removed from the beginning of the filename.