All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/21] eee-acpi-scripts: remove the recipe
@ 2018-09-06 10:29 Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 02/21] sysprof: update to 3.30.0 Alexander Kanavin
                   ` (19 more replies)
  0 siblings, 20 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Asus EEEPc hardware is well obsolete, upstream repo is now gone.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/conf/distro/include/distro_alias.inc          |  1 -
 meta/conf/distro/include/maintainers.inc           |  1 -
 .../eee-acpi-scripts/eee-acpi-scripts_git.bb       | 39 --------------
 .../eee-acpi-scripts/files/policy-funcs            |  8 ---
 .../eee-acpi-scripts/files/powerbtn.patch          | 22 --------
 .../eee-acpi-scripts/files/remove-doc-check.patch  | 60 ----------------------
 6 files changed, 131 deletions(-)
 delete mode 100644 meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb
 delete mode 100644 meta/recipes-bsp/eee-acpi-scripts/files/policy-funcs
 delete mode 100644 meta/recipes-bsp/eee-acpi-scripts/files/powerbtn.patch
 delete mode 100644 meta/recipes-bsp/eee-acpi-scripts/files/remove-doc-check.patch

diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc
index 793a1c2..7502542 100644
--- a/meta/conf/distro/include/distro_alias.inc
+++ b/meta/conf/distro/include/distro_alias.inc
@@ -80,7 +80,6 @@ DISTRO_PN_ALIAS_pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook-
 DISTRO_PN_ALIAS_pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets"
 DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
 DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
-DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts"
 DISTRO_PN_ALIAS_pn-eglinfo-fb = "OE-Core"
 DISTRO_PN_ALIAS_pn-eglinfo-x11 = "OE-Core"
 DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 4ec3c20..2ecc3d6 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -142,7 +142,6 @@ RECIPE_MAINTAINER_pn-dtc = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-dwarfsrcfiles = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-eee-acpi-scripts = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia <hongxu.jia@windriver.com>"
diff --git a/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb b/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb
deleted file mode 100644
index c2a02aa..0000000
--- a/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "eeePC specific ACPI scripts"
-HOMEPAGE = "http://alioth.debian.org/projects/debian-eeepc/"
-SECTION = "base"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=77ef83ab5f4af938a93edb61f7b74f2c"
-
-SRCREV = "9d4cdedca25b396405f8587f9c4fbf8229e041c2"
-PV = "1.1.12+git${SRCPV}"
-
-SRC_URI = "git://git.debian.org/git/debian-eeepc/eeepc-acpi-scripts.git \
-	   file://remove-doc-check.patch \
-	   file://powerbtn.patch \
-	   file://policy-funcs "
-
-S = "${WORKDIR}/git"
-
-FILES_${PN} = "${datadir}/acpi-support/ \
-               ${datadir}/eeepc-acpi-scripts \
-               ${sysconfdir}/default/ \
-               ${sysconfdir}/acpi/"
-
-do_install () {
-	install -d ${D}${sysconfdir}/default/
-	install -d ${D}${sysconfdir}/acpi/actions/
-	install -d ${D}${sysconfdir}/acpi/events/
-	install -d ${D}${sysconfdir}/acpi/lib/udev/rules.d
-	install -d ${D}${datadir}/eeepc-acpi-scripts/
-	install -d ${D}${datadir}/acpi-support/
-	install -m 644 ${S}/events/* ${D}${sysconfdir}/acpi/events/
-	install -m 644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/acpi/lib/udev/rules.d/
-	install ${S}/actions/* ${D}${sysconfdir}/acpi/actions/
-	install -m 0644 ${S}/acpilib/functions.sh ${D}${datadir}/eeepc-acpi-scripts/
-	install -m 0644 ${WORKDIR}/policy-funcs ${D}${datadir}/acpi-support/
-	install -m 0644 ${S}/debian/eeepc-acpi-scripts.default* ${D}${sysconfdir}/default/
-}
-
-RDEPENDS_${PN} = "pm-utils"
-
diff --git a/meta/recipes-bsp/eee-acpi-scripts/files/policy-funcs b/meta/recipes-bsp/eee-acpi-scripts/files/policy-funcs
deleted file mode 100644
index fd099df..0000000
--- a/meta/recipes-bsp/eee-acpi-scripts/files/policy-funcs
+++ /dev/null
@@ -1,8 +0,0 @@
-CheckPolicy() {
-	if pidof gnome-power-manager kpowersave > /dev/null ||
-	   (pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop kded kded loadedModules | grep -q klaptopdaemon) ; then
-		echo 0;
-	else
-		echo 1;
-	fi
-}
diff --git a/meta/recipes-bsp/eee-acpi-scripts/files/powerbtn.patch b/meta/recipes-bsp/eee-acpi-scripts/files/powerbtn.patch
deleted file mode 100644
index 403e556..0000000
--- a/meta/recipes-bsp/eee-acpi-scripts/files/powerbtn.patch
+++ /dev/null
@@ -1,22 +0,0 @@
----
- actions/power.sh |    3 +++
- events/powerbtn  |    2 ++
- 2 files changed, 5 insertions(+)
-
-Upstream-Status: Inappropriate [enable feature]
-
-Index: git/events/powerbtn
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ git/events/powerbtn	2008-10-08 17:43:35.000000000 +0200
-@@ -0,0 +1,2 @@
-+event=button/power PWRF
-+action=/etc/acpi/actions/power.sh
-Index: git/actions/power.sh
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ git/actions/power.sh	2008-10-08 17:45:26.000000000 +0200
-@@ -0,0 +1,3 @@
-+#!/bin/sh
-+
-+/sbin/shutdown -h now "Power button pressed"
diff --git a/meta/recipes-bsp/eee-acpi-scripts/files/remove-doc-check.patch b/meta/recipes-bsp/eee-acpi-scripts/files/remove-doc-check.patch
deleted file mode 100644
index efb3dca..0000000
--- a/meta/recipes-bsp/eee-acpi-scripts/files/remove-doc-check.patch
+++ /dev/null
@@ -1,60 +0,0 @@
----
- actions/hotkey.sh     |    3 ---
- actions/suspend.sh    |    3 ---
- actions/vga-toggle.sh |    3 ---
- actions/volume.sh     |    3 ---
- 4 files changed, 12 deletions(-)
-
-Upstream-Status: Inappropriate [configuration]
-
-Index: git/eeepc-acpi-scripts/volume.sh
-===================================================================
---- git.orig/eeepc-acpi-scripts/volume.sh	2011-11-29 19:21:55.000000000 +0800
-+++ git/eeepc-acpi-scripts/volume.sh	2011-11-29 19:41:36.000000000 +0800
-@@ -3,12 +3,10 @@
- [ -d /sys/devices/platform/eeepc ] || [ -d /sys/devices/platform/eeepc-wmi ] || exit 0
- # Volume controls
- 
--# do nothing if package is removed
- PKG=eeepc-acpi-scripts
- PKG_DIR=/usr/share/acpi-support/$PKG
- FUNC_LIB=$PKG_DIR/lib/functions.sh
- DEFAULT=/etc/default/$PKG
--[ -e "$FUNC_LIB" ] || exit 0
- 
- . $FUNC_LIB
- . $PKG_DIR/lib/sound.sh
-Index: git/eeepc-acpi-scripts/hotkey.sh
-===================================================================
---- git.orig/eeepc-acpi-scripts/hotkey.sh	2011-11-29 19:21:55.000000000 +0800
-+++ git/eeepc-acpi-scripts/hotkey.sh	2011-11-29 19:39:51.000000000 +0800
-@@ -1,12 +1,10 @@
- #!/bin/sh
- 
- [ -d /sys/devices/platform/eeepc ] || [ -d /sys/devices/platform/eeepc-wmi ] || exit 0
--# do nothing if package is removed
- PKG=eeepc-acpi-scripts
- PKG_DIR=/usr/share/acpi-support/$PKG
- FUNC_LIB=$PKG_DIR/lib/functions.sh
- DEFAULT=/etc/default/$PKG
--[ -e "$FUNC_LIB" ] || exit 0
- 
- case $(runlevel) in
-     *0|*6)
-Index: git/eeepc-acpi-scripts/vga-toggle.sh
-===================================================================
---- git.orig/eeepc-acpi-scripts/vga-toggle.sh	2011-11-29 19:21:55.000000000 +0800
-+++ git/eeepc-acpi-scripts/vga-toggle.sh	2011-11-29 19:40:24.000000000 +0800
-@@ -1,12 +1,10 @@
- #!/bin/sh
- 
- [ -d /sys/devices/platform/eeepc ] || [ -d /sys/devices/platform/eeepc-wmi ] || exit 0
--# do nothing if package is removed
- PKG=eeepc-acpi-scripts
- PKG_DIR=/usr/share/acpi-support/$PKG
- FUNC_LIB=$PKG_DIR/lib/functions.sh
- DEFAULT=/etc/default/$PKG
--[ -e "$FUNC_LIB" ] || exit 0
- 
- if [ -e "$DEFAULT" ]; then . "$DEFAULT"; fi
- . $FUNC_LIB
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 02/21] sysprof: update to 3.30.0
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 03/21] bzip2: do not perform upstream verison check Alexander Kanavin
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

From: Alexander Kanavin <alexander.kanavin@linux.intel.com>

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...d-anything-in-help-as-it-requires-itstool.patch | 13 +++++----
 meta/recipes-kernel/sysprof/sysprof_3.26.1.bb      | 32 ---------------------
 meta/recipes-kernel/sysprof/sysprof_3.30.0.bb      | 33 ++++++++++++++++++++++
 3 files changed, 40 insertions(+), 38 deletions(-)
 delete mode 100644 meta/recipes-kernel/sysprof/sysprof_3.26.1.bb
 create mode 100644 meta/recipes-kernel/sysprof/sysprof_3.30.0.bb

diff --git a/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch b/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
index e28fdca..ade51cf 100644
--- a/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
+++ b/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
@@ -1,26 +1,27 @@
-From c2495a4c042e6a675da69bab20cc3669391e8e2a Mon Sep 17 00:00:00 2001
+From d332b480257aa98b63d39c3c94896a111536f937 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 23 Aug 2017 18:38:26 +0300
-Subject: [PATCH 1/2] Do not build anything in help/ as it requires itstool.
+Subject: [PATCH 2/2] Do not build anything in help/ as it requires itstool.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  meson.build | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index 4ac3934..8c4369a 100644
+index 3986273..ae2f65e 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -116,7 +116,6 @@ subdir('tools')
+@@ -164,7 +164,6 @@ subdir('tools')
  subdir('tests')
  
  subdir('data')
 -subdir('help')
  subdir('po')
  
- meson.add_install_script('build-aux/meson_post_install.sh')
+ meson.add_install_script('build-aux/meson/post_install.sh')
 -- 
-2.14.1
+2.7.4
 
diff --git a/meta/recipes-kernel/sysprof/sysprof_3.26.1.bb b/meta/recipes-kernel/sysprof/sysprof_3.26.1.bb
deleted file mode 100644
index 9fb4e57..0000000
--- a/meta/recipes-kernel/sysprof/sysprof_3.26.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "System-wide Performance Profiler for Linux"
-HOMEPAGE = "http://www.sysprof.com"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://src/sp-application.c;endline=17;md5=40e55577ef122c88fe20052acda64875"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gettext systemd upstream-version-is-even
-
-DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
-
-SRC_URI[archive.md5sum] = "6f9f947960ba79bb1269d8ee49b7db78"
-SRC_URI[archive.sha256sum] = "d8b9d5c2246696e4a3776a312731dc7c014fbd33478bb14d5512c6f1f35a3b11"
-SRC_URI += " \
-           file://define-NT_GNU_BUILD_ID.patch \
-           file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
-           "
-RECIPE_NO_UPDATE_REASON = "Waiting for resolution of https://bugzilla.gnome.org/show_bug.cgi?id=794625"
-
-PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
-PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3"
-PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
-
-SOLIBS = ".so"
-FILES_SOLIBSDEV = ""
-
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service', '', d)}"
-
-FILES_${PN} += " \
-               ${datadir}/dbus-1/system-services \
-               ${datadir}/dbus-1/system.d \
-               "
diff --git a/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb b/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb
new file mode 100644
index 0000000..4f1b750
--- /dev/null
+++ b/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "System-wide Performance Profiler for Linux"
+HOMEPAGE = "http://www.sysprof.com"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://src/sp-application.c;endline=17;md5=40e55577ef122c88fe20052acda64875"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext systemd upstream-version-is-even
+
+DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
+
+SRC_URI[archive.md5sum] = "ae896a8a2364e18c07fafa9573202f59"
+SRC_URI[archive.sha256sum] = "29cd2c4be277f00698dce48259219557c4fddc2c01254b8fac95900a8c663f63"
+SRC_URI += " \
+           file://define-NT_GNU_BUILD_ID.patch \
+           file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
+           "
+RECIPE_NO_UPDATE_REASON = "Waiting for resolution of https://bugzilla.gnome.org/show_bug.cgi?id=794625"
+
+PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
+PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3"
+PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service', '', d)}"
+
+FILES_${PN} += " \
+               ${datadir}/dbus-1/system-services \
+               ${datadir}/dbus-1/system.d \
+               ${datadir}/metainfo \
+               "
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 03/21] bzip2: do not perform upstream verison check
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 02/21] sysprof: update to 3.30.0 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 04/21] dos2unix: fix upstream version check Alexander Kanavin
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Otherwise, latest version is reported as 1.0.2 which is less than 1.0.6.
Hopefully some kind of official homepage will exist at some point.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/bzip2/bzip2_1.0.6.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
index acbf80a..6cafe26 100644
--- a/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
+++ b/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
@@ -20,6 +20,7 @@ SRC_URI[md5sum] = "00b516f4704d4a7cb50a1d97e6e8e15b"
 SRC_URI[sha256sum] = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd"
 
 UPSTREAM_CHECK_URI = "https://www.sourceware.org/bzip2/"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 PACKAGES =+ "libbz2"
 
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 04/21] dos2unix: fix upstream version check
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 02/21] sysprof: update to 3.30.0 Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 03/21] bzip2: do not perform upstream verison check Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 05/21] qemu: " Alexander Kanavin
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/dos2unix/dos2unix_7.4.0.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-support/dos2unix/dos2unix_7.4.0.bb b/meta/recipes-support/dos2unix/dos2unix_7.4.0.bb
index 9964315..9a71270 100644
--- a/meta/recipes-support/dos2unix/dos2unix_7.4.0.bb
+++ b/meta/recipes-support/dos2unix/dos2unix_7.4.0.bb
@@ -9,6 +9,7 @@ LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=1b78fca784db24f4a40e30b300787f3f"
 
 SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix"
+UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))"
 
 # Release 7.4.0
 SRCREV = "1182533bde3c1fe65be2ead465e87671faa2c027"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 05/21] qemu: fix upstream version check
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (2 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 04/21] dos2unix: fix upstream version check Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 06/21] rpm: update to 4.14.2 Alexander Kanavin
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/qemu/qemu_3.0.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/qemu/qemu_3.0.0.bb b/meta/recipes-devtools/qemu/qemu_3.0.0.bb
index 80da081..588db7f 100644
--- a/meta/recipes-devtools/qemu/qemu_3.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_3.0.0.bb
@@ -22,7 +22,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
            file://0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
            file://0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
            "
-UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+\..*)\.tar"
+UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
 SRC_URI_append_class-native = " \
             file://0012-fix-libcap-header-issue-on-some-distro.patch \
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 06/21] rpm: update to 4.14.2
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (3 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 05/21] qemu: " Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 07/21] libsolv: update to 0.6.35 Alexander Kanavin
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Drop --disable-dbus option and patch: --disable-plugins is sufficient.

Drop upstreamed patches.

Drop a chunk of 0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch, as upstream fixed the issue.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...code-lib-rpm-as-the-installation-path-for.patch |  19 ++-
 ...t-the-PATH-environment-variable-before-ru.patch |  22 +--
 ...0001-Factor-out-and-unify-setting-CLOEXEC.patch | 148 --------------------
 .../0001-configure.ac-add-option-for-dbus.patch    |  42 ------
 .../files/0002-Optimize-rpmSetCloseOnExec.patch    | 100 -------------
 .../0003-rpmSetCloseOnExec-use-getrlimit.patch     |  53 -------
 ...c-remove-static-local-variables-from-buil.patch |  17 +--
 meta/recipes-devtools/rpm/rpm_4.14.1.bb            | 154 ---------------------
 meta/recipes-devtools/rpm/rpm_4.14.2.bb            | 150 ++++++++++++++++++++
 9 files changed, 170 insertions(+), 535 deletions(-)
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-Factor-out-and-unify-setting-CLOEXEC.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-configure.ac-add-option-for-dbus.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0002-Optimize-rpmSetCloseOnExec.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0003-rpmSetCloseOnExec-use-getrlimit.patch
 delete mode 100644 meta/recipes-devtools/rpm/rpm_4.14.1.bb
 create mode 100644 meta/recipes-devtools/rpm/rpm_4.14.2.bb

diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 5604cb9..82e7328 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,7 +1,7 @@
-From c82c19dc583843b1a975f2e3f2e151656a6f377c Mon Sep 17 00:00:00 2001
+From bd08eb0ae1312f347f49949481daa7c923752df2 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 09:43:30 +0200
-Subject: [PATCH 06/14] Do not hardcode "lib/rpm" as the installation path for
+Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
  default configuration and macros.
 
 Upstream-Status: Denied [https://github.com/rpm-software-management/rpm/pull/263]
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 7155d9f00..21b95ae5f 100644
+index 09af7c4..9bd6903 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1047,7 +1047,7 @@ else
+@@ -1055,7 +1055,7 @@ else
      usrprefix=$prefix
  fi
  
@@ -27,10 +27,10 @@ index 7155d9f00..21b95ae5f 100644
  
  AC_SUBST(OBJDUMP)
 diff --git a/macros.in b/macros.in
-index d08624856..68a972f1e 100644
+index a3aa7a9..62cee5c 100644
 --- a/macros.in
 +++ b/macros.in
-@@ -954,7 +954,7 @@ package or when debugging this package.\
+@@ -970,7 +970,7 @@ package or when debugging this package.\
  %_sharedstatedir	%{_prefix}/com
  %_localstatedir		%{_prefix}/var
  %_lib			lib
@@ -40,7 +40,7 @@ index d08624856..68a972f1e 100644
  %_infodir		%{_datadir}/info
  %_mandir		%{_datadir}/man
 diff --git a/rpm.am b/rpm.am
-index 51225892d..e0c834d37 100644
+index 82c2d7c..6341b51 100644
 --- a/rpm.am
 +++ b/rpm.am
 @@ -1,10 +1,10 @@
@@ -55,7 +55,4 @@ index 51225892d..e0c834d37 100644
 +rpmconfigdir = $(libdir)/rpm
  
  # Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 8:1:0
--- 
-2.15.1
-
+ rpm_version_info = 9:0:1
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
index bf24d43..41cdf6e 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
@@ -1,25 +1,23 @@
-From ffb5301a8594140ad7a58bc0f2053be8ca2b2946 Mon Sep 17 00:00:00 2001
+From a674b9cc7af448d7c6748bc163bf37dc14a57f09 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 20 Jan 2017 13:32:06 +0200
-Subject: [PATCH 1/2] Do not reset the PATH environment variable before running
+Subject: [PATCH] Do not reset the PATH environment variable before running
  scriptlets.
 
 We add lots of native stuff into it and scriptlets rely on that.
 
-Also need to remove the xx test later in the function since the
-value could now be used un-initialised.
-
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  lib/rpmscript.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index 92f949fa2..7c1aa75a8 100644
+index 6a31e0d..2b0e438 100644
 --- a/lib/rpmscript.c
 +++ b/lib/rpmscript.c
-@@ -201,7 +201,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes,
+@@ -184,7 +184,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes,
  	if (ipath && ipath[5] != '%')
  	    path = ipath;
  
@@ -28,13 +26,3 @@ index 92f949fa2..7c1aa75a8 100644
  	free(ipath);
      }
  
-@@ -206,9 +206,7 @@ static void doScriptExec(ARGV_const_t ar
- 	/* XXX Don't mtrace into children. */
- 	unsetenv("MALLOC_CHECK_");
- 
--	if (xx == 0) {
- 	    xx = execv(argv[0], argv);
--	}
-     }
-     _exit(127); /* exit 127 for compatibility with bash(1) */
- }
diff --git a/meta/recipes-devtools/rpm/files/0001-Factor-out-and-unify-setting-CLOEXEC.patch b/meta/recipes-devtools/rpm/files/0001-Factor-out-and-unify-setting-CLOEXEC.patch
deleted file mode 100644
index 6f440c6..0000000
--- a/meta/recipes-devtools/rpm/files/0001-Factor-out-and-unify-setting-CLOEXEC.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 9c3e5de3240554c8ea1b29d52eeadee4840fefac Mon Sep 17 00:00:00 2001
-From: Kir Kolyshkin <kolyshkin@gmail.com>
-Date: Tue, 29 May 2018 17:37:05 -0700
-Subject: [PATCH 1/3] Factor out and unify setting CLOEXEC
-
-Commit 7a7c31f5 ("Set FD_CLOEXEC on opened files before exec from
-lua script is called") copied the code that sets CLOEXEC flag on all
-possible file descriptors from lib/rpmscript.c to luaext/lposix.c,
-essentially creating two copies of the same code (modulo comments
-and the unused assignment).
-
-This commit moves the functionality into its own function, without
-any code modifications, using the version from luaext/lposix.c.
-
-Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
-Upstream-Status: Accepted [https://github.com/rpm-software-management/rpm/pull/444]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- lib/rpmscript.c        | 18 ++----------------
- luaext/lposix.c        | 13 ++-----------
- rpmio/rpmio.c          | 16 ++++++++++++++++
- rpmio/rpmio_internal.h |  6 ++++++
- 4 files changed, 26 insertions(+), 27 deletions(-)
-
-diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index 747385a5b..b4ccd3246 100644
---- a/lib/rpmscript.c
-+++ b/lib/rpmscript.c
-@@ -3,7 +3,6 @@
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <errno.h>
--#include <unistd.h>
- 
- #include <rpm/rpmfileutil.h>
- #include <rpm/rpmmacro.h>
-@@ -14,6 +13,7 @@
- 
- #include "rpmio/rpmlua.h"
- #include "lib/rpmscript.h"
-+#include "rpmio/rpmio_internal.h"
- 
- #include "lib/rpmplugins.h"     /* rpm plugins hooks */
- 
-@@ -170,26 +170,12 @@ static const char * const SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr
- static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes,
- 			FD_t scriptFd, FD_t out)
- {
--    int flag;
--    int fdno;
-     int xx;
--    int open_max;
- 
-     /* SIGPIPE is ignored in rpm, reset to default for the scriptlet */
-     (void) signal(SIGPIPE, SIG_DFL);
- 
--    /* XXX Force FD_CLOEXEC on all inherited fdno's. */
--    open_max = sysconf(_SC_OPEN_MAX);
--    if (open_max == -1) {
--	open_max = 1024;
--    }
--    for (fdno = 3; fdno < open_max; fdno++) {
--	flag = fcntl(fdno, F_GETFD);
--	if (flag == -1 || (flag & FD_CLOEXEC))
--	    continue;
--	xx = fcntl(fdno, F_SETFD, FD_CLOEXEC);
--	/* XXX W2DO? debug msg for inheirited fdno w/o FD_CLOEXEC */
--    }
-+    rpmSetCloseOnExec();
- 
-     if (scriptFd != NULL) {
- 	int sfdno = Fileno(scriptFd);
-diff --git a/luaext/lposix.c b/luaext/lposix.c
-index 0a7c26c71..5d7ad3c87 100644
---- a/luaext/lposix.c
-+++ b/luaext/lposix.c
-@@ -27,6 +27,7 @@
- #include <unistd.h>
- #include <utime.h>
- #include <rpm/rpmutil.h>
-+#include "rpmio/rpmio_internal.h"
- 
- #define MYNAME		"posix"
- #define MYVERSION	MYNAME " library for " LUA_VERSION " / Nov 2003"
-@@ -335,21 +336,11 @@ static int Pexec(lua_State *L)			/** exec(path,[args]) */
- 	const char *path = luaL_checkstring(L, 1);
- 	int i,n=lua_gettop(L);
- 	char **argv;
--	int flag, fdno, open_max;
- 
- 	if (!have_forked)
- 	    return luaL_error(L, "exec not permitted in this context");
- 
--	open_max = sysconf(_SC_OPEN_MAX);
--	if (open_max == -1) {
--	    open_max = 1024;
--	}
--	for (fdno = 3; fdno < open_max; fdno++) {
--	    flag = fcntl(fdno, F_GETFD);
--	    if (flag == -1 || (flag & FD_CLOEXEC))
--		continue;
--	    fcntl(fdno, F_SETFD, FD_CLOEXEC);
--	}
-+	rpmSetCloseOnExec();
- 
- 	argv = malloc((n+1)*sizeof(char*));
- 	if (argv==NULL) return luaL_error(L,"not enough memory");
-diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
-index c7cbc32aa..ea111d2ec 100644
---- a/rpmio/rpmio.c
-+++ b/rpmio/rpmio.c
-@@ -1759,3 +1759,19 @@ DIGEST_CTX fdDupDigest(FD_t fd, int id)
- 
-     return ctx;
- }
-+
-+void rpmSetCloseOnExec(void)
-+{
-+	int flag, fdno, open_max;
-+
-+	open_max = sysconf(_SC_OPEN_MAX);
-+	if (open_max == -1) {
-+		open_max = 1024;
-+	}
-+	for (fdno = 3; fdno < open_max; fdno++) {
-+		flag = fcntl(fdno, F_GETFD);
-+		if (flag == -1 || (flag & FD_CLOEXEC))
-+			continue;
-+		fcntl(fdno, F_SETFD, FD_CLOEXEC);
-+	}
-+}
-diff --git a/rpmio/rpmio_internal.h b/rpmio/rpmio_internal.h
-index fbed183b0..370cbdc75 100644
---- a/rpmio/rpmio_internal.h
-+++ b/rpmio/rpmio_internal.h
-@@ -41,6 +41,12 @@ DIGEST_CTX fdDupDigest(FD_t fd, int id);
- int rpmioSlurp(const char * fn,
-                 uint8_t ** bp, ssize_t * blenp);
- 
-+/**
-+ * Set close-on-exec flag for all opened file descriptors, except
-+ * stdin/stdout/stderr.
-+ */
-+void rpmSetCloseOnExec(void);
-+
- #ifdef __cplusplus
- }
- #endif
diff --git a/meta/recipes-devtools/rpm/files/0001-configure.ac-add-option-for-dbus.patch b/meta/recipes-devtools/rpm/files/0001-configure.ac-add-option-for-dbus.patch
deleted file mode 100644
index dc71d9b..0000000
--- a/meta/recipes-devtools/rpm/files/0001-configure.ac-add-option-for-dbus.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From dfb422c744fdc1838afc40b8e1f161bb46093d92 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Sun, 8 Apr 2018 12:06:42 +0800
-Subject: [PATCH] configure.ac: add option for dbus
-
-Add option for dbus so that users could choose to build with dbus
-or with no dbus.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- configure.ac | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4db15c7909..493f393d31 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -976,12 +976,15 @@ AS_IF([test "$enable_plugins" = yes],[
- ])
- AM_CONDITIONAL(ENABLE_PLUGINS,[test "$enable_plugins" = yes])
- 
--with_dbus=no
--AS_IF([test "$enable_plugins" != no],[
-+AC_ARG_WITH([dbus], [AS_HELP_STRING([--with-dbus], [build with dbus support])],
-+            [],
-+            [with_dbus=yes])
-+
-+AS_IF([test "$with_dbus" != no],[
-   PKG_CHECK_MODULES([DBUS],
-     [dbus-1 >= 1.3],
--    [AC_DEFINE(DBUS, 1, [Build with dbus support?]) with_dbus=yes],
--    [with_dbus=no])
-+    [AC_DEFINE(DBUS, 1, [Build with dbus support?])],
-+    [AC_MSG_ERROR([dbus not present (--without-dbus to disable)])])
-   AC_SUBST(DBUS_CFLAGS)
-   AC_SUBST(DBUS_LIBS)
- ])
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0002-Optimize-rpmSetCloseOnExec.patch b/meta/recipes-devtools/rpm/files/0002-Optimize-rpmSetCloseOnExec.patch
deleted file mode 100644
index a27f8e6..0000000
--- a/meta/recipes-devtools/rpm/files/0002-Optimize-rpmSetCloseOnExec.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 5e6f05cd8dad6c1ee6bd1e6e43f176976c9c3416 Mon Sep 17 00:00:00 2001
-From: Kir Kolyshkin <kolyshkin@gmail.com>
-Date: Tue, 29 May 2018 17:52:56 -0700
-Subject: [PATCH 2/3] Optimize rpmSetCloseOnExec
-
-In case maximum number of open files limit is set too high, both
-luaext/Pexec() and lib/doScriptExec() spend way too much time
-trying to set FD_CLOEXEC flag for all those file descriptors,
-resulting in severe increase of time it takes to execute say
-rpm or dnf.
-
-This becomes increasingly noticeable when running with e.g. under
-Docker, the reason being:
-
-> $ docker run fedora ulimit -n
-> 1048576
-
-One obvious fix is to use procfs to get the actual list of opened fds
-and iterate over it. My quick-n-dirty benchmark shows the /proc approach
-is about 10x faster than iterating through a list of just 1024 fds,
-so it's an improvement even for default ulimit values.
-
-Note that the old method is still used in case /proc is not available.
-
-While at it,
-
- 1. fix the function by making sure we modify (rather than set)
-    the existing flags. As the only known flag is FD_CLOEXEC,
-    this change is currently purely aesthetical, but in case
-    other flags will appear it will become a real bug fix.
-
- 2. get rid of magic number 3; use STDERR_FILENO
-
-Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
-
-Fixes #444
-
-Upstream-Status: Accepted [https://github.com/rpm-software-management/rpm/pull/444]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- rpmio/rpmio.c | 43 ++++++++++++++++++++++++++++++++++---------
- 1 file changed, 34 insertions(+), 9 deletions(-)
-
-diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
-index ea111d2ec..55351c221 100644
---- a/rpmio/rpmio.c
-+++ b/rpmio/rpmio.c
-@@ -1760,18 +1760,43 @@ DIGEST_CTX fdDupDigest(FD_t fd, int id)
-     return ctx;
- }
- 
-+static void set_cloexec(int fd)
-+{
-+	int flags = fcntl(fd, F_GETFD);
-+
-+	if (flags == -1 || (flags & FD_CLOEXEC))
-+		return;
-+
-+	fcntl(fd, F_SETFD, flags | FD_CLOEXEC);
-+}
-+
- void rpmSetCloseOnExec(void)
- {
--	int flag, fdno, open_max;
-+	const int min_fd = STDERR_FILENO; /* don't touch stdin/out/err */
-+	int fd;
-+
-+	DIR *dir = opendir("/proc/self/fd");
-+	if (dir == NULL) { /* /proc not available */
-+		/* iterate over all possible fds, might be slow */
-+		int open_max = sysconf(_SC_OPEN_MAX);
-+		if (open_max == -1)
-+			open_max = 1024;
- 
--	open_max = sysconf(_SC_OPEN_MAX);
--	if (open_max == -1) {
--		open_max = 1024;
-+		for (fd = min_fd + 1; fd < open_max; fd++)
-+			set_cloexec(fd);
-+
-+		return;
- 	}
--	for (fdno = 3; fdno < open_max; fdno++) {
--		flag = fcntl(fdno, F_GETFD);
--		if (flag == -1 || (flag & FD_CLOEXEC))
--			continue;
--		fcntl(fdno, F_SETFD, FD_CLOEXEC);
-+
-+	/* iterate over fds obtained from /proc */
-+	struct dirent *entry;
-+	while ((entry = readdir(dir)) != NULL) {
-+		fd = atoi(entry->d_name);
-+		if (fd > min_fd)
-+			set_cloexec(fd);
- 	}
-+
-+	closedir(dir);
-+
-+	return;
- }
diff --git a/meta/recipes-devtools/rpm/files/0003-rpmSetCloseOnExec-use-getrlimit.patch b/meta/recipes-devtools/rpm/files/0003-rpmSetCloseOnExec-use-getrlimit.patch
deleted file mode 100644
index 389b41b..0000000
--- a/meta/recipes-devtools/rpm/files/0003-rpmSetCloseOnExec-use-getrlimit.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 307e28b4cb08b05bc044482058eeebc9f59bb9a9 Mon Sep 17 00:00:00 2001
-From: Kir Kolyshkin <kolyshkin@gmail.com>
-Date: Tue, 29 May 2018 18:09:27 -0700
-Subject: [PATCH 3/3] rpmSetCloseOnExec: use getrlimit()
-
-In case /proc is not available to get the actual list of opened fds,
-we fall back to iterating through the list of all possible fds.
-
-It is possible that during the course of the program execution the limit
-on number of open file descriptors might be lowered, so using the
-current limit, as returned by sysconf(_SC_OPEN_MAX), might omit some
-fds. Therefore, it is better to use rlim_max from the structure
-filled in by gertlimit(RLIMIT_NOFILE) to make sure we're checking
-all fds.
-
-This slows down the function, but only in the case /proc is not
-available, which should be rare in practice.
-
-Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
-Upstream-Status: Accepted [https://github.com/rpm-software-management/rpm/pull/444]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- rpmio/rpmio.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
-index 55351c221..e051c9863 100644
---- a/rpmio/rpmio.c
-+++ b/rpmio/rpmio.c
-@@ -10,6 +10,7 @@
- #include <sys/personality.h>
- #endif
- #include <sys/utsname.h>
-+#include <sys/resource.h>
- 
- #include <rpm/rpmlog.h>
- #include <rpm/rpmmacro.h>
-@@ -1778,7 +1779,14 @@ void rpmSetCloseOnExec(void)
- 	DIR *dir = opendir("/proc/self/fd");
- 	if (dir == NULL) { /* /proc not available */
- 		/* iterate over all possible fds, might be slow */
--		int open_max = sysconf(_SC_OPEN_MAX);
-+		struct rlimit rl;
-+		int open_max;
-+
-+		if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
-+			open_max = rl.rlim_max;
-+		else
-+			open_max = sysconf(_SC_OPEN_MAX);
-+
- 		if (open_max == -1)
- 			open_max = 1024;
- 
diff --git a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
index 8989dce..652e30b 100644
--- a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
+++ b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
@@ -1,8 +1,8 @@
-From 8ce9fbab2990609bdace457e146160334e931c89 Mon Sep 17 00:00:00 2001
+From 792693bb90768cfde4898e8dd31ee1b5de803d2f Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 8 Jun 2017 17:08:09 +0300
-Subject: [PATCH 14/15] build/pack.c: remove static local variables from
- buildHost() and getBuildTime()
+Subject: [PATCH] build/pack.c: remove static local variables from buildHost()
+ and getBuildTime()
 
 Their use is causing difficult to diagnoze data races when building multiple
 packages in parallel, and is a bad idea in general, as it also makes it more
@@ -20,7 +20,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 74 insertions(+), 72 deletions(-)
 
 diff --git a/build/build.c b/build/build.c
-index 81152e53e..6001f9e52 100644
+index 13c3df2..b154f08 100644
 --- a/build/build.c
 +++ b/build/build.c
 @@ -6,6 +6,8 @@
@@ -99,7 +99,7 @@ index 81152e53e..6001f9e52 100644
  	if (((what & RPMBUILD_PACKAGESOURCE) && !test) &&
 -	    (rc = packageSources(spec, &cookie)))
 +	    (rc = packageSources(spec, &cookie, buildTime, host)))
- 		return rc;
+ 		goto exit;
  
  	if (((what & RPMBUILD_PACKAGEBINARY) && !test) &&
 -	    (rc = packageBinaries(spec, cookie, (didBuild == 0))))
@@ -116,7 +116,7 @@ index 81152e53e..6001f9e52 100644
      spec->rootDir = NULL;
      if (rc != RPMRC_OK && rpmlogGetNrecs() > 0) {
 diff --git a/build/pack.c b/build/pack.c
-index df15876ff..17a4b0905 100644
+index df15876..17a4b09 100644
 --- a/build/pack.c
 +++ b/build/pack.c
 @@ -6,8 +6,6 @@
@@ -305,7 +305,7 @@ index df15876ff..17a4b0905 100644
  	/* Do check SRPM package if enabled */
  	if (rc == RPMRC_OK && pkgcheck[0] != ' ') {
 diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
-index 439b7d3b5..07e8338ad 100644
+index 439b7d3..07e8338 100644
 --- a/build/rpmbuild_internal.h
 +++ b/build/rpmbuild_internal.h
 @@ -427,19 +427,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
@@ -334,6 +334,3 @@ index 439b7d3b5..07e8338ad 100644
  
  RPM_GNUC_INTERNAL
  int addLangTag(rpmSpec spec, Header h, rpmTagVal tag,
--- 
-2.14.2
-
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.1.bb b/meta/recipes-devtools/rpm/rpm_4.14.1.bb
deleted file mode 100644
index e5e87d3..0000000
--- a/meta/recipes-devtools/rpm/rpm_4.14.1.bb
+++ /dev/null
@@ -1,154 +0,0 @@
-SUMMARY = "The RPM package management system"
-DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \
-package management system capable of installing, uninstalling, \
-verifying, querying, and updating software packages. Each software \
-package consists of an archive of files along with information about \
-the package like its version, a description, etc."
-
-SUMMARY_${PN}-dev = "Development files for manipulating RPM packages"
-DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \
-development files will simplify the process of writing programs that \
-manipulate RPM packages and databases. These files are intended to \
-simplify the process of creating graphical package managers or any \
-other tools that need an intimate knowledge of RPM packages in order \
-to function."
-
-SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages"
-DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \
-written in the Python programming language to use the interface \
-supplied by the RPM Package Manager libraries."
-
-HOMEPAGE = "http://www.rpm.org"
-
-# libraries are also LGPL - how to express this?
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
-
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
-           file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
-           file://0001-Do-not-read-config-files-from-HOME.patch \
-           file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
-           file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
-           file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
-           file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
-           file://0001-Fix-build-with-musl-C-library.patch \
-           file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
-           file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
-           file://0001-Split-binary-package-building-into-a-separate-functi.patch \
-           file://0002-Run-binary-package-creation-via-thread-pools.patch \
-           file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
-           file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
-           file://0001-perl-disable-auto-reqs.patch \
-           file://0001-configure.ac-add-option-for-dbus.patch \
-           file://0001-Factor-out-and-unify-setting-CLOEXEC.patch \
-           file://0002-Optimize-rpmSetCloseOnExec.patch \
-           file://0003-rpmSetCloseOnExec-use-getrlimit.patch \
-           "
-
-PE = "1"
-SRCREV = "bfee1410af51c1cc9724791fb8d985260a62102b"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3"
-DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
-
-inherit autotools gettext pkgconfig python3native
-export PYTHON_ABI
-
-# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
-EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
-
-EXTRA_OECONF_append = " --without-lua --enable-python"
-EXTRA_OECONF_append_libc-musl = " --disable-nls"
-
-# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
-#
-# --localstatedir prevents rpm from writing its database to native sysroot when building images
-#
-# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
-# Also disable plugins by default for native.
-EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --without-dbus --disable-plugins"
-EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --without-dbus --disable-plugins"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
-
-ASNEEDED = ""
-
-# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in
-# libmagic also has sysroot path contamination, so override it
-
-WRAPPER_TOOLS = " \
-   ${bindir}/rpm \
-   ${bindir}/rpm2archive \
-   ${bindir}/rpm2cpio \
-   ${bindir}/rpmbuild \
-   ${bindir}/rpmdb \
-   ${bindir}/rpmgraph \
-   ${bindir}/rpmkeys \
-   ${bindir}/rpmsign \
-   ${bindir}/rpmspec \
-   ${libdir}/rpm/rpmdeps \
-"
-
-do_install_append_class-native() {
-        for tool in ${WRAPPER_TOOLS}; do
-                create_wrapper ${D}$tool \
-                        RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
-                        RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
-                        MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \
-                        RPM_NO_CHROOT_FOR_SCRIPTS=1
-        done
-}
-
-do_install_append_class-nativesdk() {
-        for tool in ${WRAPPER_TOOLS}; do
-                create_wrapper ${D}$tool \
-                        RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \
-                        RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/..} \
-                        MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/misc/magic.mgc \
-                        RPM_NO_CHROOT_FOR_SCRIPTS=1
-        done
-
-        rm -rf ${D}/var
-}
-
-# Rpm's make install creates var/tmp which clashes with base-files packaging
-do_install_append_class-target() {
-    rm -rf ${D}/var
-}
-
-do_install_append () {
-	sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
-	    ${D}/${libdir}/rpm/macros
-
-	sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
-	    ${D}${libdir}/rpm/pythondistdeps.py \
-	    ${D}${libdir}/rpm/python-macro-helper
-}
-
-FILES_${PN} += "${libdir}/rpm-plugins/*.so \
-               "
-
-FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
-                    "
-
-PACKAGES += "python3-rpm"
-PROVIDES += "python3-rpm"
-FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
-
-# rpm 5.x was packaging the rpm build tools separately
-RPROVIDES_${PN} += "rpm-build"
-
-RDEPENDS_${PN} = "bash perl python3-core"
-
-PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
-
-# Do not specify a sysroot when compiling on a target.
-rpm_package_preprocess () {
-	sed -i -e 's:--sysroot[^ ]*::g' \
-	    ${PKGD}/${libdir}/rpm/macros
-}
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.2.bb b/meta/recipes-devtools/rpm/rpm_4.14.2.bb
new file mode 100644
index 0000000..46f8837
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm_4.14.2.bb
@@ -0,0 +1,150 @@
+SUMMARY = "The RPM package management system"
+DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \
+package management system capable of installing, uninstalling, \
+verifying, querying, and updating software packages. Each software \
+package consists of an archive of files along with information about \
+the package like its version, a description, etc."
+
+SUMMARY_${PN}-dev = "Development files for manipulating RPM packages"
+DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \
+development files will simplify the process of writing programs that \
+manipulate RPM packages and databases. These files are intended to \
+simplify the process of creating graphical package managers or any \
+other tools that need an intimate knowledge of RPM packages in order \
+to function."
+
+SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages"
+DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \
+written in the Python programming language to use the interface \
+supplied by the RPM Package Manager libraries."
+
+HOMEPAGE = "http://www.rpm.org"
+
+# libraries are also LGPL - how to express this?
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
+
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
+           file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
+           file://0001-Do-not-read-config-files-from-HOME.patch \
+           file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
+           file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
+           file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
+           file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
+           file://0001-Fix-build-with-musl-C-library.patch \
+           file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
+           file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
+           file://0001-Split-binary-package-building-into-a-separate-functi.patch \
+           file://0002-Run-binary-package-creation-via-thread-pools.patch \
+           file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
+           file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
+           file://0001-perl-disable-auto-reqs.patch \
+           "
+
+PE = "1"
+SRCREV = "753f6941dc32e94047b7cfe713ddd604a810b4db"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3"
+DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
+
+inherit autotools gettext pkgconfig python3native
+export PYTHON_ABI
+
+# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
+EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
+
+EXTRA_OECONF_append = " --without-lua --enable-python"
+EXTRA_OECONF_append_libc-musl = " --disable-nls"
+
+# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
+#
+# --localstatedir prevents rpm from writing its database to native sysroot when building images
+#
+# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
+# Also disable plugins by default for native.
+EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
+
+ASNEEDED = ""
+
+# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in
+# libmagic also has sysroot path contamination, so override it
+
+WRAPPER_TOOLS = " \
+   ${bindir}/rpm \
+   ${bindir}/rpm2archive \
+   ${bindir}/rpm2cpio \
+   ${bindir}/rpmbuild \
+   ${bindir}/rpmdb \
+   ${bindir}/rpmgraph \
+   ${bindir}/rpmkeys \
+   ${bindir}/rpmsign \
+   ${bindir}/rpmspec \
+   ${libdir}/rpm/rpmdeps \
+"
+
+do_install_append_class-native() {
+        for tool in ${WRAPPER_TOOLS}; do
+                create_wrapper ${D}$tool \
+                        RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
+                        RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
+                        MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \
+                        RPM_NO_CHROOT_FOR_SCRIPTS=1
+        done
+}
+
+do_install_append_class-nativesdk() {
+        for tool in ${WRAPPER_TOOLS}; do
+                create_wrapper ${D}$tool \
+                        RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \
+                        RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/..} \
+                        MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/misc/magic.mgc \
+                        RPM_NO_CHROOT_FOR_SCRIPTS=1
+        done
+
+        rm -rf ${D}/var
+}
+
+# Rpm's make install creates var/tmp which clashes with base-files packaging
+do_install_append_class-target() {
+    rm -rf ${D}/var
+}
+
+do_install_append () {
+	sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
+	    ${D}/${libdir}/rpm/macros
+
+	sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
+	    ${D}${libdir}/rpm/pythondistdeps.py \
+	    ${D}${libdir}/rpm/python-macro-helper
+}
+
+FILES_${PN} += "${libdir}/rpm-plugins/*.so \
+               "
+
+FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
+                    "
+
+PACKAGES += "python3-rpm"
+PROVIDES += "python3-rpm"
+FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
+
+# rpm 5.x was packaging the rpm build tools separately
+RPROVIDES_${PN} += "rpm-build"
+
+RDEPENDS_${PN} = "bash perl python3-core"
+
+PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
+
+# Do not specify a sysroot when compiling on a target.
+rpm_package_preprocess () {
+	sed -i -e 's:--sysroot[^ ]*::g' \
+	    ${PKGD}/${libdir}/rpm/macros
+}
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 07/21] libsolv: update to 0.6.35
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (4 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 06/21] rpm: update to 4.14.2 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 08/21] babetrace: update to 1.5.6 Alexander Kanavin
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/libsolv/libsolv_0.6.34.bb | 30 -------------------------
 meta/recipes-extended/libsolv/libsolv_0.6.35.bb | 29 ++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 30 deletions(-)
 delete mode 100644 meta/recipes-extended/libsolv/libsolv_0.6.34.bb
 create mode 100644 meta/recipes-extended/libsolv/libsolv_0.6.35.bb

diff --git a/meta/recipes-extended/libsolv/libsolv_0.6.34.bb b/meta/recipes-extended/libsolv/libsolv_0.6.34.bb
deleted file mode 100644
index 5950194..0000000
--- a/meta/recipes-extended/libsolv/libsolv_0.6.34.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Library for solving packages and reading repositories"
-HOMEPAGE = "https://github.com/openSUSE/libsolv"
-BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
-SECTION = "devel"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
-
-DEPENDS = "expat zlib rpm"
-
-SRC_URI = "git://github.com/openSUSE/libsolv.git \
-          "
-SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
-                             file://0002-Fixes-to-internal-fopencookie-implementation.patch \
-                           "
-
-SRCREV = "f0ef172a591d9c1ca0e13e09955054ac9c473d67"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_COMPLEX_DEPS=ON"
-
-PACKAGES =+ "${PN}-tools ${PN}ext"
-
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libsolv/libsolv_0.6.35.bb b/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
new file mode 100644
index 0000000..0956453
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Library for solving packages and reading repositories"
+HOMEPAGE = "https://github.com/openSUSE/libsolv"
+BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
+
+DEPENDS = "expat zlib rpm"
+
+SRC_URI = "git://github.com/openSUSE/libsolv.git"
+SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
+                             file://0002-Fixes-to-internal-fopencookie-implementation.patch \
+                           "
+
+SRCREV = "38c5374d4712667b0b6ada4bf78ddbb343095d0c"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_COMPLEX_DEPS=ON"
+
+PACKAGES =+ "${PN}-tools ${PN}ext"
+
+FILES_${PN}-tools = "${bindir}/*"
+FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 08/21] babetrace: update to 1.5.6
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (5 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 07/21] libsolv: update to 0.6.35 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 09/21] btrfs-tools: update to 4.17.1 Alexander Kanavin
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-kernel/lttng/babeltrace_1.5.5.bb | 20 --------------------
 meta/recipes-kernel/lttng/babeltrace_1.5.6.bb | 20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 20 deletions(-)
 delete mode 100644 meta/recipes-kernel/lttng/babeltrace_1.5.5.bb
 create mode 100644 meta/recipes-kernel/lttng/babeltrace_1.5.6.bb

diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.5.bb b/meta/recipes-kernel/lttng/babeltrace_1.5.5.bb
deleted file mode 100644
index b247fb0..0000000
--- a/meta/recipes-kernel/lttng/babeltrace_1.5.5.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Babeltrace - Trace Format Babel Tower"
-DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
-HOMEPAGE = "http://www.efficios.com/babeltrace/"
-BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
-LICENSE = "MIT & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
-
-DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
-
-SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5"
-SRCREV = "d68a4daf85c73ab7d7070de0c98d0c170af4758e"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)$"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-debug-info"
-
-ASNEEDED = ""
diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.6.bb b/meta/recipes-kernel/lttng/babeltrace_1.5.6.bb
new file mode 100644
index 0000000..f5c31c4
--- /dev/null
+++ b/meta/recipes-kernel/lttng/babeltrace_1.5.6.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Babeltrace - Trace Format Babel Tower"
+DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
+HOMEPAGE = "http://www.efficios.com/babeltrace/"
+BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
+LICENSE = "MIT & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
+
+DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
+
+SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5"
+SRCREV = "4f10a4adabee5ca61c27ba399b3438505e0cd6de"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)$"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-debug-info"
+
+ASNEEDED = ""
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 09/21] btrfs-tools: update to 4.17.1
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (6 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 08/21] babetrace: update to 1.5.6 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 10/21] iso-codes: update to 4.1 Alexander Kanavin
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../btrfs-tools/btrfs-tools_4.17.1.bb              | 44 ++++++++++++++++++++++
 .../btrfs-tools/btrfs-tools_4.17.bb                | 44 ----------------------
 2 files changed, 44 insertions(+), 44 deletions(-)
 create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb
 delete mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.bb

diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb
new file mode 100644
index 0000000..6b53fbcd
--- /dev/null
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Checksumming Copy on Write Filesystem utilities"
+DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
+implementing advanced features while focusing on fault tolerance, repair and \
+easy administration. \
+This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
+btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
+
+HOMEPAGE = "https://btrfs.wiki.kernel.org"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
+SECTION = "base"
+DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
+DEPENDS_append_class-target = " udev"
+RDEPENDS_${PN} = "libgcc"
+
+SRCREV = "7faaca0d9f78f7162ae603231f693dd8e1af2a41"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
+           file://0001-Makefile-build-mktables-using-native-gcc.patch \
+           file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \
+           file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
+           "
+
+inherit autotools-brokensep pkgconfig manpages distutils3-base
+
+CLEANBROKEN = "1"
+
+PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
+EXTRA_OECONF = " --disable-zstd"
+EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
+
+do_configure_prepend() {
+	# Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
+	mkdir -p ${S}/config
+	cp -f $(automake --print-libdir)/install-sh ${S}/config/
+}
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+    oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.bb
deleted file mode 100644
index a3690d6..0000000
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Checksumming Copy on Write Filesystem utilities"
-DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
-implementing advanced features while focusing on fault tolerance, repair and \
-easy administration. \
-This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
-btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
-
-HOMEPAGE = "https://btrfs.wiki.kernel.org"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
-SECTION = "base"
-DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
-DEPENDS_append_class-target = " udev"
-RDEPENDS_${PN} = "libgcc"
-
-SRCREV = "33d16ffc0d176ff4a217a0491378d20ad34e0a90"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
-           file://0001-Makefile-build-mktables-using-native-gcc.patch \
-           file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \
-           file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
-           "
-
-inherit autotools-brokensep pkgconfig manpages distutils3-base
-
-CLEANBROKEN = "1"
-
-PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
-EXTRA_OECONF = " --disable-zstd"
-EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
-
-do_configure_prepend() {
-	# Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
-	mkdir -p ${S}/config
-	cp -f $(automake --print-libdir)/install-sh ${S}/config/
-}
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
-    oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
-}
-
-BBCLASSEXTEND = "native"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 10/21] iso-codes: update to 4.1
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (7 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 09/21] btrfs-tools: update to 4.17.1 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 11/21] lighttpd: update to 1.4.50 Alexander Kanavin
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/iso-codes/iso-codes_3.79.bb | 19 -------------------
 meta/recipes-support/iso-codes/iso-codes_4.1.bb  | 19 +++++++++++++++++++
 2 files changed, 19 insertions(+), 19 deletions(-)
 delete mode 100644 meta/recipes-support/iso-codes/iso-codes_3.79.bb
 create mode 100644 meta/recipes-support/iso-codes/iso-codes_4.1.bb

diff --git a/meta/recipes-support/iso-codes/iso-codes_3.79.bb b/meta/recipes-support/iso-codes/iso-codes_3.79.bb
deleted file mode 100644
index 68d8fdc..0000000
--- a/meta/recipes-support/iso-codes/iso-codes_3.79.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "ISO language, territory, currency, script codes and their translations"
-HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
-BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
-SRCREV = "c1d5dd96b33cb815ebc21d2708bc045b1545249d"
-
-# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
-# are inhibited by allarch
-DEPENDS = "gettext-native"
-
-S = "${WORKDIR}/git"
-
-inherit allarch autotools
-
-FILES_${PN} += "${datadir}/xml/"
diff --git a/meta/recipes-support/iso-codes/iso-codes_4.1.bb b/meta/recipes-support/iso-codes/iso-codes_4.1.bb
new file mode 100644
index 0000000..1761ded
--- /dev/null
+++ b/meta/recipes-support/iso-codes/iso-codes_4.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "ISO language, territory, currency, script codes and their translations"
+HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
+BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
+SRCREV = "164802d5fd8c7a8167816fd86a62b286680619f0"
+
+# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
+# are inhibited by allarch
+DEPENDS = "gettext-native"
+
+S = "${WORKDIR}/git"
+
+inherit allarch autotools
+
+FILES_${PN} += "${datadir}/xml/"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 11/21] lighttpd: update to 1.4.50
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (8 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 10/21] iso-codes: update to 4.1 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 12/21] cantarell-fonts: update to 0.0.25 Alexander Kanavin
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/lighttpd/lighttpd_1.4.49.bb | 85 -----------------------
 meta/recipes-extended/lighttpd/lighttpd_1.4.50.bb | 85 +++++++++++++++++++++++
 2 files changed, 85 insertions(+), 85 deletions(-)
 delete mode 100644 meta/recipes-extended/lighttpd/lighttpd_1.4.49.bb
 create mode 100644 meta/recipes-extended/lighttpd/lighttpd_1.4.50.bb

diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.49.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.49.bb
deleted file mode 100644
index 272a66a..0000000
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.49.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "Lightweight high-performance web server"
-HOMEPAGE = "http://www.lighttpd.net/"
-BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
-
-SECTION = "net"
-RDEPENDS_${PN} = "lighttpd-module-dirlisting \
-                  lighttpd-module-indexfile \
-                  lighttpd-module-staticfile"
-RRECOMMENDS_${PN} = "lighttpd-module-access \
-                     lighttpd-module-accesslog"
-
-SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
-        file://index.html.lighttpd \
-        file://lighttpd.conf \
-        file://lighttpd \
-        file://lighttpd.service \
-        file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
-        "
-
-SRC_URI[md5sum] = "aaf8165379351c3766e5ad1e5c9dbe8b"
-SRC_URI[sha256sum] = "aedf49d7127d9e4c0ea56618e9e945a17674dc46a37ac7990120f87dd939ce09"
-
-PACKAGECONFIG ??= "openssl pcre zlib \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
-PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
-PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
-PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
-PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
-PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
-
-EXTRA_OECONF += "--enable-lfs"
-
-inherit autotools pkgconfig update-rc.d gettext systemd
-
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 70"
-
-SYSTEMD_SERVICE_${PN} = "lighttpd.service"
-
-do_install_append() {
-	install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
-	install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
-	install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
-	install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
-
-	install -d ${D}${systemd_unitdir}/system
-	install -m 0644 ${WORKDIR}/lighttpd.service ${D}${systemd_unitdir}/system
-	sed -i -e 's,@SBINDIR@,${sbindir},g' \
-		-e 's,@SYSCONFDIR@,${sysconfdir},g' \
-		-e 's,@BASE_BINDIR@,${base_bindir},g' \
-		${D}${systemd_unitdir}/system/lighttpd.service
-	#For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
-	ln -sf ${localstatedir}/log ${D}/www/logs
-	ln -sf ${localstatedir}/tmp ${D}/www/var
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-CONFFILES_${PN} = "${sysconfdir}/lighttpd.conf"
-
-PACKAGES_DYNAMIC += "^lighttpd-module-.*"
-
-python populate_packages_prepend () {
-    lighttpd_libdir = d.expand('${libdir}')
-    do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.50.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.50.bb
new file mode 100644
index 0000000..5373a61
--- /dev/null
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.50.bb
@@ -0,0 +1,85 @@
+SUMMARY = "Lightweight high-performance web server"
+HOMEPAGE = "http://www.lighttpd.net/"
+BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
+
+SECTION = "net"
+RDEPENDS_${PN} = "lighttpd-module-dirlisting \
+                  lighttpd-module-indexfile \
+                  lighttpd-module-staticfile"
+RRECOMMENDS_${PN} = "lighttpd-module-access \
+                     lighttpd-module-accesslog"
+
+SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
+        file://index.html.lighttpd \
+        file://lighttpd.conf \
+        file://lighttpd \
+        file://lighttpd.service \
+        file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
+        "
+
+SRC_URI[md5sum] = "0547831efda8492648b7f0c652865dfd"
+SRC_URI[sha256sum] = "29378312d8887cbc14ffe8a7fadef2d5a08c7e7e1be942795142346ad95629eb"
+
+PACKAGECONFIG ??= "openssl pcre zlib \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
+PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
+PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
+PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
+PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
+
+EXTRA_OECONF += "--enable-lfs"
+
+inherit autotools pkgconfig update-rc.d gettext systemd
+
+INITSCRIPT_NAME = "lighttpd"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE_${PN} = "lighttpd.service"
+
+do_install_append() {
+	install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
+	install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
+	install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
+	install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
+
+	install -d ${D}${systemd_unitdir}/system
+	install -m 0644 ${WORKDIR}/lighttpd.service ${D}${systemd_unitdir}/system
+	sed -i -e 's,@SBINDIR@,${sbindir},g' \
+		-e 's,@SYSCONFDIR@,${sysconfdir},g' \
+		-e 's,@BASE_BINDIR@,${base_bindir},g' \
+		${D}${systemd_unitdir}/system/lighttpd.service
+	#For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
+	ln -sf ${localstatedir}/log ${D}/www/logs
+	ln -sf ${localstatedir}/tmp ${D}/www/var
+}
+
+FILES_${PN} += "${sysconfdir} /www"
+
+CONFFILES_${PN} = "${sysconfdir}/lighttpd.conf"
+
+PACKAGES_DYNAMIC += "^lighttpd-module-.*"
+
+python populate_packages_prepend () {
+    lighttpd_libdir = d.expand('${libdir}')
+    do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
+}
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 12/21] cantarell-fonts: update to 0.0.25
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (9 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 11/21] lighttpd: update to 1.4.50 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 13/21] boost: update to 1.68.0 Alexander Kanavin
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

See here for the "reconstruct" explanation:
https://gitlab.gnome.org/GNOME/cantarell-fonts/commit/e28a9096da43984212b5b4002b949bcb8c7527f9

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb
index 9d8fb28..db480bd 100644
--- a/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb
+++ b/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb
@@ -10,10 +10,10 @@ SECTION = "fonts"
 LICENSE = "OFL-1.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=df91e3ffcab8cfb972a66bf11255188d"
 
-PV = "0.0.24"
+PV = "0.0.25"
 
-SRCREV = "07b6ea2cbbebfc360aa4668612a376be5e214eaa"
-SRC_URI = "git://gitlab.gnome.org/GNOME/cantarell-fonts;protocol=https;branch=master"
+SRCREV = "e28a9096da43984212b5b4002b949bcb8c7527f9"
+SRC_URI = "git://gitlab.gnome.org/GNOME/cantarell-fonts.git;protocol=https;branch=reconstruction-0.0.25"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!0\.13)(?!0\.10\.1)\d+\.\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 13/21] boost: update to 1.68.0
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (10 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 12/21] cantarell-fonts: update to 0.0.25 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 14/21] gdbm: update to 1.18 Alexander Kanavin
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/boost/bjam-native_1.67.0.bb   | 19 ------
 meta/recipes-support/boost/bjam-native_1.68.0.bb   | 19 ++++++
 meta/recipes-support/boost/boost-1.67.0.inc        | 21 ------
 meta/recipes-support/boost/boost-1.68.0.inc        | 21 ++++++
 ...ng-specific-branch-for-x86-DCAS-based-loa.patch | 76 ----------------------
 meta/recipes-support/boost/boost_1.67.0.bb         | 12 ----
 meta/recipes-support/boost/boost_1.68.0.bb         | 11 ++++
 7 files changed, 51 insertions(+), 128 deletions(-)
 delete mode 100644 meta/recipes-support/boost/bjam-native_1.67.0.bb
 create mode 100644 meta/recipes-support/boost/bjam-native_1.68.0.bb
 delete mode 100644 meta/recipes-support/boost/boost-1.67.0.inc
 create mode 100644 meta/recipes-support/boost/boost-1.68.0.inc
 delete mode 100644 meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch
 delete mode 100644 meta/recipes-support/boost/boost_1.67.0.bb
 create mode 100644 meta/recipes-support/boost/boost_1.68.0.bb

diff --git a/meta/recipes-support/boost/bjam-native_1.67.0.bb b/meta/recipes-support/boost/bjam-native_1.67.0.bb
deleted file mode 100644
index 94f96e6..0000000
--- a/meta/recipes-support/boost/bjam-native_1.67.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require boost-${PV}.inc
-
-SUMMARY = "Portable Boost.Jam build tool for boost"
-SECTION = "devel"
-
-inherit native
-
-SRC_URI += "file://bjam-native-build-bjam.debug.patch \
-"
-
-do_compile() {
-    ./bootstrap.sh --with-toolset=gcc
-}
-
-do_install() {
-    install -d ${D}${bindir}/
-    # install unstripped version for bjam
-    install -c -m 755 bjam.debug ${D}${bindir}/bjam
-}
diff --git a/meta/recipes-support/boost/bjam-native_1.68.0.bb b/meta/recipes-support/boost/bjam-native_1.68.0.bb
new file mode 100644
index 0000000..94f96e6
--- /dev/null
+++ b/meta/recipes-support/boost/bjam-native_1.68.0.bb
@@ -0,0 +1,19 @@
+require boost-${PV}.inc
+
+SUMMARY = "Portable Boost.Jam build tool for boost"
+SECTION = "devel"
+
+inherit native
+
+SRC_URI += "file://bjam-native-build-bjam.debug.patch \
+"
+
+do_compile() {
+    ./bootstrap.sh --with-toolset=gcc
+}
+
+do_install() {
+    install -d ${D}${bindir}/
+    # install unstripped version for bjam
+    install -c -m 755 bjam.debug ${D}${bindir}/bjam
+}
diff --git a/meta/recipes-support/boost/boost-1.67.0.inc b/meta/recipes-support/boost/boost-1.67.0.inc
deleted file mode 100644
index 1c7f940..0000000
--- a/meta/recipes-support/boost/boost-1.67.0.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-# The Boost web site provides free peer-reviewed portable
-# C++ source libraries. The emphasis is on libraries which
-# work well with the C++ Standard Library. The libraries are
-# intended to be widely useful, and are in regular use by
-# thousands of programmers across a broad spectrum of applications.
-HOMEPAGE = "http://www.boost.org/"
-LICENSE = "BSL-1.0 & MIT & Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}"
-BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
-BOOST_P = "boost_${BOOST_VER}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2"
-SRC_URI[md5sum] = "ced776cb19428ab8488774e1415535ab"
-SRC_URI[sha256sum] = "2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba"
-
-UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
-UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/"
-
-S = "${WORKDIR}/${BOOST_P}"
diff --git a/meta/recipes-support/boost/boost-1.68.0.inc b/meta/recipes-support/boost/boost-1.68.0.inc
new file mode 100644
index 0000000..b367a80
--- /dev/null
+++ b/meta/recipes-support/boost/boost-1.68.0.inc
@@ -0,0 +1,21 @@
+# The Boost web site provides free peer-reviewed portable
+# C++ source libraries. The emphasis is on libraries which
+# work well with the C++ Standard Library. The libraries are
+# intended to be widely useful, and are in regular use by
+# thousands of programmers across a broad spectrum of applications.
+HOMEPAGE = "http://www.boost.org/"
+LICENSE = "BSL-1.0 & MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}"
+BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
+BOOST_P = "boost_${BOOST_VER}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2"
+SRC_URI[md5sum] = "7fbd1890f571051f2a209681d57d486a"
+SRC_URI[sha256sum] = "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7"
+
+UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
+UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/"
+
+S = "${WORKDIR}/${BOOST_P}"
diff --git a/meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch b/meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch
deleted file mode 100644
index 1826930..0000000
--- a/meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 39b027171e0a619d49b9dd2e8471d10b6c41bc25 Mon Sep 17 00:00:00 2001
-From: Andrey Semashev <andrey.semashev@gmail.com>
-Date: Tue, 17 Jul 2018 12:37:29 +0300
-Subject: [PATCH] Removed clang-specific branch for x86 DCAS-based loads.
-
-The storage to load from is const-qualified and DCAS via compiler intrinsics
-require an unqualified pointer. Use asm implementation instead, which should be
-as efficient as intrinsics, if not better, in this case.
-
-Fixes https://github.com/boostorg/atomic/issues/15.
-
-Upstream-Status: Backport [https://github.com/boostorg/atomic/commit/6e14ca24dab50ad4c1fa8c27c7dd6f1cb791b534]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- boost/atomic/detail/ops_gcc_x86_dcas.hpp | 23 ++++++++++++-----------
- 1 file changed, 12 insertions(+), 11 deletions(-)
-
-diff --git a/boost/atomic/detail/ops_gcc_x86_dcas.hpp b/boost/atomic/detail/ops_gcc_x86_dcas.hpp
-index 4dacc66f..b43ef23a 100644
---- a/boost/atomic/detail/ops_gcc_x86_dcas.hpp
-+++ b/boost/atomic/detail/ops_gcc_x86_dcas.hpp
-@@ -158,11 +158,13 @@ struct gcc_dcas_x86
-         }
-         else
-         {
--#if defined(__clang__)
--            // Clang cannot allocate eax:edx register pairs but it has sync intrinsics
--            value = __sync_val_compare_and_swap(&storage, (storage_type)0, (storage_type)0);
--#elif defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
-+            // Note that despite const qualification cmpxchg8b below may issue a store to the storage. The storage value
-+            // will not change, but this prevents the storage to reside in read-only memory.
-+
-+#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
-+
-             uint32_t value_bits[2];
-+
-             // We don't care for comparison result here; the previous value will be stored into value anyway.
-             // Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b.
-             __asm__ __volatile__
-@@ -175,7 +177,9 @@ struct gcc_dcas_x86
-                 : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory"
-             );
-             BOOST_ATOMIC_DETAIL_MEMCPY(&value, value_bits, sizeof(value));
-+
- #else // defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
-+
-             // We don't care for comparison result here; the previous value will be stored into value anyway.
-             // Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b.
-             __asm__ __volatile__
-@@ -187,6 +191,7 @@ struct gcc_dcas_x86
-                 : [storage] "m" (storage)
-                 : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory"
-             );
-+
- #endif // defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
-         }
- 
-@@ -401,15 +406,11 @@ struct gcc_dcas_x86_64
- 
-     static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT
-     {
--#if defined(__clang__)
-+        // Note that despite const qualification cmpxchg16b below may issue a store to the storage. The storage value
-+        // will not change, but this prevents the storage to reside in read-only memory.
- 
--        // Clang cannot allocate rax:rdx register pairs but it has sync intrinsics
--        storage_type value = storage_type();
--        return __sync_val_compare_and_swap(&storage, value, value);
--
--#elif defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
-+#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
- 
--        // Some compilers can't allocate rax:rdx register pair either and also don't support 128-bit __sync_val_compare_and_swap
-         uint64_t value_bits[2];
- 
-         // We don't care for comparison result here; the previous value will be stored into value anyway.
diff --git a/meta/recipes-support/boost/boost_1.67.0.bb b/meta/recipes-support/boost/boost_1.67.0.bb
deleted file mode 100644
index ef178ed..0000000
--- a/meta/recipes-support/boost/boost_1.67.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require boost-${PV}.inc
-require boost.inc
-
-SRC_URI += "\
-           file://arm-intrinsics.patch \
-           file://boost-CVE-2012-2677.patch \
-           file://boost-math-disable-pch-for-gcc.patch \
-           file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \
-           file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
-           file://0001-make_x86_64_sysv_elf_gas.S-set-.file-section.patch \
-           file://0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch \
-           "
diff --git a/meta/recipes-support/boost/boost_1.68.0.bb b/meta/recipes-support/boost/boost_1.68.0.bb
new file mode 100644
index 0000000..c7958a4
--- /dev/null
+++ b/meta/recipes-support/boost/boost_1.68.0.bb
@@ -0,0 +1,11 @@
+require boost-${PV}.inc
+require boost.inc
+
+SRC_URI += "\
+           file://arm-intrinsics.patch \
+           file://boost-CVE-2012-2677.patch \
+           file://boost-math-disable-pch-for-gcc.patch \
+           file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \
+           file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
+           file://0001-make_x86_64_sysv_elf_gas.S-set-.file-section.patch \
+           "
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 14/21] gdbm: update to 1.18
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (11 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 13/21] boost: update to 1.68.0 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 15/21] gptfdisk: update to 1.0.4 Alexander Kanavin
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/gdbm/files/ptest.patch | 22 ++++++---------
 meta/recipes-support/gdbm/gdbm_1.14.1.bb    | 43 -----------------------------
 meta/recipes-support/gdbm/gdbm_1.18.bb      | 43 +++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 56 deletions(-)
 delete mode 100644 meta/recipes-support/gdbm/gdbm_1.14.1.bb
 create mode 100644 meta/recipes-support/gdbm/gdbm_1.18.bb

diff --git a/meta/recipes-support/gdbm/files/ptest.patch b/meta/recipes-support/gdbm/files/ptest.patch
index b9461be..1e67dbd 100644
--- a/meta/recipes-support/gdbm/files/ptest.patch
+++ b/meta/recipes-support/gdbm/files/ptest.patch
@@ -1,4 +1,4 @@
-From 4e4b70a4a3dcf1fdbee9e68bed3b62f42b197a3a Mon Sep 17 00:00:00 2001
+From 41448708e163c8ec1f980464e7dd6741db427c8a Mon Sep 17 00:00:00 2001
 From: Josep Puigdemont <josep.puigdemont@enea.com>
 Date: Sun, 4 May 2014 16:02:07 +0200
 Subject: [PATCH] Add install-ptest rules.
@@ -9,14 +9,14 @@ Upstream-Status: Pending
 
 ---
  Makefile.am       |  5 +++++
- tests/Makefile.am | 12 +++++++++++-
- 2 files changed, 16 insertions(+), 1 deletion(-)
+ tests/Makefile.am | 11 +++++++++++
+ 2 files changed, 16 insertions(+)
 
 diff --git a/Makefile.am b/Makefile.am
-index 4cdc734..24b99f0 100644
+index ecc03df..9fbbda5 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -45,3 +45,8 @@ ChangeLog:
+@@ -55,3 +55,8 @@ ChangeLog:
                  awk -f $(top_srcdir)/git2chg.awk                            \
                      -v append=$(top_srcdir)/$(prev_change_log) > ChangeLog; \
          fi
@@ -26,14 +26,13 @@ index 4cdc734..24b99f0 100644
 +		$(MAKE) -C $$subdir DESTDIR=$(DESTDIR)/$$subdir $@; \
 +	done
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 3dbb580..22ffc44 100644
+index dbe17dd..06f537f 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -130,4 +130,14 @@ dtfetch_LDADD = ../src/libgdbm.la ../compat/libgdbm_compat.la
- dtdel_LDADD = ../src/libgdbm.la ../compat/libgdbm_compat.la
- d_creat_ce_LDADD = ../src/libgdbm.la ../compat/libgdbm_compat.la
+@@ -169,3 +169,14 @@ EXTRA_DIST += \
+   gdbmtool/base.exp\
+   config/default.exp
  
--
 +buildtests: $(check_PROGRAMS) $(TESTSUITE)
 +
 +install-ptest: $(check_PROGRAMS) $(TESTSUITE)
@@ -45,6 +44,3 @@ index 3dbb580..22ffc44 100644
 +			$(INSTALL_PROGRAM) $$file $(DESTDIR) ; \
 +		fi \
 +	done
--- 
-2.11.0
-
diff --git a/meta/recipes-support/gdbm/gdbm_1.14.1.bb b/meta/recipes-support/gdbm/gdbm_1.14.1.bb
deleted file mode 100644
index 54e5696..0000000
--- a/meta/recipes-support/gdbm/gdbm_1.14.1.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Key/value database library with extensible hashing"
-HOMEPAGE = "http://www.gnu.org/software/gdbm/"
-SECTION = "libs"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24"
-
-
-SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
-           file://run-ptest \
-           file://ptest.patch \
-          "
-
-SRC_URI[md5sum] = "c2ddcb3897efa0f57484af2bd4f4f848"
-SRC_URI[sha256sum] = "cdceff00ffe014495bed3aed71c7910aa88bf29379f795abc0f46d4ee5f8bc5f"
-
-inherit autotools gettext texinfo lib_package ptest
-
-# Needed for dbm python module
-EXTRA_OECONF = "-enable-libgdbm-compat"
-
-# Stop presence of dbm/nbdm on the host contaminating builds
-CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install_append () {
-    # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find
-    # these headers
-    install -d ${D}${includedir}/gdbm
-    ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h
-    ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h
-}
-
-RDEPENDS_${PN}-ptest += "diffutils"
-
-do_compile_ptest() {
-    oe_runmake -C tests buildtests
-}
-
-PACKAGES =+ "${PN}-compat \
-            "
-FILES_${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \
-                     "
diff --git a/meta/recipes-support/gdbm/gdbm_1.18.bb b/meta/recipes-support/gdbm/gdbm_1.18.bb
new file mode 100644
index 0000000..2d2016d
--- /dev/null
+++ b/meta/recipes-support/gdbm/gdbm_1.18.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Key/value database library with extensible hashing"
+HOMEPAGE = "http://www.gnu.org/software/gdbm/"
+SECTION = "libs"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24"
+
+
+SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
+           file://run-ptest \
+           file://ptest.patch \
+          "
+
+SRC_URI[md5sum] = "e316f8e4a3e7e4f23955be65d54fec48"
+SRC_URI[sha256sum] = "b8822cb4769e2d759c828c06f196614936c88c141c3132b18252fe25c2b635ce"
+
+inherit autotools gettext texinfo lib_package ptest
+
+# Needed for dbm python module
+EXTRA_OECONF = "-enable-libgdbm-compat"
+
+# Stop presence of dbm/nbdm on the host contaminating builds
+CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_append () {
+    # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find
+    # these headers
+    install -d ${D}${includedir}/gdbm
+    ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h
+    ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h
+}
+
+RDEPENDS_${PN}-ptest += "diffutils"
+
+do_compile_ptest() {
+    oe_runmake -C tests buildtests
+}
+
+PACKAGES =+ "${PN}-compat \
+            "
+FILES_${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \
+                     "
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 15/21] gptfdisk: update to 1.0.4
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (12 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 14/21] gdbm: update to 1.18 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 16/21] dtc: update to 1.4.7 Alexander Kanavin
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb | 26 --------------------------
 meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb | 26 ++++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 26 deletions(-)
 delete mode 100644 meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb
 create mode 100644 meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb

diff --git a/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb b/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb
deleted file mode 100644
index 4d617e3..0000000
--- a/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Utility for modifying GPT disk partitioning"
-DESCRIPTION = "GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk, but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "util-linux popt ncurses"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "07b625a583b66c8c5840be5923f3e3fe"
-SRC_URI[sha256sum] = "89fd5aec35c409d610a36cb49c65b442058565ed84042f767bba614b8fc91b5c"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
-UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P<pver>(\d+[\.\-_]*)+)/"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}'"
-
-do_install() {
-    install -d ${D}${sbindir}
-    install -m 0755 cgdisk ${D}${sbindir}
-    install -m 0755 gdisk ${D}${sbindir}
-    install -m 0755 sgdisk ${D}${sbindir}
-    install -m 0755 fixparts ${D}${sbindir}
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb b/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb
new file mode 100644
index 0000000..4426a79
--- /dev/null
+++ b/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Utility for modifying GPT disk partitioning"
+DESCRIPTION = "GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk, but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "util-linux popt ncurses"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "5ecc3c44913bb6b53d3708d1ac7ac295"
+SRC_URI[sha256sum] = "b663391a6876f19a3cd901d862423a16e2b5ceaa2f4a3b9bb681e64b9c7ba78d"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
+UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P<pver>(\d+[\.\-_]*)+)/"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}'"
+
+do_install() {
+    install -d ${D}${sbindir}
+    install -m 0755 cgdisk ${D}${sbindir}
+    install -m 0755 gdisk ${D}${sbindir}
+    install -m 0755 sgdisk ${D}${sbindir}
+    install -m 0755 fixparts ${D}${sbindir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 16/21] dtc: update to 1.4.7
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (13 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 15/21] gptfdisk: update to 1.0.4 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 17/21] vala: update to 0.42.0 Alexander Kanavin
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-kernel/dtc/dtc/make_install.patch | 23 ++++++++++++++++-------
 meta/recipes-kernel/dtc/dtc_1.4.6.bb           | 10 ----------
 meta/recipes-kernel/dtc/dtc_1.4.7.bb           | 10 ++++++++++
 3 files changed, 26 insertions(+), 17 deletions(-)
 delete mode 100644 meta/recipes-kernel/dtc/dtc_1.4.6.bb
 create mode 100644 meta/recipes-kernel/dtc/dtc_1.4.7.bb

diff --git a/meta/recipes-kernel/dtc/dtc/make_install.patch b/meta/recipes-kernel/dtc/dtc/make_install.patch
index ccf17b3..ea9359e 100644
--- a/meta/recipes-kernel/dtc/dtc/make_install.patch
+++ b/meta/recipes-kernel/dtc/dtc/make_install.patch
@@ -1,17 +1,26 @@
+From e9852b9d206df1e42aa4c8afec55a0f5e099b533 Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Thu, 3 Nov 2011 08:35:47 -0700
+Subject: [PATCH] dtc: Add patch to correctly install shared libraries and
+
 Upstream-Status: Inappropriate [configuration]
 
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -168,8 +168,8 @@ install-bin: all $(SCRIPTS)
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index d8ebc4f..f5e01be 100644
+--- a/Makefile
++++ b/Makefile
+@@ -205,8 +205,8 @@ install-bin: all $(SCRIPTS)
  install-lib: all
  	@$(VECHO) INSTALL-LIB
  	$(INSTALL) -d $(DESTDIR)$(LIBDIR)
--	$(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
+-	$(INSTALL_LIB) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
 -	ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
 +	$(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
 +	ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/$(notdir $(LIBFDT_lib))
  	ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT)
- 	$(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
+ 	$(INSTALL_DATA) $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
  
diff --git a/meta/recipes-kernel/dtc/dtc_1.4.6.bb b/meta/recipes-kernel/dtc/dtc_1.4.6.bb
deleted file mode 100644
index 78c5736..0000000
--- a/meta/recipes-kernel/dtc/dtc_1.4.6.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require dtc.inc
-
-LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
-		    file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
-
-SRCREV = "e54388015af1fb4bf04d0bca99caba1074d9cc42"
-
-S = "${WORKDIR}/git"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/dtc/dtc_1.4.7.bb b/meta/recipes-kernel/dtc/dtc_1.4.7.bb
new file mode 100644
index 0000000..6ce462a
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc_1.4.7.bb
@@ -0,0 +1,10 @@
+require dtc.inc
+
+LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
+		    file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
+
+SRCREV = "88f18909db731a627456f26d779445f84e449536"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 17/21] vala: update to 0.42.0
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (14 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 16/21] dtc: update to 1.4.7 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 18/21] meson: update to 0.47.2 Alexander Kanavin
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/vala/vala/disable-graphviz.patch | 12 ++++++------
 meta/recipes-devtools/vala/vala_0.40.8.bb              | 10 ----------
 meta/recipes-devtools/vala/vala_0.42.0.bb              | 10 ++++++++++
 3 files changed, 16 insertions(+), 16 deletions(-)
 delete mode 100644 meta/recipes-devtools/vala/vala_0.40.8.bb
 create mode 100644 meta/recipes-devtools/vala/vala_0.42.0.bb

diff --git a/meta/recipes-devtools/vala/vala/disable-graphviz.patch b/meta/recipes-devtools/vala/vala/disable-graphviz.patch
index e7e38c7..477504d 100644
--- a/meta/recipes-devtools/vala/vala/disable-graphviz.patch
+++ b/meta/recipes-devtools/vala/vala/disable-graphviz.patch
@@ -1,4 +1,4 @@
-From 5ae347907b8c65983365a6325ac990fcde28d508 Mon Sep 17 00:00:00 2001
+From 57f6b661d7865e8cecd17be36fab68f7f8447998 Mon Sep 17 00:00:00 2001
 From: Rico Tzschichholz <ricotz@ubuntu.com>
 Date: Wed, 6 Sep 2017 18:52:55 +0200
 Subject: [PATCH] libvaladoc: Allow disabling the graphviz dependency of
@@ -17,10 +17,10 @@ Upstream-Status: Submitted [bugzilla link above]
  4 files changed, 63 insertions(+), 34 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 694ffd2..9150620 100644
+index 730c72d..af81986 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -112,34 +112,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
+@@ -119,34 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
  AC_SUBST(GMODULE_CFLAGS)
  AC_SUBST(GMODULE_LIBS)
  
@@ -202,7 +202,7 @@ index 37c731c..e0326ef 100644
  
  	public void write_namespace_content (Namespace node, Api.Node? parent) {
 diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
-index dcc4dad..cf9c860 100644
+index 5aa4afd..e79b0b8 100644
 --- a/libvaladoc/html/htmlmarkupwriter.vala
 +++ b/libvaladoc/html/htmlmarkupwriter.vala
 @@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
@@ -210,14 +210,14 @@ index dcc4dad..cf9c860 100644
  	}
  
 +#if HAVE_GRAPHVIZ
- 	public MarkupWriter add_usemap (Charts.Chart chart) {
+ 	public unowned MarkupWriter add_usemap (Charts.Chart chart) {
  		string? buf = (string?) chart.write_buffer ("cmapx");
  		if (buf != null) {
  			raw_text ("\n");
  			raw_text ((!) buf);
  		}
 +#else
-+	public MarkupWriter add_usemap (void* chart) {
++	public unowned MarkupWriter add_usemap (void* chart) {
 +#endif
  
  		return this;
diff --git a/meta/recipes-devtools/vala/vala_0.40.8.bb b/meta/recipes-devtools/vala/vala_0.40.8.bb
deleted file mode 100644
index dba9f0d..0000000
--- a/meta/recipes-devtools/vala/vala_0.40.8.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
-             file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
-	     file://disable-graphviz.patch \
-	     file://0001-Disable-valadoc.patch \
-"
-
-SRC_URI[md5sum] = "3e3177692fb5d81a7b8aaa6b95a30bdd"
-SRC_URI[sha256sum] = "5c35e087a7054e9f0a514a0c1f1d0a0d7cf68d3e43c1dbeb840f9b0d815c0fa5"
diff --git a/meta/recipes-devtools/vala/vala_0.42.0.bb b/meta/recipes-devtools/vala/vala_0.42.0.bb
new file mode 100644
index 0000000..2b02e0c
--- /dev/null
+++ b/meta/recipes-devtools/vala/vala_0.42.0.bb
@@ -0,0 +1,10 @@
+require ${BPN}.inc
+
+SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
+             file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
+	     file://disable-graphviz.patch \
+	     file://0001-Disable-valadoc.patch \
+"
+
+SRC_URI[md5sum] = "aa6eb8097d25b5847ad3fab34c0ff865"
+SRC_URI[sha256sum] = "62a55986da23cf3aaafd7624c32db2a1af11c8419e0bb0751727d10f1f7ab7be"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 18/21] meson: update to 0.47.2
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (15 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 17/21] vala: update to 0.42.0 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 19/21] gtk-doc: update to 1.29 Alexander Kanavin
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Drop backported patches, refresh the rest.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/meson/meson.inc              |  10 +-
 .../meson/0001-Validate-cpu_family-3753.patch      | 110 ---
 ...ix-issues-that-arise-when-cross-compiling.patch |  30 +-
 ...-mesonbuild-Recognise-risc-v-architecture.patch |  27 -
 .../0002-Make-CPU-family-warnings-fatal.patch      |  24 +-
 ...r-to-our-wiki-instead-of-Meson-bug-system.patch |  16 +-
 .../meson/meson/0003-native_bindir.patch           |  44 +-
 ...0004-Prettifying-some-output-with-pathlib.patch | 188 -----
 ...on-command-to-use-when-we-know-what-it-is.patch | 851 ---------------------
 meta/recipes-devtools/meson/meson_0.46.1.bb        |   3 -
 meta/recipes-devtools/meson/meson_0.47.2.bb        |   3 +
 11 files changed, 65 insertions(+), 1241 deletions(-)
 delete mode 100644 meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch
 delete mode 100644 meta/recipes-devtools/meson/meson/0001-mesonbuild-Recognise-risc-v-architecture.patch
 delete mode 100644 meta/recipes-devtools/meson/meson/0004-Prettifying-some-output-with-pathlib.patch
 delete mode 100644 meta/recipes-devtools/meson/meson/0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch
 delete mode 100644 meta/recipes-devtools/meson/meson_0.46.1.bb
 create mode 100644 meta/recipes-devtools/meson/meson_0.47.2.bb

diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index b5dfa2c..e7f999a 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -9,19 +9,17 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
            file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
            file://0001-Linker-rules-move-cross_args-in-front-of-output_args.patch \
            file://0003-native_bindir.patch \
-           file://0004-Prettifying-some-output-with-pathlib.patch \
-           file://0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch \
-           file://0001-Validate-cpu_family-3753.patch \
            file://0002-Make-CPU-family-warnings-fatal.patch \
            file://0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch \
-           file://0001-mesonbuild-Recognise-risc-v-architecture.patch \
            file://0001-Support-building-allarch-recipes-again.patch \
            "
+SRC_URI[sha256sum] = "92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
+SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
 
-SRC_URI[md5sum] = "1698f6526574839de5dcdc45e3f7d582"
-SRC_URI[sha256sum] = "19497a03e7e5b303d8d11f98789a79aba59b5ad4a81bd00f4d099be0212cee78"
 UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
 
 inherit setuptools3
 
 RDEPENDS_${PN} = "ninja python3-core python3-modules"
+
+FILES_${PN} += "${datadir}/polkit-1"
diff --git a/meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch b/meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch
deleted file mode 100644
index 6b0d0ca..0000000
--- a/meta/recipes-devtools/meson/meson/0001-Validate-cpu_family-3753.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 12fe95b1943eb832a54ba09274fa02c60d04f6b0 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross@burtonini.com>
-Date: Wed, 20 Jun 2018 13:45:44 +0100
-Subject: [PATCH 1/3] Validate cpu_family (#3753)
-
-* environment: validate cpu_family in cross file
-
-* run_unittests: add unittest to ensure CPU family list in docs and environment matches
-
-* run_unittests: skip compiler options test if not in a git repository
-
-* environment: validate the detected cpu_family
-
-* docs: add 32-bit PowerPC and 32/64-bit MIPS to CPU Families table
-
-Names gathered by booting Linux in Qemu and running:
-
-$ python3
-import platform; platform.machine()
-
-Partial fix for #3751
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- mesonbuild/environment.py | 24 ++++++++++++++++++++++++
- run_unittests.py          | 18 ++++++++++++++++++
- 2 files changed, 42 insertions(+)
-
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index d02a837..678d009 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -72,6 +72,22 @@ from .compilers import (
- 
- build_filename = 'meson.build'
- 
-+known_cpu_families = (
-+    'aarch64',
-+    'arm',
-+    'e2k',
-+    'ia64',
-+    'mips',
-+    'mips64',
-+    'parisc',
-+    'ppc',
-+    'ppc64',
-+    'ppc64le',
-+    'sparc64',
-+    'x86',
-+    'x86_64'
-+)
-+
- # Environment variables that each lang uses.
- cflags_mapping = {'c': 'CFLAGS',
-                   'cpp': 'CXXFLAGS',
-@@ -210,6 +226,10 @@ def detect_cpu_family(compilers):
-                 pass
-         return 'x86_64'
-     # Add fixes here as bugs are reported.
-+
-+    if trial not in known_cpu_families:
-+        mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
-+
-     return trial
- 
- def detect_cpu(compilers):
-@@ -1021,6 +1041,10 @@ class CrossBuildInfo:
-                     res = eval(value, {'__builtins__': None}, {'true': True, 'false': False})
-                 except Exception:
-                     raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
-+
-+                if entry == 'cpu_family' and res not in known_cpu_families:
-+                    mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % value)
-+
-                 if self.ok_type(res):
-                     self.config[s][entry] = res
-                 elif isinstance(res, list):
-diff --git a/run_unittests.py b/run_unittests.py
-index 3c215db..7185008 100755
---- a/run_unittests.py
-+++ b/run_unittests.py
-@@ -2065,6 +2065,24 @@ recommended as it can lead to undefined behaviour on some platforms''')
-         self.wipe()
- 
- 
-+    @unittest.skipIf(not os.path.isdir('docs'), 'Doc dir not found, presumably because this is a tarball release.')
-+    def test_cpu_families_documented(self):
-+        with open("docs/markdown/Reference-tables.md") as f:
-+            md = f.read()
-+        self.assertIsNotNone(md)
-+
-+        sections = list(re.finditer(r"^## (.+)$", md, re.MULTILINE))
-+        for s1, s2 in zip(sections[::2], sections[1::2]):
-+            if s1.group(1) == "CPU families":
-+                # Extract the content for this section
-+                content = md[s1.end():s2.start()]
-+                # Find the list entries
-+                arches = [m.group(1) for m in re.finditer(r"^\| (\w+) +\|", content, re.MULTILINE)]
-+                # Drop the header
-+                arches = set(arches[1:])
-+                self.assertEqual(arches, set(mesonbuild.environment.known_cpu_families))
-+
-+
- class FailureTests(BasePlatformTests):
-     '''
-     Tests that test failure conditions. Build files here should be dynamically
--- 
-2.12.0
-
diff --git a/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
index a00743f..57cb678 100644
--- a/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
+++ b/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -1,4 +1,4 @@
-From d1c2b3bf01f1a5897cf5c906ba2326fb68c6af12 Mon Sep 17 00:00:00 2001
+From 3ac4e58c5494bd7e603a325b5b5c2b8075849fee Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 4 Aug 2017 16:16:41 +0300
 Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling
@@ -21,10 +21,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  2 files changed, 22 insertions(+), 5 deletions(-)
 
 diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index 569011e..770ff4f 100644
+index cb69641..727eb6a 100644
 --- a/mesonbuild/modules/gnome.py
 +++ b/mesonbuild/modules/gnome.py
-@@ -773,6 +773,10 @@ This will become a hard error in the future.''')
+@@ -792,6 +792,10 @@ This will become a hard error in the future.''')
                  '--mode=' + mode]
          if namespace:
              args.append('--namespace=' + namespace)
@@ -35,10 +35,10 @@ index 569011e..770ff4f 100644
          args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
          args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
          args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
-@@ -829,14 +833,22 @@ This will become a hard error in the future.''')
-         cflags.update(get_include_args(inc_dirs))
-         cflags.update(state.environment.coredata.external_args['c'])
-         ldflags.update(state.environment.coredata.external_link_args['c'])
+@@ -854,14 +858,22 @@ This will become a hard error in the future.''')
+         ldflags.update(internal_ldflags)
+         ldflags.update(state.environment.coredata.get_external_link_args('c'))
+         ldflags.update(external_ldflags)
 +
 +        cross_c_args = " ".join(state.environment.cross_info.config["properties"].get('c_args', ""))
 +        cross_link_args = " ".join(state.environment.cross_info.config["properties"].get('c_link_args', ""))
@@ -62,7 +62,7 @@ index 569011e..770ff4f 100644
          return args
  
 diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
-index 2a5ee8b..2fd692b 100644
+index 948dc5a..9c5bd19 100644
 --- a/mesonbuild/scripts/gtkdochelper.py
 +++ b/mesonbuild/scripts/gtkdochelper.py
 @@ -45,6 +45,7 @@ parser.add_argument('--ignore-headers', dest='ignore_headers', default='')
@@ -71,9 +71,9 @@ index 2a5ee8b..2fd692b 100644
  parser.add_argument('--installdir', dest='install_dir')
 +parser.add_argument('--gtkdoc-exe-wrapper', dest='gtkdoc_exe_wrapper')
  
- def gtkdoc_run_check(cmd, cwd, library_path=None):
-     env = dict(os.environ)
-@@ -54,7 +55,7 @@ def gtkdoc_run_check(cmd, cwd, library_path=None):
+ def gtkdoc_run_check(cmd, cwd, library_paths=None):
+     if library_paths is None:
+@@ -64,7 +65,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
      # This preserves the order of messages.
      p, out = Popen_safe(cmd, cwd=cwd, env=env, stderr=subprocess.STDOUT)[0:2]
      if p.returncode != 0:
@@ -82,7 +82,7 @@ index 2a5ee8b..2fd692b 100644
          if out:
              err_msg.append(out)
          raise MesonException('\n'.join(err_msg))
-@@ -62,7 +63,7 @@ def gtkdoc_run_check(cmd, cwd, library_path=None):
+@@ -74,7 +75,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
  def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
                   main_file, module,
                   html_args, scan_args, fixxref_args, mkdb_args,
@@ -91,7 +91,7 @@ index 2a5ee8b..2fd692b 100644
                   html_assets, content_files, ignore_headers, namespace,
                   expand_content_files, mode):
      print("Building documentation for %s" % module)
-@@ -115,6 +116,9 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
+@@ -135,6 +136,9 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
      if gobject_typesfile:
          scanobjs_cmd = ['gtkdoc-scangobj'] + scanobjs_args + ['--types=' + gobject_typesfile,
                                                                '--module=' + module,
@@ -100,8 +100,8 @@ index 2a5ee8b..2fd692b 100644
 +                                                              '--ld=' + ld,
                                                                '--cflags=' + cflags,
                                                                '--ldflags=' + ldflags,
-                                                               '--ld=' + ld]
-@@ -219,6 +223,7 @@ def run(args):
+                                                               '--cc=' + cc,
+@@ -238,6 +242,7 @@ def run(args):
          mkdbargs,
          options.gobject_typesfile,
          scanobjsargs,
diff --git a/meta/recipes-devtools/meson/meson/0001-mesonbuild-Recognise-risc-v-architecture.patch b/meta/recipes-devtools/meson/meson/0001-mesonbuild-Recognise-risc-v-architecture.patch
deleted file mode 100644
index a983bd7..0000000
--- a/meta/recipes-devtools/meson/meson/0001-mesonbuild-Recognise-risc-v-architecture.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 85bb96909d2024769d8e758538a7e8e2004dbb4d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 14 Jul 2018 13:03:39 -0700
-Subject: [PATCH] mesonbuild: Recognise risc-v architecture
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6fafbad6d5ba591075a72e4726af647cece7020d]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- mesonbuild/environment.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index a0580a21..b2041424 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -83,6 +83,8 @@ known_cpu_families = (
-     'ppc',
-     'ppc64',
-     'ppc64le',
-+    'riscv32',
-+    'riscv64',
-     'sparc64',
-     'x86',
-     'x86_64'
--- 
-2.18.0
-
diff --git a/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
index 3b37735..a6c1b25 100644
--- a/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
+++ b/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
@@ -1,28 +1,31 @@
-From 9681c5bdea6a67abf014d94a392ef42eea7df0cd Mon Sep 17 00:00:00 2001
+From 2e8553fc01e62ebc4faa240bf20984a8a0ac7387 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 3 Jul 2018 13:59:09 +0100
-Subject: [PATCH 2/3] Make CPU family warnings fatal
+Subject: [PATCH] Make CPU family warnings fatal
 
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Ross Burton <ross.burton@intel.com>
+
 ---
- mesonbuild/environment.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ mesonbuild/environment.py | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 678d009..8b32892 100644
+index d29a77f..267acf9 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -228,7 +228,7 @@ def detect_cpu_family(compilers):
-     # Add fixes here as bugs are reported.
+@@ -239,9 +239,7 @@ def detect_cpu_family(compilers):
+         return 'x86_64'
  
      if trial not in known_cpu_families:
--        mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
+-        mlog.warning('Unknown CPU family {!r}, please report this at '
+-                     'https://github.com/mesonbuild/meson/issues/new with the'
+-                     'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
 +        raise EnvironmentException('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
  
      return trial
  
-@@ -1043,7 +1043,7 @@ class CrossBuildInfo:
+@@ -1014,7 +1012,7 @@ class CrossBuildInfo:
                      raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
  
                  if entry == 'cpu_family' and res not in known_cpu_families:
@@ -31,6 +34,3 @@ index 678d009..8b32892 100644
  
                  if self.ok_type(res):
                      self.config[s][entry] = res
--- 
-2.12.0
-
diff --git a/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch b/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch
index 8f4603e..5295335 100644
--- a/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch
+++ b/meta/recipes-devtools/meson/meson/0003-Send-user-to-our-wiki-instead-of-Meson-bug-system.patch
@@ -1,7 +1,7 @@
-From 62f4702a1d5076d0c225f899fe65cd3badfdd022 Mon Sep 17 00:00:00 2001
+From 31df0a854aa40c4ce8fbf1ca02ccc9b6bff0abfd Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 6 Jul 2018 15:51:15 +0100
-Subject: [PATCH 3/3] Send user to our wiki instead of Meson bug system
+Subject: [PATCH] Send user to our wiki instead of Meson bug system
 
 If a CPU family isn't recognised the first step should be to verify the
 mapping. Send the user to a wiki page explaining what to do, instead of
@@ -9,16 +9,17 @@ directly to the Meson bug tracker.
 
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Ross Burton <ross.burton@intel.com>
+
 ---
  mesonbuild/environment.py | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 8b32892..a0580a2 100644
+index 267acf9..19a3c1e 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -228,7 +228,7 @@ def detect_cpu_family(compilers):
-     # Add fixes here as bugs are reported.
+@@ -239,7 +239,7 @@ def detect_cpu_family(compilers):
+         return 'x86_64'
  
      if trial not in known_cpu_families:
 -        raise EnvironmentException('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % trial)
@@ -26,7 +27,7 @@ index 8b32892..a0580a2 100644
  
      return trial
  
-@@ -1043,7 +1043,7 @@ class CrossBuildInfo:
+@@ -1012,7 +1012,7 @@ class CrossBuildInfo:
                      raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
  
                  if entry == 'cpu_family' and res not in known_cpu_families:
@@ -35,6 +36,3 @@ index 8b32892..a0580a2 100644
  
                  if self.ok_type(res):
                      self.config[s][entry] = res
--- 
-2.12.0
-
diff --git a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index f003277..da47745 100644
--- a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -1,4 +1,4 @@
-From 0eec9428376450917098c68539a6c9dd60b85d93 Mon Sep 17 00:00:00 2001
+From e762d85c823adfefc27ba6128c7b997aa50166ce Mon Sep 17 00:00:00 2001
 From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
 Date: Wed, 15 Nov 2017 15:05:01 +0100
 Subject: [PATCH] native_bindir
@@ -22,10 +22,10 @@ Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
  2 files changed, 14 insertions(+), 11 deletions(-)
 
 diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
-index 0114a14..f4f19c5 100644
+index 6d3678f..90fdb80 100644
 --- a/mesonbuild/dependencies/base.py
 +++ b/mesonbuild/dependencies/base.py
-@@ -141,7 +141,7 @@ class Dependency:
+@@ -146,7 +146,7 @@ class Dependency:
      def need_threads(self):
          return False
  
@@ -34,7 +34,7 @@ index 0114a14..f4f19c5 100644
          raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
  
      def get_configtool_variable(self, variable_name):
-@@ -178,7 +178,7 @@ class InternalDependency(Dependency):
+@@ -183,7 +183,7 @@ class InternalDependency(Dependency):
          self.sources = sources
          self.ext_deps = ext_deps
  
@@ -43,25 +43,29 @@ index 0114a14..f4f19c5 100644
          raise DependencyException('Method "get_pkgconfig_variable()" is '
                                    'invalid for an internal dependency')
  
-@@ -517,11 +517,14 @@ class PkgConfigDependency(ExternalDependency):
+@@ -523,15 +523,18 @@ class PkgConfigDependency(ExternalDependency):
          return s.format(self.__class__.__name__, self.name, self.is_found,
                          self.version_reqs)
  
 -    def _call_pkgbin_real(self, args, env):
--        p, out = Popen_safe(self.pkgbin.get_command() + args, env=env)[0:2]
+-        cmd = self.pkgbin.get_command() + args
 +    def _call_pkgbin_real(self, args, env, use_native=False):
 +        if use_native:
-+            p, out = Popen_safe(self.pkgbin.get_command() + "-native" + args, env=env)[0:2]
++            cmd = self.pkgbin.get_command() + "-native" + args
 +        else:
-+            p, out = Popen_safe(self.pkgbin.get_command() + args, env=env)[0:2]
-         return p.returncode, out.strip()
++            cmd = self.pkgbin.get_command() + args
+         p, out = Popen_safe(cmd, env=env)[0:2]
+         rc, out = p.returncode, out.strip()
+         call = ' '.join(cmd)
+         mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out))
+         return rc, out
  
 -    def _call_pkgbin(self, args, env=None):
 +    def _call_pkgbin(self, args, env=None, use_native=False):
          if env is None:
              fenv = env
              env = os.environ
-@@ -530,7 +533,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -540,7 +543,7 @@ class PkgConfigDependency(ExternalDependency):
          targs = tuple(args)
          cache = PkgConfigDependency.pkgbin_cache
          if (self.pkgbin, targs, fenv) not in cache:
@@ -70,16 +74,16 @@ index 0114a14..f4f19c5 100644
          return cache[(self.pkgbin, targs, fenv)]
  
      def _convert_mingw_paths(self, args):
-@@ -630,7 +633,7 @@ class PkgConfigDependency(ExternalDependency):
-             # linkers such as MSVC, so prepend them.
-             self.link_args = ['-L' + lp for lp in libpaths] + self.link_args
+@@ -718,7 +721,7 @@ class PkgConfigDependency(ExternalDependency):
+                                       (self.name, out_raw))
+         self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
  
 -    def get_pkgconfig_variable(self, variable_name, kwargs):
 +    def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
          options = ['--variable=' + variable_name, self.name]
  
          if 'define_variable' in kwargs:
-@@ -643,7 +646,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency):
  
              options = ['--define-variable=' + '='.join(definition)] + options
  
@@ -89,10 +93,10 @@ index 0114a14..f4f19c5 100644
          if ret != 0:
              if self.required:
 diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
-index 2f31196..916f648 100644
+index 197d22c..c683d21 100644
 --- a/mesonbuild/dependencies/ui.py
 +++ b/mesonbuild/dependencies/ui.py
-@@ -240,7 +240,7 @@ class QtBaseDependency(ExternalDependency):
+@@ -285,7 +285,7 @@ class QtBaseDependency(ExternalDependency):
          self.bindir = self.get_pkgconfig_host_bins(core)
          if not self.bindir:
              # If exec_prefix is not defined, the pkg-config file is broken
@@ -101,7 +105,7 @@ index 2f31196..916f648 100644
              if prefix:
                  self.bindir = os.path.join(prefix, 'bin')
  
-@@ -374,7 +374,7 @@ class Qt4Dependency(QtBaseDependency):
+@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency):
          applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
          for application in applications:
              try:
@@ -110,12 +114,12 @@ index 2f31196..916f648 100644
              except MesonException:
                  pass
  
-@@ -384,7 +384,7 @@ class Qt5Dependency(QtBaseDependency):
+@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency):
          QtBaseDependency.__init__(self, 'qt5', env, kwargs)
  
      def get_pkgconfig_host_bins(self, core):
 -        return core.get_pkgconfig_variable('host_bins', {})
 +        return core.get_pkgconfig_variable('host_bins', {}, use_native=True)
  
- 
- # There are three different ways of depending on SDL2:
+     def get_private_includes(self, mod_inc_dir, module):
+         return _qt_get_private_includes(mod_inc_dir, module, self.version)
diff --git a/meta/recipes-devtools/meson/meson/0004-Prettifying-some-output-with-pathlib.patch b/meta/recipes-devtools/meson/meson/0004-Prettifying-some-output-with-pathlib.patch
deleted file mode 100644
index e75633b..0000000
--- a/meta/recipes-devtools/meson/meson/0004-Prettifying-some-output-with-pathlib.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From 253ab5bf6d6d925abcf625b72f5fcacf99be13bd Mon Sep 17 00:00:00 2001
-From: Niklas Claesson <nicke.claesson@gmail.com>
-Date: Wed, 18 Apr 2018 15:25:03 +0200
-Subject: [PATCH] Prettifying some output with pathlib
-
-This is a backport required in order to make
-0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch apply.
-
-Upstream-Status: Accepted [https://github.com/mesonbuild/meson/pull/3423]
-Should be in the 0.47.0 release.
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- run_cross_test.py    |  6 ++++--
- run_project_tests.py | 51 +++++++++++++++++++++++++++++----------------------
- 2 files changed, 33 insertions(+), 24 deletions(-)
-
-diff --git a/run_cross_test.py b/run_cross_test.py
-index e285e218..71914028 100755
---- a/run_cross_test.py
-+++ b/run_cross_test.py
-@@ -22,13 +22,15 @@ Not part of the main test suite because of two reasons:
- 
- Eventually migrate to something fancier.'''
- 
--import sys, os
-+import sys
-+import os
-+from pathlib import Path
- 
- from run_project_tests import gather_tests, run_tests, StopException, setup_commands
- from run_project_tests import failing_logs
- 
- def runtests(cross_file):
--    commontests = [('common', gather_tests('test cases/common'), False)]
-+    commontests = [('common', gather_tests(Path('test cases', 'common')), False)]
-     try:
-         (passing_tests, failing_tests, skipped_tests) = run_tests(commontests, 'meson-cross-test-run', ['--cross', cross_file])
-     except StopException:
-diff --git a/run_project_tests.py b/run_project_tests.py
-index 8c02a9ee..3c516240 100755
---- a/run_project_tests.py
-+++ b/run_project_tests.py
-@@ -14,14 +14,22 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
- 
--from glob import glob
- import itertools
--import os, subprocess, shutil, sys, signal
-+import os
-+import subprocess
-+import shutil
-+import sys
-+import signal
- from io import StringIO
- from ast import literal_eval
- from enum import Enum
- import tempfile
--from mesonbuild import build, environment, mesonlib, mlog, mtest
-+from pathlib import Path, PurePath
-+from mesonbuild import build
-+from mesonbuild import environment
-+from mesonbuild import mesonlib
-+from mesonbuild import mlog
-+from mesonbuild import mtest
- from mesonbuild.mesonlib import stringlistify, Popen_safe
- from mesonbuild.coredata import backendlist
- import argparse
-@@ -198,7 +206,7 @@ def validate_install(srcdir, installdir, compiler, env):
- 
- def log_text_file(logfile, testdir, stdo, stde):
-     global stop, executor, futures
--    logfile.write('%s\nstdout\n\n---\n' % testdir)
-+    logfile.write('%s\nstdout\n\n---\n' % testdir.as_posix())
-     logfile.write(stdo)
-     logfile.write('\n\n---\n\nstderr\n\n---\n')
-     logfile.write(stde)
-@@ -245,11 +253,11 @@ def run_test_inprocess(testdir):
-     sys.stderr = mystderr = StringIO()
-     old_cwd = os.getcwd()
-     os.chdir(testdir)
--    test_log_fname = 'meson-logs/testlog.txt'
-+    test_log_fname = Path('meson-logs', 'testlog.txt')
-     try:
-         returncode_test = mtest.run(['--no-rebuild'])
--        if os.path.exists(test_log_fname):
--            test_log = open(test_log_fname, errors='ignore').read()
-+        if test_log_fname.exists():
-+            test_log = test_log_fname.open(errors='ignore').read()
-         else:
-             test_log = ''
-         returncode_benchmark = mtest.run(['--no-rebuild', '--benchmark', '--logbase', 'benchmarklog'])
-@@ -318,9 +326,8 @@ def _run_test(testdir, test_build_dir, install_dir, extra_args, compiler, backen
-     gen_args += [testdir, test_build_dir] + flags + test_args + extra_args
-     (returncode, stdo, stde) = run_configure(meson_command, gen_args)
-     try:
--        logfile = os.path.join(test_build_dir, 'meson-logs/meson-log.txt')
--        with open(logfile, encoding='utf-8', errors='ignore') as f:
--            mesonlog = f.read()
-+        logfile = Path(test_build_dir, 'meson-logs', 'meson-log.txt')
-+        mesonlog = logfile.open(errors='ignore', encoding='utf-8').read()
-     except Exception:
-         mesonlog = no_meson_log_msg
-     gen_time = time.time() - gen_start
-@@ -390,11 +397,11 @@ def _run_test(testdir, test_build_dir, install_dir, extra_args, compiler, backen
-     return TestResult(validate_install(testdir, install_dir, compiler, builddata.environment),
-                       BuildStep.validate, stdo, stde, mesonlog, gen_time, build_time, test_time)
- 
--def gather_tests(testdir):
--    tests = [t.replace('\\', '/').split('/', 2)[2] for t in glob(testdir + '/*')]
-+def gather_tests(testdir: Path):
-+    tests = [t.name for t in testdir.glob('*')]
-     testlist = [(int(t.split()[0]), t) for t in tests]
-     testlist.sort()
--    tests = [os.path.join(testdir, t[1]) for t in testlist]
-+    tests = [testdir / t[1] for t in testlist]
-     return tests
- 
- def have_d_compiler():
-@@ -517,7 +524,7 @@ def detect_tests_to_run():
-         ('fpga', 'fpga', shutil.which('yosys') is None),
-         ('frameworks', 'frameworks', False),
-     ]
--    gathered_tests = [(name, gather_tests('test cases/' + subdir), skip) for name, subdir, skip in all_tests]
-+    gathered_tests = [(name, gather_tests(Path('test cases', subdir)), skip) for name, subdir, skip in all_tests]
-     return gathered_tests
- 
- def run_tests(all_tests, log_name_base, extra_args):
-@@ -566,18 +573,18 @@ def _run_tests(all_tests, log_name_base, extra_args):
-         for t in test_cases:
-             # Jenkins screws us over by automatically sorting test cases by name
-             # and getting it wrong by not doing logical number sorting.
--            (testnum, testbase) = os.path.split(t)[-1].split(' ', 1)
-+            (testnum, testbase) = t.name.split(' ', 1)
-             testname = '%.3d %s' % (int(testnum), testbase)
-             should_fail = False
-             if name.startswith('failing'):
-                 should_fail = name.split('failing-')[1]
--            result = executor.submit(run_test, skipped, t, extra_args, system_compiler, backend, backend_flags, commands, should_fail)
-+            result = executor.submit(run_test, skipped, t.as_posix(), extra_args, system_compiler, backend, backend_flags, commands, should_fail)
-             futures.append((testname, t, result))
-         for (testname, t, result) in futures:
-             sys.stdout.flush()
-             result = result.result()
--            if (result is None) or (('MESON_SKIP_TEST' in result.stdo) and (skippable(name, t))):
--                print(yellow('Skipping:'), t)
-+            if (result is None) or (('MESON_SKIP_TEST' in result.stdo) and (skippable(name, t.as_posix()))):
-+                print(yellow('Skipping:'), t.as_posix())
-                 current_test = ET.SubElement(current_suite, 'testcase', {'name': testname,
-                                                                          'classname': name})
-                 ET.SubElement(current_test, 'skipped', {})
-@@ -585,7 +592,7 @@ def _run_tests(all_tests, log_name_base, extra_args):
-             else:
-                 without_install = "" if len(install_commands) > 0 else " (without install)"
-                 if result.msg != '':
--                    print(red('Failed test{} during {}: {!r}'.format(without_install, result.step.name, t)))
-+                    print(red('Failed test{} during {}: {!r}'.format(without_install, result.step.name, t.as_posix())))
-                     print('Reason:', result.msg)
-                     failing_tests += 1
-                     if result.step == BuildStep.configure and result.mlog != no_meson_log_msg:
-@@ -597,7 +604,7 @@ def _run_tests(all_tests, log_name_base, extra_args):
-                         failing_logs.append(result.stdo)
-                     failing_logs.append(result.stde)
-                 else:
--                    print('Succeeded test%s: %s' % (without_install, t))
-+                    print('Succeeded test%s: %s' % (without_install, t.as_posix()))
-                     passing_tests += 1
-                 conf_time += result.conftime
-                 build_time += result.buildtime
-@@ -641,7 +648,7 @@ def check_format():
- 
- def check_meson_commands_work():
-     global backend, meson_command, compile_commands, test_commands, install_commands
--    testdir = 'test cases/common/1 trivial'
-+    testdir = PurePath('test cases', 'common', '1 trivial').as_posix()
-     with AutoDeletedDir(tempfile.mkdtemp(prefix='b ', dir='.')) as build_dir:
-         print('Checking that configuring works...')
-         gen_cmd = mesonlib.meson_command + [testdir, build_dir] + backend_flags
-@@ -706,7 +713,7 @@ if __name__ == '__main__':
-             except UnicodeError:
-                 print(l.encode('ascii', errors='replace').decode(), '\n')
-     for name, dirs, skip in all_tests:
--        dirs = (os.path.basename(x) for x in dirs)
-+        dirs = (x.name for x in dirs)
-         for k, g in itertools.groupby(dirs, key=lambda x: x.split()[0]):
-             tests = list(g)
-             if len(tests) != 1:
diff --git a/meta/recipes-devtools/meson/meson/0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch b/meta/recipes-devtools/meson/meson/0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch
deleted file mode 100644
index 8fb277a..0000000
--- a/meta/recipes-devtools/meson/meson/0005-Set-the-meson-command-to-use-when-we-know-what-it-is.patch
+++ /dev/null
@@ -1,851 +0,0 @@
-From 717480549bea68ed2da1420141f64c1c15cda11d Mon Sep 17 00:00:00 2001
-From: Nirbheek Chauhan <nirbheek@centricular.com>
-Date: Fri, 1 Jun 2018 13:00:17 +0530
-Subject: [PATCH] Set the meson command to use when we know what it is
-
-Instead of using fragile guessing to figure out how to invoke meson,
-set the value when meson is run. Also rework how we pass of
-meson_script_launcher to regenchecker.py -- it wasn't even being used
-
-With this change, we only need to guess the meson path when running
-the tests, and in that case:
-
-1. If MESON_EXE is set in the env, we know how to run meson
-   for project tests.
-2. MESON_EXE is not set, which means we run the configure in-process
-   for project tests and need to guess what meson to run, so either
-   - meson.py is found next to run_tests.py, or
-   - meson, meson.py, or meson.exe is in PATH
-
-Otherwise, you can invoke meson in the following ways:
-
-1. meson is installed, and mesonbuild is available in PYTHONPATH:
-   - meson, meson.py, meson.exe from PATH
-   - python3 -m mesonbuild.mesonmain
-   - python3 /path/to/meson.py
-   - meson is a shell wrapper to meson.real
-2. meson is not installed, and is run from git:
-   - Absolute path to meson.py
-   - Relative path to meson.py
-   - Symlink to meson.py
-
-All these are tested in test_meson_commands.py, except meson.exe since
-that involves building the meson msi and installing it.
-
-Upstream-Status: Accepted [https://github.com/mesonbuild/meson/pull/3654]
-Should be in the 0.47.0 release.
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- meson.py                            |  17 ++--
- mesonbuild/environment.py           |   6 +-
- mesonbuild/mesonlib.py              |  48 +---------
- mesonbuild/mesonmain.py             |  34 +++++--
- mesonbuild/scripts/regen_checker.py |   6 +-
- run_meson_command_tests.py          | 186 ++++++++++++++++++++++++++++++++++++
- run_project_tests.py                |  20 ++--
- run_tests.py                        |  43 +++++++--
- run_unittests.py                    |  64 +++++--------
- 9 files changed, 297 insertions(+), 127 deletions(-)
- create mode 100755 run_meson_command_tests.py
-
-diff --git a/meson.py b/meson.py
-index abbac6f4..dc84b513 100755
---- a/meson.py
-+++ b/meson.py
-@@ -14,13 +14,16 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
- 
--from mesonbuild import mesonmain
--import sys, os
-+import sys
-+from pathlib import Path
-+
-+# If we're run uninstalled, add the script directory to sys.path to ensure that
-+# we always import the correct mesonbuild modules even if PYTHONPATH is mangled
-+meson_exe = Path(sys.argv[0]).resolve()
-+if (meson_exe.parent / 'mesonbuild').is_dir():
-+    sys.path.insert(0, meson_exe.parent)
- 
--def main():
--    # Always resolve the command path so Ninja can find it for regen, tests, etc.
--    launcher = os.path.realpath(sys.argv[0])
--    return mesonmain.run(sys.argv[1:], launcher)
-+from mesonbuild import mesonmain
- 
- if __name__ == '__main__':
--    sys.exit(main())
-+    sys.exit(mesonmain.main())
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 15b37378..d02a8370 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -263,10 +263,9 @@ class Environment:
-     log_dir = 'meson-logs'
-     coredata_file = os.path.join(private_dir, 'coredata.dat')
- 
--    def __init__(self, source_dir, build_dir, main_script_launcher, options, original_cmd_line_args):
-+    def __init__(self, source_dir, build_dir, options, original_cmd_line_args):
-         self.source_dir = source_dir
-         self.build_dir = build_dir
--        self.meson_script_launcher = main_script_launcher
-         self.scratch_dir = os.path.join(build_dir, Environment.private_dir)
-         self.log_dir = os.path.join(build_dir, Environment.log_dir)
-         os.makedirs(self.scratch_dir, exist_ok=True)
-@@ -279,7 +278,8 @@ class Environment:
-             # re-initialized with project options by the interpreter during
-             # build file parsing.
-             self.coredata = coredata.CoreData(options)
--            self.coredata.meson_script_launcher = self.meson_script_launcher
-+            # Used by the regenchecker script, which runs meson
-+            self.coredata.meson_command = mesonlib.meson_command
-             self.first_invocation = True
-         if self.coredata.cross_file:
-             self.cross_info = CrossBuildInfo(self.coredata.cross_file)
-diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
-index 2a3b920b..01561658 100644
---- a/mesonbuild/mesonlib.py
-+++ b/mesonbuild/mesonlib.py
-@@ -38,58 +38,12 @@ except Exception:
- 
- from glob import glob
- 
--def detect_meson_py_location():
--    c = sys.argv[0]
--    c_dir, c_fname = os.path.split(c)
--
--    # get the absolute path to the <mesontool> folder
--    m_dir = None
--    if os.path.isabs(c):
--        # $ /foo/<mesontool>.py <args>
--        m_dir = c_dir
--    elif c_dir == '':
--        # $ <mesontool> <args> (gets run from /usr/bin/<mesontool>)
--        in_path_exe = shutil.which(c_fname)
--        if in_path_exe:
--            if not os.path.isabs(in_path_exe):
--                m_dir = os.getcwd()
--                c_fname = in_path_exe
--            else:
--                m_dir, c_fname = os.path.split(in_path_exe)
--    else:
--        m_dir = os.path.abspath(c_dir)
--
--    # find meson in m_dir
--    if m_dir is not None:
--        for fname in ['meson', 'meson.py']:
--            m_path = os.path.join(m_dir, fname)
--            if os.path.exists(m_path):
--                return m_path
--
--    # No meson found, which means that either:
--    # a) meson is not installed
--    # b) meson is installed to a non-standard location
--    # c) the script that invoked mesonlib is not the one of meson tools (e.g. run_unittests.py)
--    fname = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', 'meson.py'))
--    if os.path.exists(fname):
--        return fname
--    # If meson is still not found, we might be imported by out-of-source tests
--    # https://github.com/mesonbuild/meson/issues/3015
--    exe = shutil.which('meson')
--    if exe is None:
--        exe = shutil.which('meson.py')
--    if exe is not None:
--        return exe
--    # Give up.
--    raise RuntimeError('Could not determine how to run Meson. Please file a bug with details.')
--
- if os.path.basename(sys.executable) == 'meson.exe':
-     # In Windows and using the MSI installed executable.
--    meson_command = [sys.executable]
-     python_command = [sys.executable, 'runpython']
- else:
-     python_command = [sys.executable]
--    meson_command = python_command + [detect_meson_py_location()]
-+meson_command = None
- 
- def is_ascii_string(astring):
-     try:
-diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py
-index 2b6281d7..67f99439 100644
---- a/mesonbuild/mesonmain.py
-+++ b/mesonbuild/mesonmain.py
-@@ -73,9 +73,8 @@ def filter_builtin_options(args, original_args):
- 
- class MesonApp:
- 
--    def __init__(self, dir1, dir2, script_launcher, handshake, options, original_cmd_line_args):
-+    def __init__(self, dir1, dir2, handshake, options, original_cmd_line_args):
-         (self.source_dir, self.build_dir) = self.validate_dirs(dir1, dir2, handshake)
--        self.meson_script_launcher = script_launcher
-         self.options = options
-         self.original_cmd_line_args = original_cmd_line_args
- 
-@@ -129,7 +128,7 @@ class MesonApp:
-             env.coredata.pkgconf_envvar = curvar
- 
-     def generate(self):
--        env = environment.Environment(self.source_dir, self.build_dir, self.meson_script_launcher, self.options, self.original_cmd_line_args)
-+        env = environment.Environment(self.source_dir, self.build_dir, self.options, self.original_cmd_line_args)
-         mlog.initialize(env.get_log_dir())
-         with mesonlib.BuildDirLock(self.build_dir):
-             self._generate(env)
-@@ -268,12 +267,27 @@ def run_script_command(args):
-         raise MesonException('Unknown internal command {}.'.format(cmdname))
-     return cmdfunc(cmdargs)
- 
--def run(original_args, mainfile=None):
-+def set_meson_command(mainfile):
-+    if mainfile.endswith('.exe'):
-+        mesonlib.meson_command = [mainfile]
-+    elif os.path.isabs(mainfile) and mainfile.endswith('mesonmain.py'):
-+        # Can't actually run meson with an absolute path to mesonmain.py, it must be run as -m mesonbuild.mesonmain
-+        mesonlib.meson_command = mesonlib.python_command + ['-m', 'mesonbuild.mesonmain']
-+    else:
-+        mesonlib.meson_command = mesonlib.python_command + [mainfile]
-+    # This won't go into the log file because it's not initialized yet, and we
-+    # need this value for unit tests.
-+    if 'MESON_COMMAND_TESTS' in os.environ:
-+        mlog.log('meson_command is {!r}'.format(mesonlib.meson_command))
-+
-+def run(original_args, mainfile):
-     if sys.version_info < (3, 5):
-         print('Meson works correctly only with python 3.5+.')
-         print('You have python %s.' % sys.version)
-         print('Please update your environment')
-         return 1
-+    # Set the meson command that will be used to run scripts and so on
-+    set_meson_command(mainfile)
-     args = original_args[:]
-     if len(args) > 0:
-         # First check if we want to run a subcommand.
-@@ -351,9 +365,7 @@ def run(original_args, mainfile=None):
-         else:
-             dir2 = '.'
-     try:
--        if mainfile is None:
--            raise AssertionError('I iz broken. Sorry.')
--        app = MesonApp(dir1, dir2, mainfile, handshake, options, original_args)
-+        app = MesonApp(dir1, dir2, handshake, options, original_args)
-     except Exception as e:
-         # Log directory does not exist, so just print
-         # to stdout.
-@@ -381,3 +393,11 @@ def run(original_args, mainfile=None):
-         mlog.shutdown()
- 
-     return 0
-+
-+def main():
-+    # Always resolve the command path so Ninja can find it for regen, tests, etc.
-+    launcher = os.path.realpath(sys.argv[0])
-+    return run(sys.argv[1:], launcher)
-+
-+if __name__ == '__main__':
-+    sys.exit(main())
-diff --git a/mesonbuild/scripts/regen_checker.py b/mesonbuild/scripts/regen_checker.py
-index a9b00c7b..80d9242b 100644
---- a/mesonbuild/scripts/regen_checker.py
-+++ b/mesonbuild/scripts/regen_checker.py
-@@ -14,7 +14,6 @@
- 
- import sys, os
- import pickle, subprocess
--from mesonbuild.mesonlib import meson_command
- 
- # This could also be used for XCode.
- 
-@@ -32,7 +31,7 @@ def need_regen(regeninfo, regen_timestamp):
-     Vs2010Backend.touch_regen_timestamp(regeninfo.build_dir)
-     return False
- 
--def regen(regeninfo, mesonscript, backend):
-+def regen(regeninfo, meson_command, backend):
-     cmd = meson_command + ['--internal',
-                            'regenerate',
-                            regeninfo.build_dir,
-@@ -48,11 +47,10 @@ def run(args):
-         regeninfo = pickle.load(f)
-     with open(coredata, 'rb') as f:
-         coredata = pickle.load(f)
--    mesonscript = coredata.meson_script_launcher
-     backend = coredata.get_builtin_option('backend')
-     regen_timestamp = os.stat(dumpfile).st_mtime
-     if need_regen(regeninfo, regen_timestamp):
--        regen(regeninfo, mesonscript, backend)
-+        regen(regeninfo, coredata.meson_command, backend)
-     sys.exit(0)
- 
- if __name__ == '__main__':
-diff --git a/run_meson_command_tests.py b/run_meson_command_tests.py
-new file mode 100755
-index 00000000..6efd911b
---- /dev/null
-+++ b/run_meson_command_tests.py
-@@ -0,0 +1,186 @@
-+#!/usr/bin/env python3
-+
-+# Copyright 2018 The Meson development team
-+#
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+#     http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+# See the License for the specific language governing permissions and
-+# limitations under the License.
-+
-+import os
-+import tempfile
-+import unittest
-+import subprocess
-+from pathlib import Path
-+
-+from mesonbuild.mesonlib import windows_proof_rmtree, python_command, is_windows
-+
-+# Find the meson.py adjacent to us
-+meson_py = Path(__file__).resolve().parent / 'meson.py'
-+if not meson_py.is_file():
-+    raise RuntimeError("meson.py not found: test must only run from git")
-+
-+def get_pypath():
-+    import sysconfig
-+    pypath = sysconfig.get_path('purelib', vars={'base': ''})
-+    # Ensure that / is the path separator and not \, then strip /
-+    return Path(pypath).as_posix().strip('/')
-+
-+def get_pybindir():
-+    import sysconfig
-+    # 'Scripts' on Windows and 'bin' on other platforms including MSYS
-+    return sysconfig.get_path('scripts', vars={'base': ''}).strip('\\/')
-+
-+class CommandTests(unittest.TestCase):
-+    '''
-+    Test that running meson in various ways works as expected by checking the
-+    value of mesonlib.meson_command that was set during configuration.
-+    '''
-+
-+    def setUp(self):
-+        super().setUp()
-+        self.orig_env = os.environ.copy()
-+        self.orig_dir = os.getcwd()
-+        os.environ['MESON_COMMAND_TESTS'] = '1'
-+        self.tmpdir = Path(tempfile.mkdtemp()).resolve()
-+        self.src_root = Path(__file__).resolve().parent
-+        self.testdir = str(self.src_root / 'test cases/common/1 trivial')
-+        self.meson_args = ['--backend=ninja']
-+
-+    def tearDown(self):
-+        try:
-+            windows_proof_rmtree(str(self.tmpdir))
-+        except FileNotFoundError:
-+            pass
-+        os.environ.clear()
-+        os.environ.update(self.orig_env)
-+        os.chdir(str(self.orig_dir))
-+        super().tearDown()
-+
-+    def _run(self, command, workdir=None):
-+        '''
-+        Run a command while printing the stdout and stderr to stdout,
-+        and also return a copy of it
-+        '''
-+        # If this call hangs CI will just abort. It is very hard to distinguish
-+        # between CI issue and test bug in that case. Set timeout and fail loud
-+        # instead.
-+        p = subprocess.run(command, stdout=subprocess.PIPE,
-+                           stderr=subprocess.STDOUT, env=os.environ.copy(),
-+                           universal_newlines=True, cwd=workdir, timeout=60 * 5)
-+        print(p.stdout)
-+        if p.returncode != 0:
-+            raise subprocess.CalledProcessError(p.returncode, command)
-+        return p.stdout
-+
-+    def assertMesonCommandIs(self, line, cmd):
-+        self.assertTrue(line.startswith('meson_command '), msg=line)
-+        self.assertEqual(line, 'meson_command is {!r}'.format(cmd))
-+
-+    def test_meson_uninstalled(self):
-+        # This is what the meson command must be for all these cases
-+        resolved_meson_command = python_command + [str(self.src_root / 'meson.py')]
-+        # Absolute path to meson.py
-+        os.chdir('/')
-+        builddir = str(self.tmpdir / 'build1')
-+        meson_py = str(self.src_root / 'meson.py')
-+        meson_setup = [meson_py, 'setup']
-+        meson_command = python_command + meson_setup + self.meson_args
-+        stdo = self._run(meson_command + [self.testdir, builddir])
-+        self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+        # ./meson.py
-+        os.chdir(str(self.src_root))
-+        builddir = str(self.tmpdir / 'build2')
-+        meson_py = './meson.py'
-+        meson_setup = [meson_py, 'setup']
-+        meson_command = python_command + meson_setup + self.meson_args
-+        stdo = self._run(meson_command + [self.testdir, builddir])
-+        self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+        # Symlink to meson.py
-+        if is_windows():
-+            # Symlinks require admin perms
-+            return
-+        os.chdir(str(self.src_root))
-+        builddir = str(self.tmpdir / 'build3')
-+        # Create a symlink to meson.py in bindir, and add it to PATH
-+        bindir = (self.tmpdir / 'bin')
-+        bindir.mkdir()
-+        (bindir / 'meson').symlink_to(self.src_root / 'meson.py')
-+        os.environ['PATH'] = str(bindir) + os.pathsep + os.environ['PATH']
-+        # See if it works!
-+        meson_py = 'meson'
-+        meson_setup = [meson_py, 'setup']
-+        meson_command = meson_setup + self.meson_args
-+        stdo = self._run(meson_command + [self.testdir, builddir])
-+        self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+
-+    def test_meson_installed(self):
-+        # Install meson
-+        prefix = self.tmpdir / 'prefix'
-+        pylibdir = prefix / get_pypath()
-+        bindir = prefix / get_pybindir()
-+        pylibdir.mkdir(parents=True)
-+        os.environ['PYTHONPATH'] = str(pylibdir)
-+        os.environ['PATH'] = str(bindir) + os.pathsep + os.environ['PATH']
-+        self._run(python_command + ['setup.py', 'install', '--prefix', str(prefix)])
-+        self.assertTrue(pylibdir.is_dir())
-+        self.assertTrue(bindir.is_dir())
-+        # Run `meson`
-+        os.chdir('/')
-+        if is_windows():
-+            resolved_meson_command = python_command + [str(bindir / 'meson.py')]
-+        else:
-+            resolved_meson_command = python_command + [str(bindir / 'meson')]
-+            # The python configuration on appveyor does not register .py as
-+            # a valid extension, so we cannot run `meson` on Windows.
-+            builddir = str(self.tmpdir / 'build1')
-+            meson_setup = ['meson', 'setup']
-+            meson_command = meson_setup + self.meson_args
-+            stdo = self._run(meson_command + [self.testdir, builddir])
-+            self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+        # Run `/path/to/meson`
-+        builddir = str(self.tmpdir / 'build2')
-+        if is_windows():
-+            # Cannot run .py directly because of the appveyor configuration,
-+            # and the script is named meson.py, not meson
-+            meson_setup = python_command + [str(bindir / 'meson.py'), 'setup']
-+        else:
-+            meson_setup = [str(bindir / 'meson'), 'setup']
-+        meson_command = meson_setup + self.meson_args
-+        stdo = self._run(meson_command + [self.testdir, builddir])
-+        self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+        # Run `python3 -m mesonbuild.mesonmain`
-+        resolved_meson_command = python_command + ['-m', 'mesonbuild.mesonmain']
-+        builddir = str(self.tmpdir / 'build3')
-+        meson_setup = ['-m', 'mesonbuild.mesonmain', 'setup']
-+        meson_command = python_command + meson_setup + self.meson_args
-+        stdo = self._run(meson_command + [self.testdir, builddir])
-+        self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+        if is_windows():
-+            # Next part requires a shell
-+            return
-+        # `meson` is a wrapper to `meson.real`
-+        resolved_meson_command = python_command + [str(bindir / 'meson.real')]
-+        builddir = str(self.tmpdir / 'build4')
-+        (bindir / 'meson').rename(bindir / 'meson.real')
-+        wrapper = (bindir / 'meson')
-+        with open(wrapper, 'w') as f:
-+            f.write('#!/bin/sh\n\nmeson.real "$@"')
-+        wrapper.chmod(0o755)
-+        meson_setup = [str(wrapper), 'setup']
-+        meson_command = meson_setup + self.meson_args
-+        stdo = self._run(meson_command + [self.testdir, builddir])
-+        self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
-+
-+    def test_meson_exe_windows(self):
-+        raise unittest.SkipTest('NOT IMPLEMENTED')
-+
-+if __name__ == '__main__':
-+    unittest.main(buffer=True)
-diff --git a/run_project_tests.py b/run_project_tests.py
-index 3c516240..3d22b152 100755
---- a/run_project_tests.py
-+++ b/run_project_tests.py
-@@ -38,8 +38,7 @@ import time
- import multiprocessing
- from concurrent.futures import ProcessPoolExecutor
- import re
--from run_unittests import get_fake_options, run_configure
--
-+from run_tests import get_fake_options, run_configure, get_meson_script
- from run_tests import get_backend_commands, get_backend_args_for_dir, Backend
- from run_tests import ensure_backend_detects_changes
- 
-@@ -88,12 +87,6 @@ no_meson_log_msg = 'No meson-log.txt found.'
- 
- system_compiler = None
- 
--meson_command = os.path.join(os.getcwd(), 'meson')
--if not os.path.exists(meson_command):
--    meson_command += '.py'
--    if not os.path.exists(meson_command):
--        raise RuntimeError('Could not find main Meson script to run.')
--
- class StopException(Exception):
-     def __init__(self):
-         super().__init__('Stopped by user')
-@@ -324,7 +317,7 @@ def _run_test(testdir, test_build_dir, install_dir, extra_args, compiler, backen
-     if pass_libdir_to_test(testdir):
-         gen_args += ['--libdir', 'lib']
-     gen_args += [testdir, test_build_dir] + flags + test_args + extra_args
--    (returncode, stdo, stde) = run_configure(meson_command, gen_args)
-+    (returncode, stdo, stde) = run_configure(gen_args)
-     try:
-         logfile = Path(test_build_dir, 'meson-logs', 'meson-log.txt')
-         mesonlog = logfile.open(errors='ignore', encoding='utf-8').read()
-@@ -417,7 +410,7 @@ def have_d_compiler():
- 
- def have_objc_compiler():
-     with AutoDeletedDir(tempfile.mkdtemp(prefix='b ', dir='.')) as build_dir:
--        env = environment.Environment(None, build_dir, None, get_fake_options('/'), [])
-+        env = environment.Environment(None, build_dir, get_fake_options('/'), [])
-         try:
-             objc_comp = env.detect_objc_compiler(False)
-         except mesonlib.MesonException:
-@@ -432,7 +425,7 @@ def have_objc_compiler():
- 
- def have_objcpp_compiler():
-     with AutoDeletedDir(tempfile.mkdtemp(prefix='b ', dir='.')) as build_dir:
--        env = environment.Environment(None, build_dir, None, get_fake_options('/'), [])
-+        env = environment.Environment(None, build_dir, get_fake_options('/'), [])
-         try:
-             objcpp_comp = env.detect_objcpp_compiler(False)
-         except mesonlib.MesonException:
-@@ -647,11 +640,12 @@ def check_format():
-                 check_file(fullname)
- 
- def check_meson_commands_work():
--    global backend, meson_command, compile_commands, test_commands, install_commands
-+    global backend, compile_commands, test_commands, install_commands
-     testdir = PurePath('test cases', 'common', '1 trivial').as_posix()
-+    meson_commands = mesonlib.python_command + [get_meson_script()]
-     with AutoDeletedDir(tempfile.mkdtemp(prefix='b ', dir='.')) as build_dir:
-         print('Checking that configuring works...')
--        gen_cmd = mesonlib.meson_command + [testdir, build_dir] + backend_flags
-+        gen_cmd = meson_commands + [testdir, build_dir] + backend_flags
-         pc, o, e = Popen_safe(gen_cmd)
-         if pc.returncode != 0:
-             raise RuntimeError('Failed to configure {!r}:\n{}\n{}'.format(testdir, e, o))
-diff --git a/run_tests.py b/run_tests.py
-index 648e6ce1..736cdc07 100755
---- a/run_tests.py
-+++ b/run_tests.py
-@@ -21,13 +21,16 @@ import shutil
- import subprocess
- import tempfile
- import platform
-+from io import StringIO
-+from enum import Enum
-+from glob import glob
-+from pathlib import Path
-+
-+import mesonbuild
- from mesonbuild import mesonlib
- from mesonbuild import mesonmain
- from mesonbuild import mlog
- from mesonbuild.environment import detect_ninja
--from io import StringIO
--from enum import Enum
--from glob import glob
- 
- Backend = Enum('Backend', 'ninja vs xcode')
- 
-@@ -42,6 +45,28 @@ if mesonlib.is_windows() or mesonlib.is_cygwin():
- else:
-     exe_suffix = ''
- 
-+def get_meson_script():
-+    '''
-+    Guess the meson that corresponds to the `mesonbuild` that has been imported
-+    so we can run configure and other commands in-process, since mesonmain.run
-+    needs to know the meson_command to use.
-+
-+    Also used by run_unittests.py to determine what meson to run when not
-+    running in-process (which is the default).
-+    '''
-+    # Is there a meson.py next to the mesonbuild currently in use?
-+    mesonbuild_dir = Path(mesonbuild.__file__).resolve().parent.parent
-+    meson_script = mesonbuild_dir / 'meson.py'
-+    if meson_script.is_file():
-+        return str(meson_script)
-+    # Then if mesonbuild is in PYTHONPATH, meson must be in PATH
-+    mlog.warning('Could not find meson.py next to the mesonbuild module. '
-+                 'Trying system meson...')
-+    meson_cmd = shutil.which('meson')
-+    if meson_cmd:
-+        return meson_cmd
-+    raise RuntimeError('Could not find {!r} or a meson in PATH'.format(meson_script))
-+
- def get_backend_args_for_dir(backend, builddir):
-     '''
-     Visual Studio backend needs to be given the solution to build
-@@ -133,13 +158,13 @@ def get_fake_options(prefix):
- def should_run_linux_cross_tests():
-     return shutil.which('arm-linux-gnueabihf-gcc') and not platform.machine().lower().startswith('arm')
- 
--def run_configure_inprocess(meson_command, commandlist):
-+def run_configure_inprocess(commandlist):
-     old_stdout = sys.stdout
-     sys.stdout = mystdout = StringIO()
-     old_stderr = sys.stderr
-     sys.stderr = mystderr = StringIO()
-     try:
--        returncode = mesonmain.run(commandlist, meson_command)
-+        returncode = mesonmain.run(commandlist, get_meson_script())
-     finally:
-         sys.stdout = old_stdout
-         sys.stderr = old_stderr
-@@ -149,11 +174,11 @@ def run_configure_external(full_command):
-     pc, o, e = mesonlib.Popen_safe(full_command)
-     return pc.returncode, o, e
- 
--def run_configure(meson_command, commandlist):
-+def run_configure(commandlist):
-     global meson_exe
-     if meson_exe:
-         return run_configure_external(meson_exe + commandlist)
--    return run_configure_inprocess(meson_command, commandlist)
-+    return run_configure_inprocess(commandlist)
- 
- def print_system_info():
-     print(mlog.bold('System information.').get_text(mlog.colorize_console))
-@@ -214,6 +239,9 @@ if __name__ == '__main__':
-                         'coverage.process_startup()\n')
-             env['COVERAGE_PROCESS_START'] = '.coveragerc'
-             env['PYTHONPATH'] = os.pathsep.join([td] + env.get('PYTHONPATH', []))
-+        # Meson command tests
-+        returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env)
-+        # Unit tests
-         returncode += subprocess.call(mesonlib.python_command + ['run_unittests.py', '-v'], env=env)
-         # Ubuntu packages do not have a binary without -6 suffix.
-         if should_run_linux_cross_tests():
-@@ -221,5 +249,6 @@ if __name__ == '__main__':
-             print()
-             returncode += subprocess.call(mesonlib.python_command + ['run_cross_test.py', 'cross/ubuntu-armhf.txt'],
-                                           env=env)
-+        # Project tests
-         returncode += subprocess.call(mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:], env=env)
-     sys.exit(returncode)
-diff --git a/run_unittests.py b/run_unittests.py
-index 6d4e0339..3c215db4 100755
---- a/run_unittests.py
-+++ b/run_unittests.py
-@@ -36,7 +36,7 @@ import mesonbuild.modules.gnome
- from mesonbuild.interpreter import ObjectHolder
- from mesonbuild.mesonlib import (
-     is_windows, is_osx, is_cygwin, is_dragonflybsd,
--    windows_proof_rmtree, python_command, meson_command, version_compare,
-+    windows_proof_rmtree, python_command, version_compare,
-     BuildDirLock
- )
- from mesonbuild.environment import Environment, detect_ninja
-@@ -44,9 +44,9 @@ from mesonbuild.mesonlib import MesonException, EnvironmentException
- from mesonbuild.dependencies import PkgConfigDependency, ExternalProgram
- import mesonbuild.modules.pkgconfig
- 
--from run_tests import exe_suffix, get_fake_options
-+from run_tests import exe_suffix, get_fake_options, get_meson_script
- from run_tests import get_builddir_target_args, get_backend_commands, Backend
--from run_tests import ensure_backend_detects_changes, run_configure, meson_exe
-+from run_tests import ensure_backend_detects_changes, run_configure_inprocess
- from run_tests import should_run_linux_cross_tests
- 
- 
-@@ -488,13 +488,13 @@ class BasePlatformTests(unittest.TestCase):
-         # Get the backend
-         # FIXME: Extract this from argv?
-         self.backend = getattr(Backend, os.environ.get('MESON_UNIT_TEST_BACKEND', 'ninja'))
--        self.meson_mainfile = os.path.join(src_root, 'meson.py')
-         self.meson_args = ['--backend=' + self.backend.name]
-         self.meson_cross_file = None
--        self.meson_command = meson_command + self.meson_args
--        self.mconf_command = meson_command + ['configure']
--        self.mintro_command = meson_command + ['introspect']
--        self.wrap_command = meson_command + ['wrap']
-+        self.meson_command = python_command + [get_meson_script()]
-+        self.setup_command = self.meson_command + self.meson_args
-+        self.mconf_command = self.meson_command + ['configure']
-+        self.mintro_command = self.meson_command + ['introspect']
-+        self.wrap_command = self.meson_command + ['wrap']
-         # Backend-specific build commands
-         self.build_command, self.clean_command, self.test_command, self.install_command, \
-             self.uninstall_command = get_backend_commands(self.backend)
-@@ -521,7 +521,7 @@ class BasePlatformTests(unittest.TestCase):
-         self.logdir = os.path.join(self.builddir, 'meson-logs')
-         self.installdir = os.path.join(self.builddir, 'install')
-         self.distdir = os.path.join(self.builddir, 'meson-dist')
--        self.mtest_command = meson_command + ['test', '-C', self.builddir]
-+        self.mtest_command = self.meson_command + ['test', '-C', self.builddir]
-         self.builddirs.append(self.builddir)
- 
-     def new_builddir(self):
-@@ -581,7 +581,7 @@ class BasePlatformTests(unittest.TestCase):
-         self.privatedir = os.path.join(self.builddir, 'meson-private')
-         if inprocess:
-             try:
--                (returncode, out, err) = run_configure(self.meson_mainfile, self.meson_args + args + extra_args)
-+                (returncode, out, err) = run_configure_inprocess(self.meson_args + args + extra_args)
-                 if 'MESON_SKIP_TEST' in out:
-                     raise unittest.SkipTest('Project requested skipping.')
-                 if returncode != 0:
-@@ -601,7 +601,7 @@ class BasePlatformTests(unittest.TestCase):
-                 mesonbuild.mlog.log_file = None
-         else:
-             try:
--                out = self._run(self.meson_command + args + extra_args)
-+                out = self._run(self.setup_command + args + extra_args)
-             except unittest.SkipTest:
-                 raise unittest.SkipTest('Project requested skipping: ' + srcdir)
-             except:
-@@ -900,8 +900,7 @@ class AllPlatformTests(BasePlatformTests):
-         https://github.com/mesonbuild/meson/issues/1355
-         '''
-         testdir = os.path.join(self.common_test_dir, '3 static')
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         cc = env.detect_c_compiler(False)
-         static_linker = env.detect_static_linker(cc)
-         if is_windows():
-@@ -1182,8 +1181,7 @@ class AllPlatformTests(BasePlatformTests):
-         if not is_windows():
-             langs += [('objc', 'OBJC'), ('objcpp', 'OBJCXX')]
-         testdir = os.path.join(self.unit_test_dir, '5 compiler detection')
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         for lang, evar in langs:
-             # Detect with evar and do sanity checks on that
-             if evar in os.environ:
-@@ -1285,8 +1283,7 @@ class AllPlatformTests(BasePlatformTests):
-     def test_always_prefer_c_compiler_for_asm(self):
-         testdir = os.path.join(self.common_test_dir, '141 c cpp and asm')
-         # Skip if building with MSVC
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         if env.detect_c_compiler(False).get_id() == 'msvc':
-             raise unittest.SkipTest('MSVC can\'t compile assembly')
-         self.init(testdir)
-@@ -1544,8 +1541,7 @@ int main(int argc, char **argv) {
-             self.assertPathExists(os.path.join(testdir, i))
- 
-     def detect_prebuild_env(self):
--        env = Environment('', self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment('', self.builddir, get_fake_options(self.prefix), [])
-         cc = env.detect_c_compiler(False)
-         stlinker = env.detect_static_linker(cc)
-         if mesonbuild.mesonlib.is_windows():
-@@ -1713,8 +1709,7 @@ int main(int argc, char **argv) {
-                                        '--libdir=' + libdir])
-         # Find foo dependency
-         os.environ['PKG_CONFIG_LIBDIR'] = self.privatedir
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         kwargs = {'required': True, 'silent': True}
-         foo_dep = PkgConfigDependency('libfoo', env, kwargs)
-         # Ensure link_args are properly quoted
-@@ -1847,16 +1842,16 @@ int main(int argc, char **argv) {
-         for lang in ('c', 'cpp'):
-             for type in ('executable', 'library'):
-                 with tempfile.TemporaryDirectory() as tmpdir:
--                    self._run(meson_command + ['init', '--language', lang, '--type', type],
-+                    self._run(self.meson_command + ['init', '--language', lang, '--type', type],
-                               workdir=tmpdir)
--                    self._run(self.meson_command + ['--backend=ninja', 'builddir'],
-+                    self._run(self.setup_command + ['--backend=ninja', 'builddir'],
-                               workdir=tmpdir)
-                     self._run(ninja,
-                               workdir=os.path.join(tmpdir, 'builddir'))
-             with tempfile.TemporaryDirectory() as tmpdir:
-                 with open(os.path.join(tmpdir, 'foo.' + lang), 'w') as f:
-                     f.write('int main() {}')
--                self._run(meson_command + ['init', '-b'], workdir=tmpdir)
-+                self._run(self.meson_command + ['init', '-b'], workdir=tmpdir)
- 
-     # The test uses mocking and thus requires that
-     # the current process is the one to run the Meson steps.
-@@ -1981,8 +1976,7 @@ recommended as it can lead to undefined behaviour on some platforms''')
-         testdirbase = os.path.join(self.unit_test_dir, '26 guessed linker dependencies')
-         testdirlib = os.path.join(testdirbase, 'lib')
-         extra_args = None
--        env = Environment(testdirlib, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdirlib, self.builddir, get_fake_options(self.prefix), [])
-         if env.detect_c_compiler(False).get_id() != 'msvc':
-             # static libraries are not linkable with -l with msvc because meson installs them
-             # as .a files which unix_args_to_native will not know as it expects libraries to use
-@@ -2095,9 +2089,6 @@ class FailureTests(BasePlatformTests):
-         Assert that running meson configure on the specified @contents raises
-         a error message matching regex @match.
-         '''
--        if meson_exe is not None:
--            # Because the exception happens in a different process.
--            raise unittest.SkipTest('Can not test assert raise tests with an external Meson command.')
-         if langs is None:
-             langs = []
-         with open(self.mbuild, 'w') as f:
-@@ -2232,8 +2223,7 @@ class FailureTests(BasePlatformTests):
-         '''
-         Test that when we can't detect objc or objcpp, we fail gracefully.
-         '''
--        env = Environment('', self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment('', self.builddir, get_fake_options(self.prefix), [])
-         try:
-             env.detect_objc_compiler(False)
-             env.detect_objcpp_compiler(False)
-@@ -2328,8 +2318,7 @@ class WindowsTests(BasePlatformTests):
-         ExternalLibraryHolder from build files.
-         '''
-         testdir = os.path.join(self.platform_test_dir, '1 basic')
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         cc = env.detect_c_compiler(False)
-         if cc.id != 'msvc':
-             raise unittest.SkipTest('Not using MSVC')
-@@ -2399,8 +2388,7 @@ class LinuxlikeTests(BasePlatformTests):
-         '''
-         testdir = os.path.join(self.common_test_dir, '51 pkgconfig-gen')
-         self.init(testdir)
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         kwargs = {'required': True, 'silent': True}
-         os.environ['PKG_CONFIG_LIBDIR'] = self.privatedir
-         foo_dep = PkgConfigDependency('libfoo', env, kwargs)
-@@ -2650,8 +2638,7 @@ class LinuxlikeTests(BasePlatformTests):
-         an ordinary test because it requires passing options to meson.
-         '''
-         testdir = os.path.join(self.common_test_dir, '1 trivial')
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         cc = env.detect_c_compiler(False)
-         self._test_stds_impl(testdir, cc, 'c')
- 
-@@ -2661,8 +2648,7 @@ class LinuxlikeTests(BasePlatformTests):
-         be an ordinary test because it requires passing options to meson.
-         '''
-         testdir = os.path.join(self.common_test_dir, '2 cpp')
--        env = Environment(testdir, self.builddir, self.meson_command,
--                          get_fake_options(self.prefix), [])
-+        env = Environment(testdir, self.builddir, get_fake_options(self.prefix), [])
-         cpp = env.detect_cpp_compiler(False)
-         self._test_stds_impl(testdir, cpp, 'cpp')
- 
diff --git a/meta/recipes-devtools/meson/meson_0.46.1.bb b/meta/recipes-devtools/meson/meson_0.46.1.bb
deleted file mode 100644
index 897fa14..0000000
--- a/meta/recipes-devtools/meson/meson_0.46.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-include meson.inc
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/meson/meson_0.47.2.bb b/meta/recipes-devtools/meson/meson_0.47.2.bb
new file mode 100644
index 0000000..897fa14
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson_0.47.2.bb
@@ -0,0 +1,3 @@
+include meson.inc
+
+BBCLASSEXTEND = "native"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 19/21] gtk-doc: update to 1.29
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (16 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 18/21] meson: update to 0.47.2 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 20/21] glib: update to 2.58.0 Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 21/21] gobject-introspection: update to 1.58.0 Alexander Kanavin
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...hardocode-paths-to-perl-python-in-scripts.patch | 25 +++++------
 meta/recipes-gnome/gtk-doc/files/no-clobber.patch  | 23 +++++++---
 .../gtk-doc/files/pkg-config-native.patch          |  6 +--
 meta/recipes-gnome/gtk-doc/gtk-doc_1.28.bb         | 50 ----------------------
 meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb         | 50 ++++++++++++++++++++++
 5 files changed, 82 insertions(+), 72 deletions(-)
 delete mode 100644 meta/recipes-gnome/gtk-doc/gtk-doc_1.28.bb
 create mode 100644 meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb

diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
index 2fe3ab9..19e05f1 100644
--- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
+++ b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
@@ -1,7 +1,7 @@
-From 928102874bc2339a1d57c6b178877e0c6002cb3a Mon Sep 17 00:00:00 2001
+From 80e6aff72affa6d92f5abd7ff6353dfc4a7bff38 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 31 Aug 2016 16:44:46 +0300
-Subject: [PATCH 1/3] Do not hardocode paths to perl/python in scripts.
+Subject: [PATCH] Do not hardocode paths to perl/python in scripts.
 
 Doing so when the interpreters are somewhere deep in a sysroot directory
 can reach the shebang line limit, and resulting scripts wouldn't work
@@ -35,7 +35,7 @@ index 8c8e917..f6a25f6 100755
  #
  # gtk-doc - GTK DocBook documentation generator.
 diff --git a/gtkdoc-depscan.in b/gtkdoc-depscan.in
-index 9bfaf30..aadc952 100644
+index 9bfaf30..aadc952 100755
 --- a/gtkdoc-depscan.in
 +++ b/gtkdoc-depscan.in
 @@ -1,4 +1,4 @@
@@ -45,7 +45,7 @@ index 9bfaf30..aadc952 100644
  from __future__ import print_function
  
 diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in
-index 0ea02d4..bdd443a 100755
+index 44f6bd1..26fbd93 100755
 --- a/gtkdoc-fixxref.in
 +++ b/gtkdoc-fixxref.in
 @@ -1,4 +1,4 @@
@@ -65,7 +65,7 @@ index 42d5731..3a56d56 100755
  #
  # gtk-doc - GTK DocBook documentation generator.
 diff --git a/gtkdoc-mkhtml.in b/gtkdoc-mkhtml.in
-index 0d0a15d..914ff55 100644
+index 0d0a15d..914ff55 100755
 --- a/gtkdoc-mkhtml.in
 +++ b/gtkdoc-mkhtml.in
 @@ -1,4 +1,4 @@
@@ -75,7 +75,7 @@ index 0d0a15d..914ff55 100644
  #
  # gtk-doc - GTK DocBook documentation generator.
 diff --git a/gtkdoc-mkman.in b/gtkdoc-mkman.in
-index c5445cd..65db71a 100644
+index c5445cd..65db71a 100755
 --- a/gtkdoc-mkman.in
 +++ b/gtkdoc-mkman.in
 @@ -1,4 +1,4 @@
@@ -115,7 +115,7 @@ index 954c811..f461504 100755
  #
  # gtk-doc - GTK DocBook documentation generator.
 diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in
-index 4cbe130..52c2c24 100644
+index 4cbe130..52c2c24 100755
 --- a/gtkdoc-scangobj.in
 +++ b/gtkdoc-scangobj.in
 @@ -1,4 +1,4 @@
@@ -125,18 +125,15 @@ index 4cbe130..52c2c24 100644
  #
  # gtk-doc - GTK DocBook documentation generator.
 diff --git a/tests/tools.sh.in b/tests/tools.sh.in
-index 4d301d0..565fc1e 100644
+index 343844a..9dc6692 100644
 --- a/tests/tools.sh.in
 +++ b/tests/tools.sh.in
-@@ -31,7 +31,7 @@ done
- # TODO: test python 2 and 3 (python3 -mcompileall gtkdoc/*.py)
- for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do
+@@ -30,7 +30,7 @@ done
+ # TODO: also test the module files
+ for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkhtml2 gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do
      fullfile=`which $file`
 -    @PYTHON@ -m py_compile $fullfile
 +    python3 -m py_compile $fullfile
      if test $? != 0 ; then failed=`expr $failed + 1`; fi
      tested=`expr $tested + 1`
  done
--- 
-2.14.1
-
diff --git a/meta/recipes-gnome/gtk-doc/files/no-clobber.patch b/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
index 0fa22b2..d169547 100644
--- a/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
+++ b/meta/recipes-gnome/gtk-doc/files/no-clobber.patch
@@ -1,3 +1,8 @@
+From 8bc4c1f169f89bc5531da5b7e892b8f20e0f9a18 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 21 Mar 2018 14:47:29 +0000
+Subject: [PATCH] gtk-doc: don't regenerate gtk-doc in do_install
+
 In out-of-tree builds gtk-doc's setup-build target copies all the content from $srcdir to $builddir.
 
 However, if some of this content is regenerated at configure time this can happen:
@@ -16,12 +21,20 @@ files which don't already exist.
 Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=794571]
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 
-diff --git a/gtk-doc.make b/gtk-doc.make
-index f87eaab..246f3c0 100644
---- a/gtk-doc.make
-+++ b/gtk-doc.make
-@@ -113,3 +113,3 @@ setup-build.stamp:
+---
+ buildsystems/autotools/gtk-doc.make | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/buildsystems/autotools/gtk-doc.make b/buildsystems/autotools/gtk-doc.make
+index 7d9a27f..8cb336d 100644
+--- a/buildsystems/autotools/gtk-doc.make
++++ b/buildsystems/autotools/gtk-doc.make
+@@ -111,7 +111,7 @@ setup-build.stamp:
+ 	      destdir=`dirname $(abs_builddir)/$$file`; \
+ 	      test -d "$$destdir" || mkdir -p "$$destdir"; \
  	      test -f $(abs_srcdir)/$$file && \
 -	        cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
 +	        cp -pn $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
  	    done; \
+ 	  fi; \
+ 	fi
diff --git a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
index b77b5a5..9b128e1 100644
--- a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
+++ b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
@@ -1,4 +1,4 @@
-From ae29d175016accd8a05ab1e52fc6435ac6291cfc Mon Sep 17 00:00:00 2001
+From 04af15322f677db42ecc2acc465334a04de9a871 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Mon, 5 Sep 2016 22:25:44 +0100
 Subject: [PATCH] Use native pkg-config when looking for gtk-doc.
@@ -12,8 +12,8 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
 
 diff --git a/gtk-doc.m4 b/gtk-doc.m4
 index 2d12f01..e5afc3f 100644
---- a/gtk-doc.m4
-+++ b/gtk-doc.m4
+--- a/buildsystems/autotools/gtk-doc.m4
++++ b/buildsystems/autotools/gtk-doc.m4
 @@ -25,7 +25,7 @@
  # Macro appear in them. The GNU General Public License (GPL) does govern
  # all other use of the material that constitutes the Autoconf Macro.
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.28.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.28.bb
deleted file mode 100644
index a2ec6ac..0000000
--- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.28.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Documentation generator for glib-based software"
-DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
-               from glib-based software and produce a set of html documentation files from them"
-HOMEPAGE = "http://www.gtk.org/gtk-doc/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit gnomebase
-
-# Configure the scripts correctly (and build their dependencies) only if they are actually
-# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
-
-# This will cause target gtk-doc to hardcode paths of native dependencies
-# into its scripts. This means that target gtk-doc package is broken;
-# hopefully no one minds because its scripts are not used for anything during build
-# and shouldn't be used on targets.
-PACKAGECONFIG[working-scripts] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
-
-SRC_URI[archive.md5sum] = "48550c33f9b9b530f9e5f397979b613a"
-SRC_URI[archive.sha256sum] = "911e29e302252c96128965ee1f4067d5431a88e00ad1023a8bc1d6b922af5715"
-SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
-           file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
-           file://conditionaltests.patch \
-           file://no-clobber.patch \
-           "
-SRC_URI_append_class-native = " file://pkg-config-native.patch"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Do not check for XML catalogs when building because that
-# information is not used for anything during build. Recipe
-# dependencies make sure we have all the right bits.
-do_configure_prepend() {
-        sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
-}
-
-FILES_${PN} += "${datadir}/sgml"
-FILES_${PN}-dev += "${libdir}/cmake"
-FILES_${PN}-doc = ""
-
-SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
-gtkdoc_makefiles_sysroot_preprocess() {
-        # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
-        # instead of libtool wrapper or running them directly
-        sed -i \
-           -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
-           ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
-}
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb
new file mode 100644
index 0000000..2c4ee17
--- /dev/null
+++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Documentation generator for glib-based software"
+DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
+               from glib-based software and produce a set of html documentation files from them"
+HOMEPAGE = "http://www.gtk.org/gtk-doc/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit gnomebase
+
+# Configure the scripts correctly (and build their dependencies) only if they are actually
+# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
+PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
+
+# This will cause target gtk-doc to hardcode paths of native dependencies
+# into its scripts. This means that target gtk-doc package is broken;
+# hopefully no one minds because its scripts are not used for anything during build
+# and shouldn't be used on targets.
+PACKAGECONFIG[working-scripts] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
+
+SRC_URI[archive.md5sum] = "df26a38c209b3d7358f26268fcbdb9e3"
+SRC_URI[archive.sha256sum] = "14578e002496567276d310a62c9ffd6c56ee8806ce5079ffb0b81c4111f586b1"
+SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
+           file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
+           file://conditionaltests.patch \
+           file://no-clobber.patch \
+           "
+SRC_URI_append_class-native = " file://pkg-config-native.patch"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Do not check for XML catalogs when building because that
+# information is not used for anything during build. Recipe
+# dependencies make sure we have all the right bits.
+do_configure_prepend() {
+        sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
+}
+
+FILES_${PN} += "${datadir}/sgml"
+FILES_${PN}-dev += "${libdir}/cmake"
+FILES_${PN}-doc = ""
+
+SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
+gtkdoc_makefiles_sysroot_preprocess() {
+        # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
+        # instead of libtool wrapper or running them directly
+        sed -i \
+           -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
+           ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
+}
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 20/21] glib: update to 2.58.0
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (17 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 19/21] gtk-doc: update to 1.29 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:29 ` [PATCH 21/21] gobject-introspection: update to 1.58.0 Alexander Kanavin
  19 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

