summaryrefslogtreecommitdiffstats
path: root/main/aports-build/aports-build.initd
diff options
context:
space:
mode:
Diffstat (limited to 'main/aports-build/aports-build.initd')
-rw-r--r--main/aports-build/aports-build.initd34
1 files changed, 34 insertions, 0 deletions
diff --git a/main/aports-build/aports-build.initd b/main/aports-build/aports-build.initd
new file mode 100644
index 000000000..bb849af54
--- /dev/null
+++ b/main/aports-build/aports-build.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+
+: ${mqtt_broker:="msg.alpinelinux.org"}
+: ${git_branch:=master}
+: ${mqtt_topic:="git/aports/$git_branch"}
+
+command=/usr/bin/mqtt-exec
+pidfile=/var/run/aports-build/mqtt-exec.pid
+command_args="-h ${mqtt_broker:-msg.alpinelinux.org} -t $mqtt_topic -- /usr/bin/aports-build"
+start_stop_daemon_args="--stdout /dev/null --stderr /dev/null --background --make-pid --user buildozer"
+
+start_pre() {
+ local h=$(getent passwd buildozer | cut -d: -f6)
+ checkpath --owner buildozer --directory ${pidfile%/*}
+ local i
+ for i in aports alpine-iso; do
+ if ! [ -d "$h"/$i ]; then
+ eerror "$h/$i is missing. Please git clone it"
+ return 1
+ fi
+ done
+}
+
+stop_post() {
+ # remove build status
+ if [ -f /etc/aports-build.conf ]; then
+ . /etc/aports-build.conf
+ fi
+ : ${hostname:=$(hostname)}
+ : ${mqtthost:="msg.alpinelinux.org"}
+ : ${status_clear:="mosquitto_pub -h $mqtthost -t build/$hostname -r -n"}
+ $status_clear
+ return 0
+}