From 9e86f15288a082f6583cdfe111b97c6afbb4bf6d Mon Sep 17 00:00:00 2001 From: Jess Frazelle Date: Thu, 2 Mar 2017 14:49:27 -0800 Subject: [PATCH] add distcc Signed-off-by: Jess Frazelle --- distcc/Dockerfile | 23 +++++++++++++++ distcc/distccd-init | 68 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 distcc/Dockerfile create mode 100755 distcc/distccd-init diff --git a/distcc/Dockerfile b/distcc/Dockerfile new file mode 100644 index 0000000..433978e --- /dev/null +++ b/distcc/Dockerfile @@ -0,0 +1,23 @@ +FROM debian:stretch +MAINTAINER Jessie Frazelle + +RUN apt-get update && apt-get install -y \ + ca-certificates \ + curl \ + distcc \ + git \ + kernel-package \ + make \ + libncurses5-dev \ + libssl-dev \ + --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* + +ENV HOME /root +WORKDIR $HOME + +ENV JOBS 4 + +COPY distccd-init /usr/local/bin/distccd-init + +CMD [ "distccd-init", "start" ] diff --git a/distcc/distccd-init b/distcc/distccd-init new file mode 100755 index 0000000..c604af2 --- /dev/null +++ b/distcc/distccd-init @@ -0,0 +1,68 @@ +#! /bin/sh +# +# distccd Debian init.d script contributed by Jason Thomas. (Debian #161136) +# +# skeleton example file to build /etc/init.d/ scripts. +# This file should be used to construct scripts for /etc/init.d. +# +# Written by Miquel van Smoorenburg . +# Modified for Debian GNU/Linux +# by Ian Murdock . +# +# Version: @(#)skeleton 1.9.1 08-Apr-2002 miquels@cistron.nl +# + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/distccd +NAME=distccd +DESC="Distributed Compiler Daemon" +DAEMON_ARGS="--nice=10 --port=4200 --pid-file=/var/run/$NAME.pid \ + --log-file=/var/log/$NAME.log --daemon" + +test -x $DAEMON || exit 0 + +set -e + +# we need permission to write to the pid file +touch /var/run/$NAME.pid +chown distccd /var/run/$NAME.pid + +case "$1" in + start) + echo -n "Starting $DESC: $NAME" + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --chuid distccd \ + --exec $DAEMON -- $DAEMON_ARGS + echo "." + ;; + stop) + echo -n "Stopping $DESC: $NAME " + start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ + --oknodo \ + --exec $DAEMON + echo "." + ;; + restart|force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: $NAME" + start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ + --oknodo \ + --exec $DAEMON + sleep 1 + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --chuid distccd \ + --exec $DAEMON -- $DAEMON_ARGS + echo "." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0