Drop upstreamed patches, refresh the rest.
Add an explicit dependency on gettext-native, as glib is no longer
fooled by setting msgfmt to /bin/false.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...stall-gio-querymodules-as-libexec_PROGRAM.patch | 14 ++---
 ...st-for-pthread_getname_np-before-using-it.patch | 70 ----------------------
 ...s-Ignore-other-per-value-options-than-ski.patch | 32 ----------
 .../Enable-more-tests-while-cross-compiling.patch  | 29 ++++-----
 ...un-media-sdX-drive-mount-if-username-root.patch | 16 +++--
 .../glib-2.0/glib-2.0/relocate-modules.patch       |  6 +-
 meta/recipes-core/glib-2.0/glib-2.0_2.56.1.bb      | 24 --------
 meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb      | 22 +++++++
 meta/recipes-core/glib-2.0/glib.inc                |  4 +-
 9 files changed, 52 insertions(+), 165 deletions(-)
 delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch
 delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-glib-mkenums-Ignore-other-per-value-options-than-ski.patch
 delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.56.1.bb
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb

diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index 561d100..97d0aff 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 80682c171ccb27d01343d4cfcfb4dd49b7863ccc Mon Sep 17 00:00:00 2001
+From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 22 Mar 2016 15:14:58 +0200
 Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -8,24 +8,22 @@ renamer does not cope with library packages with files in ${bindir}
 
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Upstream-Status: Inappropriate [OE specific]
+
 ---
  gio/Makefile.am | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/gio/Makefile.am b/gio/Makefile.am
