From fdfd165799d762acd6cf5871bfcb1493da1359e9 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 9 Feb 2017 02:47:11 +0100 Subject: systemd: enable for uClibc-ng Patch out IDN usage. libidn will be removed from GNU C library in the future, so we don't add it to uClibc-ng getnameinfo(). libkmod can't be activated when PKG_BB is 1 for kmod package. --- package/kmod/Makefile | 1 - package/systemd/Makefile | 2 +- package/systemd/patches/patch-src_basic_socket-util_c | 12 ++++++++++++ target/config/Config.in.runtime | 2 +- toolchain/uclibc-ng/Makefile | 1 + 5 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 package/systemd/patches/patch-src_basic_socket-util_c diff --git a/package/kmod/Makefile b/package/kmod/Makefile index 495a7f9fb..4ef5623dc 100644 --- a/package/kmod/Makefile +++ b/package/kmod/Makefile @@ -14,7 +14,6 @@ PKG_URL:= http://profusion.mobi/index.php PKG_SITES:= https://www.kernel.org/pub/linux/utils/kernel/kmod/ PKG_LIBNAME:= libkmod PKG_OPTS:= dev -PKG_BB:= 1 PKG_SUBPKGS:= KMOD LIBKMOD PKGSD_LIBKMOD:= kernel module library diff --git a/package/systemd/Makefile b/package/systemd/Makefile index e1074f731..bf1aadef5 100644 --- a/package/systemd/Makefile +++ b/package/systemd/Makefile @@ -9,7 +9,7 @@ PKG_RELEASE:= 2 PKG_HASH:= 1172c7c7d5d72fbded53186e7599d5272231f04cc8b72f9a0fb2c5c20dfc4880 PKG_DESCR:= system and service manager PKG_SECTION:= base/init -PKG_DEPENDS:= libcap libmount libuuid libblkid libncurses kmod +PKG_DEPENDS:= libcap libmount libuuid libblkid libncurses libkmod PKG_BUILDDEP:= intltool-host gperf-host libcap util-linux gettext-host kmod PKG_KDEPENDS:= cgroups namespaces fhandle tmpfs-posix-acl tmpfs-xattr PKG_URL:= https://wiki.freedesktop.org/www/Software/systemd/ diff --git a/package/systemd/patches/patch-src_basic_socket-util_c b/package/systemd/patches/patch-src_basic_socket-util_c new file mode 100644 index 000000000..78d871695 --- /dev/null +++ b/package/systemd/patches/patch-src_basic_socket-util_c @@ -0,0 +1,12 @@ +--- systemd-232.orig/src/basic/socket-util.c 2016-11-03 18:16:42.000000000 +0100 ++++ systemd-232/src/basic/socket-util.c 2017-02-07 04:55:53.976146036 +0100 +@@ -657,8 +657,7 @@ int socknameinfo_pretty(union sockaddr_u + + assert(_ret); + +- r = getnameinfo(&sa->sa, salen, host, sizeof(host), NULL, 0, +- NI_IDN|NI_IDN_USE_STD3_ASCII_RULES); ++ r = getnameinfo(&sa->sa, salen, host, sizeof(host), NULL, 0, 0); + if (r != 0) { + int saved_errno = errno; + diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index 4e1d82168..62173c362 100644 --- a/target/config/Config.in.runtime +++ b/target/config/Config.in.runtime @@ -35,7 +35,7 @@ config ADK_RUNTIME_INIT_SYSTEMD select ADK_PACKAGE_SYSTEMD select ADK_PACKAGE_DBUS select ADK_PACKAGE_DBUS_WITH_SYSTEMD - depends on ADK_TARGET_LIB_GLIBC + depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_UCLIBC_NG config ADK_RUNTIME_INIT_SIMPLEINIT bool "Use a very simple init" diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile index 9c8f3c736..caf5e4e32 100644 --- a/toolchain/uclibc-ng/Makefile +++ b/toolchain/uclibc-ng/Makefile @@ -110,6 +110,7 @@ ifeq ($(ADK_TARGET_LIBC_ICONV),y) endif ifeq ($(ADK_RUNTIME_ENABLE_LOCALE),y) $(SED) 's/.*\(UCLIBC_HAS_LOCALE\).*/\1=y/' ${WRKBUILD}/.config + echo 'UCLIBC_HAS_XLOCALE=y' >> ${WRKBUILD}/.config endif ifeq ($(ADK_TARGET_UCLINUX),y) $(SED) 's/.*\(ARCH_USE_MMU\).*/# \1 is not set/' ${WRKBUILD}/.config -- cgit v1.2.3