diff options
author | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
---|---|---|
committer | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
commit | 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch) | |
tree | b4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/poky/meta/recipes-devtools/distcc | |
parent | 706ad73eb02caf8532deaf5d38995bd258725cb8 (diff) |
agl-basesystem
Diffstat (limited to 'external/poky/meta/recipes-devtools/distcc')
6 files changed, 258 insertions, 0 deletions
diff --git a/external/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb b/external/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb new file mode 100644 index 00000000..0d069631 --- /dev/null +++ b/external/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb @@ -0,0 +1,71 @@ +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/distcc/distcc.git \ + file://separatebuilddir.patch \ + file://default \ + file://distccmon-gnome.desktop \ + file://distcc \ + file://distcc.service" +SRCREV = "8600f0857dac55ea393dc11a860948692d215fc8" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig update-rc.d useradd systemd + +ASNEEDED = "" + +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 \ + ${sbindir}/update-distcc-symlinks \ + ${systemd_unitdir}/system/distcc.service" +FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \ + ${datadir}/distcc" diff --git a/external/poky/meta/recipes-devtools/distcc/files/default b/external/poky/meta/recipes-devtools/distcc/files/default new file mode 100644 index 00000000..e5ca68b8 --- /dev/null +++ b/external/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="127.0.0.1" + +# +# OPTIONS is used for the systemd service file +# +OPTIONS="--allow 127.0.0.1 --make-me-a-botnet" diff --git a/external/poky/meta/recipes-devtools/distcc/files/distcc b/external/poky/meta/recipes-devtools/distcc/files/distcc new file mode 100755 index 00000000..e36f0fa6 --- /dev/null +++ b/external/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/external/poky/meta/recipes-devtools/distcc/files/distcc.service b/external/poky/meta/recipes-devtools/distcc/files/distcc.service new file mode 100644 index 00000000..0253ddf5 --- /dev/null +++ b/external/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/external/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop b/external/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop new file mode 100644 index 00000000..7b5d85ce --- /dev/null +++ b/external/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/external/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/external/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch new file mode 100644 index 00000000..7580b558 --- /dev/null +++ b/external/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) |