repo-add - package database maintenance utility
repo-add [options] <path-to-db> <package|delta>
repo-remove [options] <path-to-db>
<packagename|delta> [<packagename|delta> ...]
repo-add and repo-remove are two scripts to help build a package
database for packages built with makepkg(8) and installed with
pacman(8). They also handle package deltas produced by
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.
If a matching “.sig” file is found alongside a
package file, the signature will automatically be embedded into the
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” 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.
Force this program to keep quiet and run silently except
for warning and error messages.
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”
-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.
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.
Remove color from repo-add and repo-remove
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
Only add packages that are not already in the database.
Warnings will be printed upon detection of existing packages, but they will
not be re-added.
Remove old package files from the disk when updating
their entry in the database.
repo-add foo.db.tar.xz <pkg1> [<pkg2> ...]
This creates two separate databases; a smaller database
“foo.db.tar.xz” used by pacman and a large database containing
package file lists “foo.files.tar.xz” for use by other
utilities. While pacman can use the large database (if renamed with a
db.tar* extension), there is currently no additional benefit for the larger
makepkg(8), pacman(8), pkgdelta(8)
See the pacman website at https://www.archlinux.org/pacman/ for
current information on pacman and its related tools.
Bugs? You must be kidding; there are no bugs in this software. But if we happen
to be wrong, send us an email with as much detail as possible to
•Allan McRae <firstname.lastname@example.org>
•Dan McGee <email@example.com>
•Dave Reisner <firstname.lastname@example.org>
Past major contributors:
•Judd Vinet <email@example.com>
•Aaron Griffin <firstname.lastname@example.org>
•Xavier Chantry <email@example.com>
•Nagy Gabor <firstname.lastname@example.org>
For additional contributors, use git shortlog -s on the pacman.git