///// 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. If a matching ``.sig'' file is found alongside a package file, the signature will automatically be embedded into the database. '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 silently 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. *\--nocolor*:: Remove color from 'repo-add' and 'repo-remove' output. 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. *-n, \--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. *-R, \--remove*:: Remove old package files from the disk when updating their entry in the database. Example ------- 'repo-add' is often invoked twice to create two separate databases; a smaller database used by pacman and a large database containing package file lists for use by other utilities. 'repo-add' foo.db.tar.xz <pkg1> [<pkg2> ...] 'repo-add' -f foo.files.tar.xz <pkg1> [<pkg2> ...] While pacman can use the large database (if given a db.tar* extension), there is currently no additional benefit for the larger download. See Also -------- linkman:makepkg[8], linkman:pacman[8], linkman:pkgdelta[8] include::footer.txt[]