mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 04:17:25 +00:00
chrony: fix build failure for arma9
Eliminate references to syscalls not available for ARM_EABI. Also add a dependency on libseccomp which is needed for scfilter to work. Set PACKAGECONFIG to not enable scfilter, since kernel CONFIG_SECCOMP is unlikely to be set. This aligns the usage of libseccomp with that of other packages. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
|||||||
|
chrony: fix build failure for arma9
|
||||||
|
|
||||||
|
Eliminate references to syscalls not available
|
||||||
|
for ARM_EABI. Also add a dependency on libseccomp
|
||||||
|
which is needed for scfilter to work.
|
||||||
|
|
||||||
|
Set PACKAGECONFIG to not enable scfilter, since
|
||||||
|
kernel CONFIG_SECCOMP is unlikely to be set. This
|
||||||
|
aligns the usage of libseccomp with that of other packages.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Joe Slater <jslater@windriver.com>
|
||||||
|
|
||||||
|
--- a/sys_linux.c
|
||||||
|
+++ b/sys_linux.c
|
||||||
|
@@ -453,13 +453,12 @@ SYS_Linux_EnableSystemCallFilter(int lev
|
||||||
|
const int syscalls[] = {
|
||||||
|
/* Clock */
|
||||||
|
SCMP_SYS(adjtimex), SCMP_SYS(gettimeofday), SCMP_SYS(settimeofday),
|
||||||
|
- SCMP_SYS(time),
|
||||||
|
/* Process */
|
||||||
|
- SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getrlimit),
|
||||||
|
+ SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group),
|
||||||
|
SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn), SCMP_SYS(rt_sigprocmask),
|
||||||
|
SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn), SCMP_SYS(wait4),
|
||||||
|
/* Memory */
|
||||||
|
- SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap), SCMP_SYS(mmap2),
|
||||||
|
+ SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap2),
|
||||||
|
SCMP_SYS(mprotect), SCMP_SYS(mremap), SCMP_SYS(munmap), SCMP_SYS(shmdt),
|
||||||
|
/* Filesystem */
|
||||||
|
SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown), SCMP_SYS(chown32),
|
||||||
|
@@ -470,14 +469,21 @@ SYS_Linux_EnableSystemCallFilter(int lev
|
||||||
|
SCMP_SYS(bind), SCMP_SYS(connect), SCMP_SYS(getsockname),
|
||||||
|
SCMP_SYS(recvfrom), SCMP_SYS(recvmsg), SCMP_SYS(sendmmsg),
|
||||||
|
SCMP_SYS(sendmsg), SCMP_SYS(sendto),
|
||||||
|
- /* TODO: check socketcall arguments */
|
||||||
|
- SCMP_SYS(socketcall),
|
||||||
|
/* General I/O */
|
||||||
|
SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(pipe),
|
||||||
|
- SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex), SCMP_SYS(select),
|
||||||
|
+ SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex),
|
||||||
|
SCMP_SYS(set_robust_list), SCMP_SYS(write),
|
||||||
|
/* Miscellaneous */
|
||||||
|
SCMP_SYS(uname),
|
||||||
|
+ /* not always available */
|
||||||
|
+#if ! defined(__ARM_EABI__)
|
||||||
|
+ SCMP_SYS(time),
|
||||||
|
+ SCMP_SYS(getrlimit),
|
||||||
|
+ SCMP_SYS(select),
|
||||||
|
+ SCMP_SYS(mmap),
|
||||||
|
+ /* TODO: check socketcall arguments */
|
||||||
|
+ SCMP_SYS(socketcall),
|
||||||
|
+#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
const int socket_domains[] = {
|
||||||
@@ -33,6 +33,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
|
|||||||
SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
|
SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
|
||||||
file://chrony.conf \
|
file://chrony.conf \
|
||||||
file://chronyd \
|
file://chronyd \
|
||||||
|
file://arm_eabi.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[md5sum] = "d0598aa8a9be8faccef9386f6fc0d5f2"
|
SRC_URI[md5sum] = "d0598aa8a9be8faccef9386f6fc0d5f2"
|
||||||
SRC_URI[sha256sum] = "8d04e7cda2333289c2104b731d39c3c1db94816e43bae35d7ee4e7ae8af6391f"
|
SRC_URI[sha256sum] = "8d04e7cda2333289c2104b731d39c3c1db94816e43bae35d7ee4e7ae8af6391f"
|
||||||
@@ -58,14 +59,14 @@ inherit update-rc.d systemd
|
|||||||
# chrony.conf and init script.
|
# chrony.conf and init script.
|
||||||
# - 'scfilter' enables support for system call filtering, but requires the
|
# - 'scfilter' enables support for system call filtering, but requires the
|
||||||
# kernel to have CONFIG_SECCOMP enabled.
|
# kernel to have CONFIG_SECCOMP enabled.
|
||||||
PACKAGECONFIG ??= "editline scfilter \
|
PACKAGECONFIG ??= "editline \
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
|
${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
|
||||||
"
|
"
|
||||||
PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
|
PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
|
||||||
PACKAGECONFIG[editline] = ",--without-editline,libedit"
|
PACKAGECONFIG[editline] = ",--without-editline,libedit"
|
||||||
PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
|
PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
|
||||||
PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
|
PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
|
||||||
PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp"
|
PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
|
||||||
PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
|
PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
|
||||||
PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
|
PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
|
||||||
PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
|
PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
|
||||||
|
|||||||
Reference in New Issue
Block a user