diff options
author | Ross Burton <ross.burton@intel.com> | 2019-09-20 12:28:03 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-09-27 13:02:16 +0100 |
commit | 4503c1c411ca0739fd3f9c19b9da9788a7e9eaf9 (patch) | |
tree | 0cca9973d509625f23fefb6809a621ac96fe120b | |
parent | 56da8174e7cf1de7c17cfb7b3d62ec36841f5520 (diff) | |
download | poky-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>
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" | |||
15 | RRECOMMENDS_${PN} = "avahi-daemon" | 15 | RRECOMMENDS_${PN} = "avahi-daemon" |
16 | 16 | ||
17 | SRC_URI = "git://github.com/distcc/distcc.git \ | 17 | SRC_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" |
23 | SRCREV = "4cde9bcfbda589abd842e3bbc652ce369085eaae" | 23 | SRCREV = "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 | } | ||
56 | DESKTOPINSTALL = "" | ||
57 | DESKTOPINSTALL_libc-glibc () { | ||
58 | install -d ${D}${datadir}/distcc/ | ||
59 | install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/ | ||
60 | } | 54 | } |
55 | |||
61 | PACKAGES += "distcc-distmon-gnome" | 56 | PACKAGES += "distcc-distmon-gnome" |
62 | 57 | ||
63 | FILES_${PN} = " ${sysconfdir} \ | 58 | FILES_${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 | |||
70 | FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \ | 66 | FILES_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] | ||
2 | Version=0.9.4 | ||
3 | Exec=distccmon-gnome | ||
4 | Name=distcc monitor | ||
5 | GenericName=Distributed Compile Monitor | ||
6 | Comment=Graphical view of distributed compile tasks | ||
7 | Icon=distccmon-gnome-icon | ||
8 | TryExec=distccmon-gnome | ||
9 | Terminal=false | ||
10 | Type=Application | ||
11 | Categories=GNOME;Development; | ||
12 | 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 @@ | |||
1 | Upstream-Status: Backport [https://github.com/distcc/distcc/pull/319] | ||
2 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
3 | |||
4 | From 2faacc2be8d7eeee0a3f66d88fedd1d3ab11070e Mon Sep 17 00:00:00 2001 | ||
5 | From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> | ||
6 | Date: Sat, 8 Dec 2018 12:50:07 +0100 | ||
7 | Subject: [PATCH] Fix desktop spec compliance of distccmon-gnome install | ||
8 | |||
9 | Update the .desktop file and install rules for distccmon-gnome to | ||
10 | conform 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 | |||
27 | diff --git a/Makefile.in b/Makefile.in | ||
28 | index 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" | ||
82 | diff --git a/gnome/distccmon-gnome.desktop b/gnome/distccmon-gnome.desktop | ||
83 | index 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 | ||
106 | diff --git a/gnome/distccmon-gnome-icon.png b/gnome/distccmon-gnome.png | ||
107 | similarity index 100% | ||
108 | rename from gnome/distccmon-gnome-icon.png | ||
109 | rename to gnome/distccmon-gnome.png | ||
110 | diff --git a/src/mon-gnome.c b/src/mon-gnome.c | ||
111 | index 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 @@ | |||
1 | When building with a separate build directory, make install fails, | 1 | Upstream-Status: Backport [https://github.com/distcc/distcc/pull/363] |
2 | unable to find the gnome_data files. This patch corrects the | 2 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
3 | patch and ensures the build works in this case. | ||
4 | 3 | ||
5 | RP 2013/3/8 | 4 | From 469628ee8dc90c7162d1a850c0b179b7349f9cf3 Mon Sep 17 00:00:00 2001 |
5 | From: Ross Burton <ross.burton@intel.com> | ||
6 | Date: Tue, 17 Sep 2019 13:04:22 +0100 | ||
7 | Subject: [PATCH] Makefile.in: fix out-of-tree builds when the GNOME UI is | ||
8 | enabled | ||
6 | 9 | ||
7 | Upstream-Status: Pending | 10 | The install command doesn't use $(srcdir) so out-of-tree builds fail. |
8 | 11 | ||
9 | Index: git/Makefile.in | 12 | Signed-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 | |
17 | diff --git a/Makefile.in b/Makefile.in | ||
18 | index 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 | -- | ||
33 | 2.20.1 | ||