-index b7f91cc..4d81cc0 100644
+index e14cad2..bf2bcc7 100644
 --- a/gio/Makefile.am
 +++ b/gio/Makefile.am
-@@ -702,7 +702,8 @@ gio.def: libgio-2.0.la
+@@ -835,7 +835,8 @@ gio.def: libgio-2.0.la
  gio-2.0.lib: libgio-2.0.la gio.def
  	$(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@
  
--bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings
-+bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings
+-bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop
++bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop
 +libexec_PROGRAMS = gio-querymodules
  
  glib_compile_resources_LDADD = libgio-2.0.la 		\
  	$(top_builddir)/gobject/libgobject-2.0.la	\
--- 
-2.1.4
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch
deleted file mode 100644
index c6e4966..0000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From f627fe16099a2b08d8b4e9023ae6b4f352451967 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 6 Nov 2016 08:59:08 -0800
-Subject: [PATCH] Test for pthread_getname_np before using it
-
-Its a GNU extention and not all libc implement it
-musl e.g. implements the setname API but not getname
-in any case, it seems to be safer to check for the
-function before using it.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- config.h.in         |  3 +++
- configure.ac        | 10 ++++++++++
- glib/tests/thread.c |  2 +-
- 3 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/config.h.in b/config.h.in
-index 2c35ff1..da7ac30 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -326,6 +326,9 @@
- #undef HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP
- 
- /* Have function pthread_setname_np(const char*) */
-+#undef HAVE_PTHREAD_GETNAME_NP
-+
-+/* Have function pthread_setname_np(const char*) */
- #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID
- 
- /* Have function pthread_setname_np(pthread_t, const char*) */
-diff --git a/configure.ac b/configure.ac
-index 4309671..209770a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2121,6 +2121,16 @@ AS_IF([ test x"$have_threads" = xposix], [
-              AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP,1,
-                 [Have function pthread_cond_timedwait_relative_np])],
-             [AC_MSG_RESULT(no)])
-+        dnl gets thread names
-+        AC_MSG_CHECKING(for pthread_getname_np(pthread_t, char*, size_t))
-+        AC_LINK_IFELSE(
-+            [AC_LANG_PROGRAM(
-+                [#include <pthread.h>],
-+                [pthread_getname_np(pthread_self(),"example",0)])],
-+            [AC_MSG_RESULT(yes)
-+             AC_DEFINE(HAVE_PTHREAD_GETNAME_NP,1,
-+                [Have function pthread_setname_np(const char*)])],
-+            [AC_MSG_RESULT(no)])
-         dnl Sets thread names on OS X 10.6, iOS 3.2 (and higher)
-         AC_MSG_CHECKING(for pthread_setname_np(const char*))
-         AC_LINK_IFELSE(
-diff --git a/glib/tests/thread.c b/glib/tests/thread.c
-index 5447836..2f248a6 100644
---- a/glib/tests/thread.c
-+++ b/glib/tests/thread.c
-@@ -174,7 +174,7 @@ test_thread5 (void)
- static gpointer
- thread6_func (gpointer data)
- {
--#ifdef HAVE_PTHREAD_SETNAME_NP_WITH_TID
-+#if defined(HAVE_PTHREAD_SETNAME_NP_WITH_TID) && defined(HAVE_PTHREAD_GETNAME_NP)
-   char name[16];
- 
-   pthread_getname_np (pthread_self(), name, 16);
--- 
-2.10.2
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-glib-mkenums-Ignore-other-per-value-options-than-ski.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-glib-mkenums-Ignore-other-per-value-options-than-ski.patch
deleted file mode 100644
index c87635a..0000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-glib-mkenums-Ignore-other-per-value-options-than-ski.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 12ffb50d587003a46678567b771c6e984035a5e9 Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Sat, 28 Apr 2018 03:07:50 +0200
-Subject: [PATCH] glib-mkenums: Ignore other per value options than 'skip' and
- 'nick'
-
-If some other per value option was present than 'skip' or 'nick' then
-a KeyError would occur. Ignoring such options matches the behaviour of
-the old, Perl-based glib-mkenums.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=795008]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- gobject/glib-mkenums.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in
-index fe9a10756..4ccc1f458 100755
---- a/gobject/glib-mkenums.in
-+++ b/gobject/glib-mkenums.in
-@@ -218,7 +218,7 @@ def parse_entries(file, file_name):
-             if options is not None:
-                 options = parse_trigraph(options)
-                 if 'skip' not in options:
--                    entries.append((name, value, options['nick']))
-+                    entries.append((name, value, options.get('nick', None)))
-             else:
-                 entries.append((name, value))
-         elif re.match(r's*\#', line):
--- 
-2.12.0
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index b98f933..50781e7 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,7 +1,7 @@
-From d762907d33b81cf7469b5696c87f2188d2050afb Mon Sep 17 00:00:00 2001
+From 4b1a6d247c78125096a6ea5ab3cab8a1f000dc23 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Mon, 9 Nov 2015 11:07:27 +0200
-Subject: [PATCH 06/10] Enable more tests while cross-compiling
+Subject: [PATCH] Enable more tests while cross-compiling
 
 Upstream disables a few tests while cross-compiling because their build requires
 running other built binaries. This usually makes sense but in the cross-compile
@@ -16,10 +16,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  2 files changed, 11 insertions(+), 7 deletions(-)
 
 diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
-index acc1da4..9176640 100644
+index 1f0bed7..8295deb 100644
 --- a/gio/tests/Makefile.am
 +++ b/gio/tests/Makefile.am
-@@ -516,10 +516,9 @@ test_programs += \
+@@ -550,10 +550,9 @@ test_programs += \
  endif
  
  # -----------------------------------------------------------------------------
@@ -32,7 +32,7 @@ index acc1da4..9176640 100644
  test_programs += resources
  resources_SOURCES = resources.c
  nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
-@@ -543,7 +542,11 @@ if !ENABLE_INSTALLED_TESTS
+@@ -578,7 +577,11 @@ if !ENABLE_INSTALLED_TESTS
  libresourceplugin_la_LDFLAGS += -rpath /
  endif
  
@@ -44,7 +44,7 @@ index acc1da4..9176640 100644
  
  test-generated.txt: test1.txt
  	$(AM_V_GEN) echo "Generated" > $@ && \
-@@ -564,7 +567,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
+@@ -599,7 +602,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
  
  EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
  CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
@@ -53,10 +53,10 @@ index acc1da4..9176640 100644
  BUILT_SOURCES += giotypefuncs.inc
  
 diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
-index 656941d..68555ff 100644
+index 0e60987..927d13a 100644
 --- a/tests/gobject/Makefile.am
 +++ b/tests/gobject/Makefile.am
-@@ -48,10 +48,13 @@ if ENABLE_TIMELOOP
+@@ -51,10 +51,13 @@ if ENABLE_TIMELOOP
  installed_test_programs += timeloop-closure
  endif
  
@@ -72,14 +72,9 @@ index 656941d..68555ff 100644
  
  testmarshal.h: stamp-testmarshal.h
  	@true
-@@ -69,7 +72,6 @@ BUILT_SOURCES += testmarshal.h testmarshal.c
- CLEANFILES += stamp-testmarshal.h
+@@ -71,4 +74,3 @@ testmarshal.c: testmarshal.h testmarshal.list $(glib_genmarshal)
+ BUILT_SOURCES += testmarshal.h testmarshal.c
+ CLEANFILES += stamp-testmarshal.h testmarshal.h testmarshal.c
  EXTRA_DIST += testcommon.h testmarshal.list
- BUILT_EXTRA_DIST += testmarshal.h testmarshal.c
 -endif # !CROSS_COMPILING
- 
- dist-hook: $(BUILT_EXTRA_DIST)
- 	files='$(BUILT_EXTRA_DIST)';				\
--- 
-2.14.1
-
+\ No newline at end of file
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch b/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch
index 3d0c008..3040479 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch
@@ -1,4 +1,4 @@
-From c53e94a520b573aa0dcf12903e9563fe8badc34c Mon Sep 17 00:00:00 2001
+From 66e5fd5e870a2de04ec0f0c5dbfa23db496bad43 Mon Sep 17 00:00:00 2001
 From: Marius Avram <marius.avram@intel.com>
 Date: Wed, 27 Aug 2014 12:10:41 +0300
 Subject: [PATCH] Allow /run/media/sdX drive mount if username root
@@ -14,17 +14,18 @@ graphical applications such as the File Manager (pcmanfm).
 Upstream-Status: Inappropriate
 
 Signed-off-by: Marius Avram <marius.avram@intel.com>
+
 ---
- gio/gunixmounts.c |    5 +++++
+ gio/gunixmounts.c | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/gio/gunixmounts.c b/gio/gunixmounts.c
-index 4999354..f6c1472 100644
+index 355329c..6467fc5 100644
 --- a/gio/gunixmounts.c
 +++ b/gio/gunixmounts.c
-@@ -2136,6 +2136,11 @@ g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry)
-           mount_path[sizeof ("/run/media/") - 1 + user_name_len] == '/')
-         is_in_runtime_dir = TRUE;
+@@ -2745,6 +2745,11 @@ g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry)
+             is_in_runtime_dir = TRUE;
+         }
  
 +      /* Allow no username in path in /run/media if current user is root */
 +      if (strcmp(user_name, "root") == 0 &&
@@ -34,6 +35,3 @@ index 4999354..f6c1472 100644
        if (is_in_runtime_dir || g_str_has_prefix (mount_path, "/media/"))
          {
            char *path;
--- 
-1.7.9.5
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 0c8cbd7..f9794d3 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From c8fa58dc2e9322727ba21eafbe9a69a5f68ffd35 Mon Sep 17 00:00:00 2001
+From 8326961841f4d16c7239e747de11e3817c35cfd2 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 11 Mar 2016 15:35:55 +0000
 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -19,7 +19,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  1 file changed, 11 insertions(+), 1 deletion(-)
 
 diff --git a/gio/giomodule.c b/gio/giomodule.c
-index 1ead84c..f744aa2 100644
+index 36c0cef..912e490 100644
 --- a/gio/giomodule.c
 +++ b/gio/giomodule.c
 @@ -40,6 +40,8 @@
@@ -31,7 +31,7 @@ index 1ead84c..f744aa2 100644
  #endif
  #include <glib/gstdio.h>
  
-@@ -1083,7 +1085,15 @@ get_gio_module_dir (void)
+@@ -1099,7 +1101,15 @@ get_gio_module_dir (void)
  #endif
        g_free (install_dir);
  #else
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.56.1.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.56.1.bb
deleted file mode 100644
index 7bc437d..0000000
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.56.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require glib.inc
-
-PE = "1"
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
-           file://configure-libtool.patch \
-           file://run-ptest \
-           file://uclibc_musl_translation.patch \
-           file://allow-run-media-sdX-drive-mount-if-username-root.patch \
-           file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
-           file://Enable-more-tests-while-cross-compiling.patch \
-           file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
-           file://0001-Do-not-ignore-return-value-of-write.patch \
-           file://0001-Test-for-pthread_getname_np-before-using-it.patch \
-           file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
-           file://0001-glib-mkenums-Ignore-other-per-value-options-than-ski.patch \
-           "
-
-SRC_URI_append_class-native = " file://relocate-modules.patch"
-
-SRC_URI[md5sum] = "988af38524804ea1ae6bc9a2bad181ff"
-SRC_URI[sha256sum] = "40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb
new file mode 100644
index 0000000..92c7997
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb
@@ -0,0 +1,22 @@
+require glib.inc
+
+PE = "1"
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
+           file://configure-libtool.patch \
+           file://run-ptest \
+           file://uclibc_musl_translation.patch \
+           file://allow-run-media-sdX-drive-mount-if-username-root.patch \
+           file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
+           file://Enable-more-tests-while-cross-compiling.patch \
+           file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
+           file://0001-Do-not-ignore-return-value-of-write.patch \
+           file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
+           "
+
+SRC_URI_append_class-native = " file://relocate-modules.patch"
+
+SRC_URI[md5sum] = "9b5d21c802f55bf37171c4fbfe7d32d1"
+SRC_URI[sha256sum] = "c0f4ce0730b4f95c47b711613b5406a887c2ee13ea6d25930d72a4fa7fdb77f6"
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index d6d9133..6dab192 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -87,10 +87,10 @@ ARM_INSTRUCTION_SET_armv5 = "arm"
 CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1"
 
 # GLib generally requires gettext to be present so for USE_NLS to yes.  For
-# native builds as i18n is disabled globally we can tell it to use a fake msgfmt.
+# native builds as i18n is disabled globally we have to add a gettext-native dependency.
 USE_NLS_class-target = "yes"
 USE_NLS_class-nativesdk = "yes"
-CACHED_CONFIGUREVARS_append_class-native = " ac_cv_path_MSGFMT=/bin/false"
+DEPENDS_append_class-native = " gettext-native"
 
 EXEEXT = ""
 EXEEXT_mingw32 = ".exe"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 21/21] gobject-introspection: update to 1.58.0
  2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
                   ` (18 preceding siblings ...)
  2018-09-06 10:29 ` [PATCH 20/21] glib: update to 2.58.0 Alexander Kanavin
@ 2018-09-06 10:29 ` Alexander Kanavin
  2018-09-06 10:31   ` Alexander Kanavin
  19 siblings, 1 reply; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:29 UTC (permalink / raw)
  To: openembedded-core

License-Update: clarification of what parts of g-i are licensed under which license.
Actual terms are the same.

Add a patch to deal with prelink-rtld returning 127 in some cases despite there being no error.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...he-repository-directory-for-native-builds.patch |  12 +-
 ...ncomplete-upstream-attempt-at-cross-compi.patch |  12 +-
 ...01-giscanner-add-a-lib-dirs-envvar-option.patch |  16 +-
 ...gnore-error-return-codes-from-ldd-wrapper.patch |  27 +++
 ...c-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch |  43 ++---
 ...3-giscanner-add-use-binary-wrapper-option.patch |  14 +-
 ...04-giscanner-add-a-use-ldd-wrapper-option.patch |  16 +-
 ...config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch |  18 +-
 .../gobject-introspection_1.56.1.bb                | 196 --------------------
 .../gobject-introspection_1.58.0.bb                | 197 +++++++++++++++++++++
 10 files changed, 285 insertions(+), 266 deletions(-)
 create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
 delete mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
 create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb

diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
index 644cab9..ba85c31 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
@@ -1,4 +1,4 @@
-From 31ef4cce83c1770ea1e816d91b7e258fbf170035 Mon Sep 17 00:00:00 2001
+From 4cf37d56fddcc22bcd818f6d470404f56d907f3c Mon Sep 17 00:00:00 2001
 From: Sascha Silbe <x-yo17@se-silbe.de>
 Date: Fri, 8 Jun 2018 13:55:10 +0200
 Subject: [PATCH] Relocate the repository directory for native builds
@@ -14,12 +14,13 @@ cache or sstate mirror).
 
 Upstream-Status: Inappropriate
 Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
