blob: dfc99054c3a2609f974ccf7a561f8ab931638c44 (
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
|
#!/bin/bash
# set up some common variables
set -e
# dirty hack to get this stuff debugable from a bash
if [ "x$0" == "x-bash" ]; then
base_dir="$(pwd)"
else
base_dir="$(dirname "$(readlink -f "$0")")/.."
fi
. "${base_dir}/bin/common-functions"
work_dir="${base_dir}/work"
declare -A repo_paths
repo_paths["packages"]="${work_dir}/repos/packages"
repo_paths["community"]="${work_dir}/repos/community"
repo_paths["archlinux32"]="${work_dir}/repos/packages32"
lock_file="/tmp/${0##*/}.lock"
master_build_server="master.build.server"
master_build_server_port="22"
master_build_server_user="build-user"
master_build_server_identity="${work_dir}/.ssh/id_rsa"
max_parallel_build_per_client=2
repo_key='0xdeadbeef'
master_mirror_directory='/path/to/master/mirror'
# possibly pull in custom modifications
[ -r "${base_dir}/conf/local.conf" ] && . "${base_dir}/conf/local.conf"
# check / set up environment
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_paths[@]}"; do
mkdir -p "${repo_paths["${repo}"]%/*}"
if ! git -C "${repo_paths["${repo}"]}" status &> /dev/null; then
if [ "${repo}" == "packages32" ]; 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_paths["${repo}"]}"
fi
done
|