aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-01-18 17:03:04 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-01-18 23:14:51 +0000
commit6107be140fdec204586850ea1f7e4b968be7670b (patch)
tree0c12daad5c95c27e35499b5e70f01fc36b85d297
parent73d84b7f1fbf99c0db30c8ffe4c270e2803203fd (diff)
downloadmeta-gplv2-3.1_M2.tar.gz
meta-gplv2-3.1_M2.tar.bz2
meta-gplv2-3.1_M2.zip
shared-mime-info: Add 1.10 from OE-Core3.1_M2
Later versions of shared-mime-info need itstool which is GPLv3. Add an old version of shared-mime-info to allow gplv3 free builds to suceed. Use python to set PREFERRED_VERSION based on INCOMPATIBLE_LICENSE to control this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--conf/layer.conf3
-rw-r--r--recipes-support/shared-mime-info/shared-mime-info.inc37
-rw-r--r--recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch25
-rw-r--r--recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch33
-rw-r--r--recipes-support/shared-mime-info/shared-mime-info_1.10.bb7
5 files changed, 105 insertions, 0 deletions
diff --git a/conf/layer.conf b/conf/layer.conf
index 0d46e11..3cd88dc 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -17,3 +17,6 @@ LAYERDEPENDS_gplv2 = "core"
LAYERSERIES_COMPAT_gplv2 = "zeus"
LICENSE_PATH += "${LAYERDIR}/licenses"
+
+PREFERRED_VERSION_shared-mime-info = "${@['', '1.10']['GPLV3' in (d.getVar('INCOMPATIBLE_LICENSE') or '').upper()]}"
+PREFERRED_VERSION_shared-mime-info-native = "${@['', '1.10']['GPLV3' in (d.getVar('INCOMPATIBLE_LICENSE') or '').upper()]}"
diff --git a/recipes-support/shared-mime-info/shared-mime-info.inc b/recipes-support/shared-mime-info/shared-mime-info.inc
new file mode 100644
index 0000000..3fe1a44
--- /dev/null
+++ b/recipes-support/shared-mime-info/shared-mime-info.inc
@@ -0,0 +1,37 @@
+SUMMARY = "Shared MIME type database and specification"
+HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info"
+SECTION = "base"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libxml2 intltool-native glib-2.0 shared-mime-info-native"
+
+SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.xz"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF = "--disable-update-mimedb"
+
+FILES_${PN} += "${datadir}/mime"
+FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc"
+
+# freedesktop.org.xml is only required when updating the mime database,
+# package it separately
+PACKAGES =+ "shared-mime-info-data"
+FILES_shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml"
+RDEPENDS_shared-mime-info-data = "shared-mime-info"
+
+do_install () {
+ autotools_do_install
+
+ update-mime-database ${D}${datadir}/mime
+}
+
+do_install_class-native () {
+ autotools_do_install
+
+ ${B}/update-mime-database ${D}${datadir}/mime
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch b/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch
new file mode 100644
index 0000000..262ff75
--- /dev/null
+++ b/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch
@@ -0,0 +1,25 @@
+fix shared-mime-info build race condition
+
+The definition of install-data-hook in Makefile.am leads
+to multiple, overlapping, executions of install-binPROGRAMS
+target. We modify the definition to avoid that.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+Index: shared-mime-info-1.9/Makefile.am
+===================================================================
+--- shared-mime-info-1.9.orig/Makefile.am
++++ shared-mime-info-1.9/Makefile.am
+@@ -50,7 +50,9 @@ else
+ update_mime_database="$(top_builddir)/update-mime-database$(EXEEXT)"
+ endif
+
+-install-data-hook: install-binPROGRAMS
++# do NOT make this dependent on anything!
++#
++install-data-hook:
+ if ENABLE_UPDATE_MIMEDB
+ $(update_mime_database) -V "$(DESTDIR)$(datadir)/mime"
+ endif
diff --git a/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch b/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch
new file mode 100644
index 0000000..fea34a5
--- /dev/null
+++ b/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch
@@ -0,0 +1,33 @@
+The Makefile used by shared-mime-info is one big race with the SUBDIRS
+option and the dependency specifically calling make all combining to
+create multiple make instances all of which may try and build targets
+like update-mime-database.
+
+This patch removes those options meaning make can correctly identify
+dependencies and stop itself racing itself.
+
+RP 10/10/2011
+
+Upstream-Status: Pending
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Index: shared-mime-info-1.9/Makefile.am
+===================================================================
+--- shared-mime-info-1.9.orig/Makefile.am
++++ shared-mime-info-1.9/Makefile.am
+@@ -1,5 +1,3 @@
+-SUBDIRS=. po
+-
+ AM_CPPFLAGS = $(ALL_CFLAGS)
+
+ packagesdir = $(datadir)/mime/packages
+@@ -81,8 +79,7 @@ endif
+
+ all: $(defaultmakedeps)
+
+-create-pot:
+- $(AM_V_GEN) $(MAKE) -C po shared-mime-info.pot
++create-pot: po
+
+ local-test: create-pot freedesktop.org.xml update-mime-database$(EXEEXT)
+ if CROSS_COMPILING
diff --git a/recipes-support/shared-mime-info/shared-mime-info_1.10.bb b/recipes-support/shared-mime-info/shared-mime-info_1.10.bb
new file mode 100644
index 0000000..9fc210b
--- /dev/null
+++ b/recipes-support/shared-mime-info/shared-mime-info_1.10.bb
@@ -0,0 +1,7 @@
+require shared-mime-info.inc
+
+SRC_URI += "file://parallelmake.patch \
+ file://install-data-hook.patch"
+
+SRC_URI[md5sum] = "418c2ced9dc4dd5ca8b06a755e6d64e9"
+SRC_URI[sha256sum] = "c625a83b4838befc8cafcd54e3619946515d9e44d63d61c4adf7f5513ddfbebf"