From c527fd1f14c27855a37f2e8ac5346ce8d940ced2 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Thu, 16 Oct 2014 03:05:19 +0200 Subject: initial commit for Enea Linux 4.0-140929 Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea --- meta/recipes-devtools/distcc/distcc_3.1.bb | 74 +++++++++++++ meta/recipes-devtools/distcc/files/default | 24 +++++ meta/recipes-devtools/distcc/files/distcc | 114 +++++++++++++++++++++ meta/recipes-devtools/distcc/files/distcc.service | 11 ++ .../distcc/files/distccmon-gnome.desktop | 12 +++ .../distcc/files/separatebuilddir.patch | 21 ++++ 6 files changed, 256 insertions(+) create mode 100644 meta/recipes-devtools/distcc/distcc_3.1.bb create mode 100644 meta/recipes-devtools/distcc/files/default create mode 100755 meta/recipes-devtools/distcc/files/distcc create mode 100644 meta/recipes-devtools/distcc/files/distcc.service create mode 100644 meta/recipes-devtools/distcc/files/distccmon-gnome.desktop create mode 100644 meta/recipes-devtools/distcc/files/separatebuilddir.patch (limited to 'meta/recipes-devtools/distcc') diff --git a/meta/recipes-devtools/distcc/distcc_3.1.bb b/meta/recipes-devtools/distcc/distcc_3.1.bb new file mode 100644 index 0000000000..c69643c973 --- /dev/null +++ b/meta/recipes-devtools/distcc/distcc_3.1.bb @@ -0,0 +1,74 @@ +SUMMARY = "A parallel build system" +DESCRIPTION = "distcc is a parallel build system that distributes \ +compilation of C/C++/ObjC code across machines on a network." +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "avahi" + +GTKCONFIG = "gtk" +GTKCONFIG_libc-uclibc = "" + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', '${GTKCONFIG}', '', d)} popt" +PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+" +# use system popt by default +PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt" + +RRECOMMENDS_${PN} = "avahi-daemon" + +SRC_URI = "http://distcc.googlecode.com/files/${BPN}-${PV}.tar.bz2 \ + file://separatebuilddir.patch \ + file://default \ + file://distccmon-gnome.desktop \ + file://distcc \ + file://distcc.service" + +SRC_URI[md5sum] = "a1a9d3853df7133669fffec2a9aab9f3" +SRC_URI[sha256sum] = "f55dbafd76bed3ce57e1bbcdab1329227808890d90f4c724fcd2d53f934ddd89" + +inherit autotools pkgconfig update-rc.d useradd systemd + +EXTRA_OECONF += "--disable-Werror PYTHON=/dev/null" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system \ + --home /dev/null \ + --no-create-home \ + --gid nogroup \ + distcc" + +INITSCRIPT_NAME = "distcc" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "distcc.service" + +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 + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service + ${DESKTOPINSTALL} +} +DESKTOPINSTALL = "" +DESKTOPINSTALL_libc-glibc () { + install -d ${D}${datadir}/distcc/ + install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/ +} +PACKAGES += "distcc-distmon-gnome" + +FILES_${PN} = " ${sysconfdir} \ + ${bindir}/distcc \ + ${bindir}/lsdistcc \ + ${bindir}/distccd \ + ${bindir}/distccmon-text \ + ${systemd_unitdir}/system/distcc.service" +FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \ + ${datadir}/distcc" + +pkg_postrm_${PN} () { + deluser distcc || true +} diff --git a/meta/recipes-devtools/distcc/files/default b/meta/recipes-devtools/distcc/files/default new file mode 100644 index 0000000000..63c4159b9d --- /dev/null +++ b/meta/recipes-devtools/distcc/files/default @@ -0,0 +1,24 @@ +# 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" + +# +# OPTIONS is used for the systemd service file +# +OPTIONS="--allow 192.168.7.0/24" diff --git a/meta/recipes-devtools/distcc/files/distcc b/meta/recipes-devtools/distcc/files/distcc new file mode 100755 index 0000000000..c7c414d829 --- /dev/null +++ b/meta/recipes-devtools/distcc/files/distcc @@ -0,0 +1,114 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: distcc +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 1 +# Short-Description: simple distributed compiler client and server +### END INIT INFO +# +# 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 + +# Source function library. +. /etc/init.d/functions + +# 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 "." + ;; + + status) + status $DAEMON + exit $? + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 + + diff --git a/meta/recipes-devtools/distcc/files/distcc.service b/meta/recipes-devtools/distcc/files/distcc.service new file mode 100644 index 0000000000..0253ddf52a --- /dev/null +++ b/meta/recipes-devtools/distcc/files/distcc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Distccd A Distributed Compilation Server +After=network.target + +[Service] +User=distcc +EnvironmentFile=-/etc/default/distcc +ExecStart=@BINDIR@/distccd --verbose --no-detach --daemon $OPTIONS + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop b/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop new file mode 100644 index 0000000000..7b5d85ce4e --- /dev/null +++ b/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=0.9.4 +Exec=distccmon-gnome +Name=distcc monitor +GenericName=Distributed Compile Monitor +Comment=Graphical view of distributed compile tasks +Icon=distccmon-gnome-icon +TryExec=distccmon-gnome +Terminal=false +Type=Application +Categories=GNOME;Development; +StartupNotify=true diff --git a/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/meta/recipes-devtools/distcc/files/separatebuilddir.patch new file mode 100644 index 0000000000..b9e3e42ddf --- /dev/null +++ b/meta/recipes-devtools/distcc/files/separatebuilddir.patch @@ -0,0 +1,21 @@ +When building with a separate build directory, make install fails, +unable to find the gnome_data files. This patch corrects the +patch and ensures the build works in this case. + +RP 2013/3/8 + +Upstream-Status: Pending + +Index: distcc-3.1/Makefile.in +=================================================================== +--- distcc-3.1.orig/Makefile.in 2008-12-02 21:50:31.000000000 +0000 ++++ distcc-3.1/Makefile.in 2013-03-08 10:49:24.224400937 +0000 +@@ -1088,7 +1088,7 @@ + install-gnome-data: $(gnome_data) + $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)" + for p in $(gnome_data); do \ +- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ ++ $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ + done + + install-conf: $(conf_files) $(default_files) -- cgit v1.2.3-54-g00ecf