debarchiver(1) Tool to sort debian packages into a package archive.

SYNOPSIS

debarchiver [options]

DESCRIPTION

The debian archiver is a tool that installs debian packages into a file structure suitable for apt-get, aptitude, dselect and similar tools. This can be used for updating the Debian system. It is meant to be used by local administrators that need special packages, or tweaked versions to ease administration.

The file structure is based on the potato file structure and does not support package pools.

OPTIONS

-a | --autoscan
Does both --autoscanpackages and --autoscansources.
--autoscanall
Same as --scanall --autoscan.
--autoscanpackages
Automatically run dpkg-scanpackages after all new packages are installed.
--autoscansources
Automatically run dpkg-scansources after all new packages are installed.
-b | --bzip
Create bzip2 compressed Packages.bz2 and Sources.bz2 files.
--cachedir dir
The apt-ftparchive package cache directory, if --index is used. The default is $cachedir.
--cinstall dir
Where the .changes file will be installed to. Use the empty string to remove the .changes file instead. The default is $cinstall.
--configfile file
Specifies an extra configuration file to read. Will be read after etc configuration and after user configuration files.
--copycmd
The install command to use where the default is $copycmd. Both packages and .changes files are installed using this command.
-d | --dest | --destdir dir
Destination directory. The base directory where all the distribution packages will reside and where the $distrib/$major/$arch/$section directory structure will be created. The default is $destdir, relative to the input directory.
--debug-level | --dl level
What information that should be printed. 1=critical, 2=error, 3=normal, 4=message, 5=debug, 6=verbose debug (modules).
--distinputcriteria
The criteria for what binary packages should be installed even if they do not have a .changes file. The default is $distinputcriteria.
--gpgkey
The GnuPG key to use to sign the archive.
--gpgpassfile
The file that provides the password to GnuPG.
--help
Prints this information.
-i | --input | --indir | --inputdir dir
This is the directory where debarchiver will look for new package versions and corresponding *.changes files that should be installed to the --dest directory. The default is $instdir.
--ignoredestcheck
Force install of .changes file even if some files specified in the .changes file already exists with wrong size or md5 hash.
--incompletetime
The time to allow .changes file to be incomplete in seconds. The default is 24 hours.
--index | -x
Automatically run apt-ftparchive after all new packages are installed. Use this *or* --autoscan, not both.
--instcmd
DEPRECATED!
--lockfile file
The lockfile to use. The default is $lockfile.
--mailcmd
The command to use to send emails. The default behavior is to use the sendmail command. You can disable email sending by specifying the /bin/true command.
--mailformat
Defines the format to be used to send emails with, by the command specified by --mailfrom. Only 'sendmail' and 'mail' formats are supported. By default debarchiver assumes 'sendmail' format. The argument can be one of the following:
  sendmail = use of the sendmail format
  mail     = use of the mail format
--mailfrom
Specify mail sender.
--majordefault
Default major section to use. The default is 'main'.
--movecmd
Command to move files (currently not used at all).
--nosort
Do not sort packages.
--nostructurefix
Do not create directories and touch Package files.
-o | --addoverride
Automatically add new packages to the override file.
--quit-level level
On what level to quit the application, see debug level.
--rmcmd
The remove command to use. The default is $rmcmd. This can be used to move away the old packages to some other place.
--scanall
Scan all distributions, sections, etc.
--scandetect | -s
Scan using 'apt-ftparchive' or 'dpkg-scan*' (dpkg-scanpackages and dpkg-scansources) depending on what is installed on the system. This is the recommended way. Only use --index or --autoscan if you know what you are doing.
--scanonly
Same as --nosort --nostructurefix.
-v | --version
Prints the version string.

CONFIGURATION FILES

You can also place configuration files with the following names (in the following order) /etc/debarchiver.conf, ~/.debarchiver.conf and input.conf (relative to input directory) that will be read before the arguments to this program will be parsed. In the above files you can change the following variables:

The configuration files are read as perl modules they should end with a true value. Therefore they should always end with a line that states '1;'.

