diff options
Diffstat (limited to 'meta/recipes-devtools/distcc')
7 files changed, 238 insertions, 129 deletions
diff --git a/meta/recipes-devtools/distcc/distcc_3.2.bb b/meta/recipes-devtools/distcc/distcc_3.2.bb deleted file mode 100644 index c084ad2b73..0000000000 --- a/meta/recipes-devtools/distcc/distcc_3.2.bb +++ /dev/null @@ -1,71 +0,0 @@ -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;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_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/distcc_3.3.3.bb b/meta/recipes-devtools/distcc/distcc_3.3.3.bb new file mode 100644 index 0000000000..c52f136be8 --- /dev/null +++ b/meta/recipes-devtools/distcc/distcc_3.3.3.bb @@ -0,0 +1,87 @@ +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}-server = "avahi-daemon" + +SRC_URI = "git://github.com/distcc/distcc.git \ + file://fix-gnome.patch \ + file://separatebuilddir.patch \ + file://default \ + file://distcc \ + file://distcc.service" +SRCREV = "4cde9bcfbda589abd842e3bbc652ce369085eaae" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig update-rc.d useradd systemd + +ASNEEDED = "" + +EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode" + +PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server" + +USERADD_PACKAGES = "${PN}-server" +USERADD_PARAM_${PN}-server = "--system \ + --home /dev/null \ + --no-create-home \ + --gid nogroup \ + distcc" + +UPDATERCPN = "${PN}-server" +INITSCRIPT_NAME = "distcc" + +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE_${PN}-server = "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 +} + +FILES_${PN}-server = "${sysconfdir} \ + ${bindir}/distccd \ + ${sbindir}" +FILES_${PN}-distmon-gnome = "${bindir}/distccmon-gnome \ + ${datadir}/applications \ + ${datadir}/pixmaps" + +# +# distcc upstream dropped the 3.2 branch which we reference in older project releases +# the revisions are there, just the branch is not. In order to be able to continue +# to build those old releases, adjust any mirror tarball to contain the missing branch +# +fixup_distcc_mirror_tarball () { + TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz + if [ -f $TBALL ]; then + TDIR=`mktemp -d` + cd $TDIR + tar -xzf $TBALL + set +e + git rev-parse --verify 3.2 + if [ "$?" != "0" ]; then + git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c + tar -czf $TBALL * + fi + set -e + rm -rf $TDIR/* + fi +} +do_fetch[postfuncs] += "fixup_distcc_mirror_tarball" diff --git a/meta/recipes-devtools/distcc/files/0001-zeroconf-Include-fcntl.h.patch b/meta/recipes-devtools/distcc/files/0001-zeroconf-Include-fcntl.h.patch deleted file mode 100644 index b17ec9c959..0000000000 --- a/meta/recipes-devtools/distcc/files/0001-zeroconf-Include-fcntl.h.patch +++ /dev/null @@ -1,29 +0,0 @@ -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/meta/recipes-devtools/distcc/files/default b/meta/recipes-devtools/distcc/files/default index 63c4159b9d..a5bc13ecf3 100644 --- a/meta/recipes-devtools/distcc/files/default +++ b/meta/recipes-devtools/distcc/files/default @@ -16,9 +16,9 @@ STARTDISTCC="true" # # ALLOWEDNETS="127.0.0.1" -ALLOWEDNETS="192.168.7.0/24" +ALLOWEDNETS="127.0.0.1" # # OPTIONS is used for the systemd service file # -OPTIONS="--allow 192.168.7.0/24" +OPTIONS="--allow 127.0.0.1 --enable-tcp-insecure" diff --git a/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop b/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop deleted file mode 100644 index 7b5d85ce4e..0000000000 --- a/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[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/fix-gnome.patch b/meta/recipes-devtools/distcc/files/fix-gnome.patch new file mode 100644 index 0000000000..f1f5ed1a9f --- /dev/null +++ b/meta/recipes-devtools/distcc/files/fix-gnome.patch @@ -0,0 +1,122 @@ +Upstream-Status: Backport [https://github.com/distcc/distcc/pull/319] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 2faacc2be8d7eeee0a3f66d88fedd1d3ab11070e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 8 Dec 2018 12:50:07 +0100 +Subject: [PATCH] Fix desktop spec compliance of distccmon-gnome install + +Update the .desktop file and install rules for distccmon-gnome to +conform to the freedesktop.org specifications. More specifically: + +- update to version 1.0 of the spec +- remove obsolete 'Encoding' key +- remove obsolete 'Application' category and add recommended 'GTK' +- install icon file to the correct directory +- strip suffix from desktop file (specifying it is deprecated) +- while at it, remove redundant '-icon' from the filename +- install desktop file to the correct directory +--- + Makefile.in | 18 ++++++++++-------- + gnome/distccmon-gnome.desktop | 7 +++---- + ...mon-gnome-icon.png => distccmon-gnome.png} | Bin + src/mon-gnome.c | 2 +- + 4 files changed, 14 insertions(+), 13 deletions(-) + rename gnome/{distccmon-gnome-icon.png => distccmon-gnome.png} (100%) + +diff --git a/Makefile.in b/Makefile.in +index 6e1e467..1106559 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -52,13 +52,14 @@ mandir = @mandir@ + includedir = @includedir@ + oldincludedir = /usr/include + docdir = @docdir@ +-pkgdatadir = $(datadir)/@PACKAGE_NAME@ ++icondir = $(datarootdir)/pixmaps ++desktopdir = $(datarootdir)/applications + + include_server_builddir = $(builddir)/_include_server + + # These must be done from here, not from autoconf, because they can + # contain variable expansions written in Make syntax. Ew. +-DIR_DEFS = -DLIBDIR="\"${libdir}\"" -DSYSCONFDIR="\"${sysconfdir}\"" -DPKGDATADIR="\"${pkgdatadir}\"" ++DIR_DEFS = -DLIBDIR="\"${libdir}\"" -DSYSCONFDIR="\"${sysconfdir}\"" -DICONDIR="\"${icondir}\"" + + # arguments to pkgconfig + GNOME_PACKAGES = @GNOME_PACKAGES@ +@@ -387,7 +388,7 @@ man_HTML = man/distcc_1.html man/distccd_1.html man/distccmon_text_1.html \ + man/lsdistcc_1.html man/pump_1.html man/include_server_1.html + MEN = $(man1_MEN) + +-gnome_data = gnome/distccmon-gnome-icon.png \ ++gnome_data = gnome/distccmon-gnome.png \ + gnome/distccmon-gnome.desktop + + popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \ +@@ -1033,7 +1034,8 @@ showpaths: + @echo " programs $(DESTDIR)$(bindir)" + @echo " sbin programs $(DESTDIR)$(sbindir)" + @echo " system configuration $(DESTDIR)$(sysconfdir)" +- @echo " shared data files $(DESTDIR)$(pkgdatadir)" ++ @echo " icon file $(DESTDIR)$(icondir)" ++ @echo " application file $(DESTDIR)$(desktopdir)" + + + # install-sh can't handle multiple arguments, but we don't need any +@@ -1129,10 +1131,10 @@ install-example: $(example_DOCS) + done + + install-gnome-data: $(gnome_data) +- $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)" +- for p in $(gnome_data); do \ +- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ +- done ++ $(mkinstalldirs) "$(DESTDIR)$(icondir)" ++ $(mkinstalldirs) "$(DESTDIR)$(desktopdir)" ++ $(INSTALL_DATA) gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)" ++ $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)" + + install-conf: $(conf_files) $(default_files) + $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc" +diff --git a/gnome/distccmon-gnome.desktop b/gnome/distccmon-gnome.desktop +index bd1fa26..7205f5e 100644 +--- a/gnome/distccmon-gnome.desktop ++++ b/gnome/distccmon-gnome.desktop +@@ -1,6 +1,5 @@ + [Desktop Entry] +-Version=0.9.4 +-Encoding=UTF-8 ++Version=1.0 + Exec=distccmon-gnome + Name=distcc monitor + Name[sv]=distcc övervakare +@@ -8,9 +7,9 @@ GenericName=Distributed Compile Monitor + GenericName[sv]=Distribuerad kompilerings-övervakare + Comment=Graphical view of distributed compile tasks + Comment[sv]=Grafisk vy av distribuerade kompileringsuppgifter +-Icon=distccmon-gnome-icon.png ++Icon=distccmon-gnome + TryExec=distccmon-gnome + Terminal=false + Type=Application +-Categories=GNOME;Application;Development; ++Categories=GNOME;GTK;Development; + StartupNotify=true +diff --git a/gnome/distccmon-gnome-icon.png b/gnome/distccmon-gnome.png +similarity index 100% +rename from gnome/distccmon-gnome-icon.png +rename to gnome/distccmon-gnome.png +diff --git a/src/mon-gnome.c b/src/mon-gnome.c +index 24681d0..bfc286d 100644 +--- a/src/mon-gnome.c ++++ b/src/mon-gnome.c +@@ -599,7 +599,7 @@ static GtkWidget * dcc_gnome_make_mainwin (void) + + #if GTK_CHECK_VERSION(2,2,0) + gtk_window_set_icon_from_file (GTK_WINDOW (mainwin), +- PKGDATADIR "/distccmon-gnome-icon.png", ++ ICONDIR "/distccmon-gnome.png", + NULL); + #endif + diff --git a/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/meta/recipes-devtools/distcc/files/separatebuilddir.patch index 7580b5584b..c8da9d51c3 100644 --- a/meta/recipes-devtools/distcc/files/separatebuilddir.patch +++ b/meta/recipes-devtools/distcc/files/separatebuilddir.patch @@ -1,21 +1,33 @@ -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. +Upstream-Status: Backport [https://github.com/distcc/distcc/pull/363] +Signed-off-by: Ross Burton <ross.burton@intel.com> -RP 2013/3/8 +From 469628ee8dc90c7162d1a850c0b179b7349f9cf3 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Tue, 17 Sep 2019 13:04:22 +0100 +Subject: [PATCH] Makefile.in: fix out-of-tree builds when the GNOME UI is + enabled -Upstream-Status: Pending +The install command doesn't use $(srcdir) so out-of-tree builds fail. -Index: git/Makefile.in -=================================================================== ---- git.orig/Makefile.in -+++ git/Makefile.in -@@ -1117,7 +1117,7 @@ install-example: $(example_DOCS) +Signed-off-by: Ross Burton <ross.burton@intel.com> +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 123054f..b9ce974 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1130,8 +1130,8 @@ 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 + $(mkinstalldirs) "$(DESTDIR)$(icondir)" + $(mkinstalldirs) "$(DESTDIR)$(desktopdir)" +- $(INSTALL_DATA) gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)" +- $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)" ++ $(INSTALL_DATA) $(srcdir)/gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)" ++ $(INSTALL_DATA) $(srcdir)/gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)" install-conf: $(conf_files) $(default_files) + $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc" +-- +2.20.1 |