[arch-dev-public] Sharing my repo-tools

Pierre Schmitz pierre at archlinux.de
Fri Apr 9 21:13:33 EDT 2010

I have finally put the tools I use to sync my local repo and to create
those magic rebuild lists into a git repo. I polished them to increase
usability and portability, but they are not really ready to be run e.g. on

See https://git.archlinux.de/repo-tools.git/tree/ or clone from

syncrepo is a script I just refactored today to keep my local repo in
sync. You can simply change it to sync from any other server. What I am
trying here is to sync all db files first to reduce the problems of repos
not matching each other. I exclude some files I don't need and the links
files I create myself. This script can be run via cron (add >/dev/null to
suppress output)

createlinks is a script which reads all the links to shared libs from the
packages and put them into a database with a format similar to our repo db
files. This script works incremental and can be run via cron. I just
cleaned it up and added the readelf line from the sodeps pacman branch,
which was a little simpler than mine. I only read the files from certain
dirs like /usr/lib; so if you have a lib in /usr/share that wont be
covered. If you uncomment that "(..)& wait" you can check both arches in
parallel. The initial run takes quite long; but I don't know how to speed
this up even more (at least when we stay in bash).

getpkgbase is a simple script stolen from the db-scripts to get the
package base or name from a package file.

with sogrep you can check which packages link against a certain soname.
This is of course really fast as it literally greps through the link
database we create with the script mentioned above.

Maybe these scripts are helpful for someone; suggestions or patches are


Pierre Schmitz, https://users.archlinux.de/~pierre

More information about the arch-dev-public mailing list