Skip to content
Arch Linux repository management scripts
Branch: master
Clone or download
eli-schwartz Handle split packages properly in staging repos check.
This needs to check the pkgbase, not the pkgname, as for split packages
we need to lookup a PKGBUILD using the basename.
Latest commit f2e8d57 Jan 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cron-jobs Factor out the exporting of files/folders from svn. Oct 8, 2018
test db-move: also block moving package from staging to extra without hand… Jan 10, 2019
.editorconfig Add editor configuration Apr 15, 2017
.gitignore Move test cases and fixtures to more meaningful directories Apr 23, 2017
.travis.yml Use a minimal travis environment Apr 15, 2017
Makefile test: BUILDDIR must be owned by build user Jun 19, 2018
README.md readme: switch to travis-ci.com build status badge Sep 9, 2018
config testing2x: be more generic and accept multiple testing repos Jan 10, 2019
config.local.svn-community testing2x: be more generic and accept multiple testing repos Jan 10, 2019
config.local.svn-packages testing2x: be more generic and accept multiple testing repos Jan 10, 2019
db-archive db-archive: check whether we are already ${ARCHIVEUSER} before sudoing. Jan 11, 2019
db-functions Handle split packages properly in staging repos check. Jan 13, 2019
db-functions-svn Finish the svn refactor by implementing helper functions to write to … Oct 8, 2018
db-move db-move: also block moving package from staging to extra without hand… Jan 10, 2019
db-remove Finish the svn refactor by implementing helper functions to write to … Oct 8, 2018
db-repo-add Consistently use "$(dirname "$(readlink -e "$0")")" Apr 8, 2018
db-repo-remove Consistently use "$(dirname "$(readlink -e "$0")")" Apr 8, 2018
db-update db-update: die when trying to update a package without updating a pen… Jan 10, 2019
testing2x testing2x: be more generic and accept multiple testing repos Jan 10, 2019

README.md

Arch Linux repository management scripts Build Status

Configuration

  • The default configuration can be found in config.
  • An optional config.local may override the default configuration.
  • The path and name of the local configuration file can be overridden by setting the DBSCRIPTS_CONFIG environment variable.

Overview

The executables that you (might) care about are:

dbscripts/
├── cron-jobs/
│   ├── devlist-mailer
│   ├── ftpdir-cleanup
│   ├── integrity-check
│   └── sourceballs
├── db-move
├── db-remove
├── db-repo-add
├── db-repo-remove
├── db-update
└── testing2x

Ok, now let's talk about what those are.

There are 3 "main" programs:

  • db-update : add packages to repositories
  • db-remove : remove packages from repositories
  • db-move : move packages from one repository to another

Moving packages from testing to stable repositories is such a common task that we have a wrapper around db-move to make it easier:

  • testing2x

Of course, sometimes things go wrong, and you need to drop to a lower-level, but you don't want to go all the way down to pacman's repo-add/repo-remove. So, we have:

  • db-repo-add
  • db-repo-remove

Now, we'd like to be able to check that the repos are all OK, so we have

  • cron-jobs/integrity-check

When we remove a package from a repository, it stays in the package "pool". We would like to be able to eventually remove packages from the pool, to reclaim the disk space:

  • cron-jobs/ftpdir-cleanup

Things that haven't been mentioned yet:

  • cron-jobs/devlist-mailer
  • cron-jobs/sourceballs

Testing

  • Install the make and docker packages. Start the docker daemon by issuing systemctl start docker.
  • The test suite can now be run with make test.
  • A coverage report can be generated with make test-coverage. Open coverage/index.html in your web browser to inspect the results.
You can’t perform that action at this time.