* [PATCH 05/12] xf86-input-keyboard: Remove git recipe
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Last used revision was from 8 years ago.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../xorg-driver/xf86-input-keyboard_git.bb | 16 ----------------
1 file changed, 16 deletions(-)
delete mode 100644 meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
deleted file mode 100644
index dfb08f7..0000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require xorg-driver-input.inc
-
-SUMMARY = "X.Org X server -- keyboard input driver"
-
-DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
-driver supports the standard OS-provided keyboard interface. The driver \
-functions as a keyboard input device, and may be used as the X server's \
-core keyboard."
-
-SRCREV = "3e28d68b50d291938734e9684b8296ca864f3892"
-PV = "1.3.2+git${SRCPV}"
-PR = "${INC_PR}.0"
-
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard"
-S = "${WORKDIR}/git"
-
--
2.1.4
^ permalink raw reply related
* [PATCH 06/12] xf86-input-mouse: Upgrade 1.9.1 -> 1.9.2
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Tiny update with ABI 23/24 support.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../{xf86-input-mouse_1.9.1.bb => xf86-input-mouse_1.9.2.bb} | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-input-mouse_1.9.1.bb => xf86-input-mouse_1.9.2.bb} (76%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb
similarity index 76%
rename from meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb
rename to meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb
index 1f0b78a..0750476 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.1.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb
@@ -10,6 +10,5 @@ driver."
LIC_FILES_CHKSUM = "file://COPYING;md5=90ea9f90d72b6d9327dede5ffdb2a510"
-SRC_URI[md5sum] = "77085b649c5c0b333565ba562f573951"
-SRC_URI[sha256sum] = "3485d375779c08406f0789feedde15933dc703158a086ddac638598f479fc5ce"
-
+SRC_URI[md5sum] = "ce2d679283a22c8e0dccdd9248594845"
+SRC_URI[sha256sum] = "f425d5b05c6ab412a27e0a1106bb83f9e2662b307210abbe48270892387f4b2f"
--
2.1.4
^ permalink raw reply related
* [PATCH 07/12] xf86-input-mouse: Remove git recipe
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Last used revision is from 8 years ago.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../xorg-driver/xf86-input-mouse_git.bb | 18 ------------------
1 file changed, 18 deletions(-)
delete mode 100644 meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
deleted file mode 100644
index d79a2e4..0000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require xorg-driver-input.inc
-
-SUMMARY = "X.Org X server -- mouse input driver"
-
-DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \
-supports most available mouse types and interfaces. The mouse driver \
-functions as a pointer input device, and may be used as the X server's \
-core pointer. Multiple mice are supported by multiple instances of this \
-driver."
-
-SRCREV = "ea5cfe804e112f320f14ad896c7802d53551d3e6"
-PV = "1.3.0+git${SRCPV}"
-PR = "${INC_PR}.0"
-
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse \
- file://unbreak.patch"
-S = "${WORKDIR}/git"
-
--
2.1.4
^ permalink raw reply related
* [PATCH 08/12] xf86-input-synaptics: Upgrade 1.8.3 -> 1.9.0
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Bug fixes, new hw support, support for XINPUT ABI 23.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../{xf86-input-synaptics_1.8.3.bb => xf86-input-synaptics_1.9.0.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-input-synaptics_1.8.3.bb => xf86-input-synaptics_1.9.0.bb} (79%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.3.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb
similarity index 79%
rename from meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.3.bb
rename to meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb
index b47c82c..d327a3b 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.8.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb
@@ -10,7 +10,7 @@ advanced features of the touchpad to become available."
LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398"
-SRC_URI[md5sum] = "4e3c8bed1ab4a67db2160c2c3d7e2a34"
-SRC_URI[sha256sum] = "d39f100c74f3673778b53f17bab7690161925e25dd998a15dd8cc69b52e83f01"
+SRC_URI[md5sum] = "58e5b7722a402114093bf193962d1e3a"
+SRC_URI[sha256sum] = "afba3289d7a40217a19d90db98ce181772f9ca6d77e1898727b0afcf02073b5a"
DEPENDS += "libxi mtdev libxtst libevdev"
--
2.1.4
^ permalink raw reply related
* [PATCH 09/12] xf86-input-synaptics: Remove git recipe
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Last source revision is from 8 years ago.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../xorg-driver/xf86-input-synaptics_git.bb | 18 ------------------
1 file changed, 18 deletions(-)
delete mode 100644 meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
deleted file mode 100644
index 140f633..0000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require xorg-driver-input.inc
-
-SUMMARY = "X.Org X server -- synaptics touchpad input driver"
-
-DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \
-Synaptics Incorporated. Even though these touchpads (by default, \
-operating in a compatibility mode emulating a standard mouse) can be \
-handled by the normal evdev or mouse drivers, this driver allows more \
-advanced features of the touchpad to become available."
-
-SRCREV = "934bc0012f948c52aadc8eda912f7728fb7394a2"
-PV = "0.15.2+git${SRCPV}"
-PR = "${INC_PR}.1"
-
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics"
-S = "${WORKDIR}/git"
-
-DEPENDS += "libxi mtdev libxtst"
--
2.1.4
^ permalink raw reply related
* [PATCH 11/12] xf86-video-vmware: Upgrade 13.1.0 -> 13.2.1
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Bug fixes, ABI 23 support.
Rebase the add-option-for-vmwgfx patch.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../0002-add-option-for-vmwgfx.patch | 37 ++++++++++++----------
...mware_13.1.0.bb => xf86-video-vmware_13.2.1.bb} | 4 +--
2 files changed, 23 insertions(+), 18 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-video-vmware_13.1.0.bb => xf86-video-vmware_13.2.1.bb} (78%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch
index 6039d08..5bda720 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware/0002-add-option-for-vmwgfx.patch
@@ -1,17 +1,18 @@
-Upstream-Status:Submitted
-Signed-off-by: Ross Burton <ross.burton@intel.com>
+From da6612659a279bcb02f70622b53a3894fbc11052 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Fri, 9 Dec 2016 14:35:45 +0200
+Subject: [PATCH] Add option for vmwgfx
-From f103d6f570671c649ccd7b225e6d6c9f14371888 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 25 Jun 2014 16:16:44 +0100
-Subject: [PATCH 2/2] add option for vmwgfx
+Upstream-Status:Submitted
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
- configure.ac | 49 ++++++++++++++++++++-----------------------------
- 1 file changed, 20 insertions(+), 29 deletions(-)
+ configure.ac | 51 +++++++++++++++++++++------------------------------
+ 1 file changed, 21 insertions(+), 30 deletions(-)
diff --git a/configure.ac b/configure.ac
-index be40ed7..8e15307 100644
+index 9f259ce..f3fec57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,6 +64,13 @@ AC_ARG_ENABLE(vmwarectrl-client,
@@ -40,7 +41,7 @@ index be40ed7..8e15307 100644
PKG_CHECK_EXISTS([xorg-server >= 1.12.0],
[AC_DEFINE([HAVE_XORG_SERVER_1_12_0], 1,
[Has version 1.12.0 or greater of the Xserver])])
-@@ -114,39 +116,28 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+@@ -114,34 +116,22 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
AC_SUBST([moduledir])
@@ -62,6 +63,7 @@ index be40ed7..8e15307 100644
-#
+AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D])
+if test x$VMWGFX = xyes; then
++ AC_MSG_RESULT([yes])
+ PKG_CHECK_MODULES([LIBDRM], [libdrm])
+ # Check for prime.
PKG_CHECK_EXISTS([libdrm >= 2.4.38],
@@ -75,15 +77,18 @@ index be40ed7..8e15307 100644
-AC_MSG_CHECKING([whether to build Kernel Mode Setting and 3D])
-if test x$BUILD_VMWGFX = xyes; then
- AC_MSG_RESULT([yes])
+- AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path])
+ # Early versions of mesa 10 forgot to bump the XA major version number
+ # in the xa_tracker.h header
+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
+ [PKG_CHECK_EXISTS([xatracker = 2.0.0],
-+ [AC_DEFINE([HAVE_XA_2], 1,
-+ [Has version 2 of XA])])])
- AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path])
-+ AC_MSG_RESULT([yes])
- else
++ [AC_DEFINE([HAVE_XA_2], 1,
++ [Has version 2 of XA])])])
++ AC_DEFINE([BUILD_VMWGFX], 1, [Building the vmwgfx driver path])
+ libudev_check=yes
+ AC_ARG_WITH([libudev],
+ [AS_HELP_STRING([--without-libudev],
+@@ -158,7 +148,8 @@ else
AC_MSG_RESULT([no])
fi
@@ -94,5 +99,5 @@ index be40ed7..8e15307 100644
AC_CONFIG_FILES([
Makefile
--
-1.7.10.4
+2.1.4
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.1.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb
similarity index 78%
rename from meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.1.0.bb
rename to meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb
index 8c891e6..706d35d 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.1.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb
@@ -10,8 +10,8 @@ DEPENDS += "virtual/libx11 xineramaproto videoproto libpciaccess"
SRC_URI += "file://0002-add-option-for-vmwgfx.patch"
-SRC_URI[md5sum] = "0cba22fed4cb639d5c4276f7892c543d"
-SRC_URI[sha256sum] = "3c1d244e4b1b77e92126957965cdc9fb82de4c215c0706a3a8aaff6939e4a0cc"
+SRC_URI[md5sum] = "4c3912e4d8947f6c2fc1ee9e2f211d74"
+SRC_URI[sha256sum] = "e2f7f7101fba7f53b268e7a25908babbf155b3984fb5268b3d244eb6c11bf62b"
COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
--
2.1.4
^ permalink raw reply related
* [PATCH 01/12] libxfont2: Add recipe
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
This is the same old libxfont but with a new API.
xserver-xorg 1.19 depends on libxfont2.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta/recipes-graphics/xorg-lib/libxfont2_2.0.1.bb | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 meta/recipes-graphics/xorg-lib/libxfont2_2.0.1.bb
diff --git a/meta/recipes-graphics/xorg-lib/libxfont2_2.0.1.bb b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.1.bb
new file mode 100644
index 0000000..402ab0d
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libxfont2_2.0.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "XFont2: X Font rasterisation library"
+
+DESCRIPTION = "libXfont2 provides various services for X servers, most \
+notably font selection and rasterisation (through external libraries \
+such as freetype)."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT & MIT-style & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c"
+
+DEPENDS += "freetype xtrans fontsproto libfontenc zlib"
+
+XORG_PN = "libXfont2"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "0d9f6dd9c23bf4bcbfb00504b566baf5"
+SRC_URI[sha256sum] = "e9fbbb475ddd171b3a6a54b989cbade1f6f874fc35d505ebc5be426bc6e4db7e"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
--
2.1.4
^ permalink raw reply related
* [PATCH 03/12] xf86-input-evdev: Upgrade 2.10.3 -> 2.10.4
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Tiny update to XINPUT ABI 24.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../{xf86-input-evdev_2.10.3.bb => xf86-input-evdev_2.10.4.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-input-evdev_2.10.3.bb => xf86-input-evdev_2.10.4.bb} (83%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.3.bb b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.4.bb
similarity index 83%
rename from meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.3.bb
rename to meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.4.bb
index f81c3ec..c660a1d 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.4.bb
@@ -16,5 +16,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16"
DEPENDS += "mtdev libevdev"
-SRC_URI[md5sum] = "aa3363ce5061d0c4d1e7f7019b99716d"
-SRC_URI[sha256sum] = "5aa21ba4be8df927e5676a99c7f4f0343abc089f5451b7e73e39536f29b332a2"
+SRC_URI[md5sum] = "0f209d13b39427c1a6d38d70059b1e8f"
+SRC_URI[sha256sum] = "bbf6a03fbce1a6c0c7d874eef519fd0a854bf01b515c745d41fa551ce6490cc2"
--
2.1.4
^ permalink raw reply related
* [PATCH 10/12] xf86-video-omap: Upgrade 0.4.4 -> 0.4.5
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Support ABI 23.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../{xf86-video-omap_0.4.4.bb => xf86-video-omap_0.4.5.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-video-omap_0.4.4.bb => xf86-video-omap_0.4.5.bb} (89%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.4.bb b/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb
similarity index 89%
rename from meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.4.bb
rename to meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb
index 7895449..e652394 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.4.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb
@@ -24,8 +24,8 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
DEPENDS += "virtual/libx11 libdrm xf86driproto"
-SRC_URI[md5sum] = "a364e151a537948f75bb8c9b840a31da"
-SRC_URI[sha256sum] = "a7192690b8638f5c8d611a1bae07cc13081e22edd4070f37a2f5c3f8d79e7ebc"
+SRC_URI[md5sum] = "3b8ea5e8fba63355c0dc6681c49d5fe5"
+SRC_URI[sha256sum] = "93e7d42107521e61f61980eaea64fb452e87b7b94272e48938ac8d904ccfab5a"
CFLAGS += " -I${STAGING_INCDIR}/xorg "
--
2.1.4
^ permalink raw reply related
* [PATCH 04/12] xf86-input-keyboard: Upgrade 1.8.1 -> 1.9.0
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Small update with ABI 23 support.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../{xf86-input-keyboard_1.8.1.bb => xf86-input-keyboard_1.9.0.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-input-keyboard_1.8.1.bb => xf86-input-keyboard_1.9.0.bb} (73%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
similarity index 73%
rename from meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.1.bb
rename to meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
index 6fe51ac..1896fff 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.8.1.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
@@ -9,5 +9,5 @@ core keyboard."
LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10"
-SRC_URI[md5sum] = "96ccc43d389b970afbd3893875dfd678"
-SRC_URI[sha256sum] = "1ac8ff39bf9da7d2fc7fd6c24515726e8138340c0518ab8c606e008cf93ca211"
+SRC_URI[md5sum] = "a3a3f0dd32361dcdbd406e894dafe090"
+SRC_URI[sha256sum] = "f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388"
--
2.1.4
^ permalink raw reply related
* [PATCH 12/12] xf86-input-libinput: Upgrade 0.22 -> 0.23
From: Jussi Kukkonen @ 2016-12-12 10:11 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481536730.git.jussi.kukkonen@intel.com>
Bug fixes + libinput now supports tablets (but wacom driver is
used instead if it is installed).
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../{xf86-input-libinput_0.22.0.bb => xf86-input-libinput_0.23.0.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/xorg-driver/{xf86-input-libinput_0.22.0.bb => xf86-input-libinput_0.23.0.bb} (63%)
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.22.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.23.0.bb
similarity index 63%
rename from meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.22.0.bb
rename to meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.23.0.bb
index a102bbf..5c49abd 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.22.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.23.0.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0"
DEPENDS += "libinput"
-SRC_URI[md5sum] = "e4364319f15f97dc2ef0ef62c8616826"
-SRC_URI[sha256sum] = "c762b4072ed448e2ae9f35cebd7fec8df7fd42b3ae61462cc3b2f720a873eae2"
+SRC_URI[md5sum] = "56ff43915a273c787ea8b93ccb83f835"
+SRC_URI[sha256sum] = "0b53ebdfe8f8fc7554dd92af1b1c3088a6d3ec4ae1a33fc76f57d635c736a9dc"
FILES_${PN} += "${datadir}/X11/xorg.conf.d"
--
2.1.4
^ permalink raw reply related
* Re: [PATCH] edgerouter.conf: enable generation of wic.bmap
From: Ed Bartosh @ 2016-12-12 10:58 UTC (permalink / raw)
To: Christopher Larson; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <CABcZANk5QnzFAWwAjbaHAQvCw=XXViOnh5jg=cvRiD_B=mEpKA@mail.gmail.com>
On Sat, Dec 10, 2016 at 11:40:38AM -0700, Christopher Larson wrote:
> On Fri, Dec 9, 2016 at 10:46 AM, Ed Bartosh <ed.bartosh@linux.intel.com>
> wrote:
>
> > Enabled generation of block map(bmap) files for wic images
> > built for edgerouter machine. This should simplify flashing
> > images with bmaptool.
> >
> > [YOCTO #10621]
> >
> > Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
> >
>
> I think this is more of a distro decision than machine, whether they want
> to support use of bmaptool for their users/customers. It’d be nice if it
> was easier to control compression from the distro, too. For example, if we
> want to distribute wic.bz2+wic.bmap in our installers, it’d be nice to be
> able to switch to that for all machines that use wic. I’m not sure how best
> to pull that off, however. Something to think about for the future.
Thanks for pointing out to it. I did it this way for two reasons:
- IMAGE_FSTYPES was already modified in edgerouter.conf
- I wanted to enable generation of wic.bmap for subset of machines, i.e.
only for hardware reference BSPs mentioned in README.hardware
If there is a better to do it I'd be happy to update my patch.
--
Regards,
Ed
^ permalink raw reply
* Re: [PATCH 1/2] go: Add recipes for golang compilers and tools
From: Gary Thomas @ 2016-12-12 12:36 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161110003935.1858-1-raj.khem@gmail.com>
On 2016-11-10 01:39, Khem Raj wrote:
> This is converging the recipes for go from
> meta-virtualization and oe-meta-go
>
> Add recipes for go 1.7
>
> go.bbclass is added to ease out writing
> recipes for go packages
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta/classes/go.bbclass | 74 +++++++
> meta/classes/goarch.bbclass | 40 ++++
> meta/recipes-devtools/go/go-1.4.inc | 15 ++
> .../go/go-1.4/016-armhf-elf-header.patch | 24 +++
> ...ckport-cmd-link-support-new-386-amd64-rel.patch | 225 +++++++++++++++++++++
> meta/recipes-devtools/go/go-1.4/syslog.patch | 62 ++++++
> meta/recipes-devtools/go/go-1.6.inc | 19 ++
> .../go/go-1.6/armhf-elf-header.patch | 23 +++
> .../go/go-1.6/fix-cc-handling.patch | 50 +++++
> .../go/go-1.6/fix-target-cc-for-build.patch | 17 ++
> meta/recipes-devtools/go/go-1.6/gotooldir.patch | 30 +++
> .../go/go-1.6/split-host-and-target-build.patch | 63 ++++++
> meta/recipes-devtools/go/go-1.6/syslog.patch | 62 ++++++
> meta/recipes-devtools/go/go-1.7.inc | 18 ++
> .../go/go-1.7/armhf-elf-header.patch | 23 +++
> .../go/go-1.7/fix-cc-handling.patch | 50 +++++
> .../go/go-1.7/fix-target-cc-for-build.patch | 17 ++
> meta/recipes-devtools/go/go-1.7/gotooldir.patch | 30 +++
> .../go/go-1.7/split-host-and-target-build.patch | 62 ++++++
> meta/recipes-devtools/go/go-1.7/syslog.patch | 62 ++++++
> meta/recipes-devtools/go/go-common.inc | 21 ++
> meta/recipes-devtools/go/go-native.inc | 54 +++++
> meta/recipes-devtools/go/go-native_1.4.bb | 2 +
> meta/recipes-devtools/go/go.inc | 74 +++++++
> meta/recipes-devtools/go/go_1.6.bb | 4 +
> meta/recipes-devtools/go/go_1.7.bb | 4 +
> 26 files changed, 1125 insertions(+)
> create mode 100644 meta/classes/go.bbclass
> create mode 100644 meta/classes/goarch.bbclass
> create mode 100644 meta/recipes-devtools/go/go-1.4.inc
> create mode 100644 meta/recipes-devtools/go/go-1.4/016-armhf-elf-header.patch
> create mode 100644 meta/recipes-devtools/go/go-1.4/go-cross-backport-cmd-link-support-new-386-amd64-rel.patch
> create mode 100644 meta/recipes-devtools/go/go-1.4/syslog.patch
> create mode 100644 meta/recipes-devtools/go/go-1.6.inc
> create mode 100644 meta/recipes-devtools/go/go-1.6/armhf-elf-header.patch
> create mode 100644 meta/recipes-devtools/go/go-1.6/fix-cc-handling.patch
> create mode 100644 meta/recipes-devtools/go/go-1.6/fix-target-cc-for-build.patch
> create mode 100644 meta/recipes-devtools/go/go-1.6/gotooldir.patch
> create mode 100644 meta/recipes-devtools/go/go-1.6/split-host-and-target-build.patch
> create mode 100644 meta/recipes-devtools/go/go-1.6/syslog.patch
> create mode 100644 meta/recipes-devtools/go/go-1.7.inc
> create mode 100644 meta/recipes-devtools/go/go-1.7/armhf-elf-header.patch
> create mode 100644 meta/recipes-devtools/go/go-1.7/fix-cc-handling.patch
> create mode 100644 meta/recipes-devtools/go/go-1.7/fix-target-cc-for-build.patch
> create mode 100644 meta/recipes-devtools/go/go-1.7/gotooldir.patch
> create mode 100644 meta/recipes-devtools/go/go-1.7/split-host-and-target-build.patch
> create mode 100644 meta/recipes-devtools/go/go-1.7/syslog.patch
> create mode 100644 meta/recipes-devtools/go/go-common.inc
> create mode 100644 meta/recipes-devtools/go/go-native.inc
> create mode 100644 meta/recipes-devtools/go/go-native_1.4.bb
> create mode 100644 meta/recipes-devtools/go/go.inc
> create mode 100644 meta/recipes-devtools/go/go_1.6.bb
> create mode 100644 meta/recipes-devtools/go/go_1.7.bb
>
> diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
> new file mode 100644
> index 0000000..e10864d
> --- /dev/null
> +++ b/meta/classes/go.bbclass
> @@ -0,0 +1,74 @@
> +inherit goarch
> +
> +GOROOT_class-native = "${STAGING_LIBDIR_NATIVE}/go"
> +GOROOT = "${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
> +GOBIN_FINAL_class-native = "${GOROOT_FINAL}/bin"
> +GOBIN_FINAL = "${GOROOT_FINAL}/bin/${GOOS}_${GOARCH}"
> +
> +export GOOS = "${TARGET_GOOS}"
> +export GOARCH = "${TARGET_GOARCH}"
> +export GOARM = "${TARGET_GOARM}"
> +export CGO_ENABLED = "1"
> +export GOROOT
> +export GOROOT_FINAL = "${libdir}/${TARGET_SYS}/go"
> +export GOBIN_FINAL
> +export GOPKG_FINAL = "${GOROOT_FINAL}/pkg/${GOOS}_${GOARCH}"
> +export GOSRC_FINAL = "${GOROOT_FINAL}/src"
> +export GO_GCFLAGS = "${TARGET_CFLAGS}"
> +export GO_LDFLAGS = "${TARGET_LDFLAGS}"
> +export CGO_CFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_CFLAGS}"
> +export CGO_CPPFLAGS = "${TARGET_CPPFLAGS}"
> +export CGO_CXXFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_CXXFLAGS}"
> +export CGO_LDFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_LDFLAGS}"
> +
> +DEPENDS += "go-cross"
> +DEPENDS_class-native += "go-native"
> +
> +INHIBIT_PACKAGE_STRIP = "1"
> +
> +FILES_${PN}-staticdev += "${GOSRC_FINAL}/${GO_IMPORT}"
> +FILES_${PN}-staticdev += "${GOPKG_FINAL}/${GO_IMPORT}*"
> +
> +GO_INSTALL ?= "${GO_IMPORT}/..."
> +
> +do_go_compile() {
> + GOPATH=${S}:${STAGING_LIBDIR}/${TARGET_SYS}/go go env
> + if test -n "${GO_INSTALL}" ; then
> + GOPATH=${S}:${STAGING_LIBDIR}/${TARGET_SYS}/go go install -v ${GO_INSTALL}
> + fi
> +}
> +
> +do_go_install() {
> + rm -rf ${WORKDIR}/staging
> + install -d ${WORKDIR}/staging${GOROOT_FINAL} ${D}${GOROOT_FINAL}
> + tar -C ${S} -cf - . | tar -C ${WORKDIR}/staging${GOROOT_FINAL} -xpvf -
> +
> + find ${WORKDIR}/staging${GOROOT_FINAL} \( \
> + -name \*.indirectionsymlink -o \
> + -name .git\* -o \
> + -name .hg -o \
> + -name .svn -o \
> + -name .pc\* -o \
> + -name patches\* \
> + \) -print0 | \
> + xargs -r0 rm -rf
> +
> + tar -C ${WORKDIR}/staging${GOROOT_FINAL} -cf - . | \
> + tar -C ${D}${GOROOT_FINAL} -xpvf -
> +
> + chown -R root:root "${D}${GOROOT_FINAL}"
> +
> + if test -e "${D}${GOBIN_FINAL}" ; then
> + install -d -m 0755 "${D}${bindir}"
> + find "${D}${GOBIN_FINAL}" ! -type d -print0 | xargs -r0 mv --target-directory="${D}${bindir}"
> + rmdir -p "${D}${GOBIN_FINAL}" || true
> + fi
> +}
> +
> +do_compile() {
> + do_go_compile
> +}
> +
> +do_install() {
> + do_go_install
> +}
> diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
> new file mode 100644
> index 0000000..bb330b1
> --- /dev/null
> +++ b/meta/classes/goarch.bbclass
> @@ -0,0 +1,40 @@
> +BUILD_GOOS = "${@go_map_os(d.getVar('BUILD_OS', True), d)}"
> +BUILD_GOARCH = "${@go_map_arch(d.getVar('BUILD_ARCH', True), d)}"
> +BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
> +HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS', True), d)}"
> +HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH', True), d)}"
> +HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH', True), d.getVar('TUNE_FEATURES', True), d)}"
> +HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
> +TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS', True), d)}"
> +TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH', True), d)}"
> +TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH', True), d.getVar('TUNE_FEATURES', True), d)}"
> +TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
> +GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE',True) == d.getVar('HOST_GOTUPLE',True)]}"
> +
> +def go_map_arch(a, d):
> + import re
> + if re.match('i.86', a):
> + return '386'
> + elif a == 'x86_64':
> + return 'amd64'
> + elif re.match('arm.*', a):
> + return 'arm'
> + elif re.match('aarch64.*', a):
> + return 'arm64'
> + elif re.match('p(pc|owerpc)(|64)', a):
> + return 'powerpc'
> + else:
> + bb.error("cannot map '%s' to a Go architecture" % a)
> +
> +def go_map_arm(a, f, d):
> + import re
> + if re.match('arm.*', a) and re.match('arm.*7.*', f):
> + return '7'
> + return ''
> +
> +def go_map_os(o, d):
> + if o.startswith('linux'):
> + return 'linux'
> + return o
> +
> +
> diff --git a/meta/recipes-devtools/go/go-1.4.inc b/meta/recipes-devtools/go/go-1.4.inc
> new file mode 100644
> index 0000000..a65459f
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.4.inc
> @@ -0,0 +1,15 @@
> +require go-common.inc
> +
> +PV = "1.4.3"
> +GO_BASEVERSION = "1.4"
> +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
> +
> +SRC_URI += "\
> + file://016-armhf-elf-header.patch \
> + file://go-cross-backport-cmd-link-support-new-386-amd64-rel.patch \
> + file://syslog.patch \
> +"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=591778525c869cdde0ab5a1bf283cd81"
> +SRC_URI[md5sum] = "dfb604511115dd402a77a553a5923a04"
> +SRC_URI[sha256sum] = "9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959"
> diff --git a/meta/recipes-devtools/go/go-1.4/016-armhf-elf-header.patch b/meta/recipes-devtools/go/go-1.4/016-armhf-elf-header.patch
> new file mode 100644
> index 0000000..e6e414e
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.4/016-armhf-elf-header.patch
> @@ -0,0 +1,24 @@
> +Description: Use correct ELF header for armhf binaries.
> +Author: Adam Conrad <adconrad@ubuntu.com>
> +Last-Update: 2013-07-08
> +
> +Upstream-Status: Pending
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
> +Index: go/src/cmd/ld/elf.c
> +===================================================================
> +--- go.orig/src/cmd/ld/elf.c 2015-02-20 10:49:58.763451586 -0800
> ++++ go/src/cmd/ld/elf.c 2015-02-20 10:49:27.895478521 -0800
> +@@ -57,7 +57,11 @@
> + case '5':
> + // we use EABI on both linux/arm and freebsd/arm.
> + if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd)
> +- hdr.flags = 0x5000002; // has entry point, Version5 EABI
> ++#ifdef __ARM_PCS_VFP
> ++ hdr.flags = 0x5000402; // has entry point, Version5 EABI, hard-float ABI
> ++#else
> ++ hdr.flags = 0x5000202; // has entry point, Version5 EABI, soft-float ABI
> ++#endif
> + // fallthrough
> + default:
> + hdr.phoff = ELF32HDRSIZE; /* Must be be ELF32HDRSIZE: first PHdr must follow ELF header */
> diff --git a/meta/recipes-devtools/go/go-1.4/go-cross-backport-cmd-link-support-new-386-amd64-rel.patch b/meta/recipes-devtools/go/go-1.4/go-cross-backport-cmd-link-support-new-386-amd64-rel.patch
> new file mode 100644
> index 0000000..95ca9d3
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.4/go-cross-backport-cmd-link-support-new-386-amd64-rel.patch
> @@ -0,0 +1,225 @@
> +From d6eefad445831c161fca130f9bdf7b3848aac23c Mon Sep 17 00:00:00 2001
> +From: Paul Gortmaker <paul.gortmaker@windriver.com>
> +Date: Tue, 29 Mar 2016 21:14:33 -0400
> +Subject: [PATCH] go-cross: backport "cmd/link: support new 386/amd64
> + relocations"
> +
> +Newer binutils won't support building older go-1.4.3 as per:
> +
> +https://github.com/golang/go/issues/13114
> +
> +Upstream commit 914db9f060b1fd3eb1f74d48f3bd46a73d4ae9c7 (see subj)
> +was identified as the fix and nominated for 1.4.4 but that release
> +never happened. The paths in 1.4.3 aren't the same as go1.6beta1~662
> +where this commit appeared, but the NetBSD folks indicated what a
> +1.4.3 backport would look like here: https://gnats.netbsd.org/50777
> +
> +This is based on that, but without the BSD wrapper infrastructure
> +layer that makes things look like patches of patches.
> +
> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> +
> +Upstream-Status: Backport [ Partial ]
> +
> +diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c
> +index 18b5aa311981..2e9d339aef87 100644
> +--- a/src/cmd/6l/asm.c
> ++++ b/src/cmd/6l/asm.c
> +@@ -118,6 +118,8 @@ adddynrel(LSym *s, Reloc *r)
> + return;
> +
> + case 256 + R_X86_64_GOTPCREL:
> ++ case 256 + R_X86_64_GOTPCRELX:
> ++ case 256 + R_X86_64_REX_GOTPCRELX:
> + if(targ->type != SDYNIMPORT) {
> + // have symbol
> + if(r->off >= 2 && s->p[r->off-2] == 0x8b) {
> +diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c
> +index 98c04240374f..cff29488e8af 100644
> +--- a/src/cmd/8l/asm.c
> ++++ b/src/cmd/8l/asm.c
> +@@ -115,6 +115,7 @@ adddynrel(LSym *s, Reloc *r)
> + return;
> +
> + case 256 + R_386_GOT32:
> ++ case 256 + R_386_GOT32X:
> + if(targ->type != SDYNIMPORT) {
> + // have symbol
> + if(r->off >= 2 && s->p[r->off-2] == 0x8b) {
> +diff --git a/src/cmd/ld/elf.h b/src/cmd/ld/elf.h
> +index e84d996f2596..bbf2cfaa3cc0 100644
> +--- a/src/cmd/ld/elf.h
> ++++ b/src/cmd/ld/elf.h
> +@@ -478,32 +478,47 @@ typedef struct {
> + * Relocation types.
> + */
> +
> +-#define R_X86_64_NONE 0 /* No relocation. */
> +-#define R_X86_64_64 1 /* Add 64 bit symbol value. */
> +-#define R_X86_64_PC32 2 /* PC-relative 32 bit signed sym value. */
> +-#define R_X86_64_GOT32 3 /* PC-relative 32 bit GOT offset. */
> +-#define R_X86_64_PLT32 4 /* PC-relative 32 bit PLT offset. */
> +-#define R_X86_64_COPY 5 /* Copy data from shared object. */
> +-#define R_X86_64_GLOB_DAT 6 /* Set GOT entry to data address. */
> +-#define R_X86_64_JMP_SLOT 7 /* Set GOT entry to code address. */
> +-#define R_X86_64_RELATIVE 8 /* Add load address of shared object. */
> +-#define R_X86_64_GOTPCREL 9 /* Add 32 bit signed pcrel offset to GOT. */
> +-#define R_X86_64_32 10 /* Add 32 bit zero extended symbol value */
> +-#define R_X86_64_32S 11 /* Add 32 bit sign extended symbol value */
> +-#define R_X86_64_16 12 /* Add 16 bit zero extended symbol value */
> +-#define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */
> +-#define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */
> +-#define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */
> +-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
> +-#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
> +-#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
> +-#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
> +-#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
> +-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
> +-#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
> +-#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
> +-
> +-#define R_X86_64_COUNT 24 /* Count of defined relocation types. */
> ++#define R_X86_64_NONE 0
> ++#define R_X86_64_64 1
> ++#define R_X86_64_PC32 2
> ++#define R_X86_64_GOT32 3
> ++#define R_X86_64_PLT32 4
> ++#define R_X86_64_COPY 5
> ++#define R_X86_64_GLOB_DAT 6
> ++#define R_X86_64_JMP_SLOT 7
> ++#define R_X86_64_RELATIVE 8
> ++#define R_X86_64_GOTPCREL 9
> ++#define R_X86_64_32 10
> ++#define R_X86_64_32S 11
> ++#define R_X86_64_16 12
> ++#define R_X86_64_PC16 13
> ++#define R_X86_64_8 14
> ++#define R_X86_64_PC8 15
> ++#define R_X86_64_DTPMOD64 16
> ++#define R_X86_64_DTPOFF64 17
> ++#define R_X86_64_TPOFF64 18
> ++#define R_X86_64_TLSGD 19
> ++#define R_X86_64_TLSLD 20
> ++#define R_X86_64_DTPOFF32 21
> ++#define R_X86_64_GOTTPOFF 22
> ++#define R_X86_64_TPOFF32 23
> ++#define R_X86_64_PC64 24
> ++#define R_X86_64_GOTOFF64 25
> ++#define R_X86_64_GOTPC32 26
> ++#define R_X86_64_GOT64 27
> ++#define R_X86_64_GOTPCREL64 28
> ++#define R_X86_64_GOTPC64 29
> ++#define R_X86_64_GOTPLT64 30
> ++#define R_X86_64_PLTOFF64 31
> ++#define R_X86_64_SIZE32 32
> ++#define R_X86_64_SIZE64 33
> ++#define R_X86_64_GOTPC32_TLSDEC 34
> ++#define R_X86_64_TLSDESC_CALL 35
> ++#define R_X86_64_TLSDESC 36
> ++#define R_X86_64_IRELATIVE 37
> ++#define R_X86_64_PC32_BND 40
> ++#define R_X86_64_GOTPCRELX 41
> ++#define R_X86_64_REX_GOTPCRELX 42
> +
> +
> + #define R_ALPHA_NONE 0 /* No reloc */
> +@@ -581,39 +596,42 @@ typedef struct {
> + #define R_ARM_COUNT 38 /* Count of defined relocation types. */
> +
> +
> +-#define R_386_NONE 0 /* No relocation. */
> +-#define R_386_32 1 /* Add symbol value. */
> +-#define R_386_PC32 2 /* Add PC-relative symbol value. */
> +-#define R_386_GOT32 3 /* Add PC-relative GOT offset. */
> +-#define R_386_PLT32 4 /* Add PC-relative PLT offset. */
> +-#define R_386_COPY 5 /* Copy data from shared object. */
> +-#define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */
> +-#define R_386_JMP_SLOT 7 /* Set GOT entry to code address. */
> +-#define R_386_RELATIVE 8 /* Add load address of shared object. */
> +-#define R_386_GOTOFF 9 /* Add GOT-relative symbol address. */
> +-#define R_386_GOTPC 10 /* Add PC-relative GOT table address. */
> +-#define R_386_TLS_TPOFF 14 /* Negative offset in static TLS block */
> +-#define R_386_TLS_IE 15 /* Absolute address of GOT for -ve static TLS */
> +-#define R_386_TLS_GOTIE 16 /* GOT entry for negative static TLS block */
> +-#define R_386_TLS_LE 17 /* Negative offset relative to static TLS */
> +-#define R_386_TLS_GD 18 /* 32 bit offset to GOT (index,off) pair */
> +-#define R_386_TLS_LDM 19 /* 32 bit offset to GOT (index,zero) pair */
> +-#define R_386_TLS_GD_32 24 /* 32 bit offset to GOT (index,off) pair */
> +-#define R_386_TLS_GD_PUSH 25 /* pushl instruction for Sun ABI GD sequence */
> +-#define R_386_TLS_GD_CALL 26 /* call instruction for Sun ABI GD sequence */
> +-#define R_386_TLS_GD_POP 27 /* popl instruction for Sun ABI GD sequence */
> +-#define R_386_TLS_LDM_32 28 /* 32 bit offset to GOT (index,zero) pair */
> +-#define R_386_TLS_LDM_PUSH 29 /* pushl instruction for Sun ABI LD sequence */
> +-#define R_386_TLS_LDM_CALL 30 /* call instruction for Sun ABI LD sequence */
> +-#define R_386_TLS_LDM_POP 31 /* popl instruction for Sun ABI LD sequence */
> +-#define R_386_TLS_LDO_32 32 /* 32 bit offset from start of TLS block */
> +-#define R_386_TLS_IE_32 33 /* 32 bit offset to GOT static TLS offset entry */
> +-#define R_386_TLS_LE_32 34 /* 32 bit offset within static TLS block */
> +-#define R_386_TLS_DTPMOD32 35 /* GOT entry containing TLS index */
> +-#define R_386_TLS_DTPOFF32 36 /* GOT entry containing TLS offset */
> +-#define R_386_TLS_TPOFF32 37 /* GOT entry of -ve static TLS offset */
> +-
> +-#define R_386_COUNT 38 /* Count of defined relocation types. */
> ++#define R_386_NONE 0
> ++#define R_386_32 1
> ++#define R_386_PC32 2
> ++#define R_386_GOT32 3
> ++#define R_386_PLT32 4
> ++#define R_386_COPY 5
> ++#define R_386_GLOB_DAT 6
> ++#define R_386_JMP_SLOT 7
> ++#define R_386_RELATIVE 8
> ++#define R_386_GOTOFF 9
> ++#define R_386_GOTPC 10
> ++#define R_386_TLS_TPOFF 14
> ++#define R_386_TLS_IE 15
> ++#define R_386_TLS_GOTIE 16
> ++#define R_386_TLS_LE 17
> ++#define R_386_TLS_GD 18
> ++#define R_386_TLS_LDM 19
> ++#define R_386_TLS_GD_32 24
> ++#define R_386_TLS_GD_PUSH 25
> ++#define R_386_TLS_GD_CALL 26
> ++#define R_386_TLS_GD_POP 27
> ++#define R_386_TLS_LDM_32 28
> ++#define R_386_TLS_LDM_PUSH 29
> ++#define R_386_TLS_LDM_CALL 30
> ++#define R_386_TLS_LDM_POP 31
> ++#define R_386_TLS_LDO_32 32
> ++#define R_386_TLS_IE_32 33
> ++#define R_386_TLS_LE_32 34
> ++#define R_386_TLS_DTPMOD32 35
> ++#define R_386_TLS_DTPOFF32 36
> ++#define R_386_TLS_TPOFF32 37
> ++#define R_386_TLS_GOTDESC 39
> ++#define R_386_TLS_DESC_CALL 40
> ++#define R_386_TLS_DESC 41
> ++#define R_386_IRELATIVE 42
> ++#define R_386_GOT32X 43
> +
> + #define R_PPC_NONE 0 /* No relocation. */
> + #define R_PPC_ADDR32 1
> +diff --git a/src/cmd/ld/ldelf.c b/src/cmd/ld/ldelf.c
> +index dd5fa0d2a839..2e2fbd17377f 100644
> +--- a/src/cmd/ld/ldelf.c
> ++++ b/src/cmd/ld/ldelf.c
> +@@ -888,12 +888,15 @@ reltype(char *pn, int elftype, uchar *siz)
> + case R('6', R_X86_64_PC32):
> + case R('6', R_X86_64_PLT32):
> + case R('6', R_X86_64_GOTPCREL):
> ++ case R('6', R_X86_64_GOTPCRELX):
> ++ case R('6', R_X86_64_REX_GOTPCRELX):
> + case R('8', R_386_32):
> + case R('8', R_386_PC32):
> + case R('8', R_386_GOT32):
> + case R('8', R_386_PLT32):
> + case R('8', R_386_GOTOFF):
> + case R('8', R_386_GOTPC):
> ++ case R('8', R_386_GOT32X):
> + *siz = 4;
> + break;
> + case R('6', R_X86_64_64):
> +--
> +2.7.2
> +
> diff --git a/meta/recipes-devtools/go/go-1.4/syslog.patch b/meta/recipes-devtools/go/go-1.4/syslog.patch
> new file mode 100644
> index 0000000..29be06f
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.4/syslog.patch
> @@ -0,0 +1,62 @@
> +Add timeouts to logger
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +
> +diff -r -u go/src/log/syslog/syslog.go /home/achang/GOCOPY/go/src/log/syslog/syslog.go
> +--- go/src/log/syslog/syslog.go 2013-11-28 13:38:28.000000000 -0800
> ++++ /home/achang/GOCOPY/go/src/log/syslog/syslog.go 2014-10-03 11:44:37.710403200 -0700
> +@@ -33,6 +33,9 @@
> + const severityMask = 0x07
> + const facilityMask = 0xf8
> +
> ++var writeTimeout = 1 * time.Second
> ++var connectTimeout = 1 * time.Second
> ++
> + const (
> + // Severity.
> +
> +@@ -100,6 +103,7 @@
> + type serverConn interface {
> + writeString(p Priority, hostname, tag, s, nl string) error
> + close() error
> ++ setWriteDeadline(t time.Time) error
> + }
> +
> + type netConn struct {
> +@@ -273,7 +277,11 @@
> + nl = "\n"
> + }
> +
> +- err := w.conn.writeString(p, w.hostname, w.tag, msg, nl)
> ++ err := w.conn.setWriteDeadline(time.Now().Add(writeTimeout))
> ++ if err != nil {
> ++ return 0, err
> ++ }
> ++ err = w.conn.writeString(p, w.hostname, w.tag, msg, nl)
> + if err != nil {
> + return 0, err
> + }
> +@@ -305,6 +313,10 @@
> + return n.conn.Close()
> + }
> +
> ++func (n *netConn) setWriteDeadline(t time.Time) error {
> ++ return n.conn.SetWriteDeadline(t)
> ++}
> ++
> + // NewLogger creates a log.Logger whose output is written to
> + // the system log service with the specified priority. The logFlag
> + // argument is the flag set passed through to log.New to create
> +diff -r -u go/src/log/syslog/syslog_unix.go /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go
> +--- go/src/log/syslog/syslog_unix.go 2013-11-28 13:38:28.000000000 -0800
> ++++ /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go 2014-10-03 11:44:39.010403175 -0700
> +@@ -19,7 +19,7 @@
> + logPaths := []string{"/dev/log", "/var/run/syslog"}
> + for _, network := range logTypes {
> + for _, path := range logPaths {
> +- conn, err := net.Dial(network, path)
> ++ conn, err := net.DialTimeout(network, path, connectTimeout)
> + if err != nil {
> + continue
> + } else {
> diff --git a/meta/recipes-devtools/go/go-1.6.inc b/meta/recipes-devtools/go/go-1.6.inc
> new file mode 100644
> index 0000000..769c1d8
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6.inc
> @@ -0,0 +1,19 @@
> +require go-common.inc
> +
> +PV = "1.6.3"
> +GO_BASEVERSION = "1.6"
> +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=591778525c869cdde0ab5a1bf283cd81"
> +
> +SRC_URI += "\
> + file://armhf-elf-header.patch \
> + file://syslog.patch \
> + file://fix-target-cc-for-build.patch \
> + file://fix-cc-handling.patch \
> + file://split-host-and-target-build.patch \
> + file://gotooldir.patch \
> +"
> +SRC_URI[md5sum] = "bf3fce6ccaadd310159c9e874220e2a2"
> +SRC_URI[sha256sum] = "6326aeed5f86cf18f16d6dc831405614f855e2d416a91fd3fdc334f772345b00"
> +
> diff --git a/meta/recipes-devtools/go/go-1.6/armhf-elf-header.patch b/meta/recipes-devtools/go/go-1.6/armhf-elf-header.patch
> new file mode 100644
> index 0000000..1e3a16b
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6/armhf-elf-header.patch
> @@ -0,0 +1,23 @@
> +Encode arm EABI ( hard/soft ) calling convention in ELF header
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/cmd/link/internal/ld/elf.go
> +===================================================================
> +--- go.orig/src/cmd/link/internal/ld/elf.go
> ++++ go/src/cmd/link/internal/ld/elf.go
> +@@ -827,7 +827,13 @@
> + // 32-bit architectures
> + case '5':
> + // we use EABI on both linux/arm and freebsd/arm.
> +- if HEADTYPE == obj.Hlinux || HEADTYPE == obj.Hfreebsd {
> ++ if HEADTYPE == obj.Hlinux {
> ++ if Ctxt.Goarm == 7 {
> ++ ehdr.flags = 0x5000402 // has entry point, Version5 EABI, hard float
> ++ } else {
> ++ ehdr.flags = 0x5000202 // has entry point, Version5 EABI, soft float
> ++ }
> ++ } else if HEADTYPE == obj.Hfreebsd {
> + // We set a value here that makes no indication of which
> + // float ABI the object uses, because this is information
> + // used by the dynamic linker to compare executables and
> diff --git a/meta/recipes-devtools/go/go-1.6/fix-cc-handling.patch b/meta/recipes-devtools/go/go-1.6/fix-cc-handling.patch
> new file mode 100644
> index 0000000..983323a
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6/fix-cc-handling.patch
> @@ -0,0 +1,50 @@
> +Accept CC with multiple words in its name
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/cmd/go/build.go
> +===================================================================
> +--- go.orig/src/cmd/go/build.go 2015-07-29 14:48:40.323185807 -0700
> ++++ go/src/cmd/go/build.go 2015-07-30 07:37:40.529818586 -0700
> +@@ -2805,12 +2805,24 @@
> + return b.ccompilerCmd("CC", defaultCC, objdir)
> + }
> +
> ++// gccCmd returns a gcc command line prefix
> ++// defaultCC is defined in zdefaultcc.go, written by cmd/dist.
> ++func (b *builder) gccCmdForReal() []string {
> ++ return envList("CC", defaultCC)
> ++}
> ++
> + // gxxCmd returns a g++ command line prefix
> + // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
> + func (b *builder) gxxCmd(objdir string) []string {
> + return b.ccompilerCmd("CXX", defaultCXX, objdir)
> + }
> +
> ++// gxxCmd returns a g++ command line prefix
> ++// defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
> ++func (b *builder) gxxCmdForReal() []string {
> ++ return envList("CXX", defaultCXX)
> ++}
> ++
> + // ccompilerCmd returns a command line prefix for the given environment
> + // variable and using the default command when the variable is empty.
> + func (b *builder) ccompilerCmd(envvar, defcmd, objdir string) []string {
> +Index: go/src/cmd/go/env.go
> +===================================================================
> +--- go.orig/src/cmd/go/env.go 2015-07-29 14:48:40.323185807 -0700
> ++++ go/src/cmd/go/env.go 2015-07-30 07:40:54.461655721 -0700
> +@@ -52,10 +52,9 @@
> +
> + if goos != "plan9" {
> + cmd := b.gccCmd(".")
> +- env = append(env, envVar{"CC", cmd[0]})
> ++ env = append(env, envVar{"CC", strings.Join(b.gccCmdForReal(), " ")})
> + env = append(env, envVar{"GOGCCFLAGS", strings.Join(cmd[3:], " ")})
> +- cmd = b.gxxCmd(".")
> +- env = append(env, envVar{"CXX", cmd[0]})
> ++ env = append(env, envVar{"CXX", strings.Join(b.gxxCmdForReal(), " ")})
> + }
> +
> + if buildContext.CgoEnabled {
> diff --git a/meta/recipes-devtools/go/go-1.6/fix-target-cc-for-build.patch b/meta/recipes-devtools/go/go-1.6/fix-target-cc-for-build.patch
> new file mode 100644
> index 0000000..2f6156e
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6/fix-target-cc-for-build.patch
> @@ -0,0 +1,17 @@
> +Put Quotes around CC_FOR_TARGET since it can be mutliple words e.g. in OE
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/make.bash
> +===================================================================
> +--- go.orig/src/make.bash 2015-07-29 13:28:11.334031696 -0700
> ++++ go/src/make.bash 2015-07-29 13:36:55.814465630 -0700
> +@@ -158,7 +158,7 @@
> + fi
> +
> + echo "##### Building packages and commands for $GOOS/$GOARCH."
> +-CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
> ++CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
> + echo
> +
> + rm -f "$GOTOOLDIR"/go_bootstrap
> diff --git a/meta/recipes-devtools/go/go-1.6/gotooldir.patch b/meta/recipes-devtools/go/go-1.6/gotooldir.patch
> new file mode 100644
> index 0000000..9467025
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6/gotooldir.patch
> @@ -0,0 +1,30 @@
> +Define tooldir in relation to GOTOOLDIR env var
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/go/build/build.go
> +===================================================================
> +--- go.orig/src/go/build/build.go
> ++++ go/src/go/build/build.go
> +@@ -1388,7 +1388,7 @@ func init() {
> + }
> +
> + // ToolDir is the directory containing build tools.
> +-var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
> ++var ToolDir = envOr("GOTOOLDIR", filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH))
> +
> + // IsLocalImport reports whether the import path is
> + // a local import path, like ".", "..", "./foo", or "../foo".
> +Index: go/src/cmd/go/build.go
> +===================================================================
> +--- go.orig/src/cmd/go/build.go
> ++++ go/src/cmd/go/build.go
> +@@ -1312,7 +1312,7 @@ func (b *builder) build(a *action) (err
> + }
> +
> + cgoExe := tool("cgo")
> +- if a.cgo != nil && a.cgo.target != "" {
> ++ if a.cgo != nil && a.cgo.target != "" && os.Getenv("GOTOOLDIR") == "" {
> + cgoExe = a.cgo.target
> + }
> + outGo, outObj, err := b.cgo(a.p, cgoExe, obj, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, cxxfiles, a.p.MFiles)
> diff --git a/meta/recipes-devtools/go/go-1.6/split-host-and-target-build.patch b/meta/recipes-devtools/go/go-1.6/split-host-and-target-build.patch
> new file mode 100644
> index 0000000..afbae02
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6/split-host-and-target-build.patch
> @@ -0,0 +1,63 @@
> +Add new option --target-only to build target components
> +Separates the host and target pieces of build
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/make.bash
> +===================================================================
> +--- go.orig/src/make.bash
> ++++ go/src/make.bash
> +@@ -143,12 +143,23 @@ if [ "$1" = "--no-clean" ]; then
> + buildall=""
> + shift
> + fi
> +-./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
> +-# Delay move of dist tool to now, because bootstrap may clear tool directory.
> +-mv cmd/dist/dist "$GOTOOLDIR"/dist
> +-echo
> +
> +-if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
> ++do_host_build="yes"
> ++do_target_build="yes"
> ++if [ "$1" = "--target-only" ]; then
> ++ do_host_build="no"
> ++ shift
> ++elif [ "$1" = "--host-only" ]; then
> ++ do_target_build="no"
> ++ shift
> ++fi
> ++
> ++if [ "$do_host_build" = "yes" ]; then
> ++ ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
> ++ # Delay move of dist tool to now, because bootstrap may clear tool directory.
> ++ mv cmd/dist/dist "$GOTOOLDIR"/dist
> ++ echo
> ++
> + echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
> + # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
> + # use the host compiler, CC, from `cmd/dist/dist env` instead.
> +@@ -157,11 +168,20 @@ if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOH
> + echo
> + fi
> +
> +-echo "##### Building packages and commands for $GOOS/$GOARCH."
> +-CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
> +-echo
> ++if [ "$do_target_build" = "yes" ]; then
> ++ GO_INSTALL="${GO_TARGET_INSTALL:-std cmd}"
> ++ echo "##### Building packages and commands for $GOOS/$GOARCH."
> ++ if [ "$GOHOSTOS" = "$GOOS" -a "$GOHOSTARCH" = "$GOARCH" -a "$do_host_build" = "yes" ]; then
> ++ rm -rf ./host-tools
> ++ mkdir ./host-tools
> ++ mv "$GOTOOLDIR"/* ./host-tools
> ++ GOTOOLDIR="$PWD/host-tools"
> ++ fi
> ++ GOTOOLDIR="$GOTOOLDIR" CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v ${GO_INSTALL}
> ++ echo
> +
> +-rm -f "$GOTOOLDIR"/go_bootstrap
> ++ rm -f "$GOTOOLDIR"/go_bootstrap
> ++fi
> +
> + if [ "$1" != "--no-banner" ]; then
> + "$GOTOOLDIR"/dist banner
> diff --git a/meta/recipes-devtools/go/go-1.6/syslog.patch b/meta/recipes-devtools/go/go-1.6/syslog.patch
> new file mode 100644
> index 0000000..29be06f
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.6/syslog.patch
> @@ -0,0 +1,62 @@
> +Add timeouts to logger
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +
> +diff -r -u go/src/log/syslog/syslog.go /home/achang/GOCOPY/go/src/log/syslog/syslog.go
> +--- go/src/log/syslog/syslog.go 2013-11-28 13:38:28.000000000 -0800
> ++++ /home/achang/GOCOPY/go/src/log/syslog/syslog.go 2014-10-03 11:44:37.710403200 -0700
> +@@ -33,6 +33,9 @@
> + const severityMask = 0x07
> + const facilityMask = 0xf8
> +
> ++var writeTimeout = 1 * time.Second
> ++var connectTimeout = 1 * time.Second
> ++
> + const (
> + // Severity.
> +
> +@@ -100,6 +103,7 @@
> + type serverConn interface {
> + writeString(p Priority, hostname, tag, s, nl string) error
> + close() error
> ++ setWriteDeadline(t time.Time) error
> + }
> +
> + type netConn struct {
> +@@ -273,7 +277,11 @@
> + nl = "\n"
> + }
> +
> +- err := w.conn.writeString(p, w.hostname, w.tag, msg, nl)
> ++ err := w.conn.setWriteDeadline(time.Now().Add(writeTimeout))
> ++ if err != nil {
> ++ return 0, err
> ++ }
> ++ err = w.conn.writeString(p, w.hostname, w.tag, msg, nl)
> + if err != nil {
> + return 0, err
> + }
> +@@ -305,6 +313,10 @@
> + return n.conn.Close()
> + }
> +
> ++func (n *netConn) setWriteDeadline(t time.Time) error {
> ++ return n.conn.SetWriteDeadline(t)
> ++}
> ++
> + // NewLogger creates a log.Logger whose output is written to
> + // the system log service with the specified priority. The logFlag
> + // argument is the flag set passed through to log.New to create
> +diff -r -u go/src/log/syslog/syslog_unix.go /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go
> +--- go/src/log/syslog/syslog_unix.go 2013-11-28 13:38:28.000000000 -0800
> ++++ /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go 2014-10-03 11:44:39.010403175 -0700
> +@@ -19,7 +19,7 @@
> + logPaths := []string{"/dev/log", "/var/run/syslog"}
> + for _, network := range logTypes {
> + for _, path := range logPaths {
> +- conn, err := net.Dial(network, path)
> ++ conn, err := net.DialTimeout(network, path, connectTimeout)
> + if err != nil {
> + continue
> + } else {
> diff --git a/meta/recipes-devtools/go/go-1.7.inc b/meta/recipes-devtools/go/go-1.7.inc
> new file mode 100644
> index 0000000..1f73715
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7.inc
> @@ -0,0 +1,18 @@
> +require go-common.inc
> +
> +PV = "1.7.3"
> +GO_BASEVERSION = "1.7"
> +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
> +
> +SRC_URI += "\
> + file://armhf-elf-header.patch \
> + file://syslog.patch \
> + file://fix-target-cc-for-build.patch \
> + file://fix-cc-handling.patch \
> + file://split-host-and-target-build.patch \
> + file://gotooldir.patch \
> +"
> +SRC_URI[md5sum] = "83d1b7bd4281479ab7d153e5152c9fc9"
> +SRC_URI[sha256sum] = "79430a0027a09b0b3ad57e214c4c1acfdd7af290961dd08d322818895af1ef44"
> diff --git a/meta/recipes-devtools/go/go-1.7/armhf-elf-header.patch b/meta/recipes-devtools/go/go-1.7/armhf-elf-header.patch
> new file mode 100644
> index 0000000..1e3a16b
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7/armhf-elf-header.patch
> @@ -0,0 +1,23 @@
> +Encode arm EABI ( hard/soft ) calling convention in ELF header
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/cmd/link/internal/ld/elf.go
> +===================================================================
> +--- go.orig/src/cmd/link/internal/ld/elf.go
> ++++ go/src/cmd/link/internal/ld/elf.go
> +@@ -827,7 +827,13 @@
> + // 32-bit architectures
> + case '5':
> + // we use EABI on both linux/arm and freebsd/arm.
> +- if HEADTYPE == obj.Hlinux || HEADTYPE == obj.Hfreebsd {
> ++ if HEADTYPE == obj.Hlinux {
> ++ if Ctxt.Goarm == 7 {
> ++ ehdr.flags = 0x5000402 // has entry point, Version5 EABI, hard float
> ++ } else {
> ++ ehdr.flags = 0x5000202 // has entry point, Version5 EABI, soft float
> ++ }
> ++ } else if HEADTYPE == obj.Hfreebsd {
> + // We set a value here that makes no indication of which
> + // float ABI the object uses, because this is information
> + // used by the dynamic linker to compare executables and
> diff --git a/meta/recipes-devtools/go/go-1.7/fix-cc-handling.patch b/meta/recipes-devtools/go/go-1.7/fix-cc-handling.patch
> new file mode 100644
> index 0000000..a67caf4
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7/fix-cc-handling.patch
> @@ -0,0 +1,50 @@
> +Accept CC with multiple words in its name
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/cmd/go/build.go
> +===================================================================
> +--- go.orig/src/cmd/go/build.go
> ++++ go/src/cmd/go/build.go
> +@@ -2991,12 +2991,24 @@ func (b *builder) gccCmd(objdir string)
> + return b.ccompilerCmd("CC", defaultCC, objdir)
> + }
> +
> ++// gccCmd returns a gcc command line prefix
> ++// defaultCC is defined in zdefaultcc.go, written by cmd/dist.
> ++func (b *builder) gccCmdForReal() []string {
> ++ return envList("CC", defaultCC)
> ++}
> ++
> + // gxxCmd returns a g++ command line prefix
> + // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
> + func (b *builder) gxxCmd(objdir string) []string {
> + return b.ccompilerCmd("CXX", defaultCXX, objdir)
> + }
> +
> ++// gxxCmd returns a g++ command line prefix
> ++// defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
> ++func (b *builder) gxxCmdForReal() []string {
> ++ return envList("CXX", defaultCXX)
> ++}
> ++
> + // gfortranCmd returns a gfortran command line prefix.
> + func (b *builder) gfortranCmd(objdir string) []string {
> + return b.ccompilerCmd("FC", "gfortran", objdir)
> +Index: go/src/cmd/go/env.go
> +===================================================================
> +--- go.orig/src/cmd/go/env.go
> ++++ go/src/cmd/go/env.go
> +@@ -51,10 +51,9 @@ func mkEnv() []envVar {
> +
> + if goos != "plan9" {
> + cmd := b.gccCmd(".")
> +- env = append(env, envVar{"CC", cmd[0]})
> ++ env = append(env, envVar{"CC", strings.Join(b.gccCmdForReal(), " ")})
> + env = append(env, envVar{"GOGCCFLAGS", strings.Join(cmd[3:], " ")})
> +- cmd = b.gxxCmd(".")
> +- env = append(env, envVar{"CXX", cmd[0]})
> ++ env = append(env, envVar{"CXX", strings.Join(b.gxxCmdForReal(), " ")})
> + }
> +
> + if buildContext.CgoEnabled {
> diff --git a/meta/recipes-devtools/go/go-1.7/fix-target-cc-for-build.patch b/meta/recipes-devtools/go/go-1.7/fix-target-cc-for-build.patch
> new file mode 100644
> index 0000000..2f6156e
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7/fix-target-cc-for-build.patch
> @@ -0,0 +1,17 @@
> +Put Quotes around CC_FOR_TARGET since it can be mutliple words e.g. in OE
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/make.bash
> +===================================================================
> +--- go.orig/src/make.bash 2015-07-29 13:28:11.334031696 -0700
> ++++ go/src/make.bash 2015-07-29 13:36:55.814465630 -0700
> +@@ -158,7 +158,7 @@
> + fi
> +
> + echo "##### Building packages and commands for $GOOS/$GOARCH."
> +-CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
> ++CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
> + echo
> +
> + rm -f "$GOTOOLDIR"/go_bootstrap
> diff --git a/meta/recipes-devtools/go/go-1.7/gotooldir.patch b/meta/recipes-devtools/go/go-1.7/gotooldir.patch
> new file mode 100644
> index 0000000..9467025
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7/gotooldir.patch
> @@ -0,0 +1,30 @@
> +Define tooldir in relation to GOTOOLDIR env var
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/go/build/build.go
> +===================================================================
> +--- go.orig/src/go/build/build.go
> ++++ go/src/go/build/build.go
> +@@ -1388,7 +1388,7 @@ func init() {
> + }
> +
> + // ToolDir is the directory containing build tools.
> +-var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
> ++var ToolDir = envOr("GOTOOLDIR", filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH))
> +
> + // IsLocalImport reports whether the import path is
> + // a local import path, like ".", "..", "./foo", or "../foo".
> +Index: go/src/cmd/go/build.go
> +===================================================================
> +--- go.orig/src/cmd/go/build.go
> ++++ go/src/cmd/go/build.go
> +@@ -1312,7 +1312,7 @@ func (b *builder) build(a *action) (err
> + }
> +
> + cgoExe := tool("cgo")
> +- if a.cgo != nil && a.cgo.target != "" {
> ++ if a.cgo != nil && a.cgo.target != "" && os.Getenv("GOTOOLDIR") == "" {
> + cgoExe = a.cgo.target
> + }
> + outGo, outObj, err := b.cgo(a.p, cgoExe, obj, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, cxxfiles, a.p.MFiles)
> diff --git a/meta/recipes-devtools/go/go-1.7/split-host-and-target-build.patch b/meta/recipes-devtools/go/go-1.7/split-host-and-target-build.patch
> new file mode 100644
> index 0000000..b0dd95b
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7/split-host-and-target-build.patch
> @@ -0,0 +1,62 @@
> +Add new option --target-only to build target components
> +Separates the host and target pieces of build
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +Index: go/src/make.bash
> +===================================================================
> +--- go.orig/src/make.bash
> ++++ go/src/make.bash
> +@@ -154,13 +154,22 @@ if [ "$1" = "--no-clean" ]; then
> + buildall=""
> + shift
> + fi
> +-./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
> ++do_host_build="yes"
> ++do_target_build="yes"
> ++if [ "$1" = "--target-only" ]; then
> ++ do_host_build="no"
> ++ shift
> ++elif [ "$1" = "--host-only" ]; then
> ++ do_target_build="no"
> ++ shift
> ++fi
> +
> +-# Delay move of dist tool to now, because bootstrap may clear tool directory.
> +-mv cmd/dist/dist "$GOTOOLDIR"/dist
> +-echo
> ++if [ "$do_host_build" = "yes" ]; then
> ++ ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
> ++ # Delay move of dist tool to now, because bootstrap may clear tool directory.
> ++ mv cmd/dist/dist "$GOTOOLDIR"/dist
> ++ echo
> +
> +-if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
> + echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
> + # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
> + # use the host compiler, CC, from `cmd/dist/dist env` instead.
> +@@ -169,11 +178,20 @@ if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOH
> + echo
> + fi
> +
> +-echo "##### Building packages and commands for $GOOS/$GOARCH."
> +-CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
> +-echo
> ++if [ "$do_target_build" = "yes" ]; then
> ++ GO_INSTALL="${GO_TARGET_INSTALL:-std cmd}"
> ++ echo "##### Building packages and commands for $GOOS/$GOARCH."
> ++ if [ "$GOHOSTOS" = "$GOOS" -a "$GOHOSTARCH" = "$GOARCH" -a "$do_host_build" = "yes" ]; then
> ++ rm -rf ./host-tools
> ++ mkdir ./host-tools
> ++ mv "$GOTOOLDIR"/* ./host-tools
> ++ GOTOOLDIR="$PWD/host-tools"
> ++ fi
> ++ GOTOOLDIR="$GOTOOLDIR" CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v ${GO_INSTALL}
> ++ echo
> +
> +-rm -f "$GOTOOLDIR"/go_bootstrap
> ++ rm -f "$GOTOOLDIR"/go_bootstrap
> ++fi
> +
> + if [ "$1" != "--no-banner" ]; then
> + "$GOTOOLDIR"/dist banner
> diff --git a/meta/recipes-devtools/go/go-1.7/syslog.patch b/meta/recipes-devtools/go/go-1.7/syslog.patch
> new file mode 100644
> index 0000000..29be06f
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-1.7/syslog.patch
> @@ -0,0 +1,62 @@
> +Add timeouts to logger
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Upstream-Status: Pending
> +
> +diff -r -u go/src/log/syslog/syslog.go /home/achang/GOCOPY/go/src/log/syslog/syslog.go
> +--- go/src/log/syslog/syslog.go 2013-11-28 13:38:28.000000000 -0800
> ++++ /home/achang/GOCOPY/go/src/log/syslog/syslog.go 2014-10-03 11:44:37.710403200 -0700
> +@@ -33,6 +33,9 @@
> + const severityMask = 0x07
> + const facilityMask = 0xf8
> +
> ++var writeTimeout = 1 * time.Second
> ++var connectTimeout = 1 * time.Second
> ++
> + const (
> + // Severity.
> +
> +@@ -100,6 +103,7 @@
> + type serverConn interface {
> + writeString(p Priority, hostname, tag, s, nl string) error
> + close() error
> ++ setWriteDeadline(t time.Time) error
> + }
> +
> + type netConn struct {
> +@@ -273,7 +277,11 @@
> + nl = "\n"
> + }
> +
> +- err := w.conn.writeString(p, w.hostname, w.tag, msg, nl)
> ++ err := w.conn.setWriteDeadline(time.Now().Add(writeTimeout))
> ++ if err != nil {
> ++ return 0, err
> ++ }
> ++ err = w.conn.writeString(p, w.hostname, w.tag, msg, nl)
> + if err != nil {
> + return 0, err
> + }
> +@@ -305,6 +313,10 @@
> + return n.conn.Close()
> + }
> +
> ++func (n *netConn) setWriteDeadline(t time.Time) error {
> ++ return n.conn.SetWriteDeadline(t)
> ++}
> ++
> + // NewLogger creates a log.Logger whose output is written to
> + // the system log service with the specified priority. The logFlag
> + // argument is the flag set passed through to log.New to create
> +diff -r -u go/src/log/syslog/syslog_unix.go /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go
> +--- go/src/log/syslog/syslog_unix.go 2013-11-28 13:38:28.000000000 -0800
> ++++ /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go 2014-10-03 11:44:39.010403175 -0700
> +@@ -19,7 +19,7 @@
> + logPaths := []string{"/dev/log", "/var/run/syslog"}
> + for _, network := range logTypes {
> + for _, path := range logPaths {
> +- conn, err := net.Dial(network, path)
> ++ conn, err := net.DialTimeout(network, path, connectTimeout)
> + if err != nil {
> + continue
> + } else {
> diff --git a/meta/recipes-devtools/go/go-common.inc b/meta/recipes-devtools/go/go-common.inc
> new file mode 100644
> index 0000000..8897cb1
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-common.inc
> @@ -0,0 +1,21 @@
> +SUMMARY = "Go programming language compiler"
> +DESCRIPTION = " The Go programming language is an open source project to make \
> + programmers more productive. Go is expressive, concise, clean, and\
> + efficient. Its concurrency mechanisms make it easy to write programs\
> + that get the most out of multicore and networked machines, while its\
> + novel type system enables flexible and modular program construction.\
> + Go compiles quickly to machine code yet has the convenience of\
> + garbage collection and the power of run-time reflection. It's a\
> + fast, statically typed, compiled language that feels like a\
> + dynamically typed, interpreted language."
> +
> +HOMEPAGE = " http://golang.org/"
> +LICENSE = "BSD-3-Clause"
> +
> +inherit goarch
> +
> +SRC_URI = "http://golang.org/dl/go${PV}.src.tar.gz"
> +S = "${WORKDIR}/go"
> +B = "${S}"
> +
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> diff --git a/meta/recipes-devtools/go/go-native.inc b/meta/recipes-devtools/go/go-native.inc
> new file mode 100644
> index 0000000..cb2dd2a
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-native.inc
> @@ -0,0 +1,54 @@
> +inherit native
> +
> +export GOOS = "${BUILD_GOOS}"
> +export GOARCH = "${BUILD_GOARCH}"
> +export GOROOT_FINAL = "${STAGING_LIBDIR_NATIVE}/go"
> +export CGO_ENABLED = "1"
> +
> +do_configure[noexec] = "1"
> +
> +do_compile() {
> + export GOBIN="${B}/bin"
> + rm -rf ${GOBIN}
> + mkdir ${GOBIN}
> +
> + export TMPDIR=${WORKDIR}/build-tmp
> + mkdir -p ${WORKDIR}/build-tmp
> +
> + cd src
> + CGO_ENABLED=0 ./make.bash --host-only
> +}
> +
> +
> +make_wrapper() {
> + rm -f ${D}${bindir}/$2
> + cat <<END >${D}${bindir}/$2
> +#!/bin/bash
> +here=\`dirname \$0\`
> +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
> +\$here/../lib/go/bin/$1 "\$@"
> +END
> + chmod +x ${D}${bindir}/$2
> +}
> +
> +do_install() {
> + install -d ${D}${libdir}/go
> + cp -a ${B}/pkg ${D}${libdir}/go/
> + install -d ${D}${libdir}/go/src
> + (cd ${S}/src; for d in *; do \
> + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
> + done)
> + install -d ${D}${bindir} ${D}${libdir}/go/bin
> + for f in ${B}/bin/*
> + do
> + base=`basename $f`
> + install -m755 $f ${D}${libdir}/go/bin
> + make_wrapper $base $base
> + done
> +}
> +
> +do_package[noexec] = "1"
> +do_packagedata[noexec] = "1"
> +do_package_write_ipk[noexec] = "1"
> +do_package_write_deb[noexec] = "1"
> +do_package_write_rpm[noexec] = "1"
> diff --git a/meta/recipes-devtools/go/go-native_1.4.bb b/meta/recipes-devtools/go/go-native_1.4.bb
> new file mode 100644
> index 0000000..bbf3c0d
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go-native_1.4.bb
> @@ -0,0 +1,2 @@
> +require ${PN}.inc
> +require go-${PV}.inc
> diff --git a/meta/recipes-devtools/go/go.inc b/meta/recipes-devtools/go/go.inc
> new file mode 100644
> index 0000000..732ffa4
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go.inc
> @@ -0,0 +1,74 @@
> +inherit goarch
> +# libgcc is required for the target specific libraries to build properly
> +DEPENDS += " go-native libgcc"
> +# Prevent runstrip from running because you get errors when the host arch != target arch
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_SYSROOT_STRIP = "1"
> +
> +export GOHOSTOS = "${BUILD_GOOS}"
> +export GOHOSTARCH = "${BUILD_GOARCH}"
> +export GOOS = "${TARGET_GOOS}"
> +export GOARCH = "${TARGET_GOARCH}"
> +export GOARM = "${TARGET_GOARM}"
> +export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
> +export GOROOT_FINAL = "${libdir}/go"
> +export CGO_ENABLED = "1"
> +export CC_FOR_TARGET="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
> +export CXX_FOR_TARGET="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
> +
> +do_configure[noexec] = "1"
> +
> +do_compile() {
> + export GOBIN="${B}/bin"
> + export CC="${@d.getVar('BUILD_CC', True).strip()}"
> + rm -rf ${GOBIN} ${B}/pkg
> + mkdir ${GOBIN}
> +
> + export TMPDIR=${WORKDIR}/build-tmp
> + mkdir -p ${WORKDIR}/build-tmp
> +
> + cd src
> + ./make.bash --host-only
> + # Ensure cgo.a is built with the target toolchain
> + export GOBIN="${B}/target/bin"
> + rm -rf ${GOBIN}
> + mkdir -p ${GOBIN}
> + GO_FLAGS="-a" ./make.bash
> +}
> +
> +do_install_class-target() {
> + install -d ${D}${libdir}/go
> + cp -a ${B}/pkg ${D}${libdir}/go/
> + install -d ${D}${libdir}/go/src
> + (cd ${S}/src; for d in *; do \
> + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
> + done)
> + install -d ${D}${bindir}
> + for f in ${B}/bin/${GOOS}_${GOARCH}/*
> + do
> + install -m755 $f ${D}${bindir}
> + done
> +}
> +
> +do_install_class-cross() {
> + install -d ${D}${libdir}/go
> + cp -a ${B}/pkg ${D}${libdir}/go/
> + install -d ${D}${libdir}/go/src
> + (cd ${S}/src; for d in *; do \
> + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
> + done)
> + install -d ${D}${bindir}
> + for f in ${B}/bin/go*
> + do
> + install -m755 $f ${D}${bindir}
> + done
> +}
> +
> +INSANE_SKIP_${PN} += "staticdev"
> +RDEPENDS_${PN} += "perl"
> +
> +do_package[noexec] = "1"
> +do_packagedata[noexec] = "1"
> +do_package_write_ipk[noexec] = "1"
> +do_package_write_deb[noexec] = "1"
> +do_package_write_rpm[noexec] = "1"
> diff --git a/meta/recipes-devtools/go/go_1.6.bb b/meta/recipes-devtools/go/go_1.6.bb
> new file mode 100644
> index 0000000..2f59033
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go_1.6.bb
> @@ -0,0 +1,4 @@
> +require go.inc
> +require go-${PV}.inc
> +
> +BBCLASSEXTEND = "cross"
> diff --git a/meta/recipes-devtools/go/go_1.7.bb b/meta/recipes-devtools/go/go_1.7.bb
> new file mode 100644
> index 0000000..8186427
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go_1.7.bb
> @@ -0,0 +1,4 @@
> +require go-${PV}.inc
> +require go.inc
> +
> +BBCLASSEXTEND = "cross"
>
Looking at these recipes and they seem like a good starting point.
I did have some issues though:
* bitbake go - didn't create any target installable packages, although the
.../image directory seemed to be well populated.
* bitbake go-helloworld - had these errors:
ERROR: go-helloworld-0.1-r0 do_populate_lic: QA Issue: go-helloworld: LIC_FILES_CHKSUM points to an invalid file: /MIT
[license-checksum]
ERROR: go-helloworld-0.1-r0 do_compile: Function failed: do_compile (log file is located at
/build/p0382_2016-01-13/tmp/work/cortexa9hf-neon-amltd-linux-gnueabi/go-helloworld/0.1-r0/temp/log.do_compile.31170)
ERROR: Logfile of failure stored in:
/build/p0382_2016-01-13/tmp/work/cortexa9hf-neon-amltd-linux-gnueabi/go-helloworld/0.1-r0/temp/log.do_compile.31170
Log data follows:
| DEBUG: Executing shell function do_compile
| stat helloworld.go: no such file or directory
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at
/build/p0382_2016-01-13/tmp/work/cortexa9hf-neon-amltd-linux-gnueabi/go-helloworld/0.1-r0/temp/log.do_compile.31170)
ERROR: Task (/local/poky-cutting-edge/meta/recipes-extended/go-examples/go-helloworld_0.1.bb:do_compile) failed with
exit code '1'
I forced the compiler to my target (rsync is _my_ friend) and was
able to run 'helloword.go'. I've not tested much past this point,
but I am enthusiastic about getting 'go' into OE-core
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
^ permalink raw reply
* Re: [PATCH] fontconfig: Fix namespace conflicts with glibc
From: Burton, Ross @ 2016-12-12 12:45 UTC (permalink / raw)
To: Khem Raj; +Cc: OE-core
In-Reply-To: <20161211230719.28765-1-raj.khem@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6326 bytes --]
Has fallout, for example libxft:
| ../../libXft-2.3.2/src/xftfreetype.c:675:43: error: ‘FC_CHAR_WIDTH’
undeclared (first use in this function)
Ross
On 11 December 2016 at 23:07, Khem Raj <raj.khem@gmail.com> wrote:
> glibc 2.25 will come with TS 18661-1 macro definitions in limits.h which
> ends with following errors
>
> | ../../fontconfig-2.12.1/src/fcmatch.c:324:63: error:
> 'PRI_CHAR_WIDTH_STRONG' undeclared here (not in a function)
> | #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp,
> PRI_##NAME##_STRONG, PRI_##NAME##_WEAK },
> | ^
> | ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro
> 'FC_OBJECT'
> | FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
> | ^~~~~~~~~
> | ../../fontconfig-2.12.1/src/fcmatch.c:324:84: error:
> 'PRI_CHAR_WIDTH_WEAK' undeclared here (not in a function)
> | #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp,
> PRI_##NAME##_STRONG, PRI_##NAME##_WEAK },
> |
> ^
> | ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro
> 'FC_OBJECT'
> | FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
> | ^~~~~~~~~
> | make[3]: *** [Makefile:632: fcmatch.lo] Error 1
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> ...icts-with-integer-width-macros-from-TS-18.patch | 74
> ++++++++++++++++++++++
> .../fontconfig/fontconfig_2.12.1.bb | 1 +
> 2 files changed, 75 insertions(+)
> create mode 100644 meta/recipes-graphics/fontconfig/fontconfig/0001-
> Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
>
> diff --git a/meta/recipes-graphics/fontconfig/fontconfig/0001-
> Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
> b/meta/recipes-graphics/fontconfig/fontconfig/0001-
> Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
> new file mode 100644
> index 0000000..326ff3c
> --- /dev/null
> +++ b/meta/recipes-graphics/fontconfig/fontconfig/0001-
> Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
> @@ -0,0 +1,74 @@
> +From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Sun, 11 Dec 2016 14:32:00 -0800
> +Subject: [PATCH] Avoid conflicts with integer width macros from TS
> + 18661-1:2014
> +
> +glibc 2.25+ has now defined these macros in <limits.h>
> +https://sourceware.org/git/?p=glibc.git;a=commit;h=
> 5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> +Upstream-Status: Submitted
> +
> + fontconfig/fontconfig.h | 2 +-
> + src/fcobjs.h | 2 +-
> + src/fcobjshash.gperf | 2 +-
> + src/fcobjshash.h | 2 +-
> + 4 files changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
> +index 5c72b22..843c532 100644
> +--- a/fontconfig/fontconfig.h
> ++++ b/fontconfig/fontconfig.h
> +@@ -128,7 +128,7 @@ typedef int FcBool;
> + #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
> +
> + /* Adjust outline rasterizer */
> +-#define FC_CHAR_WIDTH "charwidth" /* Int */
> ++#define FC_CHARWIDTH "charwidth" /* Int */
> + #define FC_CHAR_HEIGHT "charheight"/* Int */
> + #define FC_MATRIX "matrix" /* FcMatrix */
> +
> +diff --git a/src/fcobjs.h b/src/fcobjs.h
> +index 1fc4f65..d27864b 100644
> +--- a/src/fcobjs.h
> ++++ b/src/fcobjs.h
> +@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble,
> NULL)
> + FC_OBJECT (RGBA, FcTypeInteger, NULL)
> + FC_OBJECT (SCALE, FcTypeDouble, NULL)
> + FC_OBJECT (MINSPACE, FcTypeBool, NULL)
> +-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
> ++FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
> + FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
> + FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
> + FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
> +diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
> +index 80a0237..eb4ad84 100644
> +--- a/src/fcobjshash.gperf
> ++++ b/src/fcobjshash.gperf
> +@@ -44,7 +44,7 @@ int id;
> + "rgba",FC_RGBA_OBJECT
> + "scale",FC_SCALE_OBJECT
> + "minspace",FC_MINSPACE_OBJECT
> +-"charwidth",FC_CHAR_WIDTH_OBJECT
> ++"charwidth",FC_CHARWIDTH_OBJECT
> + "charheight",FC_CHAR_HEIGHT_OBJECT
> + "matrix",FC_MATRIX_OBJECT
> + "charset",FC_CHARSET_OBJECT
> +diff --git a/src/fcobjshash.h b/src/fcobjshash.h
> +index 5a4d1ea..4e66bb0 100644
> +--- a/src/fcobjshash.h
> ++++ b/src/fcobjshash.h
> +@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char *str,
> register unsigned int len)
> + {(int)(long)&((struct FcObjectTypeNamePool_t
> *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
> + {-1},
> + #line 47 "fcobjshash.gperf"
> +- {(int)(long)&((struct FcObjectTypeNamePool_t
> *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
> ++ {(int)(long)&((struct FcObjectTypeNamePool_t
> *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
> + #line 48 "fcobjshash.gperf"
> + {(int)(long)&((struct FcObjectTypeNamePool_t
> *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
> + #line 55 "fcobjshash.gperf"
> +--
> +2.10.2
> +
> diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> b/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> index 115f558..8616154 100644
> --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
> @@ -22,6 +22,7 @@ DEPENDS = "expat freetype zlib"
>
> SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
> file://revert-static-pkgconfig.patch \
> + file://0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
> \
> "
> SRC_URI[md5sum] = "ce55e525c37147eee14cc2de6cc09f6c"
> SRC_URI[sha256sum] = "a9f42d03949f948a3a4f762287dbc1
> 6e53a927c91a07ee64207ebd90a9e5e292"
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 8666 bytes --]
^ permalink raw reply
* [PATCH] curl: add ptest
From: Maxin B. John @ 2016-12-12 13:09 UTC (permalink / raw)
To: openembedded-core; +Cc: Cristian Iorga
Add ptest support to curl
[YOCTO #6707]
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
.../curl/0001-runtests.pl-remove-warning.patch | 31 ++++++++++++++++++++++
meta/recipes-support/curl/curl/run-ptest | 5 ++++
meta/recipes-support/curl/curl_7.51.0.bb | 24 +++++++++++++++--
3 files changed, 58 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-support/curl/curl/0001-runtests.pl-remove-warning.patch
create mode 100644 meta/recipes-support/curl/curl/run-ptest
diff --git a/meta/recipes-support/curl/curl/0001-runtests.pl-remove-warning.patch b/meta/recipes-support/curl/curl/0001-runtests.pl-remove-warning.patch
new file mode 100644
index 0000000..283aa20
--- /dev/null
+++ b/meta/recipes-support/curl/curl/0001-runtests.pl-remove-warning.patch
@@ -0,0 +1,31 @@
+From c1d3bf13567909395715e441bc329793a5d2566b Mon Sep 17 00:00:00 2001
+From: "Maxin B. John" <maxin.john@intel.com>
+Date: Mon, 12 Dec 2016 12:49:46 +0200
+Subject: [PATCH] runtests.pl: remove warning
+
+Remove the warning which floods the console while executing tests.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ tests/runtests.pl | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/tests/runtests.pl b/tests/runtests.pl
+index b8497f9..3cc6415 100755
+--- a/tests/runtests.pl
++++ b/tests/runtests.pl
+@@ -2879,9 +2879,6 @@ sub singletest {
+ # timestamp test preparation start
+ $timeprepini{$testnum} = Time::HiRes::time() if($timestats);
+
+- if($disttests !~ /test$testnum\W/ ) {
+- logmsg "Warning: test$testnum not present in tests/data/Makefile.inc\n";
+- }
+ if($disabled{$testnum}) {
+ logmsg "Warning: test$testnum is explicitly disabled\n";
+ }
+--
+2.4.0
+
diff --git a/meta/recipes-support/curl/curl/run-ptest b/meta/recipes-support/curl/curl/run-ptest
new file mode 100644
index 0000000..c91f294
--- /dev/null
+++ b/meta/recipes-support/curl/curl/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+cd tests
+./runtests.pl -a -n -s | sed \
+ -e 's|\([^ ]* *\) \([^ ]* *\)...OK|PASS: \1 \2|' \
+ -e 's|\([^ ]* *\) \([^ ]* *\)...FAILED|FAIL: \1 \2|'
diff --git a/meta/recipes-support/curl/curl_7.51.0.bb b/meta/recipes-support/curl/curl_7.51.0.bb
index e1a996b..c8002c9 100644
--- a/meta/recipes-support/curl/curl_7.51.0.bb
+++ b/meta/recipes-support/curl/curl_7.51.0.bb
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;beginline=8;md5=3a34942f4ae3fbf1a303160714e66
SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
file://0001-replace-krb5-config-with-pkg-config.patch \
+ file://0001-runtests.pl-remove-warning.patch \
+ file://run-ptest \
"
# curl likes to set -g0 in CFLAGS, so we stop it
@@ -17,7 +19,7 @@ SRC_URI += " file://configure_ac.patch"
SRC_URI[md5sum] = "09a7c5769a7eae676d5e2c86d51f167e"
SRC_URI[sha256sum] = "7f8240048907e5030f67be0a6129bc4b333783b9cca1391026d700835a788dde"
-inherit autotools pkgconfig binconfig multilib_header
+inherit autotools pkgconfig binconfig multilib_header ptest
PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)} gnutls proxy zlib"
PACKAGECONFIG_class-native = "ipv6 proxy ssl zlib"
@@ -61,11 +63,29 @@ do_install_append_class-target() {
sed -i -e 's,${STAGING_DIR_HOST},,g' ${D}${bindir}/curl-config
}
+do_compile_ptest() {
+ oe_runmake test
+ oe_runmake -C ${B}/tests/data/ show
+ oe_runmake -C ${B}/tests/server
+}
+
+do_install_ptest() {
+ cp -rf ${B}/tests ${D}${PTEST_PATH}
+ cp -rf ${S}/tests ${D}${PTEST_PATH}
+ install -d ${D}${PTEST_PATH}/src
+ ln -sf ${bindir}/curl ${D}${PTEST_PATH}/src/curl
+}
+
PACKAGES =+ "lib${BPN}"
FILES_lib${BPN} = "${libdir}/lib*.so.*"
RRECOMMENDS_lib${BPN} += "ca-certificates"
-
+RDEPENDS_${PN}-ptest += "make bash perl perl-module-cwd \
+ perl-module-ipc-open2 perl-module-digest-md5\
+ perl-module-file-basename perl-module-posix \
+ perl-module-errno python python-netserver \
+ python-argparse python-pprint diffutils openssh \
+ "
FILES_${PN} += "${datadir}/zsh"
BBCLASSEXTEND = "native nativesdk"
--
2.4.0
^ permalink raw reply related
* Re: [PATCH] libpcap: Disable exposed bits of WinPCAP remote capture support
From: Burton, Ross @ 2016-12-12 13:26 UTC (permalink / raw)
To: Lei, Maohui; +Cc: openembedded-core@lists.openembedded.org
In-Reply-To: <1B56A49860EB2D45ADE3731B15C959FDFE5ADEB5@G08CNEXMBPEKD01.g08.fujitsu.local>
[-- Attachment #1: Type: text/plain, Size: 278 bytes --]
On 12 December 2016 at 06:55, Lei, Maohui <leimaohui@cn.fujitsu.com> wrote:
> I met the same issue when I build wireshark comes from meta-oe.
> Why this patch hasn't been merged yet?
>
I had the wrong tag on it locally so it didn't get merged. In staging now.
Ross
[-- Attachment #2: Type: text/html, Size: 734 bytes --]
^ permalink raw reply
* [PATCH 1/3] libxml2: Necessary changes before fixing CVE-2016-5131 Fix comaparation with root node in xmlXPathCmpNodes and NULL pointer deref in XPointer
From: Andrej Valek @ 2016-12-12 13:20 UTC (permalink / raw)
To: openembedded-core
xpath:
- Check for errors after evaluating first operand.
- Add sanity check for empty stack.
- Include comparation in changes from xmlXPathCmpNodesExt to xmlXPathCmpNodes
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
---
.../libxml2/libxml2-fix_node_comparison.patch | 67 ++++++++++++++++++++++
meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 +
2 files changed, 68 insertions(+)
create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch
diff --git a/meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch b/meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch
new file mode 100644
index 0000000..11718bb
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch
@@ -0,0 +1,67 @@
+libxml2-2.9.4: Fix comparison with root node in xmlXPathCmpNodes and NULL pointer deref in XPointer
+
+xpath:
+ - Check for errors after evaluating first operand.
+ - Add sanity check for empty stack.
+ - Include comparation in changes from xmlXPathCmpNodesExt to xmlXPathCmpNodes
+
+Upstream-Status: Backported
+ - [https://git.gnome.org/browse/libxml2/commit/?id=c1d1f7121194036608bf555f08d3062a36fd344b]
+ - [https://git.gnome.org/browse/libxml2/commit/?id=a005199330b86dada19d162cae15ef9bdcb6baa8]
+CVE: necessary changes for fixing CVE-2016-5131
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+
+diff --git a/result/XPath/xptr/viderror b/result/XPath/xptr/viderror
+new file mode 100644
+index 0000000..d589882
+--- /dev/null
++++ b/result/XPath/xptr/viderror
+@@ -0,0 +1,4 @@
++
++========================
++Expression: xpointer(non-existing-fn()/range-to(id('chapter2')))
++Object is empty (NULL)
+diff --git a/test/XPath/xptr/viderror b/test/XPath/xptr/viderror
+new file mode 100644
+index 0000000..da8c53b
+--- /dev/null
++++ b/test/XPath/xptr/viderror
+@@ -0,0 +1 @@
++xpointer(non-existing-fn()/range-to(id('chapter2')))
+diff --git a/xpath.c b/xpath.c
+index 113bce6..d992841 100644
+--- a/xpath.c
++++ b/xpath.c
+@@ -3342,13 +3342,13 @@ xmlXPathCmpNodes(xmlNodePtr node1, xmlNodePtr node2) {
+ * compute depth to root
+ */
+ for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) {
+- if (cur == node1)
++ if (cur->parent == node1)
+ return(1);
+ depth2++;
+ }
+ root = cur;
+ for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) {
+- if (cur == node2)
++ if (cur->parent == node2)
+ return(-1);
+ depth1++;
+ }
+@@ -14005,9 +14005,14 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
+ xmlNodeSetPtr oldset;
+ int i, j;
+
+- if (op->ch1 != -1)
++ if (op->ch1 != -1) {
+ total +=
+ xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
++ CHECK_ERROR0;
++ }
++ if (ctxt->value == NULL) {
++ XP_ERROR0(XPATH_INVALID_OPERAND);
++ }
+ if (op->ch2 == -1)
+ return (total);
+
diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb
index 1fed90b..66a8940 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.4.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb
@@ -19,6 +19,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \
file://run-ptest \
file://python-sitepackages-dir.patch \
file://libxml-m4-use-pkgconfig.patch \
+ file://libxml2-fix_node_comparison.patch \
file://libxml2-CVE-2016-5131.patch \
"
--
2.1.4
^ permalink raw reply related
* [PATCH 2/3] libxml2: fix CVE-2016-4658 Disallow namespace nodes in XPointer points and ranges
From: Andrej Valek @ 2016-12-12 13:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <1481548821-15878-1-git-send-email-andrej.valek@siemens.com>
Namespace nodes must be copied to avoid use-after-free errors.
But they don't necessarily have a physical representation in a
document, so simply disallow them in XPointer ranges.
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
---
.../libxml/libxml2/libxml2-CVE-2016-4658.patch | 269 +++++++++++++++++++++
meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 +
2 files changed, 270 insertions(+)
create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-CVE-2016-4658.patch
diff --git a/meta/recipes-core/libxml/libxml2/libxml2-CVE-2016-4658.patch b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2016-4658.patch
new file mode 100644
index 0000000..5412e8c
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2016-4658.patch
@@ -0,0 +1,269 @@
+libxml2-2.9.4: Fix CVE-2016-4658
+
+[No upstream tracking] -- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-4658
+
+xpointer: Disallow namespace nodes in XPointer points and ranges
+
+Namespace nodes must be copied to avoid use-after-free errors.
+But they don't necessarily have a physical representation in a
+document, so simply disallow them in XPointer ranges.
+
+Upstream-Status: Backported
+ - [https://git.gnome.org/browse/libxml2/commit/?id=c1d1f7121194036608bf555f08d3062a36fd344b]
+ - [https://git.gnome.org/browse/libxml2/commit/?id=3f8a91036d338e51c059d54397a42d645f019c65]
+CVE: CVE-2016-4658
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+
+diff --git a/xpointer.c b/xpointer.c
+index 676c510..911680d 100644
+--- a/xpointer.c
++++ b/xpointer.c
+@@ -320,6 +320,45 @@ xmlXPtrRangesEqual(xmlXPathObjectPtr range1, xmlXPathObjectPtr range2) {
+ }
+
+ /**
++ * xmlXPtrNewRangeInternal:
++ * @start: the starting node
++ * @startindex: the start index
++ * @end: the ending point
++ * @endindex: the ending index
++ *
++ * Internal function to create a new xmlXPathObjectPtr of type range
++ *
++ * Returns the newly created object.
++ */
++static xmlXPathObjectPtr
++xmlXPtrNewRangeInternal(xmlNodePtr start, int startindex,
++ xmlNodePtr end, int endindex) {
++ xmlXPathObjectPtr ret;
++
++ /*
++ * Namespace nodes must be copied (see xmlXPathNodeSetDupNs).
++ * Disallow them for now.
++ */
++ if ((start != NULL) && (start->type == XML_NAMESPACE_DECL))
++ return(NULL);
++ if ((end != NULL) && (end->type == XML_NAMESPACE_DECL))
++ return(NULL);
++
++ ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
++ if (ret == NULL) {
++ xmlXPtrErrMemory("allocating range");
++ return(NULL);
++ }
++ memset(ret, 0, sizeof(xmlXPathObject));
++ ret->type = XPATH_RANGE;
++ ret->user = start;
++ ret->index = startindex;
++ ret->user2 = end;
++ ret->index2 = endindex;
++ return(ret);
++}
++
++/**
+ * xmlXPtrNewRange:
+ * @start: the starting node
+ * @startindex: the start index
+@@ -344,17 +383,7 @@ xmlXPtrNewRange(xmlNodePtr start, int startindex,
+ if (endindex < 0)
+ return(NULL);
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start;
+- ret->index = startindex;
+- ret->user2 = end;
+- ret->index2 = endindex;
++ ret = xmlXPtrNewRangeInternal(start, startindex, end, endindex);
+ xmlXPtrRangeCheckOrder(ret);
+ return(ret);
+ }
+@@ -381,17 +410,8 @@ xmlXPtrNewRangePoints(xmlXPathObjectPtr start, xmlXPathObjectPtr end) {
+ if (end->type != XPATH_POINT)
+ return(NULL);
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start->user;
+- ret->index = start->index;
+- ret->user2 = end->user;
+- ret->index2 = end->index;
++ ret = xmlXPtrNewRangeInternal(start->user, start->index, end->user,
++ end->index);
+ xmlXPtrRangeCheckOrder(ret);
+ return(ret);
+ }
+@@ -416,17 +436,7 @@ xmlXPtrNewRangePointNode(xmlXPathObjectPtr start, xmlNodePtr end) {
+ if (start->type != XPATH_POINT)
+ return(NULL);
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start->user;
+- ret->index = start->index;
+- ret->user2 = end;
+- ret->index2 = -1;
++ ret = xmlXPtrNewRangeInternal(start->user, start->index, end, -1);
+ xmlXPtrRangeCheckOrder(ret);
+ return(ret);
+ }
+@@ -453,17 +463,7 @@ xmlXPtrNewRangeNodePoint(xmlNodePtr start, xmlXPathObjectPtr end) {
+ if (end->type != XPATH_POINT)
+ return(NULL);
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start;
+- ret->index = -1;
+- ret->user2 = end->user;
+- ret->index2 = end->index;
++ ret = xmlXPtrNewRangeInternal(start, -1, end->user, end->index);
+ xmlXPtrRangeCheckOrder(ret);
+ return(ret);
+ }
+@@ -486,17 +486,7 @@ xmlXPtrNewRangeNodes(xmlNodePtr start, xmlNodePtr end) {
+ if (end == NULL)
+ return(NULL);
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start;
+- ret->index = -1;
+- ret->user2 = end;
+- ret->index2 = -1;
++ ret = xmlXPtrNewRangeInternal(start, -1, end, -1);
+ xmlXPtrRangeCheckOrder(ret);
+ return(ret);
+ }
+@@ -516,17 +506,7 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) {
+ if (start == NULL)
+ return(NULL);
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start;
+- ret->index = -1;
+- ret->user2 = NULL;
+- ret->index2 = -1;
++ ret = xmlXPtrNewRangeInternal(start, -1, NULL, -1);
+ return(ret);
+ }
+
+@@ -541,6 +521,8 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) {
+ */
+ xmlXPathObjectPtr
+ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
++ xmlNodePtr endNode;
++ int endIndex;
+ xmlXPathObjectPtr ret;
+
+ if (start == NULL)
+@@ -549,7 +531,12 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
+ return(NULL);
+ switch (end->type) {
+ case XPATH_POINT:
++ endNode = end->user;
++ endIndex = end->index;
++ break;
+ case XPATH_RANGE:
++ endNode = end->user2;
++ endIndex = end->index2;
+ break;
+ case XPATH_NODESET:
+ /*
+@@ -557,39 +544,15 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
+ */
+ if (end->nodesetval->nodeNr <= 0)
+ return(NULL);
++ endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
++ endIndex = -1;
+ break;
+ default:
+ /* TODO */
+ return(NULL);
+ }
+
+- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
+- if (ret == NULL) {
+- xmlXPtrErrMemory("allocating range");
+- return(NULL);
+- }
+- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
+- ret->type = XPATH_RANGE;
+- ret->user = start;
+- ret->index = -1;
+- switch (end->type) {
+- case XPATH_POINT:
+- ret->user2 = end->user;
+- ret->index2 = end->index;
+- break;
+- case XPATH_RANGE:
+- ret->user2 = end->user2;
+- ret->index2 = end->index2;
+- break;
+- case XPATH_NODESET: {
+- ret->user2 = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
+- ret->index2 = -1;
+- break;
+- }
+- default:
+- STRANGE
+- return(NULL);
+- }
++ ret = xmlXPtrNewRangeInternal(start, -1, endNode, endIndex);
+ xmlXPtrRangeCheckOrder(ret);
+ return(ret);
+ }
+@@ -1835,8 +1798,8 @@ xmlXPtrStartPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
+ case XPATH_RANGE: {
+ xmlNodePtr node = tmp->user;
+ if (node != NULL) {
+- if (node->type == XML_ATTRIBUTE_NODE) {
+- /* TODO: Namespace Nodes ??? */
++ if ((node->type == XML_ATTRIBUTE_NODE) ||
++ (node->type == XML_NAMESPACE_DECL)) {
+ xmlXPathFreeObject(obj);
+ xmlXPtrFreeLocationSet(newset);
+ XP_ERROR(XPTR_SYNTAX_ERROR);
+@@ -1931,8 +1894,8 @@ xmlXPtrEndPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
+ case XPATH_RANGE: {
+ xmlNodePtr node = tmp->user2;
+ if (node != NULL) {
+- if (node->type == XML_ATTRIBUTE_NODE) {
+- /* TODO: Namespace Nodes ??? */
++ if ((node->type == XML_ATTRIBUTE_NODE) ||
++ (node->type == XML_NAMESPACE_DECL)) {
+ xmlXPathFreeObject(obj);
+ xmlXPtrFreeLocationSet(newset);
+ XP_ERROR(XPTR_SYNTAX_ERROR);
diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb
index 66a8940..a1d1e9e 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.4.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb
@@ -21,6 +21,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \
file://libxml-m4-use-pkgconfig.patch \
file://libxml2-fix_node_comparison.patch \
file://libxml2-CVE-2016-5131.patch \
+ file://libxml2-CVE-2016-4658.patch \
"
SRC_URI[libtar.md5sum] = "ae249165c173b1ff386ee8ad676815f5"
--
2.1.4
^ permalink raw reply related
* [PATCH 0/3] Upgrade piglit, compress generated tests
From: Jussi Kukkonen @ 2016-12-12 13:35 UTC (permalink / raw)
To: openembedded-core
These patches were already on the list in another patchset, the only
change is that piglit-generated-tests now RDEPENDS on tar.
Original cover letter follows:
Piglit was removed because the current version was making sdk
images too large. This patchset reduces the installed size by 1.5GB
and adds piglit back to core-tools-testapps.
Running piglit still requires the same amount of space so in practice
this is useful for installed images only.
Thanks,
Jussi
The following changes since commit 36e178a62f04e7f2611b26964efe46b9af97189a:
linux-yocto: Update genericx86* SRCREVs for linux-yocto 4.8 (2016-12-09 08:54:07 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib jku/piglit-compress-tests
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/piglit-compress-tests
Jussi Kukkonen (3):
piglit: Package tests in compressed form as well
core-tools-testapps: Re-add piglit
piglit: Upgrade to current master head
.../packagegroup-core-tools-testapps.bb | 2 +
.../0001-cmake-Link-test-utils-with-ldl.patch | 41 ----------------
...0001-cmake-Link-utils-with-xcb-explicitly.patch | 54 ----------------------
meta/recipes-graphics/piglit/piglit/piglit.sh | 20 ++++++++
meta/recipes-graphics/piglit/piglit_git.bb | 27 +++++++++--
5 files changed, 44 insertions(+), 100 deletions(-)
delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-cmake-Link-test-utils-with-ldl.patch
delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-cmake-Link-utils-with-xcb-explicitly.patch
create mode 100644 meta/recipes-graphics/piglit/piglit/piglit.sh
--
2.1.4
^ permalink raw reply
* [PATCH 1/3] piglit: Package tests in compressed form as well
From: Jussi Kukkonen @ 2016-12-12 13:35 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481549486.git.jussi.kukkonen@intel.com>
Modify packaging so that generated tests are available in two forms:
* piglit-generated-tests contains the tests as they are now (1.5GB
when installed)
* piglit-generated-tests-compressed contains a tar.gz with the same
files (45 MB when installed)
Add wrapper script that decompresses the tests at runtime: this
requires 1.5GB free space.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta/recipes-graphics/piglit/piglit/piglit.sh | 20 ++++++++++++++++++++
meta/recipes-graphics/piglit/piglit_git.bb | 21 ++++++++++++++++++++-
2 files changed, 40 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-graphics/piglit/piglit/piglit.sh
diff --git a/meta/recipes-graphics/piglit/piglit/piglit.sh b/meta/recipes-graphics/piglit/piglit/piglit.sh
new file mode 100644
index 0000000..3308b70
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/piglit.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# If we're using compressed generated tests we may need to
+# decompress first. This is going to require at least 1.5 GB of space
+if [[ /usr/lib/piglit/generated_tests.tar.gz -nt /usr/lib/piglit/generated_tests/ ]]; then
+ echo "Decompressing generated tests..."
+ tar -C /usr/lib/piglit/ -zxf /usr/lib/piglit/generated_tests.tar.gz || {
+ echo "Failed to decompress tests, exiting."
+ exit 1
+ }
+ touch /usr/lib/piglit/generated_tests
+fi
+
+if ! [[ -d /usr/lib/piglit/generated_tests ]]; then
+ echo "NOTE: No generated tests found, install piglit-generated-tests-compressed"
+ echo " or piglit-generated-tests to include them in the tests."
+fi
+
+echo "Now running piglit..."
+PIGLIT_NO_WINDOW=1 piglit.real "$@"
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 82adcde..63f9f17 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -7,6 +7,7 @@ SRC_URI = "git://anongit.freedesktop.org/piglit \
file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \
file://0001-cmake-Link-utils-with-xcb-explicitly.patch \
file://0001-cmake-Link-test-utils-with-ldl.patch \
+ file://piglit.sh \
"
# From 2016-07-07
@@ -39,9 +40,14 @@ do_configure_prepend() {
}
do_install() {
- oe_runmake -C ${B} 'DESTDIR=${D}' install/strip
+ oe_runmake -C ${B} 'DESTDIR=${D}' install/strip
+ mv ${D}${bindir}/piglit ${D}${bindir}/piglit.real
+ install -m 755 ${WORKDIR}/piglit.sh ${D}${bindir}/piglit
+ tar -C ${D}${libdir}/piglit/ -czf ${D}${libdir}/piglit/generated_tests.tar.gz generated_tests/
}
+PACKAGES =+ "${PN}-generated-tests ${PN}-generated-tests-compressed"
+
RDEPENDS_${PN} = "waffle python3 python3-mako python3-json \
python3-subprocess python3-misc python3-importlib \
python3-unixadmin python3-xml python3-multiprocessing \
@@ -50,3 +56,16 @@ RDEPENDS_${PN} = "waffle python3 python3-mako python3-json \
"
INSANE_SKIP_${PN} += "dev-so already-stripped"
+
+SUMMARY_${PN}-generated-tests = "Generated piglit tests (multiple GB)"
+FILES_${PN}-generated-tests = "${libdir}/piglit/generated_tests/*"
+CONFLICTS_${PN}-generated-tests = "${PN}-generated-tests-compressed"
+RDEPENDS_${PN}-generated-tests += "tar"
+
+SUMMARY_${PN}-generated-tests-compressed = "Generated piglit tests in compressed archive"
+FILES_${PN}-generated-tests-compressed = "${libdir}/piglit/generated_tests.tar.gz"
+CONFLICTS_${PN}-generated-tests-compressed = "${PN}-generated-tests"
+pkg_postrm_${PN}-generated-tests-compressed () {
+ rm -rf $D${libdir}/piglit/generated_tests/
+}
+
--
2.1.4
^ permalink raw reply related
* [PATCH 2/3] core-tools-testapps: Re-add piglit
From: Jussi Kukkonen @ 2016-12-12 13:35 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481549486.git.jussi.kukkonen@intel.com>
Piglit was removed from testapps in 9e227ecb3a because it made
sdk images massive. Add piglit back now that the installed size is
no longer humongous: it still needs 1.5 GB free space at runtime but
the image sizes stay reasonable.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index 3170978..69cfd57 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -17,6 +17,8 @@ KEXECTOOLS_nios2 ?= ""
X11GLTOOLS = "\
mesa-demos \
+ piglit \
+ piglit-generated-tests-compressed \
"
3GTOOLS = "\
--
2.1.4
^ permalink raw reply related
* [PATCH 3/3] piglit: Upgrade to current master head
From: Jussi Kukkonen @ 2016-12-12 13:35 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481549486.git.jussi.kukkonen@intel.com>
Remove upstreamed patches.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../0001-cmake-Link-test-utils-with-ldl.patch | 41 ----------------
...0001-cmake-Link-utils-with-xcb-explicitly.patch | 54 ----------------------
meta/recipes-graphics/piglit/piglit_git.bb | 6 +--
3 files changed, 2 insertions(+), 99 deletions(-)
delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-cmake-Link-test-utils-with-ldl.patch
delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-cmake-Link-utils-with-xcb-explicitly.patch
diff --git a/meta/recipes-graphics/piglit/piglit/0001-cmake-Link-test-utils-with-ldl.patch b/meta/recipes-graphics/piglit/piglit/0001-cmake-Link-test-utils-with-ldl.patch
deleted file mode 100644
index 2e1c947..0000000
--- a/meta/recipes-graphics/piglit/piglit/0001-cmake-Link-test-utils-with-ldl.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Backport patch to fix build with gold linker.
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Backport
-
-
-
-From 93a7113485cf1c55fd7076116faf5b3a690706b2 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 30 Aug 2016 17:17:28 +0300
-Subject: [PATCH] cmake: Link test utils with "-ldl"
-
-Without this linking CXX executables (e.g. fbo-blit-stretch) fails
-with gold linker:
-
-| libpiglitutil_gl.so.0: error: undefined reference to 'dlsym'
-| libpiglitutil_gl.so.0: error: undefined reference to 'dlerror'
-| libpiglitutil_gl.so.0: error: undefined reference to 'dlopen'
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
----
- tests/util/CMakeLists.txt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt
-index e1f8073..3d5bef5 100644
---- a/tests/util/CMakeLists.txt
-+++ b/tests/util/CMakeLists.txt
-@@ -11,6 +11,8 @@ set_source_files_properties(
- PROPERTIES GENERATED 1
- )
-
-+link_libraries(${CMAKE_DL_LIBS})
-+
- if(HAVE_LIBCACA)
- link_libraries(caca)
- endif()
---
-2.9.3
-
diff --git a/meta/recipes-graphics/piglit/piglit/0001-cmake-Link-utils-with-xcb-explicitly.patch b/meta/recipes-graphics/piglit/piglit/0001-cmake-Link-utils-with-xcb-explicitly.patch
deleted file mode 100644
index 845804d..0000000
--- a/meta/recipes-graphics/piglit/piglit/0001-cmake-Link-utils-with-xcb-explicitly.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 73e4fbc5777eddd89bb0fb16e90343551fe3e0ef Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 5 Jul 2016 10:56:23 +0300
-Subject: [PATCH] cmake: Link utils with xcb explicitly
-
-Linking with g++ can reportedly lead to:
-
-libpiglitutil_gl.so.0: error: undefined reference to 'xcb_connect'
-libpiglitutil_gl.so.0: error: undefined reference to 'xcb_get_setup'
-libpiglitutil_gl.so.0: error: undefined reference to 'xcb_setup_roots_iterator'
-
-This may have appeared now because xcb-dri2 used to overlink publicly
-but now does not.
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Accepted
----
- CMakeLists.txt | 1 +
- tests/util/CMakeLists.txt | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8e2abba..2e1a473 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -151,6 +151,7 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-
- pkg_check_modules(LIBDRM QUIET libdrm)
- pkg_check_modules(LIBDRM_INTEL QUIET libdrm_intel)
-+ pkg_check_modules(XCB QUIET xcb)
- pkg_check_modules(XCB_DRI2 QUIET xcb-dri2)
- pkg_check_modules(GLPROTO QUIET glproto)
- ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt
-index fb22ffa..e1f8073 100644
---- a/tests/util/CMakeLists.txt
-+++ b/tests/util/CMakeLists.txt
-@@ -121,11 +121,13 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-
- list(APPEND UTIL_GL_LIBS
- ${LIBDRM_LDFLAGS}
-+ ${XCB_LDFLAGS}
- ${XCB_DRI2_LDFLAGS}
- )
-
- list(APPEND UTIL_GL_INCLUDES
- ${LIBDRM_INCLUDE_DIRS}
-+ ${XCB_INCLUDE_DIRS}
- ${XCB_DRI2_INCLUDE_DIRS}
- )
-
---
-2.1.4
-
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 63f9f17..21d9677 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -5,13 +5,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
SRC_URI = "git://anongit.freedesktop.org/piglit \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \
- file://0001-cmake-Link-utils-with-xcb-explicitly.patch \
- file://0001-cmake-Link-test-utils-with-ldl.patch \
file://piglit.sh \
"
-# From 2016-07-07
-SRCREV = "c39e41a86551eb390b8da23232dc8577639403d0"
+# Head of master 2016-11-16
+SRCREV = "1619c37a88770c9c0d8467939e34ffd337241c14"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
--
2.1.4
^ permalink raw reply related
* Re: [PATCH 1/3] libxml2: Necessary changes before fixing CVE-2016-5131 Fix comaparation with root node in xmlXPathCmpNodes and NULL pointer deref in XPointer
From: Burton, Ross @ 2016-12-12 13:44 UTC (permalink / raw)
To: Andrej Valek; +Cc: OE-core
In-Reply-To: <1481548821-15878-1-git-send-email-andrej.valek@siemens.com>
[-- Attachment #1: Type: text/plain, Size: 4583 bytes --]
I see part 1 and 2 but no part 3.
Also, have you asked upstream if they'll be making a point release with
these in?
Ross
On 12 December 2016 at 13:20, Andrej Valek <andrej.valek@siemens.com> wrote:
> xpath:
> - Check for errors after evaluating first operand.
> - Add sanity check for empty stack.
> - Include comparation in changes from xmlXPathCmpNodesExt to
> xmlXPathCmpNodes
>
> Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
> ---
> .../libxml2/libxml2-fix_node_comparison.patch | 67
> ++++++++++++++++++++++
> meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 +
> 2 files changed, 68 insertions(+)
> create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-fix_node_
> comparison.patch
>
> diff --git a/meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch
> b/meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch
> new file mode 100644
> index 0000000..11718bb
> --- /dev/null
> +++ b/meta/recipes-core/libxml/libxml2/libxml2-fix_node_comparison.patch
> @@ -0,0 +1,67 @@
> +libxml2-2.9.4: Fix comparison with root node in xmlXPathCmpNodes and NULL
> pointer deref in XPointer
> +
> +xpath:
> + - Check for errors after evaluating first operand.
> + - Add sanity check for empty stack.
> + - Include comparation in changes from xmlXPathCmpNodesExt to
> xmlXPathCmpNodes
> +
> +Upstream-Status: Backported
> + - [https://git.gnome.org/browse/libxml2/commit/?id=
> c1d1f7121194036608bf555f08d3062a36fd344b]
> + - [https://git.gnome.org/browse/libxml2/commit/?id=
> a005199330b86dada19d162cae15ef9bdcb6baa8]
> +CVE: necessary changes for fixing CVE-2016-5131
> +Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> +Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
> +
> +diff --git a/result/XPath/xptr/viderror b/result/XPath/xptr/viderror
> +new file mode 100644
> +index 0000000..d589882
> +--- /dev/null
> ++++ b/result/XPath/xptr/viderror
> +@@ -0,0 +1,4 @@
> ++
> ++========================
> ++Expression: xpointer(non-existing-fn()/range-to(id('chapter2')))
> ++Object is empty (NULL)
> +diff --git a/test/XPath/xptr/viderror b/test/XPath/xptr/viderror
> +new file mode 100644
> +index 0000000..da8c53b
> +--- /dev/null
> ++++ b/test/XPath/xptr/viderror
> +@@ -0,0 +1 @@
> ++xpointer(non-existing-fn()/range-to(id('chapter2')))
> +diff --git a/xpath.c b/xpath.c
> +index 113bce6..d992841 100644
> +--- a/xpath.c
> ++++ b/xpath.c
> +@@ -3342,13 +3342,13 @@ xmlXPathCmpNodes(xmlNodePtr node1, xmlNodePtr
> node2) {
> + * compute depth to root
> + */
> + for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) {
> +- if (cur == node1)
> ++ if (cur->parent == node1)
> + return(1);
> + depth2++;
> + }
> + root = cur;
> + for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) {
> +- if (cur == node2)
> ++ if (cur->parent == node2)
> + return(-1);
> + depth1++;
> + }
> +@@ -14005,9 +14005,14 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr
> ctxt, xmlXPathStepOpPtr op)
> + xmlNodeSetPtr oldset;
> + int i, j;
> +
> +- if (op->ch1 != -1)
> ++ if (op->ch1 != -1) {
> + total +=
> + xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
> ++ CHECK_ERROR0;
> ++ }
> ++ if (ctxt->value == NULL) {
> ++ XP_ERROR0(XPATH_INVALID_OPERAND);
> ++ }
> + if (op->ch2 == -1)
> + return (total);
> +
> diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb
> b/meta/recipes-core/libxml/libxml2_2.9.4.bb
> index 1fed90b..66a8940 100644
> --- a/meta/recipes-core/libxml/libxml2_2.9.4.bb
> +++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb
> @@ -19,6 +19,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/
> libxml2-${PV}.tar.gz;name=libtar \
> file://run-ptest \
> file://python-sitepackages-dir.patch \
> file://libxml-m4-use-pkgconfig.patch \
> + file://libxml2-fix_node_comparison.patch \
> file://libxml2-CVE-2016-5131.patch \
> "
>
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 6731 bytes --]
^ permalink raw reply
* [PATCH 3/3] libxml2: Fix more NULL pointer derefs
From: Andrej Valek @ 2016-12-12 13:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <1481548821-15878-1-git-send-email-andrej.valek@siemens.com>
The NULL pointer dereferencing could produced some
security problems.
This is a preventive security fix.
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
---
.../libxml2/libxml2-fix_NULL_pointer_derefs.patch | 46 ++++++++++++++++++++++
meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 +
2 files changed, 47 insertions(+)
create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-fix_NULL_pointer_derefs.patch
diff --git a/meta/recipes-core/libxml/libxml2/libxml2-fix_NULL_pointer_derefs.patch b/meta/recipes-core/libxml/libxml2/libxml2-fix_NULL_pointer_derefs.patch
new file mode 100644
index 0000000..83552ca
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/libxml2-fix_NULL_pointer_derefs.patch
@@ -0,0 +1,46 @@
+libxml2-2.9.4: Fix more NULL pointer derefs
+
+xpointer: Fix more NULL pointer derefs
+
+Upstream-Status: Backported [https://git.gnome.org/browse/libxml2/commit/?id=e905f08123e4a6e7731549e6f09dadff4cab65bd]
+CVE: -
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+
+diff --git a/xpointer.c b/xpointer.c
+index 676c510..074db24 100644
+--- a/xpointer.c
++++ b/xpointer.c
+@@ -555,7 +555,7 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
+ /*
+ * Empty set ...
+ */
+- if (end->nodesetval->nodeNr <= 0)
++ if ((end->nodesetval == NULL) || (end->nodesetval->nodeNr <= 0))
+ return(NULL);
+ break;
+ default:
+@@ -1400,7 +1400,7 @@ xmlXPtrEval(const xmlChar *str, xmlXPathContextPtr ctx) {
+ */
+ xmlNodeSetPtr set;
+ set = tmp->nodesetval;
+- if ((set->nodeNr != 1) ||
++ if ((set == NULL) || (set->nodeNr != 1) ||
+ (set->nodeTab[0] != (xmlNodePtr) ctx->doc))
+ stack++;
+ } else
+@@ -2073,9 +2073,11 @@ xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
+ xmlXPathFreeObject(set);
+ XP_ERROR(XPATH_MEMORY_ERROR);
+ }
+- for (i = 0;i < oldset->locNr;i++) {
+- xmlXPtrLocationSetAdd(newset,
+- xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
++ if (oldset != NULL) {
++ for (i = 0;i < oldset->locNr;i++) {
++ xmlXPtrLocationSetAdd(newset,
++ xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
++ }
+ }
+
+ /*
diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb
index a1d1e9e..ba08c9c 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.4.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb
@@ -22,6 +22,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \
file://libxml2-fix_node_comparison.patch \
file://libxml2-CVE-2016-5131.patch \
file://libxml2-CVE-2016-4658.patch \
+ file://libxml2-fix_NULL_pointer_derefs.patch \
"
SRC_URI[libtar.md5sum] = "ae249165c173b1ff386ee8ad676815f5"
--
2.1.4
^ permalink raw reply related
* [PATCH] sstatesig: don't squash dependencies of useradd packages
From: Maxin B. John @ 2016-12-12 13:48 UTC (permalink / raw)
To: openembedded-core
Without this change, sstate dependency filter squashes dependencies
of packages which inherits useradd class. That causes failures while
rebuilding it for another MACHINE.
Fixes [YOCTO #8078]
Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
meta/lib/oe/sstatesig.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 8224e3a..88b2290 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -17,6 +17,9 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
def isAllArch(fn):
inherits = " ".join(dataCache.inherits[fn])
return "/allarch.bbclass" in inherits
+ def isUserAdd(fn):
+ inherits = " ".join(dataCache.inherits[fn])
+ return "/useradd.bbclass" in inherits
def isImage(fn):
return "/image.bbclass" in " ".join(dataCache.inherits[fn])
@@ -39,6 +42,10 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
# Only target packages beyond here
+ # Don't squash the dependencies of packages inheritting useradd class
+ if isUserAdd(fn):
+ return True
+
# allarch packagegroups are assumed to have well behaved names which don't change between architecures/tunes
if isPackageGroup(fn) and isAllArch(fn) and not isNative(depname):
return False
--
2.4.0
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox