aports/testing/buildbot/buildmaster.initd
Przemyslaw Pawelczyk 6c0e846e12 testing/buildbot: Fix some stuff.
* APKBUILD: Leverage default_prepare and use builddir (no _).
* APKBUILD: Introduce some constants for better DRY-ness,
            reformat package() function, create there a workdir
            (otherwise buildbot won't start).
* buildmaster.initd: Put openrc-run in shebang.
                     Add create command, which is a wrapper around
                     `buildbot create-master -r $BASEDIR`.

It has not been truly tested, but at least it starts now if you perform
following command before starting buildmaster:

    /etc/init.d/buildmaster create
2016-06-20 13:35:25 +00:00

70 lines
1.6 KiB
Plaintext

#!/sbin/openrc-run
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
extra_stopped_commands="create"
depend() {
need net
}
checkconfig() {
if [ -z "${BASEDIR}" ]; then
eerror "BASEDIR not set"
return 1
fi
if [ -z "${USERNAME}" ]; then
eerror "USERNAME not set"
return 1
fi
if [ ! -d "${BASEDIR}" ]; then
eerror "${BASEDIR} is not a directory"
return 1
fi
if [ ! -e "${BASEDIR}/buildbot.tac" ]; then
eerror "${BASEDIR} does not contain buildbot.tac"
return 1
fi
}
start() {
checkconfig || return 1
ebegin "Starting buildmaster in ${BASEDIR}"
start-stop-daemon --start -u "${USERNAME}" \
--pidfile "${BASEDIR}/buildmaster.pid" \
--exec /usr/bin/python -- /usr/bin/twistd \
--no_save \
--logfile="${BASEDIR}/twistd.log" \
--pidfile="${BASEDIR}/buildmaster.pid" \
--python="${BASEDIR}/buildbot.tac"
eend $?
}
stop() {
ebegin "Stopping buildmaster in ${BASEDIR}"
start-stop-daemon --stop --pidfile "${BASEDIR}/buildmaster.pid"
eend $?
}
reload() {
ebegin "Reconfiguring buildmaster in ${BASEDIR}"
start-stop-daemon --signal HUP --pidfile \
"${BASEDIR}"/buildmaster.pid
eend $?
}
create() {
if [ -e "${BASEDIR}"/buildbot.tac -o -e "${BASEDIR}"/master.cfg ]; then
eerror "${BASEDIR} already contains buildbot.tac or master.cfg"
return 1
fi
ebegin "Creating buildmaster in ${BASEDIR}"
start-stop-daemon -u "${USERNAME}" \
--exec /usr/bin/buildbot \
-- create-master -r "${BASEDIR}"
mv "${BASEDIR}"/master.cfg.sample "${BASEDIR}"/master.cfg
ewarn "Remember to customize exemplary master.cfg in ${BASEDIR}"
eend $?
}