aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Orling <timothy.t.orling@linux.intel.com>2018-01-21 15:45:17 -0800
committerArmin Kuster <akuster808@gmail.com>2018-01-26 17:28:13 -0800
commit37da2271b3b0cd6861fbdad0af9e31ca391dbde9 (patch)
tree8712885721cecfc25eb5e8e156e6a47d7b9670eb
parentfc23f03f02a7bbcc273efff463800c02a2a99fce (diff)
downloadmeta-openembedded-37da2271b3b0cd6861fbdad0af9e31ca391dbde9.tar.gz
meta-openembedded-37da2271b3b0cd6861fbdad0af9e31ca391dbde9.tar.bz2
meta-openembedded-37da2271b3b0cd6861fbdad0af9e31ca391dbde9.zip
python[3]-systemd: cleanup common content; fix build for musl
* Put common content in python-systemd.inc * Add patch to provide strndupa() for musl Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-python/recipes-devtools/python/python-systemd.inc18
-rw-r--r--meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch42
-rw-r--r--meta-python/recipes-devtools/python/python-systemd_234.bb15
-rw-r--r--meta-python/recipes-devtools/python/python3-systemd_234.bb15
4 files changed, 64 insertions, 26 deletions
diff --git a/meta-python/recipes-devtools/python/python-systemd.inc b/meta-python/recipes-devtools/python/python-systemd.inc
new file mode 100644
index 000000000..808af82cd
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-systemd.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Python interface for libsystemd"
+HOMEPAGE = "https://github.com/systemd/python-systemd"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
+PYPI_PACKAGE = "systemd-python"
+DEPENDS += "systemd (<=234)"
+RDEPENDS_${PN} += "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+inherit pypi distro_features_check
+
+SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
+SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
+
+# allow for common patches for python- and python3-systemd
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-systemd:"
+
+SRC_URI_append_libc-musl = " file://0001-Provide-implementation-of-strndupa-for-musl.patch"
diff --git a/meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch b/meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch
new file mode 100644
index 000000000..d7085a856
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch
@@ -0,0 +1,42 @@
+From 8b639f9faf6199e47b9eae0698d01a22917b6abe Mon Sep 17 00:00:00 2001
+From: Tim Orling <timothy.t.orling@linux.intel.com>
+Date: Fri, 29 Dec 2017 09:17:17 -0800
+Subject: [PATCH] Provide implementation of strndupa for musl
+
+Reuse the approach from oe-core:
+/meta/recipes-core/systemd/systemd/0002-src-basic-missing.h-check-for-missing-strndupa.patch
+
+Original patch author: Emil Renner Berthing <systemd@esmil.dk>
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com
+---
+Upstream-Status: Pending
+
+ systemd/util.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/systemd/util.c b/systemd/util.c
+index e02c825..277e611 100644
+--- a/systemd/util.c
++++ b/systemd/util.c
+@@ -34,6 +34,17 @@
+
+ #include "util.h"
+
++#if !HAVE_DECL_STRNDUPA
++#define strndupa(s, n) \
++ ({ \
++ const char *__old = (s); \
++ size_t __len = strnlen(__old, (n)); \
++ char *__new = (char *)alloca(__len + 1); \
++ __new[__len] = '\0'; \
++ (char *)memcpy(__new, __old, __len); \
++ })
++#endif
++
+ int safe_atou(const char *s, unsigned *ret_u) {
+ char *x = NULL;
+ unsigned long l;
+--
+2.13.6
+
diff --git a/meta-python/recipes-devtools/python/python-systemd_234.bb b/meta-python/recipes-devtools/python/python-systemd_234.bb
index ef1183171..80f290077 100644
--- a/meta-python/recipes-devtools/python/python-systemd_234.bb
+++ b/meta-python/recipes-devtools/python/python-systemd_234.bb
@@ -1,13 +1,2 @@
-SUMMARY = "Python interface for libsystemd"
-HOMEPAGE = "https://github.com/systemd/python-systemd"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
-
-PYPI_PACKAGE = "systemd-python"
-DEPENDS += "systemd (<=234)"
-RDEPENDS_${PN} += "systemd"
-REQUIRED_DISTRO_FEATURES = "systemd"
-inherit pypi setuptools distro_features_check
-
-SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
-SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
+require python-systemd.inc
+inherit setuptools
diff --git a/meta-python/recipes-devtools/python/python3-systemd_234.bb b/meta-python/recipes-devtools/python/python3-systemd_234.bb
index 845b7d9e1..580d99352 100644
--- a/meta-python/recipes-devtools/python/python3-systemd_234.bb
+++ b/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -1,13 +1,2 @@
-SUMMARY = "Python interface for libsystemd"
-HOMEPAGE = "https://github.com/systemd/python-systemd"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
-
-PYPI_PACKAGE = "systemd-python"
-DEPENDS += "systemd (<=234)"
-RDEPENDS_${PN} += "systemd"
-REQUIRED_DISTRO_FEATURES = "systemd"
-inherit pypi setuptools3 distro_features_check
-
-SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
-SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
+require python-systemd.inc
+inherit setuptools3