REPO-ADD(8)
πΈ REPO-ADD(8) β the pacman manual, but make it cute πΈ
okay bestie, gather round, because this is repo-add, and she's literally the package database maintenance utility of your dreams π (the page lives in the Pacman Manual, iykyk)
β¨ NAME β¨
repo-add β package database maintenance utility π οΈ
π SYNOPSIS π
repo-add [options] <path-to-db> <package> [<package> ...]
repo-remove [options] <path-to-db> <packagename> [<packagename> ...]
π DESCRIPTION π
so repo-add and repo-remove are two little scripts whose whole job is helping you build a package database for packages built with makepkg(8) and installed with pacman(8). iconic behavior, honestly.
repo-add updates a package database by reading a built package file. and you're not limited to one, bestie β you can throw multiple packages to add right there on the command line. slay β¨
and here's the cute part: if a matching .sig file is found chillin' right alongside a package file, that signature gets automatically embedded into the database. no extra steps, she just does it π«Ά
repo-remove updates a package database by removing the package name you specify on the command line. yep, multiple packages to remove can also be specified on the command line. equal opportunity π
now, a package database is a tar file, optionally compressed. the valid extensions are .db followed by an archive extension of .tar, .tar.bz2, .tar.gz, .tar.lrz, .tar.lz, .tar.lz4, .tar.lzo, .tar.xz, .tar.zst or .tar.Z. and listen β the file does not need to exist yet, she'll come into being, main character energy. but all parent directories must exist. no skipping that part, fr fr π
π COMMON OPTIONS π
-q,--quietβ force this program to keep quiet and run silently, except for warning and error messages. she's giving peace and quiet π€«-s,--signβ generate a PGP signature file using GnuPG. this will executegpg --detach-signon 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.sigextension. signature moment π₯-k,--keykey β specify a key to use when signing packages. can also be specified using theGPGKEYenvironment variable. if you don't specify it in either location, the default key from the keyring will be used. defaults, we love her π-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. trust issues, but make them valid π--nocolorβ remove color fromrepo-addandrepo-removeoutput. (sad, but okay πΈ)-R,--removeβ remove old package files from the disk when updating or removing their entry in the database. declutter era π§Ή-w,--wait-for-lockβ wait for the lock file to be acquired. if unset, command will fail with exit code2if acquiring the lock fails. if set, it will retry to acquire lock until success. patience is a virtue bestie β³
π¦ REPO-ADD OPTIONS π¦
-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. new only, no reruns π-p,--prevent-downgradeβ do not add package to database if a newer version is already present. we do not go backwards in this house β¨--include-sigsβ include package PGP signatures in the repository database (if available). the more sigs the merrier π
π EXAMPLE π
repo-add foo.db.tar.xz <pkg1> [<pkg2> ...]
this creates two separate databases:
- a smaller database
foo.db.tar.xzused by pacman π± - a large database containing package file lists
foo.files.tar.xzfor use by other utilities π
and yes, while pacman can use the large database (if renamed with a db.tar* extension), there is currently no additional benefit for the larger download. so likeβ¦ don't bother, bestie π
π SEE ALSO π
see the pacman website at https://archlinux.org/pacman/ for current information on pacman and its related tools. go read, it's giving informed π
π BUGS π
bugs? you must be kidding; there are no bugs in this software. periodt. π
but if we happen to be wrong (not me being wrong, never π), please report them to the issue tracker at https://gitlab.archlinux.org/pacman/pacman/-/issues with specific information such as your command-line, the nature of the bug, and even the package database if it helps. receipts, bestie, we need receipts π§Ύ
π AUTHORS π
current maintainers:
- Allan McRae
<allan@archlinux.org> - Andrew Gregory
<andrew.gregory.8@gmail.com> - Morgan Adamiec
<morganamilo@archlinux.org>
past major contributors:
- Judd Vinet
<jvinet@zeroflux.org> - Aurelien Foret
<aurelien@archlinux.org> - Aaron Griffin
<aaron@archlinux.org> - Dan McGee
<dan@archlinux.org> - Xavier Chantry
<shiningxc@gmail.com> - Nagy Gabor
<ngaba@bibl.u-szeged.hu> - Dave Reisner
<dreisner@archlinux.org> - Eli Schwartz
<eschwartz@archlinux.org>
for additional contributors, use git shortlog -s on the pacman.git repository. legends only β
and that's the whole page, bestie π«Ά go forth and build that database, you absolute icon.
Pacman 7.1.0 β 2026-10-15 β REPO-ADD(8), signing off πβ¨ππ¦
π¦ where this page comes from
- arch rolling: pacman 7.1.0.r9.g54d9411-3 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms