Skip to contentSkip to conversation

expat: upgrade to 2.2.2

PATCH Superseded Dengke Du 3 participants 10 messages Jul 18, 2017 – Aug 4, 2017

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Dengke Du

author
#0 lore raw

cover expat: upgrade to 2.2.2

The following changes since commit 81498aac9560fbeaeb58eaada32ce80e0ea51628:

yocto-project-qs: Updated Next Steps list (2017-07-12 00:28:16 +0100)

are available in the git repository at:

https://github.com/DengkeDu/openembedded-core.git dengke/expat-upgrade-2.2.2
https://github.com//tree/dengke/expat-upgrade-2.2.2

Dengke Du (1):
expat: upgrade to 2.2.2

 meta/recipes-core/expat/expat_2.2.1.bb | 5 -----
 meta/recipes-core/expat/expat_2.2.2.bb | 5 +++++
 2 files changed, 5 insertions(+), 5 deletions(-)
 delete mode 100644 meta/recipes-core/expat/expat_2.2.1.bb
 create mode 100644 meta/recipes-core/expat/expat_2.2.2.bb
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 1/1 expat: upgrade to 2.2.2

The expat 2.2.2:

using getrandom syscall on linux 3.17+, so when we compiling expat-native on the kernel older than 3.17, that would be failed.

---
 meta/recipes-core/expat/expat_2.2.1.bb | 5 -----
 meta/recipes-core/expat/expat_2.2.2.bb | 5 +++++
 2 files changed, 5 insertions(+), 5 deletions(-)
 delete mode 100644 meta/recipes-core/expat/expat_2.2.1.bb
 create mode 100644 meta/recipes-core/expat/expat_2.2.2.bb
meta/recipes-core/expat/expat_2.2.1.bb deleted +0 -5
deleted file mode 100644
index 47827c5..0000000
@@ -1,5 +0,0 @@
-require expat.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
-
-SRC_URI[md5sum] = "d9c3baeab58774cefc2f04faf29f2cf8"
-SRC_URI[sha256sum] = "1868cadae4c82a018e361e2b2091de103cd820aaacb0d6cfa49bd2cd83978885"
meta/recipes-core/expat/expat_2.2.2.bb new file +5 -0
new file mode 100644
index 0000000..dfa014b
@@ -0,0 +1,5 @@
+require expat.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
+
+SRC_URI[md5sum] = "1ede9a41223c78528b8c5d23e69a2667"
+SRC_URI[sha256sum] = "4376911fcf81a23ebd821bbabc26fd933f3ac74833f74924342c29aad2c86046"
Signature · 1 line
2.7.4
author
#2 lore raw

Hi Ross

Do we need to add a patch to glibc to support the ubuntu 14.04 (or kernel version older than 3.17)?

Quoted 35 lines · Dengke Du

The expat 2.2.2:

using getrandom syscall on linux 3.17+, so when we compiling expat-native on the kernel older than 3.17, that would be failed.

---
  meta/recipes-core/expat/expat_2.2.1.bb | 5 -----
  meta/recipes-core/expat/expat_2.2.2.bb | 5 +++++
  2 files changed, 5 insertions(+), 5 deletions(-)

delete mode 100644 meta/recipes-core/expat/expat_2.2.1.bb create mode 100644 meta/recipes-core/expat/expat_2.2.2.bb

meta/recipes-core/expat/expat_2.2.1.bb deleted +0 -5
deleted file mode 100644
index 47827c5..0000000
@@ -1,5 +0,0 @@
-require expat.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
-
-SRC_URI[md5sum] = "d9c3baeab58774cefc2f04faf29f2cf8"
-SRC_URI[sha256sum] = "1868cadae4c82a018e361e2b2091de103cd820aaacb0d6cfa49bd2cd83978885"
meta/recipes-core/expat/expat_2.2.2.bb new file +5 -0
new file mode 100644
index 0000000..dfa014b
@@ -0,0 +1,5 @@
+require expat.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
+
+SRC_URI[md5sum] = "1ede9a41223c78528b8c5d23e69a2667"
+SRC_URI[sha256sum] = "4376911fcf81a23ebd821bbabc26fd933f3ac74833f74924342c29aad2c86046"
#3 lore raw
In reply to Dengke Du
Quoted 4 lines · Dengke Du

