summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2012-07-31 18:17:06 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-06 15:39:32 +0100
commitdea6a0eb2bf06b3dc47e276a046d8dd828e47228 (patch)
treeaa4313a4b950bce0399b40a4487b5c92206dcd86
parent6172f1fed9850180a3a84ca62cc0741d132031e4 (diff)
downloadopenembedded-core-dea6a0eb2bf06b3dc47e276a046d8dd828e47228.tar.gz
openembedded-core-dea6a0eb2bf06b3dc47e276a046d8dd828e47228.tar.bz2
openembedded-core-dea6a0eb2bf06b3dc47e276a046d8dd828e47228.zip
gthumb: fix parallel build problems
It's possible with a parallel build for make to spin waiting for a file change when it isn't going to. Fix the build rules so this doesn't happen. [YOCTO #2319] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-gnome/gthumb/files/parallel.patch158
-rw-r--r--meta/recipes-gnome/gthumb/gthumb_2.12.4.bb6
2 files changed, 161 insertions, 3 deletions
diff --git a/meta/recipes-gnome/gthumb/files/parallel.patch b/meta/recipes-gnome/gthumb/files/parallel.patch
new file mode 100644
index 0000000000..20ce5c5aa2
--- /dev/null
+++ b/meta/recipes-gnome/gthumb/files/parallel.patch
@@ -0,0 +1,158 @@
+From 34969cde1dcb7740b4a7c3b6e3d04d481e5980b5 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 31 Jul 2012 17:26:27 +0100
+Subject: [PATCH] build: Fix parallel build problems with enum generation
+
+This is a backport from a patch against master.
+
+Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=680925]
+---
+ extensions/file_tools/Makefile.am | 10 ++++------
+ extensions/importer/Makefile.am | 10 ++++------
+ extensions/pixbuf_savers/Makefile.am | 10 ++++------
+ gthumb/Makefile.am | 10 ++++------
+ 4 files changed, 16 insertions(+), 24 deletions(-)
+
+diff --git a/extensions/file_tools/Makefile.am b/extensions/file_tools/Makefile.am
+index 7785eff..d70a8a5 100644
+--- a/extensions/file_tools/Makefile.am
++++ b/extensions/file_tools/Makefile.am
+@@ -24,17 +24,16 @@ HEADER_FILES = \
+ gth-file-tool-undo.h \
+ preferences.h
+
+-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
++enum-types.h: $(HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n" \
+ --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) enum-types.h )
+
+-enum-types.c: $(HEADER_FILES) enum-types.h
++enum-types.c: $(HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#include <glib-object.h>\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -42,8 +41,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) enum-types.c )
+
+ libfile_tools_la_SOURCES = \
+ $(ENUM_TYPES) \
+diff --git a/extensions/importer/Makefile.am b/extensions/importer/Makefile.am
+index 29e7f2c..07c1eba 100644
+--- a/extensions/importer/Makefile.am
++++ b/extensions/importer/Makefile.am
+@@ -14,17 +14,16 @@ HEADER_FILES = \
+ preferences.h \
+ utils.h
+
+-gth-import-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
++gth-import-enum-types.h: $(HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n" \
+ --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) gth-import-enum-types.h || cp xgen-$(@F) gth-import-enum-types.h ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) gth-import-enum-types.h )
+
+-gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h
++gth-import-enum-types.c: $(HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#include <glib-object.h>\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -32,8 +31,7 @@ gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) gth-import-enum-types.c || cp xgen-$(@F) gth-import-enum-types.c ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) gth-import-enum-types.c )
+
+ libimporter_la_SOURCES = \
+ $(ENUM_TYPES) \
+diff --git a/extensions/pixbuf_savers/Makefile.am b/extensions/pixbuf_savers/Makefile.am
+index bfe9f34..4764c32 100644
+--- a/extensions/pixbuf_savers/Makefile.am
++++ b/extensions/pixbuf_savers/Makefile.am
+@@ -10,17 +10,16 @@ ENUM_TYPES = \
+ HEADER_FILES = \
+ preferences.h
+
+-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
++enum-types.h: $(HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n" \
+ --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) enum-types.h )
+
+-enum-types.c: $(HEADER_FILES) enum-types.h
++enum-types.c: $(HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#include <glib-object.h>\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -28,8 +27,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) enum-types.c )
+
+ libpixbuf_savers_la_SOURCES = \
+ $(ENUM_TYPES) \
+diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am
+index e9e385e..2f14e03 100644
+--- a/gthumb/Makefile.am
++++ b/gthumb/Makefile.am
+@@ -296,17 +296,16 @@ gthumb_CFLAGS = \
+ -DGTHUMB_EXTENSIONS_DIR=\"$(extensions_dir)\" \
+ $(NULL)
+
+-gth-enum-types.h: $(PUBLIC_HEADER_FILES) $(GLIB_MKENUMS)
++gth-enum-types.h: $(PUBLIC_HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#ifndef GTH_ENUM_TYPES_H\n#define GTH_ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n" \
+ --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ --ftail "G_END_DECLS\n\n#endif /* GTH_ENUM_TYPES_H */" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) gth-enum-types.h || cp xgen-$(@F) gth-enum-types.h ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) gth-enum-types.h )
+
+-gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h
++gth-enum-types.c: $(PUBLIC_HEADER_FILES)
+ $(AM_V_GEN)( $(GLIB_MKENUMS) \
+ --fhead "#include <glib-object.h>\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -314,8 +313,7 @@ gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
+ $^> xgen-$(@F) \
+- && (cmp -s xgen-$(@F) gth-enum-types.c || cp xgen-$(@F) gth-enum-types.c ) \
+- && rm -f xgen-$(@F) )
++ && mv -f xgen-$(@F) gth-enum-types.c )
+
+ gth-marshal.h: gth-marshal.list $(GLIB_GENMARSHAL)
+ $(AM_V_GEN)( $(GLIB_GENMARSHAL) $(srcdir)/gth-marshal.list --header --prefix=gth_marshal > $@ )
+--
+1.7.10.4
+
diff --git a/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb b/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb
index 6ab63bb3a8..0414386d8a 100644
--- a/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb
+++ b/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb
@@ -4,17 +4,17 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
DEPENDS = "glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base"
-PR = "r3"
+PR = "r4"
EXTRA_OECONF = "--disable-gnome-keyring --disable-libsoup --disable-exiv2 --disable-clutter"
-PARALLEL_MAKEINST=""
-
inherit gnome pkgconfig
SRC_URI[archive.md5sum] = "97fc13221b0c5d80c27a2e25a3a3ac6f"
SRC_URI[archive.sha256sum] = "cf809695230ab8892a078be454a42ade865754c72ec1da7c3d74d4310de54f1d"
+SRC_URI += "file://parallel.patch"
+
do_install_append () {
rm ${D}${libdir}/${BPN}/extensions/*.a
}