X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=docs%2FREADME.config;h=feb2a27af2bb8f3f531c9a3cfdc55a99f12ea503;hp=56213a193e0882efb94efcc44ab357ff29973dc2;hb=026bdb9580e6d18bf504d2f44d46890df5d89f1a;hpb=e6cc279e339fde0099ecf4714aa133c357d2251e diff --git a/docs/README.config b/docs/README.config index 56213a19..feb2a27a 100644 --- a/docs/README.config +++ b/docs/README.config @@ -1,357 +1,268 @@ -Explanation of configuration files options for katie -==================================================== - +/////////////////////////////////////////////////////////// +// Example annotated configuration file for dak +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +// Common settings +/////////////////////////////////////////////////////////// +Common +{ + //// ThreadCount (optional): Maximum number of threads to use. Defaults to 1 + ThreadCount 1; +}; + +/////////////////////////////////////////////////////////// +// Essential. List of database details. +/////////////////////////////////////////////////////////// DB --- - -Essential. List of database details, e.g. - -| DB -| { -| Name "projectb"; -| Host ""; -| Port -1; -| }; - -If the database is local, Host should be blank. If the port is the -default (5432), it should be set to -1. - -================================================================================ - +{ + //// Name (required): The name of the PostgreSQL database which has been + //// created for dak. + Name "projectb"; + + //// Host (optional): The name of the host on which the database is located. + //// Not necessary if the the database is local. + //Host ""; + + //// Port (optional): The port of the database if it is remote. If the port + //// is the default value (5432), this option can be set to -1. + //Port -1; + + //// PoolSize (optional): should be at least ThreadCount + 1 + PoolSize 5; + + //// MaxOverflow (optional): shouldn't exceed postgresql.conf's + //// max_connections - PoolSize + MaxOverflow 13; + + //// Unicode (optional but seriously suggested). Should be false for + //// encoding == SQL_ASCII which is highly recommended. Do not set this to + //// anything else unless you really know what you're doing. + Unicode "false"; +}; + +/////////////////////////////////////////////////////////// +// Dinstall general settings +/////////////////////////////////////////////////////////// +Dinstall +{ + //// SigningKeyring (optional): this is the private keyring used by + //// 'dak generate-releases'. + SigningKeyring "/srv/dak/s3kr1t/dot-gnupg/secring.gpg"; + + //// SigningPubKeyring (optional): this is the public keyring used by + //// 'dak generate-releases'. + SigningPubKeyring "/srv/dak/s3kr1t/dot-gnupg/pubring.gpg"; + + //// Options::No-Mail (optional): Highly recommended. This prevents dak + //// from spamming people you didn't mean it to. If you're not using this, + //// you almost certainly want to use the MailWhiteList option + Options::No-Mail "true"; + + //// MailWhiteList (optional). If you're not using No-Mail, this provides + //// a list of email addresses or regular expressions, one per line which + //// dak is allowed to email. Regular expressions need to be prefixed by "RE:". + //// Examples: "jane.doe@domain.com" or "RE:jane[^@]@domain.com", where the first will + //// only allow to mail jane.doe@domain.com while the second will mail all of jane*@domain.com + //// MailWhiteList "/some/path/to/a/file"; + + //// SendmailCommand (required unless No-Mail is set): command to call the MTA. + // SendmailCommand "/usr/sbin/sendmail -oi -t"; + + //// MyEmailAddress (required): this is used as the From: line for sending mails + //// as a script/daemon. + MyEmailAddress "FTP Masters "; + + //// MyAdminAddress (required): used as a contact address in mails. + MyAdminAddress "ftpmaster@example.org"; + + //// MyDistribution (required): this variable is used in emails sent out by + //// dak and others. It should indicate the name of the distribution. + MyDistribution "MyDistro"; + + //// BugServer (optional): is used by 'dak process-upload' and 'dak rm' + //// when closing bugs. + // BugServer "bugs.example.org"; + + //// CloseBugs (optional): a boolean (default: no); if true the automated bug + //// closing feature of dinstall is activated. Must have BugServer set + //// for this to work. + CloseBugs "true"; + + //// PackagesServer (optional): used by 'dak rm' and 'dak override' when + //// carbon-copying a bug close mail to a package maintainer. + // PackagesServer "packages.example.org"; + + //// TrackingServer (optional): used by 'dak process-upload' and 'dak + //// rm' to send messages for the maintainer also to an alias for people + //// tracking a specific source package. + // TrackingServer "packages.qa.example.org"; + + //// All sent mail is blind carbon copied to the email address in Bcc if it's + //// not blank. + // Bcc "archive@example.org"; + + //// BXANotify (optional): a boolean (default: false); if true (Debian-specific) + //// BXA notification is sent. The template for the BXA notification is located + //// in Dir::Templates/process-new.bxa_notification and should be changed if this + //// option is set. + // BXANotify "true"; + + //// FutureTimeTravelGrace (optional): specifies how many seconds into the + //// future timestamps are allowed to be inside a deb before being rejected. + //// Defaults to 86400 (24 hours) if not specified. + FutureTimeTravelGrace 86400; + + //// PastCutoffYear (optional): specifies the cut-off year which is used when + //// deciding whether or not to reject packages based on the file timestamp. + //// Defaults to "1975" if not specified. + PastCutoffYear "1975"; + + //// SkipTime (required): an integer value which is the number of seconds + //// that a file must be older than (via it's last modified timestamp) + //// before dak process-upload will REJECT rather than SKIP the package. + SkipTime 300; + + //// OverrideDisparityCheck (optional): a boolean (default: false); if true, + //// dak process-upload compares an uploads section/priority with the overrides and whines + //// at the maintainer if they differ. + OverrideDisparityCheck "false"; + + //// OverrideMaintainer (optional): be used to globally override the + //// __MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails. + //// Use with caution. + // OverrideMaintainer ""; + + //// DefaultSuite (optional): which suite to default to where one isn't + //// specified. Defaults to "unstable" if not set. + // DefaultSuite "unstable"; + + //// LintianTags (optional): A set of lintian tags on which to reject + //// packages at upload time. Format is a YAML file; see the ftp-master + //// version for an example. + // LintianTags "/srv/dak/dak/config/debian/lintian.tags"; + + //// ReleaseTransitions (optional): YAML File for blocking uploads to unstable + // ReleaseTransitions "/srv/dak/web/transitions.yaml"; + + //// KeyAutoFetch (optional): boolean (default: false), which if set (and + //// not overridden by explicit argument to check_signature()) will enable + //// auto key retrieval. Requires KeyServer variable be + //// set. NB: you should only enable this variable on production systems + //// if you have strict control of your upload queue. + // KeyAutoFetch "false"; + + //// KeyServer (optional): keyserver used for key auto-retrieval + //// (c.f. KeyAutoFetch). + // KeyServer "wwwkeys.eu.pgp.net"; +}; + + +/////////////////////////////////////////////////////////// +// Dir (mandatory). List of directory locations, e.g. +/////////////////////////////////////////////////////////// Dir ---- - -Mandatory. List of directory locations, e.g. - -| Dir -| { -| Root "/org/ftp.debian.org/ftp/"; -| Pool "/org/ftp.debian.org/ftp/pool/"; -| Templates "/org/ftp.debian.org/katie/templates/"; -| PoolRoot "pool/"; -| Override "/org/ftp.debian.org/scripts/override/"; -| Lists "/org/ftp.debian.org/database/dists/"; -| Log "/org/ftp.debian.org/log/"; -| Morgue "/org/ftp.debian.org/morgue/"; -| Override "/org/ftp.debian.org/scripts/override/"; -| AcceptedAutoBuild "/org/incoming.debian.org/buildd/"; -| UrgencyLog "/org/ftp.debian.org/testing/urgencies/"; -| Queue -| { -| Root "/org/ftp.debian.org/queue/"; -| Accepted "/org/ftp.debian.org/queue/accepted/"; -| Byhand "/org/ftp.debian.org/queue/byhand/"; -| Done "/org/ftp.debian.org/queue/done/"; -| Holding "/org/ftp.debian.org/queue/holding/"; -| New "/org/ftp.debian.org/queue/new/"; -| Reject "/org/ftp.debian.org/queue/reject/"; -| Unchecked "/org/ftp.debian.org/queue/unchecked/"; -| }; -| }; - -================================================================================ - -Suite ------ - -Mandatory. List of all suites, e.g. - -| Suite -| { -| Unstable -| { -| Components -| { -| main ""; -| }; -| Architectures -| { -| "source" ""; -| "all" ""; -| "i386" ""; -| }; -| Announce "debian-devel-changes@lists.debian.org"; -| Origin "Debian"; -| Description "Debian Unstable - Not Released"; -| CodeName "sid"; -| OverrideCodeName "sid"; -| Priority "5"; -| }; -| }; - -Announce controls where "Installed foo" mails are sent; leave empty to -not send any. CodeName, Origin and Description are used by ziyi and -put in the Release files. OverrideCodeName is used by Denise. -Priority determines which suite is used for the Maintainers file as -generated by charisma/da_mkmaintainers (highest wins). - -If CopyChanges is present it should be a path into the archive -(i.e. "Dir::RootDir"); any upload targeted for a suite with this -config option present will have the .changes file copied into that -path. - -If CopyKatie is present it should be an absolute path; any upload -targeted for a suite with this config option present will have the -.katie file copied into that path. This option is similar to -CopyChanges and will most often be used with it; they're seperate -because .changes files are mirrored and .katie files aren't, so the -paths will usually be different. - -================================================================================ +{ + //// Root (required): Specifies the path of the root of the FTP archive. + Root "/srv/dak/ftp/"; + + //// Pool (required): This variable specifies the path of the pool + //// directory. Debian packages will be placed in the pool by + //// 'dak process-upload' + Pool "/srv/dak/ftp/pool/"; + + //// Templates (required): dak sends various mails and uses templates from + //// this directory. + Templates "/srv/dak/dak/templates/"; + + //// Override (optional): This directory optionally stores override files (used + //// by 'dak make-overrides'). + // Override "/src/dak/scripts/override/"; + + //// Lists (optional): This directory holds file lists used by apt-ftparchive to + //// generate Packages and Sources files (used by 'dak make-suite-file-list'). + //// Deprecated in favour of use of generate-packages-sources2 + // Lists "/srv/dak/database/dists/"; + + //// Log (required): Directory to store dak logs in + Log "/srv/dak/log/"; + + //// Lock directory (required): Directory to store dak locks in + Lock "/srv/dak/lock/"; + + //// Morgue (required): Removed files are moved there. The morgue has various + //// sub-directories, including (optionally) those defined by + //// Clean-Queues::MorgueSubDir and Clean-Suites::MorgueSubDir. + Morgue "/srv/dak/morgue/"; + + //// UrgencyLog (optional): If this directory is specified, 'dak + //// process-upload' will store the urgency value of each upload. This + //// is mainly used for britney (the testing script). + // UrgencyLog "/srv/dak/testing/urgencies/"; + + //// Done (required): Directory in which to store processed .changes files + Done "/srv/dak/queue/done/"; + + //// BTSVersionTrack (optional): this directory holds the DebBugs + //// Version Tracking support files. + // BTSVersionTrack "/srv/dak/btsversiontrack"; + + //// Queue (required): This sub-tree defines important directories for the + //// incoming queue. The following variables have to be set: Byhand, New + //// NewStage, Reject, Unchecked. An explanation of the function of + //// these directories can be found in README.new-incoming. + Queue + { + Byhand "/srv/dak/queue/byhand/"; + New "/srv/dak/queue/new/"; + NewStage "/srv/dak/queue/newstage/"; + Reject "/srv/dak/queue/reject/"; + Unchecked "/srv/dak/queue/unchecked/"; + }; +}; + +/////////////////////////////////////////////////////////// +// SuiteMappings: (optional). List of mappings for the Distribution file in a +// .changes file, e.g.: +/////////////////////////////////////////////////////////// + +// There are three mapping types: +// +// (1) map +// Any target suite of '' is unconditionally overridden to ''. +// (2) map-unreleased +// Any upload targeted for suite '' will be mapped to '' iff it +// contains uploads for an architecture that is not part of ''. +// (3) ignore +// Any target suite of '' is unconditionally removed from the list of +// target suites. NB: if the upload had only one target suite this will lead +// to rejection. SuiteMappings -------------- - -Optional. List of mappings for the Distribution file in a .changes file, e.g.: - -| SuiteMappings -| { -| "map stable proposed-updates"; -| "map frozen unstable"; -| "map-unreleased stable unstable"; -| "map-unreleased proposed-updates unstable"; -| "ignore testing"; -| }; - -There are three mapping types: - -(1) map - - Any target suite of '' is unconditionally overriden to - ''. - -(2) map-unreleased - - Any upload targeted for suite '' will be mapped to - '' iff it contains uploads for an architecture that is not - part of ''. - -(3) ignore - - Any target suite of '' is unconditionally removed from - the list of target suites. NB: if the upload had only one - target suite this will lead to rejection. - -NB: ordering is not guaranteed. - -================================================================================ - -Dinstall --------- - -Mandatory. List of dinstall options, e.g.: - -| Dinstall -| { -| PGPKeyring "/org/keyring.debian.org/keyrings/debian-keyring.pgp"; -| GPGKeyring "/org/keyring.debian.org/keyrings/debian-keyring.gpg"; -| SigningKeyring "/org/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg"; -| MyEmailAddress "Debian Installer "; -| MyAdminAddress "ftpmaster@debian.org"; -| MyHost "debian.org"; // used for generating user@my_host addresses in e.g. manual_reject() -| MyDistribution "Debian"; -| BugServer "bugs.debian.org"; -| PackagesServer "packages.debian.org"; -| TrackingServer "packages.qa.debian.org"; -| LockFile "/org/ftp.debian.org/katie/lock"; -| Bcc "archive@ftp-master.debian.org"; -| GroupOverrideFilename "override.group-maint"; -| FutureTimeTravelGrace "8640"; // 6 hours -| PastCutoffYear "1984"; -| BXANotify 0; -| }; - -PGPKeyring and GPGKeyring are mandatory fields which are filenames of -the PGP and GnuPG keyrings to be used by katie respectively. - -SigningKeyring is the private keyring used by ziyi. - -MyEmailAddress is used as the From: line for sending mails as a -script/daemon. MyAdminAddress is used as a contact address in mails. - -MyDistribution is used in emails sent out by katie and others. - -BugServer is used by katie and melanie when closing bugs. - -PackagesServer is used by melanie when carbon-copying a bug close mail -to a package maintainer. - -TrackingServer is used by katie and melanie to send messages for the -maintainer also to an alias for people tracking a specific source -package. - -LockFile is a mandatory field and contains the filename of the -lockfile used by dinstall when in action mode (i.e. not using --n/--no-action). - -All sent mail is blind carbon copied to the email -address in Bcc if it's not blank. - -GroupOverrideFilename, if non-blank, is the override file which -contains the list of email addresses which, if part of the Maintainer -field, cause uploads to always be treated as maintainer uploads. - -FutureTimeTravelGrace specifies how many seconds into the future -timestamps are allowed to be inside a deb before being rejected. -PastCutoffYear specifies the cut-off year which is used when deciding -whether or not to reject packages based on the file timestamp. - -BXANotify is a boolean; if true (Debian-specfic) BXA notification is -sent. - -OverrideDisparityCheck is a boolean; if true, jennifer compares an -uploads section/priority with the overrides and whines at the -maintainer if they differ. - -CloseBugs is a boolean; if true the automated bug closing feature of -dinstall is activated. - -SpecialAcceptedAutoBuild is a boolean; if true it activates support -for auto-building from accepted. - -OverrideMaintainer can be used to globally override the -__MAINTAINER_TO__ and __MAINTAINER_FROM__ variables in template mails. -Use with caution. - -SkipTime is an integer value which is the number of seconds that a -file must be older than (via it's last modified timestamp) before -jennifer will REJECT rather than SKIP the package. - -================================================================================ - -Archive -------- - -Mandatory. List of all archives, e.g. - -| Archive -| { -| ftp-master -| { -| OriginServer "ftp-master.debian.org"; -| PrimaryMirror "ftp.debian.org"; -| Description "Master Archive for the Debian project"; -| }; -| }; - -OriginServer and PrimaryMirror are mandatory and are used melanie's -bug closing mail templates. The host name and it's OriginServer and -Description are part of the SQL database in the 'archive' table. - -================================================================================ - -Architectures -------------- - -Mandatory. List of all architectures, e.g. - -| Architectures -| { -| source "Source"; -| all "Architecture Independent"; -| i386 "Intel ia32"; -| }; - -Both values go into the SQL database's 'architecture' table. -Description is currently unused. - -================================================================================ - -Component ---------- - -Mandatory. List of all components, e.g. - -| Component -| { -| main -| { -| Description "Main"; -| MeetsDFSG "true"; -| }; -| }; - -All three values go into the SQL database's 'component' table. -MeetsDFSG is currently unused. - -================================================================================ - -Section -------- - -Mandatory. List of all valid sections, e.g. - -| Section -| { -| base ""; -| }; - -The section goes into the 'section' table in SQL database. - -================================================================================ - -Priority --------- - -Mandatory. List of all valid priorities, e.g. - -| Priority -| { -| required 1; -| important 2; -| standard 3; -| optional 4; -| extra 5; -| source 0; // i.e. unused -| }; - -The value is the sorting key. Both the section and it's sorting key -go into the SQL database's 'priority' table. - -================================================================================ - -OverrideType ------------- - -Mandatory. List of al valid override types, e.g. - -| OverrideType -| { -| deb ""; -| dsc ""; -| udeb ""; -| }; - -The type goes into the 'override_type' table in the SQL database. - -================================================================================ - -Location --------- - -Mandatory. List all locations, e.g. - -| Location -| { -| /org/ftp.debian.org/ftp/pool/ -| { -| Archive "ftp-master"; -| Type "pool"; -| }; -| }; - -There are three types: 'legacy', 'legacy-mixed' and 'pool'. 'legacy' -and 'pool' are assumed to have sections for all components listed in -the Components section 'legacy-mixed' are assumed to mix all -components into one location. The Archive and Type sections go into -the SQL database's 'location' table. - -[Note: yes, this is horrible, it dates back to the original `import - the existent archive into the SQL Database' script (neve) and - isn't otherwise used. It should be revisted at some stage.] - -================================================================================ +{ + "map stable proposed-updates"; + "map frozen unstable"; + "map-unreleased stable unstable"; + "map-unreleased proposed-updates unstable"; + "ignore testing"; +}; + +/////////////////////////////////////////////////////////// +// Urgency (mandatory) This defines the valid and default urgency of an upload. +// If a package is uploaded with an urgency not listed here, it will be +// rejected. +/////////////////////////////////////////////////////////// + +Urgency +{ + Default "low"; + Valid + { + low; + medium; + high; + emergency; + critical; + }; +}; --- -James Troup , Horsforth, Leeds -Wed, 26 Sep 2001 03:20:39 +0100