using getrandom syscall on linux 3.17+, so when we compiling expat
-native
on the kernel older than 3.17, that would be failed.

It's failing on Debian 8, which is kernel 4.9.0:

| ../expat-2.2.2/lib/xmlparse.c:56:3: error: #error You do not have support for any sources of high quality entropy enabled. For end user security, that is probably not what you want. Your options include: * Linux + glibc

Quoted 1 line

=2.25 (getrandom): HAVE_GETRANDOM, * Linux + glibc <2.25 (syscall

SYS_getrandom): HAVE_SYSCALL_GETRANDOM, * BSD / macOS (arc4random_buf):
HAVE_ARC4RANDOM_BUF, * libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, * Windows (RtlGenRandom): _WIN32. If insist on not using any of these, bypass this error by defining XML_POOR_ENTROPY; you have been warned. For CMake, one way to pass the define is: cmake -DCMAKE_C_FLAGS="-pipe -O2 -DHAVE_SYSCALL_GETRANDOM" . If you have reasons to patch this detection code away or need changes to the build system, please open a bug. Thank you!

(
https://autobuilder.yocto.io/builders/nightly-ppc/builds/379/steps/BuildImages/logs/stdio
)

I suspect the detection code is well and truly broken.

Ross

#4 lore raw
Quoted 22 lines · Ross
Quoted 4 lines · Dengke Du

using getrandom syscall on linux 3.17+, so when we compiling
expat-native
on the kernel older than 3.17, that would be failed.

It's failing on Debian 8, which is kernel 4.9.0:

| ../expat-2.2.2/lib/xmlparse.c:56:3: error: #error You do not have support for any sources of high quality entropy enabled. For end user security, that is probably not what you want. Your options include: * Linux + glibc >=2.25 (getrandom): HAVE_GETRANDOM, * Linux + glibc <2.25 (syscall SYS_getrandom):
HAVE_SYSCALL_GETRANDOM, * BSD / macOS (arc4random_buf): HAVE_ARC4RANDOM_BUF,
* libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, * Windows (RtlGenRandom): _WIN32. If insist on not using any of these, bypass this error by defining XML_POOR_ENTROPY; you have been warned. For CMake, one way to pass the define is: cmake -DCMAKE_C_FLAGS="-pipe -O2 -DHAVE_SYSCALL_GETRANDOM" . If you have reasons to patch this detection code away or need changes to the build system, please open a bug. Thank you!

Quoted 4 lines

