diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /poky/meta/recipes-devtools/distcc | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-devtools/distcc')
7 files changed, 285 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.2.bb b/poky/meta/recipes-devtools/distcc/distcc_3.2.bb new file mode 100644 index 000000000..66046480b --- /dev/null +++ b/poky/meta/recipes-devtools/distcc/distcc_3.2.bb @@ -0,0 +1,69 @@ +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 binutils" + +PACKAGECONFIG ??= "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 = "git://github.com/akuster/distcc.git;branch=${PV} \ + file://separatebuilddir.patch \ + file://0001-zeroconf-Include-fcntl.h.patch \ + file://default \ + file://distccmon-gnome.desktop \ + file://distcc \ + file://distcc.service" +SRCREV = "d8b18df3e9dcbe4f092bed565835d3975e99432c" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig update-rc.d useradd systemd + +EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode" + +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() { + # Improve reproducibility: compress w/o timestamps + oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install + 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" diff --git a/poky/meta/recipes-devtools/distcc/files/0001-zeroconf-Include-fcntl.h.patch b/poky/meta/recipes-devtools/distcc/files/0001-zeroconf-Include-fcntl.h.patch new file mode 100644 index 000000000..b17ec9c95 --- /dev/null +++ b/poky/meta/recipes-devtools/distcc/files/0001-zeroconf-Include-fcntl.h.patch @@ -0,0 +1,29 @@ +From 8331fc4759d809512f404e7a27f817ad6d616450 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 13 Apr 2015 18:00:33 -0700 +Subject: [PATCH] zeroconf: Include fcntl.h + +We need it for getting deinitions for O_* e.g. O_CREAT + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/zeroconf.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/zeroconf.c b/src/zeroconf.c +index 414ddc4..31bd33f 100644 +--- a/src/zeroconf.c ++++ b/src/zeroconf.c +@@ -33,6 +33,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <limits.h> ++#include <fcntl.h> + + #include <avahi-common/domain.h> + #include <avahi-common/error.h> +-- +2.1.4 + diff --git a/poky/meta/recipes-devtools/distcc/files/default b/poky/meta/recipes-devtools/distcc/files/default new file mode 100644 index 000000000..63c4159b9 --- /dev/null +++ b/poky/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/poky/meta/recipes-devtools/distcc/files/distcc b/poky/meta/recipes-devtools/distcc/files/distcc new file mode 100755 index 000000000..e36f0fa69 --- /dev/null +++ b/poky/meta/recipes-devtools/distcc/files/distcc @@ -0,0 +1,119 @@ +#!/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 <miquels@cistron.nl>. +# Modified for Debian GNU/Linux +# by Ian Murdock <imurdock@gnu.ai.mit.edu>. +# +# 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 + # we need permission to write to the pid file + touch /var/run/$NAME.pid + chown distcc /var/run/$NAME.pid +} + +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 + } + rm -f /var/run/$NAME.pid >/dev/null 2>&1 + 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=$? + rm -f /var/run/$NAME.pid >/dev/null 2>&1 + 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/poky/meta/recipes-devtools/distcc/files/distcc.service b/poky/meta/recipes-devtools/distcc/files/distcc.service new file mode 100644 index 000000000..0253ddf52 --- /dev/null +++ b/poky/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/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop b/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop new file mode 100644 index 000000000..7b5d85ce4 --- /dev/null +++ b/poky/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/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch new file mode 100644 index 000000000..7580b5584 --- /dev/null +++ b/poky/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: git/Makefile.in +=================================================================== +--- git.orig/Makefile.in ++++ git/Makefile.in +@@ -1117,7 +1117,7 @@ install-example: $(example_DOCS) + 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) |