summaryrefslogtreecommitdiff
path: root/conf/default.conf
blob: f27823cc42f4308e7911754ecc5f71fdf8b53289 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/sh

# set up some common variables

set -e
export LANG=C

# 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="$(dirname "$(readlink -f "$0")")/.."
fi

. "${base_dir}/bin/common-functions"

work_dir="${base_dir}/work"

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"

max_parallel_build_per_client=2

repo_key='0xdeadbeef'
package_key='0x15eebadc0de'

# to access the master mirror via rsync
master_mirror_command='rsync --password-file=/home/slave/rsync.password'
master_mirror_directory='rsync://buildmaster@mirror.archlinux32.org/packages32'

# to access the master mirror via sshfs (needs to be set up in /etc/fstab)
master_mirror_sshfs='/mnt/archlinux32'

# directory to keep the build log files in
build_log_directory='/srv/http/build-logs'

# possibly pull in custom modifications

[ -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 "${package_database_lock_file}" ]; then
  package_database_lock_file="${work_dir}/package-database.lock"
fi

mkdir -p "${work_dir}"
touch "${work_dir}/build-list"
touch "${work_dir}/deletion-list"
mkdir -p "${work_dir}/build-list.loops"

for repo in ${repo_names}; do

  eval repo_path='$repo_paths__'"${repo}"

  mkdir -p "${repo_path%/*}"

  if [ ! -d "${repo_path}/.git" ]; then
    if [ "${repo}" = "archlinux32" ]; then
      repo_source='git@github.com:archlinux32/packages.git'
    else
      repo_source="git://git.archlinux.org/svntogit/${repo}.git"
    fi
    git clone "${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