(https://autobuilder.yocto.io/builders/nightly-ppc/builds/379/steps/BuildImages/logs/stdio)

I suspect the detection code is well and truly broken.

I posted another patch doing this upgrade. I wonder if it has same issue. it works on my 3.12 kernel based host.

Quoted 8 lines

Ross

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#5 lore raw

I didn't see that upgrade, but yes it will.

expat 2.2.2 demands either getrandom() from glibc (2.25 onwards) or SYS_getrandom (not sure what glibc added this, but its not in Debian 8's 2.19.

Ross

Quoted 49 lines · Khem Raj
Quoted 11 lines · Ross
Quoted 4 lines · Dengke Du

using getrandom syscall on linux 3.17+, so when we compiling
expat-native
on the kernel older than 3.17, that would be failed.

It's failing on Debian 8, which is kernel 4.9.0:

| ../expat-2.2.2/lib/xmlparse.c:56:3: error: #error You do not have

support

Quoted 1 line

for any sources of high quality entropy enabled. For end user security,

that

Quoted 3 lines

is probably not what you want. Your options include: * Linux + glibc =2.25
(getrandom): HAVE_GETRANDOM, * Linux + glibc <2.25 (syscall

SYS_getrandom):

Quoted 1 line

HAVE_SYSCALL_GETRANDOM, * BSD / macOS (arc4random_buf):

HAVE_ARC4RANDOM_BUF,

Quoted 3 lines

* libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, * Windows (RtlGenRandom): _WIN32. If insist on not using any of these, bypass this error by defining XML_POOR_ENTROPY; you have been warned. For CMake, one

way

Quoted 2 lines

to pass the define is: cmake -DCMAKE_C_FLAGS="-pipe -O2 -DHAVE_SYSCALL_GETRANDOM" . If you have reasons to patch this detection

code

Quoted 3 lines

away or need changes to the build system, please open a bug. Thank you!

(https://autobuilder.yocto.io/builders/nightly-ppc/builds/

379/steps/BuildImages/logs/stdio)

Quoted 3 lines

I suspect the detection code is well and truly broken.

I posted another patch doing this upgrade. I wonder if it has same issue. it works on my 3.12 kernel based host.

Quoted 8 lines

Ross

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#6 lore raw

I've filed a bug upstream about the failure on Debian 8:
https://github.com/libexpat/libexpat/issues/97

Defining XML_POOR_ENTROPY will allow expat to fall back to weak entropy on hosts that don't have direct support for getrandom().

Ross

Quoted 61 lines · Ross

I didn't see that upgrade, but yes it will.

expat 2.2.2 demands either getrandom() from glibc (2.25 onwards) or SYS_getrandom (not sure what glibc added this, but its not in Debian 8's 2.19.

Ross

Quoted 49 lines · Khem Raj
Quoted 11 lines · Ross
Quoted 4 lines · Dengke Du

using getrandom syscall on linux 3.17+, so when we compiling
expat-native
on the kernel older than 3.17, that would be failed.

It's failing on Debian 8, which is kernel 4.9.0:

| ../expat-2.2.2/lib/xmlparse.c:56:3: error: #error You do not have

support

Quoted 1 line

for any sources of high quality entropy enabled. For end user security,

that

Quoted 3 lines

is probably not what you want. Your options include: * Linux + glibc =2.25
(getrandom): HAVE_GETRANDOM, * Linux + glibc <2.25 (syscall

SYS_getrandom):

Quoted 1 line

HAVE_SYSCALL_GETRANDOM, * BSD / macOS (arc4random_buf):

HAVE_ARC4RANDOM_BUF,

Quoted 3 lines

* libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, * Windows (RtlGenRandom): _WIN32. If insist on not using any of these, bypass this error by defining XML_POOR_ENTROPY; you have been warned. For CMake,

one way

Quoted 2 lines

to pass the define is: cmake -DCMAKE_C_FLAGS="-pipe -O2 -DHAVE_SYSCALL_GETRANDOM" . If you have reasons to patch this detection

code

Quoted 3 lines

away or need changes to the build system, please open a bug. Thank you!

(https://autobuilder.yocto.io/builders/nightly-ppc/builds/37

9/steps/BuildImages/logs/stdio)

Quoted 3 lines

I suspect the detection code is well and truly broken.

I posted another patch doing this upgrade. I wonder if it has same issue. it works on my 3.12 kernel based host.

Quoted 8 lines

Ross

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#8 lore raw
Quoted 8 lines · Ross
Quoted 3 lines · Ross

I've filed a bug upstream about the failure on Debian 8:
https://github.com/libexpat/libexpat/issues/97

And this bug is now resolved. expat in git can read /dev/urandom directly if it doesn't find the syscalls it wants.

Sounds good. Denke, when you refresh patch please include this patch along

http://git.openembedded.org/openembedded-core-contrib/tree/meta/recipes-core/expat/expat/libtool-tag.patch?h=kraj/master&id=01929853a8346ba0fc27090150ebc506d1c5cd1e

which was not there in your v1.

Quoted 2 lines

Ross

author
#9 lore raw

OK!

Quoted 14 lines · Khem Raj
Quoted 6 lines · Ross
Quoted 2 lines · Ross

I've filed a bug upstream about the failure on Debian 8:
https://github.com/libexpat/libexpat/issues/97

And this bug is now resolved. expat in git can read /dev/urandom directly if it doesn't find the syscalls it wants.

Sounds good. Denke, when you refresh patch please include this patch along

http://git.openembedded.org/openembedded-core-contrib/tree/meta/recipes-core/expat/expat/libtool-tag.patch?h=kraj/master&id=01929853a8346ba0fc27090150ebc506d1c5cd1e

which was not there in your v1.

Quoted 1 line

Ross