+
 ---
  girepository/girepository.c | 15 +++++++++++++--
  1 file changed, 13 insertions(+), 2 deletions(-)
 
 diff --git a/girepository/girepository.c b/girepository/girepository.c
-index 10282c72..60c45104 100644
+index c1fa3d3..efa557e 100644
 --- a/girepository/girepository.c
 +++ b/girepository/girepository.c
 @@ -21,6 +21,8 @@
@@ -40,7 +41,7 @@ index 10282c72..60c45104 100644
  /**
   * SECTION:girepository
   * @short_description: GObject Introspection repository manager
-@@ -191,9 +195,16 @@ init_globals (void)
+@@ -188,9 +192,16 @@ init_globals (void)
            g_free (custom_dirs);
          }
  
@@ -57,8 +58,5 @@ index 10282c72..60c45104 100644
 +        typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
 +      }
  
-       search_path = g_slist_prepend (search_path, typelib_dir);
+       typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
  
--- 
-2.11.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
index 9abaea7..86cd4ea 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
@@ -1,11 +1,12 @@
-From 3a9d1e5ee0aae56fafec0beba2014c19e4ff310c Mon Sep 17 00:00:00 2001
+From ca0fb17e268c176ac89df081b1efa4a42989f014 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 23 Mar 2016 17:07:28 +0200
-Subject: [PATCH 1/5] Revert an incomplete upstream attempt at cross-compile
+Subject: [PATCH] Revert an incomplete upstream attempt at cross-compile
  support
 
 Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  common.mk                | 4 ----
  giscanner/gdumpparser.py | 6 ------
@@ -29,10 +30,10 @@ index b778f7a..e26c637 100644
  
  INTROSPECTION_COMPILER_ARGS = \
 diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
-index 1134f33..9bdc2bc 100644
+index cd9d94d..b41772c 100644
 --- a/giscanner/gdumpparser.py
 +++ b/giscanner/gdumpparser.py
-@@ -162,12 +162,6 @@ blob containing data gleaned from GObject's primitive introspection."""
+@@ -161,12 +161,6 @@ blob containing data gleaned from GObject's primitive introspection."""
          out_path = os.path.join(self._binary.tmpdir, 'dump.xml')
  
          args = []
@@ -45,6 +46,3 @@ index 1134f33..9bdc2bc 100644
          args.extend(self._binary.args)
          args.append('--introspect-dump=%s,%s' % (in_path, out_path))
  
--- 
-2.7.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
index 4aa2e3c..e9338e9 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
@@ -1,4 +1,4 @@
-From 3875175563df28813c22b1de6bda260285f65cb0 Mon Sep 17 00:00:00 2001
+From 3fea5e83803f4cfef21b2e06e37a6ba56f2bb914 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 3 Jan 2018 17:02:01 +0200
 Subject: [PATCH] giscanner: add a --lib-dirs-envvar option
@@ -19,7 +19,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index d10327c..47f57c6 100644
+index c003828..8a8ba2b 100644
 --- a/giscanner/ccompiler.py
 +++ b/giscanner/ccompiler.py
 @@ -109,7 +109,7 @@ class CCompiler(object):
@@ -35,16 +35,16 @@ index d10327c..47f57c6 100644
          if os.name == 'nt':
              runtime_path_envvar = ['LIB', 'PATH']
          else:
--            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH']
-+            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
+-            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH']
++            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
              # Search the current directory first
              # (This flag is not supported nor needed for Visual C++)
              args.append('-L.')
 diff --git a/giscanner/dumper.py b/giscanner/dumper.py
-index 3c7220b..0abd565 100644
+index 2c668f5..2e515a0 100644
 --- a/giscanner/dumper.py
 +++ b/giscanner/dumper.py
-@@ -259,7 +259,8 @@ class DumpCompiler(object):
+@@ -249,7 +249,8 @@ class DumpCompiler(object):
                                                     libtool,
                                                     self._options.libraries,
                                                     self._options.extra_libraries,
@@ -55,10 +55,10 @@ index 3c7220b..0abd565 100644
  
          else:
 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index d262785..51c9570 100755
+index 5cb793e..87227e2 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -130,6 +130,9 @@ def _get_option_parser():
+@@ -132,6 +132,9 @@ def _get_option_parser():
      parser.add_option("", "--use-ldd-wrapper",
                        action="store", dest="ldd_wrapper", default=None,
                        help="wrapper to use instead of ldd (useful when cross-compiling)")
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
new file mode 100644
index 0000000..9167f04
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
@@ -0,0 +1,27 @@
+From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 5 Sep 2018 16:46:52 +0200
+Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper
+
+prelink-rtld, which we use instead of ldd returns 127 when it can't find a library.
+It is not an error per se, but it breaks subprocess.check_output().
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ giscanner/shlibs.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
+index 01d21a3..3bd3250 100644
+--- a/giscanner/shlibs.py
++++ b/giscanner/shlibs.py
+@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries):
+             args.extend(['otool', '-L', binary.args[0]])
+         else:
+             args.extend(['ldd', binary.args[0]])
+-        output = subprocess.check_output(args)
++        output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout
+         if isinstance(output, bytes):
+             output = output.decode("utf-8", "replace")
+ 
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
index c682b42..03ef2b0 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
@@ -1,8 +1,8 @@
-From b1503fe2693d602b3e24e4b832dc0934960d5d22 Mon Sep 17 00:00:00 2001
+From a28cc8413b68bec5b4cf2ee5f37b40a8965490a5 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Oct 2015 18:29:21 +0300
-Subject: [PATCH 2/5] configure.ac: add host-gi, gi-cross-wrapper,
- gi-ldd-wrapper and introspection-data options
+Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper
+ and introspection-data options
 
 With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner)
 that are already installed in the host system will be used for building the source tree.
@@ -25,6 +25,7 @@ These options are useful when cross-compiling for a different target architectur
 
 Upstream-Status: Pending [review on oe-core list]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  Makefile.am       |  2 ++
  common.mk         | 39 +++++++++++++++++++++++++++++++++++++++
@@ -32,10 +33,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  tests/Makefile.am |  5 ++++-
  4 files changed, 87 insertions(+), 1 deletion(-)
 
-Index: gobject-introspection-1.52.1/Makefile.am
-===================================================================
---- gobject-introspection-1.52.1.orig/Makefile.am
-+++ gobject-introspection-1.52.1/Makefile.am
+diff --git a/Makefile.am b/Makefile.am
+index 44ed115..2a1fa56 100644
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -21,7 +21,9 @@ include Makefile-cmph.am
  include Makefile-girepository.am
  include Makefile-giscanner.am
@@ -44,12 +45,12 @@ Index: gobject-introspection-1.52.1/Makefile.am
  include Makefile-gir.am
 +endif
  include Makefile-tools.am
- include Makefile-msvcproj.am
  
-Index: gobject-introspection-1.52.1/common.mk
-===================================================================
---- gobject-introspection-1.52.1.orig/common.mk
-+++ gobject-introspection-1.52.1/common.mk
+ ## Process this file with automake to produce Makefile.in
+diff --git a/common.mk b/common.mk
+index e26c637..9f3a65f 100644
+--- a/common.mk
++++ b/common.mk
 @@ -6,6 +6,15 @@
  # module itself.
  #
@@ -130,11 +131,11 @@ Index: gobject-introspection-1.52.1/common.mk
  
  INTROSPECTION_DOCTOOL_ARGS = \
      --add-include-path=$(srcdir) \
-Index: gobject-introspection-1.52.1/configure.ac
-===================================================================
---- gobject-introspection-1.52.1.orig/configure.ac
-+++ gobject-introspection-1.52.1/configure.ac
-@@ -366,6 +366,48 @@ dnl
+diff --git a/configure.ac b/configure.ac
+index d48e6c3..ed5f8a2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -367,6 +367,48 @@ dnl
  AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
  AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
  
@@ -183,10 +184,10 @@ Index: gobject-introspection-1.52.1/configure.ac
  AC_CONFIG_FILES([
  Makefile
  tests/Makefile
-Index: gobject-introspection-1.52.1/tests/Makefile.am
-===================================================================
---- gobject-introspection-1.52.1.orig/tests/Makefile.am
-+++ gobject-introspection-1.52.1/tests/Makefile.am
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 4bdb9c3..10b0f27 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
 @@ -1,6 +1,9 @@
  include $(top_srcdir)/common.mk
  
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
index f21eaca..45fe27a 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
@@ -1,7 +1,7 @@
-From 704b888d0abfb01067352c40156f49f655691c7c Mon Sep 17 00:00:00 2001
+From 46dbe963aa6435591c87e788cdb54bc0daeac42e Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Oct 2015 18:26:40 +0300
-Subject: [PATCH 3/5] giscanner: add --use-binary-wrapper option
+Subject: [PATCH] giscanner: add --use-binary-wrapper option
 
 With this option, giscanner will use a wrapper executable to run
 binaries it's producing, instead of running them directly. This
@@ -10,15 +10,16 @@ but they can be run using for example QEMU emulation.
 
 Upstream-Status: Pending [review on oe-core list]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  giscanner/scannermain.py | 14 ++++++++++++++
  1 file changed, 14 insertions(+)
 
 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 633496f..d684cd0 100755
+index ccb14e9..061def0 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -124,6 +124,9 @@ def _get_option_parser():
+@@ -126,6 +126,9 @@ def _get_option_parser():
      parser.add_option("", "--program",
                        action="store", dest="program", default=None,
                        help="program to execute")
@@ -28,7 +29,7 @@ index 633496f..d684cd0 100755
      parser.add_option("", "--program-arg",
                        action="append", dest="program_args", default=[],
                        help="extra arguments to program")
-@@ -419,6 +422,17 @@ def create_binary(transformer, options, args):
+@@ -418,6 +421,17 @@ def create_binary(transformer, options, args):
                                                gdump_parser.get_error_quark_functions())
  
      shlibs = resolve_shlibs(options, binary, options.libraries)
@@ -46,6 +47,3 @@ index 633496f..d684cd0 100755
      gdump_parser.set_introspection_binary(binary)
      gdump_parser.parse()
      return shlibs
--- 
-2.7.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
index afb71e7..2e36b64 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
@@ -1,23 +1,24 @@
-From d4ad57fd4a32c4f0d2f0522a3090ef940746431b Mon Sep 17 00:00:00 2001
+From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Oct 2015 16:28:46 +0200
-Subject: [PATCH 4/5] giscanner: add a --use-ldd-wrapper option
+Subject: [PATCH] giscanner: add a --use-ldd-wrapper option
 
 This is useful in cross-compile environments where system's ldd
 command does not work on binaries built for a different architecture
 
 Upstream-Status: Pending [review in oe-core]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  giscanner/scannermain.py | 3 +++
  giscanner/shlibs.py      | 4 +++-
  2 files changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index d684cd0..1b3b369 100755
+index 061def0..5cb793e 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -127,6 +127,9 @@ def _get_option_parser():
+@@ -129,6 +129,9 @@ def _get_option_parser():
      parser.add_option("", "--use-binary-wrapper",
                        action="store", dest="wrapper", default=None,
                        help="wrapper to use for running programs (useful when cross-compiling)")
@@ -28,10 +29,10 @@ index d684cd0..1b3b369 100755
                        action="append", dest="program_args", default=[],
                        help="extra arguments to program")
 diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index c93d20c..c5b5942 100644
+index 7b7b2d0..01d21a3 100644
 --- a/giscanner/shlibs.py
 +++ b/giscanner/shlibs.py
-@@ -105,7 +105,9 @@ def _resolve_non_libtool(options, binary, libraries):
+@@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries):
              args.extend(libtool)
              args.append('--mode=execute')
          platform_system = platform.system()
@@ -42,6 +43,3 @@ index c93d20c..c5b5942 100644
              args.extend(['otool', '-L', binary.args[0]])
          else:
              args.extend(['ldd', binary.args[0]])
--- 
-2.7.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
index 47a18ec..2a31117 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
@@ -1,7 +1,7 @@
-From e08b3677dd04d6ec407ba8f74f601b2d51310eff Mon Sep 17 00:00:00 2001
+From a97d060933932e478c03f1de9513b69bc459eefc Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 8 Oct 2015 18:30:35 +0300
-Subject: [PATCH 5/5] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
+Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
  environment variable
 
 This environment variable sets the location of sysroot directory in cross-compilation
@@ -9,16 +9,17 @@ environments; if the variable is not set, the prefix will be empty.
 
 Upstream-Status: Pending [review on oe-core list]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  Makefile-gir.am     | 18 +++++++++---------
  m4/introspection.m4 |  8 ++++----
  2 files changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/Makefile-gir.am b/Makefile-gir.am
-index a09260a..ba6e89e 100644
+index 2cd7358..eaf0afd 100644
 --- a/Makefile-gir.am
 +++ b/Makefile-gir.am
-@@ -55,8 +55,8 @@ else
+@@ -58,8 +58,8 @@ else
  endif
  
  # glib
@@ -29,7 +30,7 @@ index a09260a..ba6e89e 100644
  
  GLIB_LIBRARY=glib-2.0
  
-@@ -92,8 +92,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
+@@ -95,8 +95,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
  gir/DBusGLib-1.0.typelib: GObject-2.0.gir
  
  # gobject
@@ -40,7 +41,7 @@ index a09260a..ba6e89e 100644
  
  GOBJECT_LIBRARY=gobject-2.0
  
-@@ -120,8 +120,8 @@ GObject_2_0_gir_FILES = \
+@@ -123,8 +123,8 @@ GObject_2_0_gir_FILES = \
  BUILT_GIRSOURCES += GObject-2.0.gir
  
  # gmodule
@@ -51,7 +52,7 @@ index a09260a..ba6e89e 100644
  
  GMODULE_LIBRARY=gmodule-2.0
  
-@@ -146,13 +146,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
+@@ -149,13 +149,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
  BUILT_GIRSOURCES += GModule-2.0.gir
  
  # gio
@@ -91,6 +92,3 @@ index d89c3d9..b562266 100644
      fi
      AC_SUBST(INTROSPECTION_SCANNER)
      AC_SUBST(INTROSPECTION_COMPILER)
--- 
-2.7.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
deleted file mode 100644
index f347956..0000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
+++ /dev/null
@@ -1,196 +0,0 @@
-SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
-HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2+ & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6317a809f70ed9848fa5673121908586 \
-                    file://tools/compiler.c;md5=fc5007fc20022720e6c0b0cdde41fabd;endline=20 \
-                    file://giscanner/sourcescanner.c;md5=194d6e0c1d00662f32d030ce44de8d39;endline=22 \
-                    file://girepository/giregisteredtypeinfo.c;md5=661847611ae6979465415f31a759ba27;endline=21 \
-                    "
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
-           file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
-           file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
-           file://0003-giscanner-add-use-binary-wrapper-option.patch \
-           file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
-           file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
-           file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
-           "
-
-SRC_URI[md5sum] = "62e5f5685b8d9752fdeaf17c057d53d1"
-SRC_URI[sha256sum] = "5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d9ea24b"
-
-SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
-
-inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even
-
-DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native"
-
-# target build needs qemu to run temporary introspection binaries created
-# on the fly by g-ir-scanner and a native version of itself to run
-# native versions of its own tools during build.
-# Also prelink-rtld is used to find out library dependencies of introspection binaries
-# (standard ldd doesn't work when cross-compiling).
-DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
-
-# needed for writing out the qemu wrapper script
-export STAGING_DIR_HOST
-export B
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[doctool] = "--enable-doctool,--disable-doctool,python3-mako,"
-
-# Configure target build to use native tools of itself and to use a qemu wrapper
-# and optionally to generate introspection data
-EXTRA_OECONF_class-target = " \
-    --disable-static \
-    --enable-host-gi \
-    --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
-    --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
-    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
-"
-
-# Need to ensure ld.so.conf exists so prelink-native works
-# both before we build and if we install from sstate
-do_configure[prefuncs] += "gobject_introspection_preconfigure"
-python gobject_introspection_preconfigure () {
-    oe.utils.write_ld_so_conf(d)
-}
-
-do_configure_prepend_class-native() {
-        # Tweak the native python scripts so that they don't refer to the
-        # full path of native python binary (the solution is taken from glib-2.0 recipe)
-        # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
-        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
-}
-
-do_configure_prepend_class-target() {
-        # Write out a qemu wrapper that will be given to gi-scanner so that it
-        # can run target helper binaries through that.
-        qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
-        cat > ${B}/g-ir-scanner-qemuwrapper << EOF
-#!/bin/sh
-# Use a modules directory which doesn't exist so we don't load random things
-# which may then get deleted (or their dependencies) and potentially segfault
-export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
-
-$qemu_binary "\$@"
-if [ \$? -ne 0 ]; then
-    echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
-    echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
-    exit 1
-fi
-EOF
-        chmod +x ${B}/g-ir-scanner-qemuwrapper
-
-        # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
-        # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
-        # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory 
-        # from the target sysroot.
-        cat > ${B}/g-ir-scanner-wrapper << EOF
-#!/bin/sh
-# This prevents g-ir-scanner from writing cache data to $HOME
-export GI_SCANNER_DISABLE_CACHE=1
-
-g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 "\$@"
-EOF
-        chmod +x ${B}/g-ir-scanner-wrapper
-
-        # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
-        # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
-        cat > ${B}/g-ir-compiler-wrapper << EOF
-#!/bin/sh
-${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
-EOF
-        chmod +x ${B}/g-ir-compiler-wrapper
-
-        # Write out a wrapper to use instead of ldd, which does not work when a binary is built
-        # for a different architecture
-        cat > ${B}/g-ir-scanner-lddwrapper << EOF
-#!/bin/sh
-prelink-rtld --root=$STAGING_DIR_HOST "\$@"
-EOF
-        chmod +x ${B}/g-ir-scanner-lddwrapper
-
-        # Also tweak the target python scripts so that they don't refer to the
-        # native version of python binary (the solution is taken from glib-2.0 recipe)
-        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
-}
-
-do_compile_prepend() {
-        # This prevents g-ir-scanner from writing cache data to $HOME
-        export GI_SCANNER_DISABLE_CACHE=1
-
-        # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
-        export GIR_EXTRA_LIBS_PATH=$B/.libs
-}
-
-# Our wrappers need to be available system-wide, because they will be used 
-# to build introspection files for all other gobject-based packages
-do_install_append_class-target() {
-        install -d ${D}${bindir}/
-        install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
-        install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
-        install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
-        install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
-}
-
-# we need target versions of introspection tools in sysroot so that they can be run via qemu
-# when building introspection files in other packages
-SYSROOT_DIRS_append_class-target = " ${bindir}"
-
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
-gi_binaries_sysroot_preprocess() {
-        # Tweak the binary names in the introspection pkgconfig file, so that it
-        # picks up our wrappers which do the cross-compile and qemu magic.
-        sed -i \
-           -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
-           -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
-           ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
-}
-
-SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
-gi_ldsoconf_sysroot_preprocess () {
-	mkdir -p ${SYSROOT_DESTDIR}${bindir}
-	dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
-	echo "#!/bin/sh" > $dest
-	echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
-	echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
-	echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
-	chmod 755 $dest
-}
-
-# Remove wrapper files from the package, only used for cross-compiling
-PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
-gi_package_preprocess() {
-	rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
-	rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
-	rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
-	rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
-}
-
-SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
-
-# .typelib files are needed at runtime and so they go to the main package
-FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
-
-# .gir files go to dev package, as they're needed for developing (but not for running)
-# things that depends on introspection.
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir"
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
-
-# These are used by gobject-based packages
-# to generate transient introspection binaries
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
-                           ${datadir}/gobject-introspection-1.0/Makefile.introspection"
-
-# These are used by dependent packages (e.g. pygobject) to build their
-# testsuites.
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
-                           ${datadir}/gobject-introspection-1.0/tests/*.h"
-
-FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
-FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
new file mode 100644
index 0000000..de898a7
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
@@ -0,0 +1,197 @@
+SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
+HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
+                    file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
+                    file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
+                    file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
+                    "
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
+           file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
+           file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
+           file://0003-giscanner-add-use-binary-wrapper-option.patch \
+           file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
+           file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
+           file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
+           file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
+           "
+
+SRC_URI[md5sum] = "94fec875276262037bfcd51226db12fe"
+SRC_URI[sha256sum] = "27c1590a32749de0a5481ce897772547043e94bccba4bc0a7edb3d8513e401ec"
+
+SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
+
+inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even
+
+DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
+
+# target build needs qemu to run temporary introspection binaries created
+# on the fly by g-ir-scanner and a native version of itself to run
+# native versions of its own tools during build.
+# Also prelink-rtld is used to find out library dependencies of introspection binaries
+# (standard ldd doesn't work when cross-compiling).
+DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
+
+# needed for writing out the qemu wrapper script
+export STAGING_DIR_HOST
+export B
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[doctool] = "--enable-doctool,--disable-doctool,python3-mako,"
+
+# Configure target build to use native tools of itself and to use a qemu wrapper
+# and optionally to generate introspection data
+EXTRA_OECONF_class-target = " \
+    --disable-static \
+    --enable-host-gi \
+    --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
+    --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
+    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
+"
+
+# Need to ensure ld.so.conf exists so prelink-native works
+# both before we build and if we install from sstate
+do_configure[prefuncs] += "gobject_introspection_preconfigure"
+python gobject_introspection_preconfigure () {
+    oe.utils.write_ld_so_conf(d)
+}
+
+do_configure_prepend_class-native() {
+        # Tweak the native python scripts so that they don't refer to the
+        # full path of native python binary (the solution is taken from glib-2.0 recipe)
+        # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
+        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
+}
+
+do_configure_prepend_class-target() {
+        # Write out a qemu wrapper that will be given to gi-scanner so that it
+        # can run target helper binaries through that.
+        qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
+        cat > ${B}/g-ir-scanner-qemuwrapper << EOF
+#!/bin/sh
+# Use a modules directory which doesn't exist so we don't load random things
+# which may then get deleted (or their dependencies) and potentially segfault
+export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
+
+$qemu_binary "\$@"
+if [ \$? -ne 0 ]; then
+    echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
+    echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
+    exit 1
+fi
+EOF
+        chmod +x ${B}/g-ir-scanner-qemuwrapper
+
+        # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
+        # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
+        # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory 
+        # from the target sysroot.
+        cat > ${B}/g-ir-scanner-wrapper << EOF
+#!/bin/sh
+# This prevents g-ir-scanner from writing cache data to $HOME
+export GI_SCANNER_DISABLE_CACHE=1
+
+g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 "\$@"
+EOF
+        chmod +x ${B}/g-ir-scanner-wrapper
+
+        # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
+        # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
+        cat > ${B}/g-ir-compiler-wrapper << EOF
+#!/bin/sh
+${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
+EOF
+        chmod +x ${B}/g-ir-compiler-wrapper
+
+        # Write out a wrapper to use instead of ldd, which does not work when a binary is built
+        # for a different architecture
+        cat > ${B}/g-ir-scanner-lddwrapper << EOF
+#!/bin/sh
+prelink-rtld --root=$STAGING_DIR_HOST "\$@"
+EOF
+        chmod +x ${B}/g-ir-scanner-lddwrapper
+
+        # Also tweak the target python scripts so that they don't refer to the
+        # native version of python binary (the solution is taken from glib-2.0 recipe)
+        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
+}
+
+do_compile_prepend() {
+        # This prevents g-ir-scanner from writing cache data to $HOME
+        export GI_SCANNER_DISABLE_CACHE=1
+
+        # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
+        export GIR_EXTRA_LIBS_PATH=$B/.libs
+}
+
+# Our wrappers need to be available system-wide, because they will be used 
+# to build introspection files for all other gobject-based packages
+do_install_append_class-target() {
+        install -d ${D}${bindir}/
+        install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
+        install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
+        install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
+        install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
+}
+
+# we need target versions of introspection tools in sysroot so that they can be run via qemu
+# when building introspection files in other packages
+SYSROOT_DIRS_append_class-target = " ${bindir}"
+
+SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
+gi_binaries_sysroot_preprocess() {
+        # Tweak the binary names in the introspection pkgconfig file, so that it
+        # picks up our wrappers which do the cross-compile and qemu magic.
+        sed -i \
+           -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
+           -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
+           ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
+}
+
+SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
+gi_ldsoconf_sysroot_preprocess () {
+	mkdir -p ${SYSROOT_DESTDIR}${bindir}
+	dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
+	echo "#!/bin/sh" > $dest
+	echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
+	echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
+	echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
+	chmod 755 $dest
+}
+
+# Remove wrapper files from the package, only used for cross-compiling
+PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
+gi_package_preprocess() {
+	rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
+	rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
+	rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
+	rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
+}
+
+SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
+
+# .typelib files are needed at runtime and so they go to the main package
+FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
+
+# .gir files go to dev package, as they're needed for developing (but not for running)
+# things that depends on introspection.
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir"
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
+
+# These are used by gobject-based packages
+# to generate transient introspection binaries
+FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
+                           ${datadir}/gobject-introspection-1.0/Makefile.introspection"
+
+# These are used by dependent packages (e.g. pygobject) to build their
+# testsuites.
+FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
+                           ${datadir}/gobject-introspection-1.0/tests/*.h"
+
+FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
+FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
+
+BBCLASSEXTEND = "native"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH 21/21] gobject-introspection: update to 1.58.0
  2018-09-06 10:29 ` [PATCH 21/21] gobject-introspection: update to 1.58.0 Alexander Kanavin
@ 2018-09-06 10:31   ` Alexander Kanavin
  0 siblings, 0 replies; 22+ messages in thread
From: Alexander Kanavin @ 2018-09-06 10:31 UTC (permalink / raw)
  To: OE-core

Apologies for lack of rename detection. I'll fix and resend.

Alex

2018-09-06 12:29 GMT+02:00 Alexander Kanavin <alex.kanavin@gmail.com>:
> License-Update: clarification of what parts of g-i are licensed under which license.
> Actual terms are the same.
>
> Add a patch to deal with prelink-rtld returning 127 in some cases despite there being no error.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  ...he-repository-directory-for-native-builds.patch |  12 +-
>  ...ncomplete-upstream-attempt-at-cross-compi.patch |  12 +-
>  ...01-giscanner-add-a-lib-dirs-envvar-option.patch |  16 +-
>  ...gnore-error-return-codes-from-ldd-wrapper.patch |  27 +++
>  ...c-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch |  43 ++---
>  ...3-giscanner-add-use-binary-wrapper-option.patch |  14 +-
>  ...04-giscanner-add-a-use-ldd-wrapper-option.patch |  16 +-
>  ...config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch |  18 +-
>  .../gobject-introspection_1.56.1.bb                | 196 --------------------
>  .../gobject-introspection_1.58.0.bb                | 197 +++++++++++++++++++++
>  10 files changed, 285 insertions(+), 266 deletions(-)
>  create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
>  delete mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
>  create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
>
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
> index 644cab9..ba85c31 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
> @@ -1,4 +1,4 @@
> -From 31ef4cce83c1770ea1e816d91b7e258fbf170035 Mon Sep 17 00:00:00 2001
> +From 4cf37d56fddcc22bcd818f6d470404f56d907f3c Mon Sep 17 00:00:00 2001
>  From: Sascha Silbe <x-yo17@se-silbe.de>
>  Date: Fri, 8 Jun 2018 13:55:10 +0200
>  Subject: [PATCH] Relocate the repository directory for native builds
> @@ -14,12 +14,13 @@ cache or sstate mirror).
>
>  Upstream-Status: Inappropriate
>  Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
> +
>  ---
>   girepository/girepository.c | 15 +++++++++++++--
>   1 file changed, 13 insertions(+), 2 deletions(-)
>
>  diff --git a/girepository/girepository.c b/girepository/girepository.c
> -index 10282c72..60c45104 100644
> +index c1fa3d3..efa557e 100644
>  --- a/girepository/girepository.c
>  +++ b/girepository/girepository.c
>  @@ -21,6 +21,8 @@
> @@ -40,7 +41,7 @@ index 10282c72..60c45104 100644
>   /**
>    * SECTION:girepository
>    * @short_description: GObject Introspection repository manager
> -@@ -191,9 +195,16 @@ init_globals (void)
> +@@ -188,9 +192,16 @@ init_globals (void)
>             g_free (custom_dirs);
>           }
>
> @@ -57,8 +58,5 @@ index 10282c72..60c45104 100644
>  +        typelib_dir = g_build_filename (libdir, "girepository-1.0", NULL);
>  +      }
>
> -       search_path = g_slist_prepend (search_path, typelib_dir);
> +       typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
>
> ---
> -2.11.0
> -
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
> index 9abaea7..86cd4ea 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
> @@ -1,11 +1,12 @@
> -From 3a9d1e5ee0aae56fafec0beba2014c19e4ff310c Mon Sep 17 00:00:00 2001
> +From ca0fb17e268c176ac89df081b1efa4a42989f014 Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Wed, 23 Mar 2016 17:07:28 +0200
> -Subject: [PATCH 1/5] Revert an incomplete upstream attempt at cross-compile
> +Subject: [PATCH] Revert an incomplete upstream attempt at cross-compile
>   support
>
>  Upstream-Status: Pending
>  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
>  ---
>   common.mk                | 4 ----
>   giscanner/gdumpparser.py | 6 ------
> @@ -29,10 +30,10 @@ index b778f7a..e26c637 100644
>
>   INTROSPECTION_COMPILER_ARGS = \
>  diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
> -index 1134f33..9bdc2bc 100644
> +index cd9d94d..b41772c 100644
>  --- a/giscanner/gdumpparser.py
>  +++ b/giscanner/gdumpparser.py
> -@@ -162,12 +162,6 @@ blob containing data gleaned from GObject's primitive introspection."""
> +@@ -161,12 +161,6 @@ blob containing data gleaned from GObject's primitive introspection."""
>           out_path = os.path.join(self._binary.tmpdir, 'dump.xml')
>
>           args = []
> @@ -45,6 +46,3 @@ index 1134f33..9bdc2bc 100644
>           args.extend(self._binary.args)
>           args.append('--introspect-dump=%s,%s' % (in_path, out_path))
>
> ---
> -2.7.0
> -
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
> index 4aa2e3c..e9338e9 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
> @@ -1,4 +1,4 @@
> -From 3875175563df28813c22b1de6bda260285f65cb0 Mon Sep 17 00:00:00 2001
> +From 3fea5e83803f4cfef21b2e06e37a6ba56f2bb914 Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Wed, 3 Jan 2018 17:02:01 +0200
>  Subject: [PATCH] giscanner: add a --lib-dirs-envvar option
> @@ -19,7 +19,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>   3 files changed, 7 insertions(+), 3 deletions(-)
>
>  diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
> -index d10327c..47f57c6 100644
> +index c003828..8a8ba2b 100644
>  --- a/giscanner/ccompiler.py
>  +++ b/giscanner/ccompiler.py
>  @@ -109,7 +109,7 @@ class CCompiler(object):
> @@ -35,16 +35,16 @@ index d10327c..47f57c6 100644
>           if os.name == 'nt':
>               runtime_path_envvar = ['LIB', 'PATH']
>           else:
> --            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH']
> -+            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
> +-            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH']
> ++            runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
>               # Search the current directory first
>               # (This flag is not supported nor needed for Visual C++)
>               args.append('-L.')
>  diff --git a/giscanner/dumper.py b/giscanner/dumper.py
> -index 3c7220b..0abd565 100644
> +index 2c668f5..2e515a0 100644
>  --- a/giscanner/dumper.py
>  +++ b/giscanner/dumper.py
> -@@ -259,7 +259,8 @@ class DumpCompiler(object):
> +@@ -249,7 +249,8 @@ class DumpCompiler(object):
>                                                      libtool,
>                                                      self._options.libraries,
>                                                      self._options.extra_libraries,
> @@ -55,10 +55,10 @@ index 3c7220b..0abd565 100644
>
>           else:
>  diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
> -index d262785..51c9570 100755
> +index 5cb793e..87227e2 100644
>  --- a/giscanner/scannermain.py
>  +++ b/giscanner/scannermain.py
> -@@ -130,6 +130,9 @@ def _get_option_parser():
> +@@ -132,6 +132,9 @@ def _get_option_parser():
>       parser.add_option("", "--use-ldd-wrapper",
>                         action="store", dest="ldd_wrapper", default=None,
>                         help="wrapper to use instead of ldd (useful when cross-compiling)")
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
> new file mode 100644
> index 0000000..9167f04
> --- /dev/null
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
> @@ -0,0 +1,27 @@
> +From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Wed, 5 Sep 2018 16:46:52 +0200
> +Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper
> +
> +prelink-rtld, which we use instead of ldd returns 127 when it can't find a library.
> +It is not an error per se, but it breaks subprocess.check_output().
> +
> +Upstream-Status: Inappropriate [oe-core specific]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + giscanner/shlibs.py | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
> +index 01d21a3..3bd3250 100644
> +--- a/giscanner/shlibs.py
> ++++ b/giscanner/shlibs.py
> +@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries):
> +             args.extend(['otool', '-L', binary.args[0]])
> +         else:
> +             args.extend(['ldd', binary.args[0]])
> +-        output = subprocess.check_output(args)
> ++        output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout
> +         if isinstance(output, bytes):
> +             output = output.decode("utf-8", "replace")
> +
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
> index c682b42..03ef2b0 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
> @@ -1,8 +1,8 @@
> -From b1503fe2693d602b3e24e4b832dc0934960d5d22 Mon Sep 17 00:00:00 2001
> +From a28cc8413b68bec5b4cf2ee5f37b40a8965490a5 Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Mon, 19 Oct 2015 18:29:21 +0300
> -Subject: [PATCH 2/5] configure.ac: add host-gi, gi-cross-wrapper,
> - gi-ldd-wrapper and introspection-data options
> +Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper
> + and introspection-data options
>
>  With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner)
>  that are already installed in the host system will be used for building the source tree.
> @@ -25,6 +25,7 @@ These options are useful when cross-compiling for a different target architectur
>
>  Upstream-Status: Pending [review on oe-core list]
>  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
>  ---
>   Makefile.am       |  2 ++
>   common.mk         | 39 +++++++++++++++++++++++++++++++++++++++
> @@ -32,10 +33,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>   tests/Makefile.am |  5 ++++-
>   4 files changed, 87 insertions(+), 1 deletion(-)
>
> -Index: gobject-introspection-1.52.1/Makefile.am
> -===================================================================
> ---- gobject-introspection-1.52.1.orig/Makefile.am
> -+++ gobject-introspection-1.52.1/Makefile.am
> +diff --git a/Makefile.am b/Makefile.am
> +index 44ed115..2a1fa56 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
>  @@ -21,7 +21,9 @@ include Makefile-cmph.am
>   include Makefile-girepository.am
>   include Makefile-giscanner.am
> @@ -44,12 +45,12 @@ Index: gobject-introspection-1.52.1/Makefile.am
>   include Makefile-gir.am
>  +endif
>   include Makefile-tools.am
> - include Makefile-msvcproj.am
>
> -Index: gobject-introspection-1.52.1/common.mk
> -===================================================================
> ---- gobject-introspection-1.52.1.orig/common.mk
> -+++ gobject-introspection-1.52.1/common.mk
> + ## Process this file with automake to produce Makefile.in
> +diff --git a/common.mk b/common.mk
> +index e26c637..9f3a65f 100644
> +--- a/common.mk
> ++++ b/common.mk
>  @@ -6,6 +6,15 @@
>   # module itself.
>   #
> @@ -130,11 +131,11 @@ Index: gobject-introspection-1.52.1/common.mk
>
>   INTROSPECTION_DOCTOOL_ARGS = \
>       --add-include-path=$(srcdir) \
> -Index: gobject-introspection-1.52.1/configure.ac
> -===================================================================
> ---- gobject-introspection-1.52.1.orig/configure.ac
> -+++ gobject-introspection-1.52.1/configure.ac
> -@@ -366,6 +366,48 @@ dnl
> +diff --git a/configure.ac b/configure.ac
> +index d48e6c3..ed5f8a2 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -367,6 +367,48 @@ dnl
>   AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
>   AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
>
> @@ -183,10 +184,10 @@ Index: gobject-introspection-1.52.1/configure.ac
>   AC_CONFIG_FILES([
>   Makefile
>   tests/Makefile
> -Index: gobject-introspection-1.52.1/tests/Makefile.am
> -===================================================================
> ---- gobject-introspection-1.52.1.orig/tests/Makefile.am
> -+++ gobject-introspection-1.52.1/tests/Makefile.am
> +diff --git a/tests/Makefile.am b/tests/Makefile.am
> +index 4bdb9c3..10b0f27 100644
> +--- a/tests/Makefile.am
> ++++ b/tests/Makefile.am
>  @@ -1,6 +1,9 @@
>   include $(top_srcdir)/common.mk
>
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
> index f21eaca..45fe27a 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
> @@ -1,7 +1,7 @@
> -From 704b888d0abfb01067352c40156f49f655691c7c Mon Sep 17 00:00:00 2001
> +From 46dbe963aa6435591c87e788cdb54bc0daeac42e Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Mon, 19 Oct 2015 18:26:40 +0300
> -Subject: [PATCH 3/5] giscanner: add --use-binary-wrapper option
> +Subject: [PATCH] giscanner: add --use-binary-wrapper option
>
>  With this option, giscanner will use a wrapper executable to run
>  binaries it's producing, instead of running them directly. This
> @@ -10,15 +10,16 @@ but they can be run using for example QEMU emulation.
>
>  Upstream-Status: Pending [review on oe-core list]
>  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
>  ---
>   giscanner/scannermain.py | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
>
>  diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
> -index 633496f..d684cd0 100755
> +index ccb14e9..061def0 100644
>  --- a/giscanner/scannermain.py
>  +++ b/giscanner/scannermain.py
> -@@ -124,6 +124,9 @@ def _get_option_parser():
> +@@ -126,6 +126,9 @@ def _get_option_parser():
>       parser.add_option("", "--program",
>                         action="store", dest="program", default=None,
>                         help="program to execute")
> @@ -28,7 +29,7 @@ index 633496f..d684cd0 100755
>       parser.add_option("", "--program-arg",
>                         action="append", dest="program_args", default=[],
>                         help="extra arguments to program")
> -@@ -419,6 +422,17 @@ def create_binary(transformer, options, args):
> +@@ -418,6 +421,17 @@ def create_binary(transformer, options, args):
>                                                 gdump_parser.get_error_quark_functions())
>
>       shlibs = resolve_shlibs(options, binary, options.libraries)
> @@ -46,6 +47,3 @@ index 633496f..d684cd0 100755
>       gdump_parser.set_introspection_binary(binary)
>       gdump_parser.parse()
>       return shlibs
> ---
> -2.7.0
> -
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
> index afb71e7..2e36b64 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
> @@ -1,23 +1,24 @@
> -From d4ad57fd4a32c4f0d2f0522a3090ef940746431b Mon Sep 17 00:00:00 2001
> +From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Fri, 30 Oct 2015 16:28:46 +0200
> -Subject: [PATCH 4/5] giscanner: add a --use-ldd-wrapper option
> +Subject: [PATCH] giscanner: add a --use-ldd-wrapper option
>
>  This is useful in cross-compile environments where system's ldd
>  command does not work on binaries built for a different architecture
>
>  Upstream-Status: Pending [review in oe-core]
>  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
>  ---
>   giscanner/scannermain.py | 3 +++
>   giscanner/shlibs.py      | 4 +++-
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
>  diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
> -index d684cd0..1b3b369 100755
> +index 061def0..5cb793e 100644
>  --- a/giscanner/scannermain.py
>  +++ b/giscanner/scannermain.py
> -@@ -127,6 +127,9 @@ def _get_option_parser():
> +@@ -129,6 +129,9 @@ def _get_option_parser():
>       parser.add_option("", "--use-binary-wrapper",
>                         action="store", dest="wrapper", default=None,
>                         help="wrapper to use for running programs (useful when cross-compiling)")
> @@ -28,10 +29,10 @@ index d684cd0..1b3b369 100755
>                         action="append", dest="program_args", default=[],
>                         help="extra arguments to program")
>  diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
> -index c93d20c..c5b5942 100644
> +index 7b7b2d0..01d21a3 100644
>  --- a/giscanner/shlibs.py
>  +++ b/giscanner/shlibs.py
> -@@ -105,7 +105,9 @@ def _resolve_non_libtool(options, binary, libraries):
> +@@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries):
>               args.extend(libtool)
>               args.append('--mode=execute')
>           platform_system = platform.system()
> @@ -42,6 +43,3 @@ index c93d20c..c5b5942 100644
>               args.extend(['otool', '-L', binary.args[0]])
>           else:
>               args.extend(['ldd', binary.args[0]])
> ---
> -2.7.0
> -
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
> index 47a18ec..2a31117 100644
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
> @@ -1,7 +1,7 @@
> -From e08b3677dd04d6ec407ba8f74f601b2d51310eff Mon Sep 17 00:00:00 2001
> +From a97d060933932e478c03f1de9513b69bc459eefc Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Thu, 8 Oct 2015 18:30:35 +0300
> -Subject: [PATCH 5/5] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
> +Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
>   environment variable
>
>  This environment variable sets the location of sysroot directory in cross-compilation
> @@ -9,16 +9,17 @@ environments; if the variable is not set, the prefix will be empty.
>
>  Upstream-Status: Pending [review on oe-core list]
>  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
>  ---
>   Makefile-gir.am     | 18 +++++++++---------
>   m4/introspection.m4 |  8 ++++----
>   2 files changed, 13 insertions(+), 13 deletions(-)
>
>  diff --git a/Makefile-gir.am b/Makefile-gir.am
> -index a09260a..ba6e89e 100644
> +index 2cd7358..eaf0afd 100644
>  --- a/Makefile-gir.am
>  +++ b/Makefile-gir.am
> -@@ -55,8 +55,8 @@ else
> +@@ -58,8 +58,8 @@ else
>   endif
>
>   # glib
> @@ -29,7 +30,7 @@ index a09260a..ba6e89e 100644
>
>   GLIB_LIBRARY=glib-2.0
>
> -@@ -92,8 +92,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
> +@@ -95,8 +95,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
>   gir/DBusGLib-1.0.typelib: GObject-2.0.gir
>
>   # gobject
> @@ -40,7 +41,7 @@ index a09260a..ba6e89e 100644
>
>   GOBJECT_LIBRARY=gobject-2.0
>
> -@@ -120,8 +120,8 @@ GObject_2_0_gir_FILES = \
> +@@ -123,8 +123,8 @@ GObject_2_0_gir_FILES = \
>   BUILT_GIRSOURCES += GObject-2.0.gir
>
>   # gmodule
> @@ -51,7 +52,7 @@ index a09260a..ba6e89e 100644
>
>   GMODULE_LIBRARY=gmodule-2.0
>
> -@@ -146,13 +146,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
> +@@ -149,13 +149,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
>   BUILT_GIRSOURCES += GModule-2.0.gir
>
>   # gio
> @@ -91,6 +92,3 @@ index d89c3d9..b562266 100644
>       fi
>       AC_SUBST(INTROSPECTION_SCANNER)
>       AC_SUBST(INTROSPECTION_COMPILER)
> ---
> -2.7.0
> -
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
> deleted file mode 100644
> index f347956..0000000
> --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
> +++ /dev/null
> @@ -1,196 +0,0 @@
> -SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
> -HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
> -BUGTRACKER = "https://bugzilla.gnome.org/"
> -SECTION = "libs"
> -LICENSE = "LGPLv2+ & GPLv2+"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=6317a809f70ed9848fa5673121908586 \
> -                    file://tools/compiler.c;md5=fc5007fc20022720e6c0b0cdde41fabd;endline=20 \
> -                    file://giscanner/sourcescanner.c;md5=194d6e0c1d00662f32d030ce44de8d39;endline=22 \
> -                    file://girepository/giregisteredtypeinfo.c;md5=661847611ae6979465415f31a759ba27;endline=21 \
> -                    "
> -
> -SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
> -           file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
> -           file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
> -           file://0003-giscanner-add-use-binary-wrapper-option.patch \
> -           file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
> -           file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
> -           file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
> -           "
> -
> -SRC_URI[md5sum] = "62e5f5685b8d9752fdeaf17c057d53d1"
> -SRC_URI[sha256sum] = "5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d9ea24b"
> -
> -SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
> -
> -inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even
> -
> -DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native"
> -
> -# target build needs qemu to run temporary introspection binaries created
> -# on the fly by g-ir-scanner and a native version of itself to run
> -# native versions of its own tools during build.
> -# Also prelink-rtld is used to find out library dependencies of introspection binaries
> -# (standard ldd doesn't work when cross-compiling).
> -DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
> -
> -# needed for writing out the qemu wrapper script
> -export STAGING_DIR_HOST
> -export B
> -
> -PACKAGECONFIG ?= ""
> -PACKAGECONFIG[doctool] = "--enable-doctool,--disable-doctool,python3-mako,"
> -
> -# Configure target build to use native tools of itself and to use a qemu wrapper
> -# and optionally to generate introspection data
> -EXTRA_OECONF_class-target = " \
> -    --disable-static \
> -    --enable-host-gi \
> -    --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
> -    --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
> -    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
> -"
> -
> -# Need to ensure ld.so.conf exists so prelink-native works
> -# both before we build and if we install from sstate
> -do_configure[prefuncs] += "gobject_introspection_preconfigure"
> -python gobject_introspection_preconfigure () {
> -    oe.utils.write_ld_so_conf(d)
> -}
> -
> -do_configure_prepend_class-native() {
> -        # Tweak the native python scripts so that they don't refer to the
> -        # full path of native python binary (the solution is taken from glib-2.0 recipe)
> -        # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
> -        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
> -}
> -
> -do_configure_prepend_class-target() {
> -        # Write out a qemu wrapper that will be given to gi-scanner so that it
> -        # can run target helper binaries through that.
> -        qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
> -        cat > ${B}/g-ir-scanner-qemuwrapper << EOF
> -#!/bin/sh
> -# Use a modules directory which doesn't exist so we don't load random things
> -# which may then get deleted (or their dependencies) and potentially segfault
> -export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
> -
> -$qemu_binary "\$@"
> -if [ \$? -ne 0 ]; then
> -    echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
> -    echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
> -    exit 1
> -fi
> -EOF
> -        chmod +x ${B}/g-ir-scanner-qemuwrapper
> -
> -        # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
> -        # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
> -        # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
> -        # from the target sysroot.
> -        cat > ${B}/g-ir-scanner-wrapper << EOF
> -#!/bin/sh
> -# This prevents g-ir-scanner from writing cache data to $HOME
> -export GI_SCANNER_DISABLE_CACHE=1
> -
> -g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 "\$@"
> -EOF
> -        chmod +x ${B}/g-ir-scanner-wrapper
> -
> -        # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
> -        # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
> -        cat > ${B}/g-ir-compiler-wrapper << EOF
> -#!/bin/sh
> -${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
> -EOF
> -        chmod +x ${B}/g-ir-compiler-wrapper
> -
> -        # Write out a wrapper to use instead of ldd, which does not work when a binary is built
> -        # for a different architecture
> -        cat > ${B}/g-ir-scanner-lddwrapper << EOF
> -#!/bin/sh
> -prelink-rtld --root=$STAGING_DIR_HOST "\$@"
> -EOF
> -        chmod +x ${B}/g-ir-scanner-lddwrapper
> -
> -        # Also tweak the target python scripts so that they don't refer to the
> -        # native version of python binary (the solution is taken from glib-2.0 recipe)
> -        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
> -}
> -
> -do_compile_prepend() {
> -        # This prevents g-ir-scanner from writing cache data to $HOME
> -        export GI_SCANNER_DISABLE_CACHE=1
> -
> -        # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
> -        export GIR_EXTRA_LIBS_PATH=$B/.libs
> -}
> -
> -# Our wrappers need to be available system-wide, because they will be used
> -# to build introspection files for all other gobject-based packages
> -do_install_append_class-target() {
> -        install -d ${D}${bindir}/
> -        install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
> -        install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
> -        install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
> -        install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
> -}
> -
> -# we need target versions of introspection tools in sysroot so that they can be run via qemu
> -# when building introspection files in other packages
> -SYSROOT_DIRS_append_class-target = " ${bindir}"
> -
> -SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
> -gi_binaries_sysroot_preprocess() {
> -        # Tweak the binary names in the introspection pkgconfig file, so that it
> -        # picks up our wrappers which do the cross-compile and qemu magic.
> -        sed -i \
> -           -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
> -           -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
> -           ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
> -}
> -
> -SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
> -gi_ldsoconf_sysroot_preprocess () {
> -       mkdir -p ${SYSROOT_DESTDIR}${bindir}
> -       dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
> -       echo "#!/bin/sh" > $dest
> -       echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
> -       echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
> -       echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
> -       chmod 755 $dest
> -}
> -
> -# Remove wrapper files from the package, only used for cross-compiling
> -PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
> -gi_package_preprocess() {
> -       rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
> -       rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
> -       rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
> -       rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
> -}
> -
> -SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
> -
> -# .typelib files are needed at runtime and so they go to the main package
> -FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
> -
> -# .gir files go to dev package, as they're needed for developing (but not for running)
> -# things that depends on introspection.
> -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir"
> -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
> -
> -# These are used by gobject-based packages
> -# to generate transient introspection binaries
> -FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
> -                           ${datadir}/gobject-introspection-1.0/Makefile.introspection"
> -
> -# These are used by dependent packages (e.g. pygobject) to build their
> -# testsuites.
> -FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
> -                           ${datadir}/gobject-introspection-1.0/tests/*.h"
> -
> -FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
> -FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
> -
> -BBCLASSEXTEND = "native"
> diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
> new file mode 100644
> index 0000000..de898a7
> --- /dev/null
> +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
> @@ -0,0 +1,197 @@
> +SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
> +HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
> +BUGTRACKER = "https://bugzilla.gnome.org/"
> +SECTION = "libs"
> +LICENSE = "LGPLv2+ & GPLv2+"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
> +                    file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
> +                    file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
> +                    file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
> +                    "
> +
> +SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
> +           file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
> +           file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
> +           file://0003-giscanner-add-use-binary-wrapper-option.patch \
> +           file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
> +           file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
> +           file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
> +           file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
> +           "
> +
> +SRC_URI[md5sum] = "94fec875276262037bfcd51226db12fe"
> +SRC_URI[sha256sum] = "27c1590a32749de0a5481ce897772547043e94bccba4bc0a7edb3d8513e401ec"
> +
> +SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
> +
> +inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even
> +
> +DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
> +
> +# target build needs qemu to run temporary introspection binaries created
> +# on the fly by g-ir-scanner and a native version of itself to run
> +# native versions of its own tools during build.
> +# Also prelink-rtld is used to find out library dependencies of introspection binaries
> +# (standard ldd doesn't work when cross-compiling).
> +DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
> +
> +# needed for writing out the qemu wrapper script
> +export STAGING_DIR_HOST
> +export B
> +
> +PACKAGECONFIG ?= ""
> +PACKAGECONFIG[doctool] = "--enable-doctool,--disable-doctool,python3-mako,"
> +
> +# Configure target build to use native tools of itself and to use a qemu wrapper
> +# and optionally to generate introspection data
> +EXTRA_OECONF_class-target = " \
> +    --disable-static \
> +    --enable-host-gi \
> +    --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
> +    --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
> +    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
> +"
> +
> +# Need to ensure ld.so.conf exists so prelink-native works
> +# both before we build and if we install from sstate
> +do_configure[prefuncs] += "gobject_introspection_preconfigure"
> +python gobject_introspection_preconfigure () {
> +    oe.utils.write_ld_so_conf(d)
> +}
> +
> +do_configure_prepend_class-native() {
> +        # Tweak the native python scripts so that they don't refer to the
> +        # full path of native python binary (the solution is taken from glib-2.0 recipe)
> +        # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
> +        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
> +}
> +
> +do_configure_prepend_class-target() {
> +        # Write out a qemu wrapper that will be given to gi-scanner so that it
> +        # can run target helper binaries through that.
> +        qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
> +        cat > ${B}/g-ir-scanner-qemuwrapper << EOF
> +#!/bin/sh
> +# Use a modules directory which doesn't exist so we don't load random things
> +# which may then get deleted (or their dependencies) and potentially segfault
> +export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
> +
> +$qemu_binary "\$@"
> +if [ \$? -ne 0 ]; then
> +    echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
> +    echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
> +    exit 1
> +fi
> +EOF
> +        chmod +x ${B}/g-ir-scanner-qemuwrapper
> +
> +        # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
> +        # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
> +        # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
> +        # from the target sysroot.
> +        cat > ${B}/g-ir-scanner-wrapper << EOF
> +#!/bin/sh
> +# This prevents g-ir-scanner from writing cache data to $HOME
> +export GI_SCANNER_DISABLE_CACHE=1
> +
> +g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 "\$@"
> +EOF
> +        chmod +x ${B}/g-ir-scanner-wrapper
> +
> +        # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
> +        # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
> +        cat > ${B}/g-ir-compiler-wrapper << EOF
> +#!/bin/sh
> +${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
> +EOF
> +        chmod +x ${B}/g-ir-compiler-wrapper
> +
> +        # Write out a wrapper to use instead of ldd, which does not work when a binary is built
> +        # for a different architecture
> +        cat > ${B}/g-ir-scanner-lddwrapper << EOF
> +#!/bin/sh
> +prelink-rtld --root=$STAGING_DIR_HOST "\$@"
> +EOF
> +        chmod +x ${B}/g-ir-scanner-lddwrapper
> +
> +        # Also tweak the target python scripts so that they don't refer to the
> +        # native version of python binary (the solution is taken from glib-2.0 recipe)
> +        sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
> +}
> +
> +do_compile_prepend() {
> +        # This prevents g-ir-scanner from writing cache data to $HOME
> +        export GI_SCANNER_DISABLE_CACHE=1
> +
> +        # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
> +        export GIR_EXTRA_LIBS_PATH=$B/.libs
> +}
> +
> +# Our wrappers need to be available system-wide, because they will be used
> +# to build introspection files for all other gobject-based packages
> +do_install_append_class-target() {
> +        install -d ${D}${bindir}/
> +        install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
> +        install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
> +        install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
> +        install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
> +}
> +
> +# we need target versions of introspection tools in sysroot so that they can be run via qemu
> +# when building introspection files in other packages
> +SYSROOT_DIRS_append_class-target = " ${bindir}"
> +
> +SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
> +gi_binaries_sysroot_preprocess() {
> +        # Tweak the binary names in the introspection pkgconfig file, so that it
> +        # picks up our wrappers which do the cross-compile and qemu magic.
> +        sed -i \
> +           -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
> +           -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
> +           ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
> +}
> +
> +SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
> +gi_ldsoconf_sysroot_preprocess () {
> +       mkdir -p ${SYSROOT_DESTDIR}${bindir}
> +       dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
> +       echo "#!/bin/sh" > $dest
> +       echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
> +       echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
> +       echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
> +       chmod 755 $dest
> +}
> +
> +# Remove wrapper files from the package, only used for cross-compiling
> +PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
> +gi_package_preprocess() {
> +       rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
> +       rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
> +       rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
> +       rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
> +}
> +
> +SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
> +
> +# .typelib files are needed at runtime and so they go to the main package
> +FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
> +
> +# .gir files go to dev package, as they're needed for developing (but not for running)
> +# things that depends on introspection.
> +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir"
> +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
> +
> +# These are used by gobject-based packages
> +# to generate transient introspection binaries
> +FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
> +                           ${datadir}/gobject-introspection-1.0/Makefile.introspection"
> +
> +# These are used by dependent packages (e.g. pygobject) to build their
> +# testsuites.
> +FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
> +                           ${datadir}/gobject-introspection-1.0/tests/*.h"
> +
> +FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
> +FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
> +
> +BBCLASSEXTEND = "native"
> --
> 2.7.4
>


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-09-06 10:31 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-06 10:29 [PATCH 01/21] eee-acpi-scripts: remove the recipe Alexander Kanavin
2018-09-06 10:29 ` [PATCH 02/21] sysprof: update to 3.30.0 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 03/21] bzip2: do not perform upstream verison check Alexander Kanavin
2018-09-06 10:29 ` [PATCH 04/21] dos2unix: fix upstream version check Alexander Kanavin
2018-09-06 10:29 ` [PATCH 05/21] qemu: " Alexander Kanavin
2018-09-06 10:29 ` [PATCH 06/21] rpm: update to 4.14.2 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 07/21] libsolv: update to 0.6.35 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 08/21] babetrace: update to 1.5.6 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 09/21] btrfs-tools: update to 4.17.1 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 10/21] iso-codes: update to 4.1 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 11/21] lighttpd: update to 1.4.50 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 12/21] cantarell-fonts: update to 0.0.25 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 13/21] boost: update to 1.68.0 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 14/21] gdbm: update to 1.18 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 15/21] gptfdisk: update to 1.0.4 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 16/21] dtc: update to 1.4.7 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 17/21] vala: update to 0.42.0 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 18/21] meson: update to 0.47.2 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 19/21] gtk-doc: update to 1.29 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 20/21] glib: update to 2.58.0 Alexander Kanavin
2018-09-06 10:29 ` [PATCH 21/21] gobject-introspection: update to 1.58.0 Alexander Kanavin
2018-09-06 10:31   ` Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.