Wydawca (split by section):   Section:   Chapter:FastBack: configuring   Up: configuring   FastForward: wydawca.conf   Contents: Table of ContentsIndex: Concept Index

4.11 Archivation

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.

Config: archive type
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:

none

Disable archivation.

tar

Add to a tar archive.

directory

Store file in a separate directory.

Config: archive: name file-or-dir

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).

Config: tar-program name

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.

Config: archive: backup type

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:

t
numbered

Always make numbered backups.

nil
existing

Make numbered backups of files that already have them, and simple backups of the others.

never
simple

Always make simple backups.

If no backup method is given, ‘existing’ is assumed

Config: archive: directory-mode mode

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).

Config: archive: directory-owner uid gid

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.

Config: archive-signatures bool

If implicit signature archivation is not needed, use the archive-signatures statement to disable it, e.g.:

archive-signatures no;

Wydawca (split by section):   Section:   Chapter:FastBack: configuring   Up: configuring   FastForward: wydawca.conf   Contents: Table of ContentsIndex: Concept Index