diff options
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/load-configuration | 19 | ||||
-rwxr-xr-x | lib/mysql-functions | 26 |
2 files changed, 23 insertions, 22 deletions
diff --git a/lib/load-configuration b/lib/load-configuration index c89e757..fb9a2a2 100755 --- a/lib/load-configuration +++ b/lib/load-configuration @@ -19,19 +19,23 @@ work_dir="${base_dir}/work" # shellcheck source=../lib/common-functions . "${base_dir}/lib/common-functions" +if [ "$(hostname)" = 'buildmaster.archlinux32.org' ]; then + i_am_the_master=true +else + i_am_the_master=false +fi + # 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" + # load static values from the database + mysql_retrieve_static_information fi -if [ "$(hostname)" = 'buildmaster.archlinux32.org' ]; then - i_am_the_master=true -else - i_am_the_master=false - +if ! ${i_am_the_master}; then repo_names='packages community archlinux32' repo_paths__packages="${work_dir}/repos/packages" repo_paths__community="${work_dir}/repos/community" @@ -107,11 +111,6 @@ if ! ${i_am_the_master} && \ . "${base_dir}/conf/slave.conf" fi -# load static values from the database -if pgrep -x mysqld >/dev/null 2>&1; then - mysql_retrieve_static_information -fi - # check / set up environment if [ -z "${build_list_lock_file}" ]; then diff --git a/lib/mysql-functions b/lib/mysql-functions index c7c87f0..2fccf46 100755 --- a/lib/mysql-functions +++ b/lib/mysql-functions @@ -62,19 +62,21 @@ mysql_run_query() { # a present query_file means there was an error if [ -f "${query_stdin}" ]; then >&2 printf 'I could not complete a mysql query!\n' - if [ ! -s "${work_dir}/build-master-sanity" ] && \ - [ -z "${file_name_extra}" ]; then - printf '\001ACTION failed to execute a mysql query - can you have a look at "%s"?.\001\n' \ - "${query_stdin##*/}" \ - | irc_say + if ${i_am_the_master}; then + if [ ! -s "${work_dir}/build-master-sanity" ] && \ + [ -z "${file_name_extra}" ]; then + printf '\001ACTION failed to execute a mysql query - can you have a look at "%s"?.\001\n' \ + "${query_stdin##*/}" \ + | irc_say + fi + for file in \ + "${query_stdin}" \ + "${query_stdout}" \ + "${query_stderr}"; do + cp "${file}" "${webserver_directory}/mysql-queries/${file##*/}.txt" + chmod go+r "${webserver_directory}/mysql-queries/${file##*/}.txt" + done fi - for file in \ - "${query_stdin}" \ - "${query_stdout}" \ - "${query_stderr}"; do - cp "${file}" "${webserver_directory}/mysql-queries/${file##*/}.txt" - chmod go+r "${webserver_directory}/mysql-queries/${file##*/}.txt" - done if [ -z "${file_name_extra}" ]; then echo 'A mysql query failed.' > \ "${work_dir}/build-master-sanity" |