config.sample 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. ///////////////////////////////////////////////////////////
  2. // Example annotated configuration file for dak
  3. ///////////////////////////////////////////////////////////
  4. ///////////////////////////////////////////////////////////
  5. // Common settings
  6. ///////////////////////////////////////////////////////////
  7. Common
  8. {
  9. //// ThreadCount (optional): Maximum number of threads to use. Defaults to 1
  10. ThreadCount 1;
  11. };
  12. ///////////////////////////////////////////////////////////
  13. // Essential. List of database details.
  14. ///////////////////////////////////////////////////////////
  15. DB
  16. {
  17. //// Name (required): The name of the PostgreSQL database which has been
  18. //// created for dak.
  19. Name "projectb";
  20. //// Host (optional): The name of the host on which the database is located.
  21. //// Not necessary if the the database is local.
  22. //Host "";
  23. //// Port (optional): The port of the database if it is remote. If the port
  24. //// is the default value (5432), this option can be set to -1.
  25. //Port -1;
  26. //// PoolSize (optional): should be at least ThreadCount + 1
  27. PoolSize 5;
  28. //// MaxOverflow (optional): shouldn't exceed postgresql.conf's
  29. //// max_connections - PoolSize
  30. MaxOverflow 13;
  31. //// Unicode (optional but seriously suggested). Should be false for
  32. //// encoding == SQL_ASCII which is highly recommended. Do not set this to
  33. //// anything else unless you really know what you're doing.
  34. Unicode "false";
  35. };
  36. ///////////////////////////////////////////////////////////
  37. // Dinstall general settings
  38. ///////////////////////////////////////////////////////////
  39. Dinstall
  40. {
  41. //// SigningKeyring (optional): this is the private keyring used by
  42. //// 'dak generate-releases'.
  43. SigningKeyring "/srv/dak/s3kr1t/dot-gnupg/secring.gpg";
  44. //// SigningPubKeyring (optional): this is the public keyring used by
  45. //// 'dak generate-releases'.
  46. SigningPubKeyring "/srv/dak/s3kr1t/dot-gnupg/pubring.gpg";
  47. //// Options::No-Mail (optional): Highly recommended. This prevents dak
  48. //// from spamming people you didn't mean it to. If you're not using this,
  49. //// you almost certainly want to use the MailWhiteList option
  50. Options::No-Mail "true";
  51. //// MailWhiteList (optional). If you're not using No-Mail, this provides
  52. //// a list of email addresses or regular expressions, one per line which
  53. //// dak is allowed to email. Regular expressions need to be prefixed by "RE:".
  54. //// Examples: "jane.doe@domain.com" or "RE:jane[^@]@domain.com", where the first will
  55. //// only allow to mail jane.doe@domain.com while the second will mail all of jane*@domain.com
  56. //// MailWhiteList "/some/path/to/a/file";
  57. //// SendmailCommand (required unless No-Mail is set): command to call the MTA.
  58. // SendmailCommand "/usr/sbin/sendmail -oi -t";
  59. //// MyEmailAddress (required): this is used as the From: line for sending mails
  60. //// as a script/daemon.
  61. MyEmailAddress "FTP Masters <ftpmaster@example.org>";
  62. //// MyAdminAddress (required): used as a contact address in mails.
  63. MyAdminAddress "ftpmaster@example.org";
  64. //// MyDistribution (required): this variable is used in emails sent out by
  65. //// dak and others. It should indicate the name of the distribution.
  66. MyDistribution "MyDistro";
  67. //// BugServer (optional): is used by 'dak process-upload' and 'dak rm'
  68. //// when closing bugs.
  69. // BugServer "bugs.example.org";
  70. //// CloseBugs (optional): a boolean (default: no); if true the automated bug
  71. //// closing feature of dinstall is activated. Must have BugServer set
  72. //// for this to work.
  73. CloseBugs "true";
  74. //// PackagesServer (optional): used by 'dak rm' and 'dak override' when
  75. //// carbon-copying a bug close mail to a package maintainer.
  76. // PackagesServer "packages.example.org";
  77. //// All sent mail is blind carbon copied to the email address in Bcc if it's
  78. //// not blank.
  79. // Bcc "archive@example.org";
  80. //// BXANotify (optional): a boolean (default: false); if true (Debian-specific)
  81. //// BXA notification is sent. The template for the BXA notification is located
  82. //// in Dir::Templates/process-new.bxa_notification and should be changed if this
  83. //// option is set.
  84. // BXANotify "true";
  85. //// FutureTimeTravelGrace (optional): specifies how many seconds into the
  86. //// future timestamps are allowed to be inside a deb before being rejected.
  87. //// Defaults to 86400 (24 hours) if not specified.
  88. FutureTimeTravelGrace 86400;
  89. //// PastCutoffYear (optional): specifies the cut-off year which is used when
  90. //// deciding whether or not to reject packages based on the file timestamp.
  91. //// Defaults to "1975" if not specified.
  92. PastCutoffYear "1975";
  93. //// SkipTime (required): an integer value which is the number of seconds
  94. //// that a file must be older than (via it's last modified timestamp)
  95. //// before dak process-upload will REJECT rather than SKIP the package.
  96. SkipTime 300;
  97. //// OverrideDisparityCheck (optional): a boolean (default: false); if true,
  98. //// dak process-upload compares an uploads section/priority with the overrides and whines
  99. //// at the maintainer if they differ.
  100. OverrideDisparityCheck "false";
  101. //// OverrideMaintainer (optional): be used to globally override the
  102. //// __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails.
  103. //// Use with caution.
  104. // OverrideMaintainer "";
  105. //// DefaultSuite (optional): which suite to default to where one isn't
  106. //// specified. Defaults to "unstable" if not set.
  107. // DefaultSuite "unstable";
  108. //// LintianTags (optional): A set of lintian tags on which to reject
  109. //// packages at upload time. Format is a YAML file; see the ftp-master
  110. //// version for an example.
  111. // LintianTags "/srv/dak/dak/config/debian/lintian.tags";
  112. //// ReleaseTransitions (optional): YAML File for blocking uploads to unstable
  113. // ReleaseTransitions "/srv/dak/web/transitions.yaml";
  114. //// KeyAutoFetch (optional): boolean (default: false), which if set (and
  115. //// not overridden by explicit argument to check_signature()) will enable
  116. //// auto key retrieval. Requires KeyServer variable be
  117. //// set. NB: you should only enable this variable on production systems
  118. //// if you have strict control of your upload queue.
  119. // KeyAutoFetch "false";
  120. //// KeyServer (optional): keyserver used for key auto-retrieval
  121. //// (c.f. KeyAutoFetch).
  122. // KeyServer "wwwkeys.eu.pgp.net";
  123. };
  124. ///////////////////////////////////////////////////////////
  125. // Dir (mandatory). List of directory locations, e.g.
  126. ///////////////////////////////////////////////////////////
  127. Dir
  128. {
  129. //// Root (required): Specifies the path of the root of the FTP archive.
  130. Root "/srv/dak/ftp/";
  131. //// Pool (required): This variable specifies the path of the pool
  132. //// directory. Debian packages will be placed in the pool by
  133. //// 'dak process-upload'
  134. Pool "/srv/dak/ftp/pool/";
  135. //// Templates (required): dak sends various mails and uses templates from
  136. //// this directory.
  137. Templates "/srv/dak/dak/templates/";
  138. //// Override (optional): This directory optionally stores override files (used
  139. //// by 'dak make-overrides').
  140. // Override "/src/dak/scripts/override/";
  141. //// Lists (optional): This directory holds file lists used by apt-ftparchive to
  142. //// generate Packages and Sources files (used by 'dak make-suite-file-list').
  143. //// Deprecated in favour of use of generate-packages-sources2
  144. // Lists "/srv/dak/database/dists/";
  145. //// Log (required): Directory to store dak logs in
  146. Log "/srv/dak/log/";
  147. //// Lock directory (required): Directory to store dak locks in
  148. Lock "/srv/dak/lock/";
  149. //// Morgue (required): Removed files are moved there. The morgue has various
  150. //// sub-directories, including (optionally) those defined by
  151. //// Clean-Queues::MorgueSubDir and Clean-Suites::MorgueSubDir.
  152. Morgue "/srv/dak/morgue/";
  153. //// UrgencyLog (optional): If this directory is specified, 'dak
  154. //// process-upload' will store the urgency value of each upload. This
  155. //// is mainly used for britney (the testing script).
  156. // UrgencyLog "/srv/dak/testing/urgencies/";
  157. //// Done (required): Directory in which to store processed .changes files
  158. Done "/srv/dak/queue/done/";
  159. //// BTSVersionTrack (optional): this directory holds the DebBugs
  160. //// Version Tracking support files.
  161. // BTSVersionTrack "/srv/dak/btsversiontrack";
  162. //// Queue (required): This sub-tree defines important directories for the
  163. //// incoming queue. The following variables have to be set: Byhand, New
  164. //// NewStage, Reject, Unchecked. An explanation of the function of
  165. //// these directories can be found in README.new-incoming.
  166. Queue
  167. {
  168. Byhand "/srv/dak/queue/byhand/";
  169. New "/srv/dak/queue/new/";
  170. NewStage "/srv/dak/queue/newstage/";
  171. Reject "/srv/dak/queue/reject/";
  172. Unchecked "/srv/dak/queue/unchecked/";
  173. };
  174. };
  175. ///////////////////////////////////////////////////////////
  176. // SuiteMappings: (optional). List of mappings for the Distribution file in a
  177. // .changes file, e.g.:
  178. ///////////////////////////////////////////////////////////
  179. // There are three mapping types:
  180. //
  181. // (1) map <source> <dest>
  182. // Any target suite of '<source>' is unconditionally overridden to '<dest>'.
  183. // (2) map-unreleased <source> <dest>
  184. // Any upload targeted for suite '<source>' will be mapped to '<dest>' iff it
  185. // contains uploads for an architecture that is not part of '<source>'.
  186. // (3) ignore <suite>
  187. // Any target suite of '<suite>' is unconditionally removed from the list of
  188. // target suites. NB: if the upload had only one target suite this will lead
  189. // to rejection.
  190. SuiteMappings
  191. {
  192. "map stable proposed-updates";
  193. "map frozen unstable";
  194. "map-unreleased stable unstable";
  195. "map-unreleased proposed-updates unstable";
  196. "ignore testing";
  197. };
  198. ///////////////////////////////////////////////////////////
  199. // Urgency (mandatory) This defines the valid and default urgency of an upload.
  200. // If a package is uploaded with an urgency not listed here, it will be
  201. // rejected.
  202. ///////////////////////////////////////////////////////////
  203. Urgency
  204. {
  205. Default "low";
  206. Valid
  207. {
  208. low;
  209. medium;
  210. high;
  211. emergency;
  212. critical;
  213. };
  214. };