/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
repo-add(8)
==========

Name
----
repo-add - package database maintenance utility

Synopsis
--------
'repo-add' [options] <path-to-db> <package|delta> [<package|delta> ...]

'repo-remove' [options] <path-to-db> <packagename|delta> [<packagename|delta> ...]


Description
-----------
'repo-add' and 'repo-remove' are two scripts to help build a package database for
packages built with linkman:makepkg[8] and installed with linkman:pacman[8].
They also handle package deltas produced by linkman:pkgdelta[8].

'repo-add' will update a package database by reading a built package or package
delta file. Multiple packages and/or deltas to add can be specified on the
command line.

'repo-remove' will update a package database by removing the package name or
delta specified on the command line. Multiple packages and/or delta to remove
can be specified on the command line.

A package database is a tar file, optionally compressed. Valid extensions are
``.db'' or ``.files'' followed by an archive extension of ``.tar'',
``.tar.gz'', ``.tar.bz2'', ``.tar.xz'', or ``.tar.Z''. The file does not need
to exist, but all parent directories must exist.


Common Options
--------------
*-q, \--quiet*::
	Force this program to keep quiet and run silent except for warning and
	error messages.

*-s, \--sign*::
	Generate a PGP signature file using GnuPG. This will execute `gpg
	--detach-sign --use-agent` on the generated database to generate a detached
	signature file, using the GPG agent if it is available. The signature file
	will be the entire filename of the database with a ``.sig'' extension.

*-k, \--key* <key>::
	Specify a key to use when signing packages. Can also be specified using
	the GPGKEY environmental variable. If not specified in either location, the
	default key from the keyring will be used.

*-v, \--verify*::
	Verify the PGP signature of the database before updating the database.
	If the signature is invalid, an error is produced and the update does not
	proceed.

repo-add Options
----------------
*-d, \--delta*::
	Automatically generate and add a delta file between the old entry and the
	new one, if the old package file is found next to the new one.

*-f, \--files*::
	Tells repo-add also to create and include a list of the files in the
	specified packages. This is useful for creating databases listing all files
	in a given sync repository for tools that may use this information.

See Also
--------
linkman:makepkg[8], linkman:pacman[8], linkman:pkgdelta[8]

include::footer.txt[]