$bzip
If set to 0 no bzip2 files will be generated. If set to 1 bzip2 files will be generated.
$cachedir
The cache directory for apt-ftparchive used if --index is used.
$cinstall
Where the .changes files are installed (see --cinstall above).
$copycmd
The install command (see --copycmd).
$destdir
The destination directory (see --destdir above).
$distinputcriteria
The criteria for which packages that should be installed even if it does not have a .changes file. The default is $distinputcriteria.
%distinputdirs
Directories (distribution => dir) to be searched for extra binary packages that does not need a .changes file to be installed but match $distinputcriteria. The default is to accept kernel packages generated by make-kpkg (which does not generate a .changes file). Additionally binary packages with a valid .changes file will have the default distribution overridden to be the current queue directory. This cause uploads to a specific queue to place the package into that distribution directly.
$gpgkey
The GnuPG key to use to sign the archive. If this variable is set, the Release file for each changed section of the archive will be signed with GnuPG using $gpgkey as the key ID. Unless you use a key that has no passphrase or use $gpgpassfile, you will need to run debarchiver interactively when using this option so that you can supply the passphrase.
$gpgpassfile
The file that contains the passphrase for the GnuPG key. See $gpgkey for more information.
$ignoredestcheck
Force install of .changes file even if some files specified in the .changes file already exist with wrong size or md5 hash. Default to 0 (do not ignore).
$incompletetime
Time to allow .changes files to be incomplete in seconds. Useful for slow uploads. The default is 24 hours.
$inputdir
The input directory (no effect in $inputconfigfile).
$lockfile
The lockfile to use. The default is $lockfile.
@mailtos
An array of strings that will receive emails. If the string contains an email address that one is used. If it contains an incomplete email address, i.e. @hostname, the username owning the file is used @ the hostname specified. If no '@' character is found in the string, it is considered as a field in the .changes file. Such a field can for example be Maintainer or Uploaders.
$mailformat
The format to use to send emails (see --mailformat above).
$mailfrom
Specifies the sender of emails. The default is none ("")
$majordefault
Default major section (see --majordefault above).
$movecmd
The move command (see --movecmd).
%release
Additional information to add to generated Release files. Supported keys are 'origin', 'label', and 'description'.
$rmcmd
The remove command (see --rmcmd above).
$verifysignatures
Choose to enable (1) or disable (0) signature verification for packages uploaded into $inputdir (not %distinputdirs).
$verifysignaturesdistinput
Choose to enable (1) or disable (2) signature verification for packages uploaded into %distinputdirs. This works independently from $verifysignatures.
$usermailcmd
It allows the user to tell debarchiver to use a specific command to send emails. You may also want to specify the mailformat your mail command handles by setting the value of the $mailformat variable. Using the --mailcmd option on the command line will superseed this variable. You can disable email sending by specifying the /bin/true command.

PACKAGE INDEXING

There are two ways to generate the indexes that apt-get relies on.

Using --autoscanpackages, --autoscansources, or --autoscan will use dpkg-scanpackages and dpkg-scansources. This will generate the Packages and Sources files, but will not generate Contents files and can be slow with a large repository.

Alternatively, the --index config option will call apt-ftparchive to index the package tree. apt-ftparchive can also generate Contents files (for use with apt-file), and can optionally use a cache of package information to speed up multiple runs. The apt-ftparchive configuration file will be generated automatically. This is however not fully tested.

You should use either --autoscanpackages and --autoscansources or --index, not both, as they do basically the same thing.

The default action (and the recommended) is --scandetect that probe for installed software and use the best choice depending on what software you have installed (chooses between --index and --autoscan right now).

REJECT

Changes files are rejected in the following conditions:
 * A file that is about to be installed already exist in the archive and is not identical to the one that is about to be installed.
 * Changes file is incomplete and has been there for $incompletetime time.
 * A file that is part of the Changes file is not yet big enough and the changes file has been there for $incompletetime time.
 * A file that is part of the Changes file is bigger than specified.
 * Verify signatures is enabled and signature do not match.

FILES

/etc/debarchiver.conf

AUTHOR

Ola Lundqvist <[email protected]>