summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/distcc
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2019-09-20 12:28:03 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-27 13:02:16 +0100
commit4503c1c411ca0739fd3f9c19b9da9788a7e9eaf9 (patch)
tree0cca9973d509625f23fefb6809a621ac96fe120b /meta/recipes-devtools/distcc
parent56da8174e7cf1de7c17cfb7b3d62ec36841f5520 (diff)
downloadpoky-4503c1c411ca0739fd3f9c19b9da9788a7e9eaf9.tar.gz
distcc: clean up the UI install logic
Remove the local copy of the desktop file, instead apply a patch from upstream to fix the file. This also fixes the install paths, so update the recipe. Remove glibc-specific installation as this was due to uclibc failures. Refresh and submit upstream the out-of-tree build fix. (From OE-Core rev: f69cb86f4c15497c6324a0e8063f86cc31cfe7aa) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/distcc')
-rw-r--r--meta/recipes-devtools/distcc/distcc_3.3.3.bb13
-rw-r--r--meta/recipes-devtools/distcc/files/distccmon-gnome.desktop12
-rw-r--r--meta/recipes-devtools/distcc/files/fix-gnome.patch122
-rw-r--r--meta/recipes-devtools/distcc/files/separatebuilddir.patch42
4 files changed, 154 insertions, 35 deletions
diff --git a/meta/recipes-devtools/distcc/distcc_3.3.3.bb b/meta/recipes-devtools/distcc/distcc_3.3.3.bb
index 7942debec9..d8ad498f2b 100644
--- a/meta/recipes-devtools/distcc/distcc_3.3.3.bb
+++ b/meta/recipes-devtools/distcc/distcc_3.3.3.bb
@@ -15,9 +15,9 @@ PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
15RRECOMMENDS_${PN} = "avahi-daemon" 15RRECOMMENDS_${PN} = "avahi-daemon"
16 16
17SRC_URI = "git://github.com/distcc/distcc.git \ 17SRC_URI = "git://github.com/distcc/distcc.git \
18 file://fix-gnome.patch \
18 file://separatebuilddir.patch \ 19 file://separatebuilddir.patch \
19 file://default \ 20 file://default \
20 file://distccmon-gnome.desktop \
21 file://distcc \ 21 file://distcc \
22 file://distcc.service" 22 file://distcc.service"
23SRCREV = "4cde9bcfbda589abd842e3bbc652ce369085eaae" 23SRCREV = "4cde9bcfbda589abd842e3bbc652ce369085eaae"
@@ -51,13 +51,8 @@ do_install() {
51 install -d ${D}${systemd_unitdir}/system/ 51 install -d ${D}${systemd_unitdir}/system/
52 install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system 52 install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system
53 sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service 53 sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service
54 ${DESKTOPINSTALL}
55}
56DESKTOPINSTALL = ""
57DESKTOPINSTALL_libc-glibc () {
58 install -d ${D}${datadir}/distcc/
59 install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/
60} 54}
55
61PACKAGES += "distcc-distmon-gnome" 56PACKAGES += "distcc-distmon-gnome"
62 57
63FILES_${PN} = " ${sysconfdir} \ 58FILES_${PN} = " ${sysconfdir} \
@@ -67,8 +62,10 @@ FILES_${PN} = " ${sysconfdir} \
67 ${bindir}/distccmon-text \ 62 ${bindir}/distccmon-text \
68 ${sbindir}/update-distcc-symlinks \ 63 ${sbindir}/update-distcc-symlinks \
69 ${systemd_unitdir}/system/distcc.service" 64 ${systemd_unitdir}/system/distcc.service"
65
70FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \ 66FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \
71 ${datadir}/distcc" 67 ${datadir}/applications \
68 ${datadir}/pixmaps"
72 69
73 70
74# 71#
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 @@
1[Desktop Entry]
2Version=0.9.4
3Exec=distccmon-gnome
4Name=distcc monitor
5GenericName=Distributed Compile Monitor
6Comment=Graphical view of distributed compile tasks
7Icon=distccmon-gnome-icon
8TryExec=distccmon-gnome
9Terminal=false
10Type=Application
11Categories=GNOME;Development;
12StartupNotify=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 @@
1Upstream-Status: Backport [https://github.com/distcc/distcc/pull/319]
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 2faacc2be8d7eeee0a3f66d88fedd1d3ab11070e Mon Sep 17 00:00:00 2001
5From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
6Date: Sat, 8 Dec 2018 12:50:07 +0100
7Subject: [PATCH] Fix desktop spec compliance of distccmon-gnome install
8
9Update the .desktop file and install rules for distccmon-gnome to
10conform to the freedesktop.org specifications. More specifically:
11
12- update to version 1.0 of the spec
13- remove obsolete 'Encoding' key
14- remove obsolete 'Application' category and add recommended 'GTK'
15- install icon file to the correct directory
16- strip suffix from desktop file (specifying it is deprecated)
17- while at it, remove redundant '-icon' from the filename
18- install desktop file to the correct directory
19---
20 Makefile.in | 18 ++++++++++--------
21 gnome/distccmon-gnome.desktop | 7 +++----
22 ...mon-gnome-icon.png => distccmon-gnome.png} | Bin
23 src/mon-gnome.c | 2 +-
24 4 files changed, 14 insertions(+), 13 deletions(-)
25 rename gnome/{distccmon-gnome-icon.png => distccmon-gnome.png} (100%)
26
27diff --git a/Makefile.in b/Makefile.in
28index 6e1e467..1106559 100644
29--- a/Makefile.in
30+++ b/Makefile.in
31@@ -52,13 +52,14 @@ mandir = @mandir@
32 includedir = @includedir@
33 oldincludedir = /usr/include
34 docdir = @docdir@
35-pkgdatadir = $(datadir)/@PACKAGE_NAME@
36+icondir = $(datarootdir)/pixmaps
37+desktopdir = $(datarootdir)/applications
38
39 include_server_builddir = $(builddir)/_include_server
40
41 # These must be done from here, not from autoconf, because they can
42 # contain variable expansions written in Make syntax. Ew.
43-DIR_DEFS = -DLIBDIR="\"${libdir}\"" -DSYSCONFDIR="\"${sysconfdir}\"" -DPKGDATADIR="\"${pkgdatadir}\""
44+DIR_DEFS = -DLIBDIR="\"${libdir}\"" -DSYSCONFDIR="\"${sysconfdir}\"" -DICONDIR="\"${icondir}\""
45
46 # arguments to pkgconfig
47 GNOME_PACKAGES = @GNOME_PACKAGES@
48@@ -387,7 +388,7 @@ man_HTML = man/distcc_1.html man/distccd_1.html man/distccmon_text_1.html \
49 man/lsdistcc_1.html man/pump_1.html man/include_server_1.html
50 MEN = $(man1_MEN)
51
52-gnome_data = gnome/distccmon-gnome-icon.png \
53+gnome_data = gnome/distccmon-gnome.png \
54 gnome/distccmon-gnome.desktop
55
56 popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
57@@ -1033,7 +1034,8 @@ showpaths:
58 @echo " programs $(DESTDIR)$(bindir)"
59 @echo " sbin programs $(DESTDIR)$(sbindir)"
60 @echo " system configuration $(DESTDIR)$(sysconfdir)"
61- @echo " shared data files $(DESTDIR)$(pkgdatadir)"
62+ @echo " icon file $(DESTDIR)$(icondir)"
63+ @echo " application file $(DESTDIR)$(desktopdir)"
64
65
66 # install-sh can't handle multiple arguments, but we don't need any
67@@ -1129,10 +1131,10 @@ install-example: $(example_DOCS)
68 done
69
70 install-gnome-data: $(gnome_data)
71- $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)"
72- for p in $(gnome_data); do \
73- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
74- done
75+ $(mkinstalldirs) "$(DESTDIR)$(icondir)"
76+ $(mkinstalldirs) "$(DESTDIR)$(desktopdir)"
77+ $(INSTALL_DATA) gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)"
78+ $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)"
79
80 install-conf: $(conf_files) $(default_files)
81 $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc"
82diff --git a/gnome/distccmon-gnome.desktop b/gnome/distccmon-gnome.desktop
83index bd1fa26..7205f5e 100644
84--- a/gnome/distccmon-gnome.desktop
85+++ b/gnome/distccmon-gnome.desktop
86@@ -1,6 +1,5 @@
87 [Desktop Entry]
88-Version=0.9.4
89-Encoding=UTF-8
90+Version=1.0
91 Exec=distccmon-gnome
92 Name=distcc monitor
93 Name[sv]=distcc övervakare
94@@ -8,9 +7,9 @@ GenericName=Distributed Compile Monitor
95 GenericName[sv]=Distribuerad kompilerings-övervakare
96 Comment=Graphical view of distributed compile tasks
97 Comment[sv]=Grafisk vy av distribuerade kompileringsuppgifter
98-Icon=distccmon-gnome-icon.png
99+Icon=distccmon-gnome
100 TryExec=distccmon-gnome
101 Terminal=false
102 Type=Application
103-Categories=GNOME;Application;Development;
104+Categories=GNOME;GTK;Development;
105 StartupNotify=true
106diff --git a/gnome/distccmon-gnome-icon.png b/gnome/distccmon-gnome.png
107similarity index 100%
108rename from gnome/distccmon-gnome-icon.png
109rename to gnome/distccmon-gnome.png
110diff --git a/src/mon-gnome.c b/src/mon-gnome.c
111index 24681d0..bfc286d 100644
112--- a/src/mon-gnome.c
113+++ b/src/mon-gnome.c
114@@ -599,7 +599,7 @@ static GtkWidget * dcc_gnome_make_mainwin (void)
115
116 #if GTK_CHECK_VERSION(2,2,0)
117 gtk_window_set_icon_from_file (GTK_WINDOW (mainwin),
118- PKGDATADIR "/distccmon-gnome-icon.png",
119+ ICONDIR "/distccmon-gnome.png",
120 NULL);
121 #endif
122
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 @@
1When building with a separate build directory, make install fails, 1Upstream-Status: Backport [https://github.com/distcc/distcc/pull/363]
2unable to find the gnome_data files. This patch corrects the 2Signed-off-by: Ross Burton <ross.burton@intel.com>
3patch and ensures the build works in this case.
4 3
5RP 2013/3/8 4From 469628ee8dc90c7162d1a850c0b179b7349f9cf3 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Tue, 17 Sep 2019 13:04:22 +0100
7Subject: [PATCH] Makefile.in: fix out-of-tree builds when the GNOME UI is
8 enabled
6 9
7Upstream-Status: Pending 10The install command doesn't use $(srcdir) so out-of-tree builds fail.
8 11
9Index: git/Makefile.in 12Signed-off-by: Ross Burton <ross.burton@intel.com>
10=================================================================== 13---
11--- git.orig/Makefile.in 14 Makefile.in | 4 ++--
12+++ git/Makefile.in 15 1 file changed, 2 insertions(+), 2 deletions(-)
13@@ -1117,7 +1117,7 @@ install-example: $(example_DOCS) 16
17diff --git a/Makefile.in b/Makefile.in
18index 123054f..b9ce974 100644
19--- a/Makefile.in
20+++ b/Makefile.in
21@@ -1130,8 +1130,8 @@ install-example: $(example_DOCS)
14 install-gnome-data: $(gnome_data) 22 install-gnome-data: $(gnome_data)
15 $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)" 23 $(mkinstalldirs) "$(DESTDIR)$(icondir)"
16 for p in $(gnome_data); do \ 24 $(mkinstalldirs) "$(DESTDIR)$(desktopdir)"
17- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ 25- $(INSTALL_DATA) gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)"
18+ $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ 26- $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)"
19 done 27+ $(INSTALL_DATA) $(srcdir)/gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)"
28+ $(INSTALL_DATA) $(srcdir)/gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)"
20 29
21 install-conf: $(conf_files) $(default_files) 30 install-conf: $(conf_files) $(default_files)
31 $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc"
32--
332.20.1