From 0b01f1f9638018ad4727045b0620a9d5a6d0381a Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Fri, 27 Apr 2007 13:23:08 +0000 Subject: distcc: autostart distccd on boot git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1570 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/packages/distcc/distcc_2.18.3.bb | 21 ++++++-- meta/packages/distcc/files/default | 19 +++++++ meta/packages/distcc/files/distcc | 98 +++++++++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+), 5 deletions(-) create mode 100644 meta/packages/distcc/files/default create mode 100755 meta/packages/distcc/files/distcc diff --git a/meta/packages/distcc/distcc_2.18.3.bb b/meta/packages/distcc/distcc_2.18.3.bb index 124f87fc7f..7f557c41d1 100644 --- a/meta/packages/distcc/distcc_2.18.3.bb +++ b/meta/packages/distcc/distcc_2.18.3.bb @@ -2,23 +2,34 @@ DESCRIPTION = "distcc is a parallel build system that distributes \ compilation of C/C++/ObjC code across machines on a network." SECTION = "devel" LICENSE = "GPLv2" +PR = "r1" DEPENDS = "avahi gtk+" RRECOMMENDS = "avahi-daemon" SRC_URI = "http://distcc.samba.org/ftp/distcc/distcc-${PV}.tar.bz2 \ - http://0pointer.de/public/distcc-avahi.patch;patch=1" + http://0pointer.de/public/distcc-avahi.patch;patch=1 \ + file://default \ + file://distcc" -inherit autotools pkgconfig +inherit autotools pkgconfig update-rc.d + +INITSCRIPT_NAME = "distcc" EXTRA_OECONF = " --with-gtk " +do_install_append() { + install -d ${D}${sysconfdir}/init.d/ + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc +} + PACKAGES += "distcc-distmon-gnome" -FILES_${PN} = " ${bindir}/distcc \ +FILES_${PN} = " ${sysconfdir} \ + ${bindir}/distcc \ ${bindir}/distccd \ ${bindir}/distccmon-text" FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \ ${datadir}/distcc" - - diff --git a/meta/packages/distcc/files/default b/meta/packages/distcc/files/default new file mode 100644 index 0000000000..95290f8488 --- /dev/null +++ b/meta/packages/distcc/files/default @@ -0,0 +1,19 @@ +# Defaults for distcc initscript +# sourced by /etc/init.d/distcc + +# +# should distcc be started on boot? +# +# STARTDISTCC="true" + +STARTDISTCC="true" + +# +# Which networks/hosts should be allowed to connect to the daemon? +# You can list multiple hosts/networks separated by spaces. +# Networks have to be in CIDR notation, f.e. 192.168.1.0/24 +# Hosts are represented by a single IP Adress +# +# ALLOWEDNETS="127.0.0.1" + +ALLOWEDNETS="192.168.7.0/24" diff --git a/meta/packages/distcc/files/distcc b/meta/packages/distcc/files/distcc new file mode 100755 index 0000000000..bbd4707497 --- /dev/null +++ b/meta/packages/distcc/files/distcc @@ -0,0 +1,98 @@ +#!/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=distcc +DESC="Distributed Compiler Daemon" +DAEMON_ARGS="--pid-file=/var/run/$NAME.pid --daemon" +# please change those variables by overriding them in /etc/defaults/distcc +ALLOWEDNETS="127.0.0.1" + +# Reads config file (will override defaults above) +[ -r /etc/default/distcc ] && . /etc/default/distcc + +test -x $DAEMON || exit 0 + +set -e + +# construct access list +ALLOW="" +for net in $ALLOWEDNETS +do + ALLOW="$ALLOW --allow $net" +done + +should_start() { + if [ "$STARTDISTCC" != "true" ] && [ "$STARTDISTCC" != "YES" ]; then + echo "STARTDISTCC is set to false in /etc/default/distcc" + echo "$DAEMON not starting" + exit 0 + fi +} + +case "$1" in + start) + should_start + echo -n "Starting $DESC: $NAME" + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON -- $DAEMON_ARGS $ALLOW || + { + code=$? + echo "$0: start failed with error code $code" >&2 + exit $code + } + echo "." + ;; + stop) + echo -n "Stopping $DESC: $NAME" + start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON || + { + code=$? + echo "$0: stop failed with error code $code" >&2 + exit $code + } + 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 \ + --exec $DAEMON + sleep 1 + should_start + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON -- $DAEMON_ARGS $ALLOW || + { + code=$? + echo "$0: restart failed with error code $code" >&2 + exit $code + } + echo "." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 + + -- cgit v1.2.3-54-g00ecf