GNU Arch: notes for admins

The Arch Subsystem

GNU Arch is supported on Savannah's Arch subsystem.

All Savannah Arch-related materials are located in the Savannah Administration's Arch repository. s

There are three archives:

  • arch-subsystem--production--1.0 -- houses arch patches
  • arch-webpage--production--1.0 -- the webpage on
  • infra--main--0 -- scripts that describe how Savannah is setup

Creating an Archive

The archive is created via the backend when the admin activates the feature in Savane.


ArchZoom is installed but needs frontend/backend mods to 1) reference available archives and 2) registers/removes them from ~/.arch-params/=locations.

Naming convention

There used to be a naming convention where only one archive was created at the top-level, but now since users did not follow it (to be able to mirror existing archives, add several archives with different settings, etc.) we now give access with plain RSYNC with no archives layout whatsoever. This makes it more difficult to write tools to manage archives (such as the ArchZoom archive registration above) but it's far more convenient for users.


We should encourage, but not enforce the use of signatures. Checking signatures is a difficult matter, especially with expired/revoked keys. Check bug-cvs archives (2005-08 to 2005-10) for interesting GPG-signed commits discussions.

Obsolete - commit Notifications

At a point we had a modified SSH server that allowed to send commit notifications. Since GNU Arch is not meant to be used through an intelligent server we disabled this and repositories are not accessed via a dumb, unmodified RSYNC access. Old documentation:

To setup commit notifications for a project, simply create a file in the project's root archive named setup.conf. (ex: for the administration project the file is /archives/administration/setup.conf)

Put email-on-commit emailaddress@here.example in the file.

The administration project's file contents:


Outdated - updating the webpage

The webpage was managed via but it's easier to modify the webpage as root.