aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2014-07-25 01:42:20 -0400
committerChen Qi <Qi.Chen@windriver.com>2014-07-31 16:00:20 +0800
commit65f32e0e16b2bf162e5d7b809fd705e0f48b6c20 (patch)
tree779b32ccd764eb197f1360915e8efd1b9516fb1c
parent7986adeac16550b33f65fded39a55f668e0e543f (diff)
downloadopenembedded-core-contrib-ChenQi/systemd_215.tar.gz
openembedded-core-contrib-ChenQi/systemd_215.tar.bz2
openembedded-core-contrib-ChenQi/systemd_215.zip
systemd: upgrade to 215ChenQi/systemd_215
Upgrade systemd from 213 to 215. systemd-older-kernel.patch is removed as it's fixed in 215. Backport two patches to fix compilation problem for qemuppc. 0001-always-check-for-__BYTE_ORDER-__BIG_ENDIAN-when-chec.patch 0002-endian-explicitly-include-endian.h-wherever-we-want-.patch Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-rw-r--r--meta/recipes-core/systemd/systemd/0001-always-check-for-__BYTE_ORDER-__BIG_ENDIAN-when-chec.patch116
-rw-r--r--meta/recipes-core/systemd/systemd/0002-endian-explicitly-include-endian.h-wherever-we-want-.patch52
-rw-r--r--meta/recipes-core/systemd/systemd/systemd-older-kernel.patch56
-rw-r--r--meta/recipes-core/systemd/systemd_215.bb (renamed from meta/recipes-core/systemd/systemd_213.bb)10
4 files changed, 174 insertions, 60 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-always-check-for-__BYTE_ORDER-__BIG_ENDIAN-when-chec.patch b/meta/recipes-core/systemd/systemd/0001-always-check-for-__BYTE_ORDER-__BIG_ENDIAN-when-chec.patch
new file mode 100644
index 0000000000..228d8352f4
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-always-check-for-__BYTE_ORDER-__BIG_ENDIAN-when-chec.patch
@@ -0,0 +1,116 @@
+Upstream-Status: Backport
+
+Subject: always check for __BYTE_ORDER == __BIG_ENDIAN when checking for endianess
+
+Let's always stick to glibc's way to determine byte order, and not mix
+autoconf-specific checks with gcc checks.
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/shared/architecture.h | 12 ++++++------
+ src/shared/gpt.h | 4 ++--
+ src/shared/time-dst.c | 6 +++---
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/src/shared/architecture.h b/src/shared/architecture.h
+index 4821d5d..58e97e5 100644
+--- a/src/shared/architecture.h
++++ b/src/shared/architecture.h
+@@ -80,7 +80,7 @@ Architecture uname_architecture(void);
+ # define native_architecture() ARCHITECTURE_X86
+ # define LIB_ARCH_TUPLE "i386-linux-gnu"
+ #elif defined(__powerpc64__)
+-# if defined(WORDS_BIGENDIAN)
++# if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_PPC64
+ # define LIB_ARCH_TUPLE "ppc64-linux-gnu"
+ # else
+@@ -88,7 +88,7 @@ Architecture uname_architecture(void);
+ # error "Missing LIB_ARCH_TUPLE for PPC64LE"
+ # endif
+ #elif defined(__powerpc__)
+-# if defined(WORDS_BIGENDIAN)
++# if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_PPC
+ # define LIB_ARCH_TUPLE "powerpc-linux-gnu"
+ # else
+@@ -117,7 +117,7 @@ Architecture uname_architecture(void);
+ # define native_architecture() ARCHITECTURE_SPARC
+ # define LIB_ARCH_TUPLE "sparc-linux-gnu"
+ #elif defined(__mips64__)
+-# if defined(WORDS_BIGENDIAN)
++# if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_MIPS64
+ # error "Missing LIB_ARCH_TUPLE for MIPS64"
+ # else
+@@ -125,7 +125,7 @@ Architecture uname_architecture(void);
+ # error "Missing LIB_ARCH_TUPLE for MIPS64_LE"
+ # endif
+ #elif defined(__mips__)
+-# if defined(WORDS_BIGENDIAN)
++# if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_MIPS
+ # define LIB_ARCH_TUPLE "mips-linux-gnu"
+ # else
+@@ -136,7 +136,7 @@ Architecture uname_architecture(void);
+ # define native_architecture() ARCHITECTURE_ALPHA
+ # define LIB_ARCH_TUPLE "alpha-linux-gnu"
+ #elif defined(__aarch64__)
+-# if defined(WORDS_BIGENDIAN)
++# if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_ARM64_BE
+ # define LIB_ARCH_TUPLE "aarch64_be-linux-gnu"
+ # else
+@@ -144,7 +144,7 @@ Architecture uname_architecture(void);
+ # define LIB_ARCH_TUPLE "aarch64-linux-gnu"
+ # endif
+ #elif defined(__arm__)
+-# if defined(WORDS_BIGENDIAN)
++# if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_ARM_BE
+ # if defined(__ARM_EABI__)
+ # if defined(__ARM_PCS_VFP)
+diff --git a/src/shared/gpt.h b/src/shared/gpt.h
+index 64090e0..278940b 100644
+--- a/src/shared/gpt.h
++++ b/src/shared/gpt.h
+@@ -42,10 +42,10 @@
+ # define GPT_ROOT_NATIVE GPT_ROOT_X86
+ #endif
+
+-#if defined(__aarch64__) && !defined(WORDS_BIGENDIAN)
++#if defined(__aarch64__) && (__BYTE_ORDER != __BIG_ENDIAN)
+ # define GPT_ROOT_NATIVE GPT_ROOT_ARM_64
+ # define GPT_ROOT_SECONDARY GPT_ROOT_ARM
+-#elif defined(__arm__) && !defined(WORDS_BIGENDIAN)
++#elif defined(__arm__) && (__BYTE_ORDER != __BIG_ENDIAN)
+ # define GPT_ROOT_NATIVE GPT_ROOT_ARM
+ #endif
+
+diff --git a/src/shared/time-dst.c b/src/shared/time-dst.c
+index ceca2fa..6195b11 100644
+--- a/src/shared/time-dst.c
++++ b/src/shared/time-dst.c
+@@ -207,8 +207,8 @@ read_again:
+ if (type_idxs[i] >= num_types)
+ return -EINVAL;
+
+- if (BYTE_ORDER == BIG_ENDIAN ? sizeof(time_t) == 8 && trans_width == 4
+- : sizeof(time_t) == 4 || trans_width == 4) {
++ if (__BYTE_ORDER == __BIG_ENDIAN ? sizeof(time_t) == 8 && trans_width == 4
++ : sizeof(time_t) == 4 || trans_width == 4) {
+ /* Decode the transition times, stored as 4-byte integers in
+ network (big-endian) byte order. We work from the end of
+ the array so as not to clobber the next element to be
+@@ -216,7 +216,7 @@ read_again:
+ i = num_transitions;
+ while (i-- > 0)
+ transitions[i] = decode((char *)transitions + i * 4);
+- } else if (BYTE_ORDER != BIG_ENDIAN && sizeof(time_t) == 8) {
++ } else if (__BYTE_ORDER != __BIG_ENDIAN && sizeof(time_t) == 8) {
+ /* Decode the transition times, stored as 8-byte integers in
+ network (big-endian) byte order. */
+ for (i = 0; i < num_transitions; ++i)
+--
+1.7.9.5
+
diff --git a/meta/recipes-core/systemd/systemd/0002-endian-explicitly-include-endian.h-wherever-we-want-.patch b/meta/recipes-core/systemd/systemd/0002-endian-explicitly-include-endian.h-wherever-we-want-.patch
new file mode 100644
index 0000000000..5494192b55
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0002-endian-explicitly-include-endian.h-wherever-we-want-.patch
@@ -0,0 +1,52 @@
+Upstream-Status: Backport
+
+Subject: endian: explicitly include endian.h wherever we want to use __BYTE_ORDER
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd/sd-bus/bus-protocol.h | 1 +
+ src/shared/architecture.h | 2 ++
+ src/shared/gpt.h | 2 ++
+ 3 files changed, 5 insertions(+)
+
+diff --git a/src/libsystemd/sd-bus/bus-protocol.h b/src/libsystemd/sd-bus/bus-protocol.h
+index 5046d17..4f46468 100644
+--- a/src/libsystemd/sd-bus/bus-protocol.h
++++ b/src/libsystemd/sd-bus/bus-protocol.h
+@@ -21,6 +21,7 @@
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+
++#include <endian.h>
+
+ /* Endianness */
+
+diff --git a/src/shared/architecture.h b/src/shared/architecture.h
+index 58e97e5..38780d1 100644
+--- a/src/shared/architecture.h
++++ b/src/shared/architecture.h
+@@ -21,6 +21,8 @@
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+
++#include <endian.h>
++
+ #include "util.h"
+
+ /* A cleaned up architecture definition. We don't want to get lost in
+diff --git a/src/shared/gpt.h b/src/shared/gpt.h
+index 278940b..ef3444f 100644
+--- a/src/shared/gpt.h
++++ b/src/shared/gpt.h
+@@ -19,6 +19,8 @@
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+
++#include <endian.h>
++
+ #include "sd-id128.h"
+
+ /* We only support root disk discovery for x86, x86-64 and ARM for
+--
+1.7.9.5
+
diff --git a/meta/recipes-core/systemd/systemd/systemd-older-kernel.patch b/meta/recipes-core/systemd/systemd/systemd-older-kernel.patch
deleted file mode 100644
index 18b50e797a..0000000000
--- a/meta/recipes-core/systemd/systemd/systemd-older-kernel.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 6109f02dcc4f2d7a461c5772bab494f5753a2203 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 29 May 2014 08:09:07 +0000
-Subject: [PATCH] rtnl-types.c: check IFLA_VLAN_PROTOCOL
-
-The older kernel's linux/if_link.h doesn't have IFLA_VLAN_PROTOCOL, we need
-check whether it has been defined or not.
-
-The maintainer said that he would fix it:
-
-http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/18200
-
-Also we need redefine IFLA_MAX from 34 to 35 when define IFLA_CARRIER,
-otherwise there would be error:
-
-| src/libsystemd/sd-rtnl/rtnl-types.c:233:9: error: array index in initializer exceeds array bounds
-| [IFLA_CARRIER] = { .type = NLA_U8 },
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/libsystemd/sd-rtnl/rtnl-types.c | 2 ++
- src/shared/missing.h | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/src/libsystemd/sd-rtnl/rtnl-types.c b/src/libsystemd/sd-rtnl/rtnl-types.c
-index 44ac5ec..ab6161f 100644
---- a/src/libsystemd/sd-rtnl/rtnl-types.c
-+++ b/src/libsystemd/sd-rtnl/rtnl-types.c
-@@ -67,7 +67,9 @@ static const NLType rtnl_link_info_data_vlan_types[IFLA_VLAN_MAX + 1] = {
- [IFLA_VLAN_EGRESS_QOS] = { .type = NLA_NESTED },
- [IFLA_VLAN_INGRESS_QOS] = { .type = NLA_NESTED },
- */
-+#ifdef IFLA_VLAN_PROTOCOL
- [IFLA_VLAN_PROTOCOL] = { .type = NLA_U16 },
-+#endif
- };
-
- static const NLType rtnl_link_info_data_bond_types[IFLA_BOND_MAX + 1] = {
-diff --git a/src/shared/missing.h b/src/shared/missing.h
-index d5ec2f8..732853f 100644
---- a/src/shared/missing.h
-+++ b/src/shared/missing.h
-@@ -94,6 +94,8 @@
-
- #ifndef IFLA_CARRIER
- #define IFLA_CARRIER 33
-+ #undef IFLA_MAX
-+ #define IFLA_MAX 35
- #ifndef IFLA_NUM_RX_QUEUES
- #define IFLA_NUM_RX_QUEUES 32
- #ifndef IFLA_NUM_TX_QUEUES
---
-1.8.3.4
-
diff --git a/meta/recipes-core/systemd/systemd_213.bb b/meta/recipes-core/systemd/systemd_215.bb
index 5de7cdc3b2..9eafa38433 100644
--- a/meta/recipes-core/systemd/systemd_213.bb
+++ b/meta/recipes-core/systemd/systemd_215.bb
@@ -17,9 +17,9 @@ SECTION = "base/shell"
inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest
-SRCREV = "c9679c652b3c31f2510e8805d81630680ebc7e95"
+SRCREV = "252ff40a3827b4e8e62e03a5e2f80da3fe02bee6"
-PV = "213+git${SRCPV}"
+PV = "215+git${SRCPV}"
SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=git \
file://binfmt-install.patch \
@@ -31,12 +31,13 @@ SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=
file://0001-uClibc-doesn-t-implement-pwritev-preadv.patch \
file://uclibc-sysinfo_h.patch \
file://uclibc-get-physmem.patch \
+ file://0001-always-check-for-__BYTE_ORDER-__BIG_ENDIAN-when-chec.patch \
+ file://0002-endian-explicitly-include-endian.h-wherever-we-want-.patch \
file://touchscreen.rules \
file://00-create-volatile.conf \
file://init \
file://run-ptest \
- file://systemd-older-kernel.patch \
- "
+ "
S = "${WORKDIR}/git"
@@ -231,6 +232,7 @@ FILES_${PN} = " ${base_bindir}/* \
${exec_prefix}/lib/systemd \
${exec_prefix}/lib/modules-load.d \
${exec_prefix}/lib/sysctl.d \
+ ${exec_prefix}/lib/sysusers.d \
${localstatedir} \
/lib/udev/rules.d/70-uaccess.rules \
/lib/udev/rules.d/71-seat.rules \