Provided by: debarchiver_0.11.3_all
debarchiver - Tool to sort debian packages into a package archive.
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.
-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.
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). $vrfycmd The verify command. Deprecated. Still functional but you are adviced to set @vrfycmd instead as the $vrfycmd may be removed in future releases. @vrfycmd The verify command. If the @vrfycmd list is empty is set to the list ($vrfycmd) just before the verify command is executed. It was made like this for backwards compatibility reasons. $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.
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).
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. head EXAMPLES Suppose you have just uploaded package to repository e.g. with dput(1), and you don't want to wait for the cron process to pick them up. You can force immediate handling of incoming queue with this command. The second option allows overwriting existing archive files. # debarchiver --scandetect --addoverride
Ola Lundqvist <email@example.com>