arriero(1)
simplifies management of several Debian packages
Description
arriero
NAME
arriero - simplifies management of several Debian packages
SYNOPSIS
arriero [--config FILE] [--verbose] [--quiet] command [options] [package names]
DESCRIPTION
Arriero is a tool that allows simplifying the management of Debian packages, particularly useful when having to make new upstream releases, builds and uploads of similar packages. It relies heavily in the use of git-buildpackage and general git practices, so it’s only useful for packages currently maintained through git.
GENERAL OPTIONS
-c,--config FILE
Specifies the location of the config file to use. The config file holds all information related to packages. It’s recommended to have different config files in order to work with different groups of packages.
If not specified, the default config file ˜/.config/arriero.conf is read.
-v, --verbose
Show info and debug messages. By default, only warnings and errors are shown.
-q, --quiet
Only show critical errors. If both quiet and verbose are specified, verbose is honored.
-a, --all
Work with all packages. When this option is not specified, package names need to be specified following the command option, separated by spaces.
COMMANDS
The main action that arriero will perform is determined by the command it receives. Each command may have its own specific options, that modify its behavior.
build
Build each
package in a pbuilder. This will call git-pbuilder
which will read local configurations from
/etc/pbuilderrc and ˜/.pbuilderrc.
-D, --distribution , --dist
dist-name
Build the package for the specified distribution
-A, --architecture , --arch arch-name
Build the package for the specified architecture
-U, --local-upload
After a successful build is finished, the package is uploaded, using the upload-command, using local as the host to upload to.
clone
Obtain the
repository for each package. This command can either receive
a list of package names or a git URL to clone from. When
specifying a URL, it will create a new entry in the
configuration file; if specifying a package name, it needs
to already be present in the configuration.
--basedir
The base directory in which to create the clone. After making the clone successfully, the package will be located in basedir/package_name
--upstream-branch
The branch where the upstream code is located.
--debian-branch
The branch where the Debian code is located.
When performing a clone from a URL, if the branches are not manually specified, arriero will try to guess their names, and store the guessed names in the configuration file.
exec
Execute one or
more scripts for each package. The scripts invoked will
receive the properties of the packages as environment
variables, and will be executed inside the package
directory.
-x, --script script_name
The name of the script to be executed. This option can be present multiple times. In that case, each script will be called, in the same order as presented in the command line. If one of the scripts fails for a certain package, the following ones will not be executed for that package
fetch-upstream
Fetch the current upstream tarball for each package.
list
List packages
matching some criteria, with a specific format. This command
allows specifying the desired format with which each package
is going to be displayed.
-f, --fields field_list
Fields to include while
generating the list. The list of fields should be comma
separated. The fields available are:
basedir
branch
build_file
changes_file
debian_branch
depends
distribution
export_dir
is_dfsg
is_native
is_merged
|
name |
||
|
path |
pristine_tar_branch
tarball_dir
upstream_branch
upstream_version
vcs_git
version
-F, --format field_format
The format to use may include fields by name or order, as specified in the --fields parameter.
-e, --include-empty-results
By default, results where nothing would be listed are skipped, if this option is specified, they will be shown even when there is no string to show.
overlay
Combine upstream
and debian branches into either the original debian branch,
or a new branch. This command is intended to be used when
the debian branch doesn’t include the upstream code
and the user needs to have them together in order to work on
the package (for example, to create a quilt package).
Important: this command does not handle cleaning up
the branch after the work is done. This has to be done
manually by the user.
-b, --branch branch-name
The name of the new branch to create with the overlay. If specified and the branch already exists, the command will fail without modifying anything. If not specified, the debian branch for the package will be used.
pull
Obtain any new changes from the packages’ repositories.
push
Push local changes to the packages’ repositories.
release
Change the
distribution in the changelog, committing the change to the
local git. This command only has effect if the distribution
in the changelog is either UNRELEASED or different than the
one passed here.
-D,--distribution distribution-name
The distribution to make the release to.
-P,--pre-release
If this option is received, the release will contain a ˜ after the debian version. The number after the ˜ will get incremented each time the release command is called. This allows for maitainers to keep track of internal tests until it’s time to actually release the package.
If this option is not passed, but the version in the changelog was already a pre-release (i.e. it contained a ˜), the it’s modified to be a final release (without ˜)
status
Show the status of each package. This command checks both the repository state (by using git to query any local/remote changes) and the upstream state (by using uscan)
update
Get the new upstream release for each package. This command not only downloads the new upstream tarball, but also updates the debian/changelog with a new entry for the new release, with distribution set to UNRELEASED.
upload
Upload each package. This command uses the upload-command set in the config file to upload each built package (packages that have not been built are ignored).
AUTHORS
Maximiliano Curia <maxy@debian.org>, Margarita Manterola <marga@debian.org>