Wydawca |
|
Release Submission Daemon |
Sergey Poznyakoff |
There may be cases when project maintainers need to overwrite
existing distributed files with another ones, having the same names.
(Note, however, that this practice is not encouraged). In that case,
wydawca
needs to first archive the already existing
file, and then put the new one in its place. Moreover, the directive
file format allows maintainers to explicitly require archivation of
their existing files.
Wydawca
supports two basic archivation methods: to a
tar
file, and to a separate directory. The method to be used
is configured using archive
statement. This statement can
appear either in the global scope, in which case it affects all
spools, or within a spool
block (see spool),
where it affects only the given spool.
archive type { # Name of archive file or directory name file-or-dir; # Define backup type backup type; # mode for the archive directory directory-mode mode; # owner user and group for the archive directory directory-owner uid gid; }
The type argument specifies the archivation type:
Disable archivation.
Add to a tar
archive.
Store file in a separate directory.
Specify the name of the tar archive (if type ‘tar’ is used) or destination directory (if type ‘directroy’ is used).
If the archivation type tar is used, the name
statement sets the full name of the tar archive to use, e.g.:
archive tar { name /var/spool/uploads/archive.tar; }
The file being archived is appended to the archive using
tar -r
(see Appending Files to an Archive in GNU tar: an
archiver tool). Any archived instance can subsequently be retrieved
using GNU tar --occurrence option (see Multiple Files with the Same Name in GNU tar: an archiver tool).
By default, wydawca
will search for tar
binary in
your search path. If you wish to use a particular binary, you may
specify its full file name using tar-program
statement.
The ‘directory’ archivation type means that archive copies will
be stored in a directory specified by the name
statement.
If it begins with a slash (i.e. represents an absolute
file name), an exact copy of the distribution directory hierarchy will
be created under it. For example, given this configuration:
archive directory { name /var/backups/gnu; }
all files from /home/ftp/gnu/tar will be archived in /var/backups/gnu/tar, and files from /home/ftp/gnu/tar/old will be archived in /var/backups/gnu/tar/old, etc.
If the directory name does not begin with a slash, it will be created under the corresponding distribution directory. For example, the following archivation settings:
archive directory { name .archive; }
mean that files from /home/ftp/gnu/tar will be archived in the directory /home/ftp/gnu/tar/.archive, files from /home/ftp/gnu/tar/old — in /home/ftp/gnu/tar/.archive/old, etc.
When using the ‘directory’ archivation type, it may happen that the archive file with the same name as the one about to be created already exists. This statement specifies how to handle the existing copy, in other words, how to backup it. The type argument corresponds to the ‘version-control’ Emacs variable. The following table describes its possible values:
Always make numbered backups.
Make numbered backups of files that already have them, and simple backups of the others.
Always make simple backups.
If no backup method is given, ‘existing’ is assumed
Sets directory mode for creating the directory (octal). If the directory already exists, its mode will be checked and if necessary changed to mode.
This statement overrides the global directory-mode
statement
(see directory setup).
Configures owner user and group IDs for created archive directories. If the archive directory already exists, its ownership will be checked and if necessary reverted to uid:gid.
See directory-owner, for a discussion of the syntax for uid and gid.
This statement overrides the global directory-mode
statement
(see directory setup).
Signature files (i.e. the ones ending with ‘.sig’) are usually
located in the same directory as the files they sign. To enforce this
rule, wydawca
implements implicit signature
archivation facility. It works as follows. When archivation of
file is requested by archive: file
statement in the
directive file, wydawca
also checks if the file named
file.sig exists. If so, it is archived along with
file.
If implicit signature archivation is not needed, use
the archive-signatures
statement to disable it, e.g.:
archive-signatures no;
This document was generated on January 6, 2021 using makeinfo.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.