NAME
debarchiver - Tool to sort debian packages.
SYNOPSIS
debarchiver [options]
DESCRIPTION
The debian archiver is a tool that installs debian packages into a file
structure suitable for apt-get, dselect and similar tools to use for
updating the installed debian system. It is meant to be used by local
administrators that needs special packages, or tweaked versions to ease
administration.
The file structure is based on the potato file structure and does not
support package pools. This may be implemented later, but is not high
priority.
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.
Default $cachedir.
--cinstall dir
Where the .changes file will be installed to, empty string to
remove it instead, default $cinstall.
--configfile file
Specify an extra configuration file to read. Will be read after etc
config and user config file.
--copycmd
The install command to use, default $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 reside. Here the
$distrib/$major/$arch/$section directory structure will be created.
Default $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 which binary packages that should be installed
even if it does not have a .changes file, default
$distinputcriteria.
--gpgkey
GnuPG key to use to sign the archive.
--gpgpassfile
File to provide password to GnuPG.
-i | --input | --indir | --inputdir dir
This is the directory where the all packages and corresponding
*.changes files that should be installed to the --dest directory,
default $instdir.
--index | -x
Automatically run apt-ftparchive after all new packages are
installed. config must be an absolute path to the configuration
file to use for apt-ftparchive generate. See the apt-ftparchive
manual page for more information. Use this *or* --autoscan, not
both.
--instcmd
DEPRECATED!
--help
Prints this information.
--lockfile file
The lockfile to use, default $lockfile.
--majordefault
Default major section to use if undefined (default: main)
--movecmd
Command to move files (currently not used at all).
--incompletetime
The time to allow .changes file to be incomplete in seconds.
Defaults to 24 hours.
--mailcmd
The command to use to send emails. The default behavior is to use
the sendmail command.
--mailformat
Define which format has to be used to send emails with the user
command specify by --mailfrom. Only sendmail and mail formats are
supported. By default, if this option is not given, debarchiver
assumes the sendmail format. The argument can be one of the
followings:
sendmail = use of the sendmail format
mail = use of the mail format
--mailfrom
Specify mail sender.
--nosort
Do not sort packages.
--nostructurefix
Do not create directories and touch Package files.
-o | --addoverride
Automatically add new packages to the override file.
--rmcmd
The remove command to use, default $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* 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.
--quit-level level
On what level to quit the application, see debug level.
-v | --version
Prints the version string.
--ignoredestcheck
Force install of changes files even if some files already exists
with wrong size or md5 hash.
CONFIG FILE
You can also place config files with the following names (in 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. Here 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 1;
$bzip
If set to 0 no bzip2 files will be generated. If set to 1 bzip2
files will be generated.
$incompletetime
Time to allow .changes files to be incomplete in seconds. Useful
for slow uploads. Defaults to 24 hours.
$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, default $distinputcriteria.
%distinputdirs
Directories (distribution => dir) to be searched for binary
packages that do not need a .changes file to be installed but match
$distinputcriteria. The default is 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
causes uploads to a specific queue to place the package into that
distribution directly.
$gpgkey
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
A file that contain the passphrase for the GnuPG key. See $gpgkey
for more information.
$inputdir
The input directory (no effect in $inputconfigfile).
$lockfile
The lockfile to use, default $lockfile.
@mailtos
An array of strings that should be mailed to. 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
Specify the sender of emails. Default to 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).
$ignoredestcheck
Force install of changes files even if some files already exists
with wrong size or md5 hash. Default to 0.
$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 which 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.
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 both 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 (choose between --index and --autoscan right now).
REJECT
Changes files are rejected in the following conditions:
* If 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.
* If verify signatures is enabled and signature do not match.
FILES
/etc/debarchiver.conf
SEE ALSO
apt-ftparchive(1)
AUTHOR
Ola Lundqvist <ola@inguza.com>