index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
-rwxr-xr-x | conf/default.conf | 146 |
diff --git a/conf/default.conf b/conf/default.conf deleted file mode 100755 index daa1955..0000000 --- a/conf/default.conf +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh - -# set up some common variables - -# shellcheck disable=SC2034 - -set -e -export LANG=C - -# TODO: This should become lib/load-configuration to avoid confusion. -# Additionally, there should be conf/common.conf.example, -# conf/master.conf.example and conf/slave.conf.example. - -# dirty hack to get this stuff debugable from a bash -if [ "x${0##*/}" = "x-bash" ] || [ "x${0##*/}" = "xbash" ] || [ "x${0##*/}" = "xdash" ]; then - base_dir=$(pwd) -else - base_dir=$(printf '%s/..' "$(dirname "$(readlink -f "$0")")") -fi - -work_dir="${base_dir}/work" - -# shellcheck source=../lib/common-functions -. "${base_dir}/lib/common-functions" - -# if mysqld is not running, we're either on a build slave and don't need -# lib/mysql-functions or we're on the build master and something is wrong -# anyway -if pgrep -x mysqld >/dev/null 2>&1; then - # shellcheck source=../lib/mysql-functions - . "${base_dir}/lib/mysql-functions" -fi - -# TODO: some of this should be read from the database instead -repo_names='packages community archlinux32' -repo_paths__packages="${work_dir}/repos/packages" -repo_paths__community="${work_dir}/repos/community" -repo_paths__archlinux32="${work_dir}/repos/packages32" - -master_build_server="buildmaster.archlinux32.org" -master_build_server_port="22" -master_build_server_user="slave" -master_build_server_identity="${work_dir}/.ssh/id_rsa" - -repo_key='0xdeadbeef' -package_key='0x15eebadc0de' - -# to access the master mirror via rsync -master_mirror_rsync_command='rsync --password-file=/home/slave/rsync.password' -master_mirror_rsync_directory='rsync://buildmaster@mirror.archlinux32.org/packages32' - -# to access the master mirror via sftp -master_mirror_sftp_command='sftp -b- user@mirror' - -# mirror of sources, identified (solely) by hash -source_by_hash_mirror='http://sources.archlinux32.org/' - -# what should be tried in what order to somehow repair a broken build -straws_that_might_repair_failing_builds=$( - printf '%s\n' \ - ':' \ - ':clean_chroot:' \ - ':mirrored_source_by_hash:' \ - ':mirrored_source:' \ - ':with_build_support:' \ - ':with_build_support:clean_chroot:' -) - -# root directory of the webserver -webserver_directory='/srv/http' - -# directory to keep the build log files in -build_log_directory='/srv/http/build-logs' - -# known package repositories -standalone_package_repositories=$( - printf '%s\n' 'build-support' 'gnome-unstable' 'kde-unstable' -) -stable_package_repositories=$( - printf '%s\n' 'community' 'core' 'extra' -) -testing_package_repositories=$( - printf '%s\n' 'community-testing' 'testing' -) -staging_package_repositories=$( - printf '%s\n' 'community-staging' 'staging' -) - -# irc client configuration -irc_dir='/home/slave/irc/irc.freenode.net' -irc_password='top_secret' - -# commands to run to update the i686 package mirror used for installing i686 packages, -# e.g. the one from /etc/pacman.d/mirrorlist32 (useful on build slaves which do not -# have the master mirror in the mirrorlist32) -mirror_update_command='' - -# list of urls to trigger updates of the respective mirrors (used on build master only) -mirror_refresh_trigger_urls='' - -# command to access the mysql database -mysql_command='mysql buildmaster' - -# possibly pull in custom modifications - -# shellcheck source=/dev/null -[ -r "${base_dir}/conf/local.conf" ] && . "${base_dir}/conf/local.conf" - -# check / set up environment - -if [ -z "${build_list_lock_file}" ]; then - build_list_lock_file="${work_dir}/build-list.lock" -fi - -if [ -z "${sanity_check_lock_file}" ]; then - sanity_check_lock_file="${work_dir}/sanity-check.lock" -fi - -if [ -z "${package_database_lock_file}" ]; then - package_database_lock_file="${work_dir}/package-database.lock" -fi - -mkdir -p "${work_dir}" - -for repo in ${repo_names}; do - - eval repo_path='"${repo_paths__'"${repo}"'}"' - - mkdir -p "${repo_path%/*}" - - if ! git -C "${repo_path}" rev-parse --git-dir > /dev/null 2>&1; then - if [ "${repo}" = "archlinux32" ]; then - repo_source='https://github.com/archlinux32/packages.git' - else - repo_source="git://git.archlinux.org/svntogit/${repo}.git" - fi - git clone --bare "${repo_source}" "${repo_path}" - fi - -done - -if [ "${master_build_server_identity}" = "${work_dir}/.ssh/id_rsa" ] && \ - [ ! -f "${master_build_server_identity}" ]; then - mkdir -p "${master_build_server_identity%/*}" - ssh-keygen -b4096 -f "${master_build_server_identity}" -fi |