Blame | Last modification | View Log | RSS feed
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "DebPool::Config 5"
.TH DebPool::Config 5 "2005-01-20" "perl v5.8.4" "DebPool Configuration"
.SH "NAME"
DebPool::Config \- configuration file format for debpool
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
package DebPool::Config;
.PP
%Options = (
'option1' => value1,
'option2' => value2,
...
);
.PP
1;
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The DebPool::Config file is normally found in three places;
\&\fI/usr/share/debpool/Config.pm\fR, \fI/etc/debpool/Config.pm\fR, and
\&\fI$HOME/.debpool/Config.pm\fR (in ascending order of precedence);
further locations can also be specified on the command line with the
\&'\-\-config=<file>' option, which overrides all of these (and is, in turn,
overridden by any command line options). Also of note is the \-\-nodefault
option, which prevents any attempt at loading the default (system and user)
config files.
.PP
The config files in /etc/debpool and \f(CW$HOME\fR/.debpool are not required to be
full Perl modules, though they must still declare a package namespace of
\&'DebPool::Config' and return a true value.
.Sh "File/Directory configuration"
.IX Subsection "File/Directory configuration"
These config values determine what directories various parts of the archive
are put in, and what permissions those directories have, as well as the
default permissions for files.
.PP
\&\s-1NOTE:\s0 While debpool will attempt to create db_dir, dists_dir, incoming_dir,
installed_dir, pool_dir, and reject_dir if they do not exist, it will *not*
attempt to do this for archive_dir.
.PP
\&\s-1WARNING:\s0 If you redefine archive_dir and you want the other four entries to
reflect this by incorporating the new value, you *MUST* redefine them here
(even if you simply use the default value of 'archive_dir'/<dirname>) so
that they use the new definition of archive_dir.
.IP "\fBarchive_dir\fR => \fIarchive directory\fR" 4
.IX Item "archive_dir => archive directory"
Base directory of the archive. This is never used directly; however, it
is normally used to construct relative paths for dists_dir, incoming_dir,
installed_dir, pool_dir, and reject_dir.
.Sp
\&\s-1WARNING:\s0 See the section documentation for important details about
redefining this value.
.Sp
Default value: '/var/cache/debpool'
.IP "\fBdb_dir\fR => \fIdists directory\fR" 4
.IX Item "db_dir => dists directory"
\&\s-1DB\s0 directory, where the database files for each distribution are kept.
.Sp
Default value: \*(L"$Options{'archive_dir'}/db\*(R"
.IP "\fBdb_dir_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "db_dir_mode = permissions (octal)"
Permissions for db_dir.
.Sp
Default value: 0750
.IP "\fBdb_file_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "db_file_mode = permissions (octal)"
Permissions for database files in db_dir.
.Sp
Default value: 0640
.IP "\fBdists_dir\fR => \fIdists directory\fR" 4
.IX Item "dists_dir => dists directory"
Dists directory, where distribution files (\fI{Packages,Sources}{,.gz}\fR live.
.Sp
Default value: \*(L"$Options{'archive_dir'}/dists\*(R"
.IP "\fBdists_dir_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "dists_dir_mode = permissions (octal)"
Permissions for dists_dir and all of it's subdirectories.
.Sp
Default value: 0755
.IP "\fBdists_file_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "dists_file_mode = permissions (octal)"
Permissions for distribution files ({Packages,Sources}{,.gz}.
.Sp
Default value: 0644
.IP "\fBincoming_dir\fR => \fIincoming directory\fR" 4
.IX Item "incoming_dir => incoming directory"
Incoming directory, where new packages are uploaded.
.Sp
Default value: \*(L"$Options{'archive_dir'}/incoming\*(R";
.IP "\fBincoming_dir_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "incoming_dir_mode = permissions (octal)"
Permissions for incoming_dir. Should have the sticky bit set if you want a
system archive.
.Sp
Default value: 01775
.IP "\fBinstalled_dir\fR => \fIinstalled directory\fR" 4
.IX Item "installed_dir => installed directory"
Incoming directory, where new packages are uploaded.
.Sp
Default value: \*(L"$Options{'archive_dir'}/installed\*(R";
.IP "\fBinstalled_dir_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "installed_dir_mode = permissions (octal)"
Permissions for installed_dir. Should have the sticky bit set if you want a
system archive.
.Sp
Default value: 0755
.IP "\fBinstalled_file_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "installed_file_mode = permissions (octal)"
Permissions for installed Changes files.
.Sp
Default value: 0644
.IP "\fBpool_dir\fR => \fIpool directory\fR" 4
.IX Item "pool_dir => pool directory"
Pool directory where all .deb files are stored after being accepted. Normally
this is constructed as a relative path from archive_dir.
.Sp
Default value: \*(L"$Options{'archive_dir'}/pool\*(R"
.IP "\fBpool_dir_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "pool_dir_mode = permissions (octal)"
Permissions for pool_dir and all of it's subdirectories.
.Sp
Default value: 0755
.IP "\fBpool_file_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "pool_file_mode = permissions (octal)"
Permissions for files installed into the pool area (orig.tar.gz, tar.gz,
diff.gz, dsc, deb).
.Sp
Default value: 0644
.IP "\fBreject_dir\fR => \fIreject directory\fR" 4
.IX Item "reject_dir => reject directory"
Reject directory, where rejected packages are placed.
.Sp
Default value: \*(L"$Options{'archive_dir'}/reject\*(R"
.IP "\fBreject_dir_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "reject_dir_mode = permissions (octal)"
Permissions for reject_dir.
.Sp
Default value: 0750
.IP "\fBreject_file_mode\fR = \fIpermissions (octal)\fR" 4
.IX Item "reject_file_mode = permissions (octal)"
Permissions for rejected package files.
.Sp
Default value: 0640
.IP "\fBlock_file\fR => \fIlockfile\fR" 4
.IX Item "lock_file => lockfile"
Location of the lockfile to use when running.
.Sp
Default value: \*(L"$Options{'archive_dir'}/.lock\*(R"
.IP "\fBcompress_dists\fR = \fIboolean\fR" 4
.IX Item "compress_dists = boolean"
This determines whether or not compressed versions of the distribution
files (Packages.gz, Sources.gz) are generated. Note that enabling this
introduces a dependancy on gzip.
.Sh "Archive configuration"
.IX Subsection "Archive configuration"
These values control which distributions, components, and architectures the
archive will support.
.IP "\fBdists\fR => \fIhash of distribution names and codenames\fR" 4
.IX Item "dists => hash of distribution names and codenames"
A hashref pointing to a hash with entries for all distributions we will
accept packages for, and what the current codename for each distribution
is. Note that it is acceptable for more than one distribution to point to a
given codename (for example, when frozen is active); however, this has some
strange (and non\-deterministic) consequences for Release files.
.Sp
Default value:
.Sp
{ 'stable' => 'woody',
'testing' => 'sarge',
'unstable' => 'sid',
'experimental' => 'experimental' }
.IP "\fBvirtual_dists\fR => \fIhash of virtual distribution names and targets\fR" 4
.IX Item "virtual_dists => hash of virtual distribution names and targets"
A hashref pointing to a hash with entries for all 'virtual' distributions
we will accept packages for, and what distribution it should be treated
as. It is acceptable for more than one virtual distribution to point to a
given target. Note that unlike 'dists' entries, symlinks pointing from the
virtual name to the real name will not be created, and no attempt is made
to use these names in reverse processes (such as Release files); however,
virtual distributions may target any name (\*(L"unstable\*(R") or codename (\*(L"sid\*(R")
which appears in the 'dists' hash.
.Sp
Default value:
.Sp
{
}
.Sp
Exsample value:
.Sp
{ 'unstable\-hostname' => 'unstable',
'testing\-hostname' => 'sarge',
}
.IP "\fBsections\fR => \fIarray of section names\fR" 4
.IX Item "sections => array of section names"
An arrayref pointing to an array which lists all sections we will accept
packages for. Typically, these will be drawn from the set 'main',
\&'contrib', 'non\-free', 'experimental', 'alien', and 'local' (at least on
the author's systems).
.Sp
Default value: [ 'main', 'contrib', 'non\-free' ]
.IP "\fBarchs\fR => \fIarray of architecture names\fR" 4
.IX Item "archs => array of architecture names"
An arrayref pointing to an array which lists all architectures we will
accept packages for. Note that 'source' will always be present, and 'all'
will be silently ignored (uploads for Arch: all will still work, but the
listings appear in arch-specific Packages files).
.Sp
Default value: [ 'i386' ]
.Sh "Release configuration"
.IX Subsection "Release configuration"
If all of the variables below are defined (release_origin, release_label,
and release_description), Release files will be generated for each
distribution directory.
.PP
Please note that enabling Release files will introduce a dependancy on the
packages 'libdigest\-md5\-perl' and 'libdigest\-sha1\-perl'.
.PP
See also: sign_release
.IP "\fBrelease_origin\fR => \fIorigin tag\fR" 4
.IX Item "release_origin => origin tag"
A string to be used for the Origin tag in the Release file.
.Sp
Default value: undef
.IP "\fBrelease_label\fR => \fIlabel tag\fR" 4
.IX Item "release_label => label tag"
A string to be used for the Label tag in the Release file.
.Sp
Default value: undef
.IP "\fBrelease_description\fR => \fIdescription tag\fR" 4
.IX Item "release_description => description tag"
A string to be used for the Description tag in the Release file. (Note that
this should be a single line.)
.Sp
Default value: undef
.IP "\fBrelease_noauto\fR = <array of NonAutomatic release names>" 4
.IX Item "release_noauto = <array of NonAutomatic release names>"
An array of release names which should be tagged with 'NonAutomatic: yes'
in their Release files. This tag will keep \s-1APT\s0 from ever automatically
selecting a package from that archive as an installation candidate.
.Sp
Default value: [ 'experimental' ]
.Sh "Signature configuration"
.IX Subsection "Signature configuration"
Please note that enabling any of these options will cause a dependancy on
the 'gnupg' package. See \fI/usr/share/doc/debpool/README.GnuPG\fR for more
information.
.IP "\fBrequire_sigs_debs\fR = \fIboolean\fR" 4
.IX Item "require_sigs_debs = boolean"
If true, packages will be rejected unless their package files (.deb)
are GPG-signed with a recognized key found one of the keyrings listed
in 'gpg_keyrings'. These can be signed with the tools in the 'debsigs'
package.
.Sp
Default value: 0 (false)
.Sp
See also: gpg_keyrings
.IP "\fBrequire_sigs_meta\fR = \fIboolean\fR" 4
.IX Item "require_sigs_meta = boolean"
If true, packages will be rejected unless their meta-files (.changes and
\&.dsc) are GPG-signed with a recognized key found one of the keyrings listed
in 'gpg_keyrings'. These are the files normally signed by the 'debsign'
utility in devscripts package.
.Sp
Default value: 0 (false)
.Sp
See also: gpg_keyrings
.IP "\fBsign_release\fR = \fIboolean\fR" 4
.IX Item "sign_release = boolean"
If true, generated Release files with be GPG-signed with the key specified
in 'gpg_sign_key'.
.Sp
Note that this will have no effect unless 'gpg_sign_key' is also defined at
some point.
.Sp
Default value: 0 (false)
.Sp
See also: \*(L"Release configuration\*(R", gpg_sign_key
.Sh "GnuPG configuration"
.IX Subsection "GnuPG configuration"
These values will only be used if the use of GnuPG is triggered in some
fashion (such as any of the values in \*(L"Signature configuration\*(R" being
enabled) , and thus do not (in themselves) trigger a dependancy on GnuPG.
Please see \fI/usr/share/doc/debpool/README.GnuPG\fR for more information.
.IP "\fBgpg_bin\fR = \fIGnuPG binary\fR" 4
.IX Item "gpg_bin = GnuPG binary"
This is used to specify the GnuPG binary to run.
.Sp
Default value: '/usr/bin/gpg'
.IP "\fBgpg_home\fR = \fIGnuPG homedir\fR" 4
.IX Item "gpg_home = GnuPG homedir"
This is used to specify the GnuPG homedir (via the \-\-homedir option).
.Sp
Default value: '/home/user/.gnupg'
.IP "\fBgpg_keyrings\fR = \fIarray of keyring filenames\fR" 4
.IX Item "gpg_keyrings = array of keyring filenames"
An arrayref pointing to an array which lists all of the \s-1GPG\s0 keyrings that
hold keys for approved uploaders. Note that this will have no effect unless
at least one of 'require_sigs_debs' or 'require_sigs_meta' is enabled.
.Sp
Default value: [ 'uploaders.gpg' ]
.Sp
See also: require_sigs_debs, require_sigs_meta
.IP "\fBgpg_sign_key\fR = \fIsignature keyID\fR" 4
.IX Item "gpg_sign_key = signature keyID"
A string which contains the \s-1ID\s0 of the key which we will sign Release files
with. Note that this will have no effect unless 'sign_release' is true.
.Sp
Default value: undef
.Sp
See also: sign_release
.IP "\fBgpg_passfile\fR = \fIpassphrase file\fR" 4
.IX Item "gpg_passfile = passphrase file"
This specifies the name of the file from which we read the GnuPG passphrase
for the key listed in gpg_sign_key. Note that it will have no effect unless
\&'sign_release' is true and 'gpg_sign_key' is defined.
.Sp
Default value: '/home/user/.gnupg/passphrase';
.Sp
See also: sign_release, gpg_sign_key
.Sh "Logging configuration"
.IX Subsection "Logging configuration"
These are values which control the logging system.
.IP "\fBlog_file\fR = \fIfilename\fR" 4
.IX Item "log_file = filename"
If this option is defined, logging output will be sent to the filename
specified. Note that an undefined value is considered an explicit request
to log nothing.
.Sh "Misc. configuration"
.IX Subsection "Misc. configuration"
These are values which don't particularly fit into any of the other
sections.
.RS 4
.IP "\fBdaemon\fR = \fIboolean\fR" 4
.IX Item "daemon = boolean"
This determines whether debpool runs as a daemon (never exiting except on
fatal errors, rescanning the Incoming directory periodically), or on a
single-run basis. True values cause debpool to run as a daemon.
.Sp
Default value: 0 (false)
.IP "\fBsleep\fR = \fIdelay\fR" 4
.IX Item "sleep = delay"
This option determines how long the daemon sleeps for, between each
processing run. Note that signals (such as \s-1SIGHUP\s0, \s-1SIGINT\s0, or \s-1SIGTERM\s0)
will force the daemon to wake up before this expires, so don't worry about
setting it too long.
.Sp
Default value: 300 (5 minutes)
.IP "\fBrollback\fR = \fIboolean\fR" 4
.IX Item "rollback = boolean"
This determines whether older packages in the incoming queue are allowed
to replace newer versions already in the archive (roll back the archive
version).
.Sp
Default value: 0 (false)
.IP "\fBrebuild-files\fR = \fIboolean\fR" 4
.IX Item "rebuild-files = boolean"
This option can be set in configfiles, but is more commonly used from the
commandline; if set, it forces all of the distribution files (Packages and
Sources) to be rebuilt, whether or not they need it. This should almost
never be used in conjunction with the daemon option.
.Sp
Default value: 0 (false)
.IP "\fBrebuild-dbs\fR = \fIboolean\fR" 4
.IX Item "rebuild-dbs = boolean"
This option should not be set in configfiles, only used from the
commandline; if set, it forces all of the metadata files to be rebuilt from
scratch. It should, of course, also not be used with the daemon option.
.Sp
\&\s-1WARNING:\s0 This feature is not yet implemented, and will (silently) fail to
do anything, at this time. It will be implemented in a future version.
.Sp
Default value: 0 (false)
.IP "\fBrebuild-all\fR = \fIboolean\fR" 4
.IX Item "rebuild-all = boolean"
This option should not be set in configfiles, only used from the
commandline; if set, it is equivalent to turning on all other rebuild
options (currently \-\-rebuild\-files and \-\-rebuild\-dbs).
.Sp
\&\s-1WARNING:\s0 This feature depends on rebuild\-dbs, which is not yet implemented;
only the \-\-rebuild\-files section will be triggered.
.Sp
Default value: 0 (false)
.IP "\fBconfig\fR = \fIconfigfile\fR" 4
.IX Item "config = configfile"
This is a special option that should not be put into configfiles; it is
intended only for command-line use. It may be issued multiple times; each
time it is used, it will add the named config file to the list which
DebPool will load (later config files override earlier ones, in case of any
conflicts).
.Sp
Default value: N/A
.RE
.RS 4
.SH "CAVEATS"
.IX Header "CAVEATS"
Command line options will override all Config.pm declarations.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIdebpool\fR\|(1)
.SH "AUTHOR"
.IX Header "AUTHOR"
Joel Baker <fenton@debian.org>