README 2.9 KB

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