Savane setup
As of 2025-07, Savane is installed and runs on mgt1, download0, vcs0, vcs1, vcs2, frontend2. The installation procedure is quite uniform.
The bootstrapped Git repository is located at /opt/src/savane; the package is built in /root/build-savane/build. /root/build-savane has a link savane-bootstrapped pointing at /opt/src/savane. Using a checkout of the official repository (as opposed to directly editing the files at the location where they are installed) is important for a few reasons,
- When the changes are pushed to the Savane repository first, the next admin who updates has a chance to see them. The local-only changes may go unnoticed and be rewritten.
- Even if the changes are overwritten, they can be restored when we have them in the Savane repository. The local-only changes will be lost and can only be restored from human memory.
- Savane is licensed under the AGPL, and that requires offering the corresponding source code. Savane design ensures that the offered code is corresponding when installed with the regular workflow. In cases like frontend, making arbitrary changes in installed files violates the license.
The configuration is maintained in /etc/savane: either Savane is
configured with --sysconfdir=/etc, or /opt/savane/etc/savane
contain links to the files from /etc/savane.
Basic steps to update Savane after logging in as root
the machine in question are (replace frontend in origin/frontend with
the name of another branch if needed):
- cd ~/build-savane/savane-bootstrapped; git fetch origin
- git diff --color=always HEAD origin/frontend
- git reset --hard origin/frontend; autoreconf -vf
- cd ~/build-savane/build; make all install{,check}
Additional steps the admin does in certain cases are:
Check the command line of configure,
~/build-savane/build/config.status --config
and add new options.
Backup the previous installation,
rm -fr /opt/savane~ cp -a /opt/savane{,~}
Update configuration files in /etc/savane. 'make install' is designed to keep the existing configuration files unchanged.
Common settings
The existing database from the 'internal' VM is used, so the --disable-database configure option should be used.
Machine specifics
frontend
The only machine where --disable-frontend is not used.
mgt
The users don't interact with this machine, no access is provided, so the source code isn't offered.
vcs
The offer from sv_membersh suggests an rsync option that omits the '.git' directory, so a ChangeLog is generated from Git logs as a way to list the changes made in original software. (As of 2025-07, sv_membersh isn't used on vcs machines, but that doesn't invalidate the Savane setup above and the possibility to get the corresponding source code of the running instance.)
download
The configure script runs with --enable-mirror, that switches on mirror-redirect and other mirror-related scripts.
Copyright © 2024, 2025 Ineiev
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.