* [gentoo-commits] proj/musl:master commit in: sys-libs/libseccomp/files/, sys-libs/libseccomp/, sys-libs/libnih/, ...
@ 2016-01-03 16:51 Jory Pratt
0 siblings, 0 replies; only message in thread
From: Jory Pratt @ 2016-01-03 16:51 UTC (permalink / raw
To: gentoo-commits
commit: 32f2199fa20e76f2641ecb93c42d516a8331476f
Author: Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 16:49:44 2016 +0000
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Sun Jan 3 16:49:44 2016 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=32f2199f
sys-lib/libnih - fix signal support on musl
sys-libs/libsecomp - fix redifinition on musl
sys-libs/libnih/Manifest | 6 +++
.../files/libnih-1.0.3-musl-fix-signals.patch | 12 +++++
.../libnih/files/libnih-1.0.3-optional-dbus.patch | 40 +++++++++++++++
.../libnih/files/libnih-1.0.3-pkg-config.patch | 56 ++++++++++++++++++++
.../libnih/files/libnih-1.0.3-signal-race.patch | 60 ++++++++++++++++++++++
sys-libs/libnih/libnih-1.0.3-r3.ebuild | 51 ++++++++++++++++++
sys-libs/libseccomp/Manifest | 3 ++
.../files/libseccomp-2.2.3-musl_compile.patch | 24 +++++++++
sys-libs/libseccomp/libseccomp-2.2.3.ebuild | 41 +++++++++++++++
9 files changed, 293 insertions(+)
diff --git a/sys-libs/libnih/Manifest b/sys-libs/libnih/Manifest
new file mode 100644
index 0000000..d44524d
--- /dev/null
+++ b/sys-libs/libnih/Manifest
@@ -0,0 +1,6 @@
+AUX libnih-1.0.3-musl-fix-signals.patch 276 SHA256 5d7d51e5ccd4e819bf04be4066717465b086f45a990e8a06372bcfe6a7ac11cc SHA512 77a979b3076c4e4229359f28c2e9d4fb66d799a66d60391ab6fd7e0dfe2a615b88330a979877b105293a95ed147546596eca174f52b75beca0457c49a017d040 WHIRLPOOL ba91981fe48faf51fe55f39c916e698d5db4d324f192d63b4c4a506dcbcb71a3442857ec87e5a084e4867271e6c68986411b62dc8ddc95494ee014a91edaf107
+AUX libnih-1.0.3-optional-dbus.patch 1162 SHA256 93e81914a402ebc512c7df46e00f85b54ed073a66fcf9fe465cb58d757546abf SHA512 bd979f8e9d27d775e12b3a93082084b8837bc9eb4f48476c3356aa4b4f865eda517e6fcf90f5575686dbcdc0fef4a21c640e413d9d3611bb1f1077bfa9fd8c86 WHIRLPOOL 2eb2421f74c9ced344791ab3477035b5e71516962ebfc886f4a21837977854092aec28e68ba81345305f06ee00cf8e466bb5d3863c75d0291c0a9992aba17a6a
+AUX libnih-1.0.3-pkg-config.patch 2491 SHA256 cefe32c74c2c23f991e78bb8eaf97da8bcd1b4f252c1aed334e75027568f24d7 SHA512 b99d580f4487cf3d25fa37f3f7b62ce32d9df80c6c0b01ad04b6850215ec0cc24cfea48aaf8ff89afe28db239b5ed212f139e86353d9991152d488c6edce5017 WHIRLPOOL e6a6f4c2d88e4e2da3cbdba8f4b2a43f608ba7e0042f63c6b881653d23a51527d2061bea56924bb624bee5751bea69f4bdc4a206aa32ad62abcf29ea3c6999bc
+AUX libnih-1.0.3-signal-race.patch 2081 SHA256 e7c67f06c0812cabf4f2af05f8d66ecd8819278416f29e7dd6122d9091b6368e SHA512 5367cb0c6382004cc2a829b9b71f0c02a09e4983940afac90c4c5c0bfbda53fb36a6cc7e38ede7a895ce28f99a4f69e89392ebaadefdc536eb7efa90c2426ff8 WHIRLPOOL 2435627ed636ffff2e45b5a2708999a20b88525f438f3382a9acaa08c1ca4b81a7b4d926a6b7930add8c5b692f5790b52af8145cd8a0f8cac8b7f069a7ef4046
+DIST libnih-1.0.3.tar.gz 1187624 SHA256 897572df7565c0a90a81532671e23c63f99b4efde2eecbbf11e7857fbc61f405 SHA512 fce40d2445b28c27b8838631681ca3206a4f053b2dd4fc488fc9ef98bbd3d933e3d62b82cf346be2ef1677f6457f692cf5544cd915a6bb1e5c618f98ffa101b4 WHIRLPOOL da001ba05111d3a654e6800cf283e11b5508e53d6d91b37ed277df5a889a1138e90ae13161e0af81bdcac929b105bf889e4dcdc443789f28417c6e3f61530d8c
+EBUILD libnih-1.0.3-r3.ebuild 1538 SHA256 c1486cd739cc906384090dca7850edb6d32c056d2c357cfab5037be1058b1aed SHA512 879b91466977e9f12a21c22e5fd9438d7c676f848a45bda6e84a66407b4fccfd323c3fcee083723b5202e38c108ed16046373d89b336ca4cea053fa8441c8a49 WHIRLPOOL 8570f981d26610f12b1a1ff1e33df7906083fc11981f655053e048d1ce8127888b92524e2a22436c1cdbd582518f50cce82a66a7f22989818092518bcaa70d79
diff --git a/sys-libs/libnih/files/libnih-1.0.3-musl-fix-signals.patch b/sys-libs/libnih/files/libnih-1.0.3-musl-fix-signals.patch
new file mode 100644
index 0000000..97ef819
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-musl-fix-signals.patch
@@ -0,0 +1,12 @@
+--- libnih-1.0.3.orig/nih/signal.c
++++ libnih-1.0.3/nih/signal.c
+@@ -87,7 +87,9 @@
+ { SIGSTKFLT, "STKFLT" },
+ #endif
+ { SIGCHLD, "CHLD" },
++#ifdef SIGCLD
+ { SIGCLD, "CLD" },
++#endif
+ { SIGCONT, "CONT" },
+ { SIGSTOP, "STOP" },
+ { SIGTSTP, "TSTP" },
diff --git a/sys-libs/libnih/files/libnih-1.0.3-optional-dbus.patch b/sys-libs/libnih/files/libnih-1.0.3-optional-dbus.patch
new file mode 100644
index 0000000..afe4374
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-optional-dbus.patch
@@ -0,0 +1,40 @@
+--- libnih-1.0.1/configure.ac
++++ libnih-1.0.1/configure.ac
+@@ -23,12 +23,21 @@
+ PKG_PROG_PKG_CONFIG([0.22])
+
+ # Checks for libraries.
+-PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16])
+-AC_CHECK_LIB([expat], [XML_ParserCreate],
++AC_ARG_WITH([dbus],
++ [AS_HELP_STRING([--without-dbus],
++ [disable support for dbus])],
++ [],
++ [with_dbus=yes])
++
++AS_IF([test "x$with_dbus" != xno],[
++ PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16])
++ AC_CHECK_LIB([expat], [XML_ParserCreate],
+ [AC_CHECK_LIB([expat], [XML_StopParser],
+ [AC_SUBST([EXPAT_LIBS], [-lexpat])],
+ [AC_MSG_ERROR([expat >= 2.0.0 required])])],
+- [AC_MSG_ERROR([expat library not found])])
++ [AC_MSG_ERROR([expat library not found])])])
++
++AM_CONDITIONAL([DBUS_SUPPORT], [test "x$with_dbus" != xno])
+
+ # Checks for header files.
+ AC_CHECK_HEADERS([valgrind/valgrind.h])
+--- libnih-1.0.1.orig/Makefile.am
++++ libnih-1.0.1/Makefile.am
+@@ -1,6 +1,9 @@
+ ## Process this file with automake to produce Makefile.in
+
+-SUBDIRS = m4 intl nih nih-dbus nih-dbus-tool po
++SUBDIRS = m4 intl nih po
++if DBUS_SUPPORT
++SUBDIRS += nih-dbus nih-dbus-tool
++endif
+
+ EXTRA_DIST = HACKING
+
diff --git a/sys-libs/libnih/files/libnih-1.0.3-pkg-config.patch b/sys-libs/libnih/files/libnih-1.0.3-pkg-config.patch
new file mode 100644
index 0000000..979e363
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-pkg-config.patch
@@ -0,0 +1,56 @@
+# Bazaar merge directive format 2 (Bazaar 0.90)
+# revision_id: vapier@gentoo.org-20111019170935-fheqs03szv6mhh3o
+# target_branch: http://bazaar.launchpad.net/~scott/libnih/trunk/
+# testament_sha1: 84b368e08fdd9f8276611cdfe97d34f51cd90598
+# timestamp: 2011-10-19 13:13:52 -0400
+# base_revision_id: scott@netsplit.com-20110901184103-d2xbvc5hbt0vqxf0
+#
+# Begin patch
+=== modified file 'nih-dbus/Makefile.am'
+--- nih-dbus/Makefile.am 2009-11-21 21:44:23 +0000
++++ nih-dbus/Makefile.am 2011-10-19 17:09:35 +0000
+@@ -49,7 +49,7 @@
+ test_dbus.h
+
+
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libnih-dbus.pc
+
+
+
+=== modified file 'nih/Makefile.am'
+--- nih/Makefile.am 2009-11-21 21:44:23 +0000
++++ nih/Makefile.am 2011-10-19 17:09:35 +0000
+@@ -71,7 +71,7 @@
+ test_hash.h
+
+
+-pkgconfigdir = $(prefix)/lib/pkgconfig
++pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libnih.pc
+
+
+
+# Begin bundle
+IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWerAspcAAhZfgAAQVGf/93Mi
+DAC/7//wUASW8VttRtyKRaUhJU00ZTUab1GBT9JpNNqeiAADEEpDUwp5Gk9KeiZAANAAABIo0hE9
+GTTJJ5AMo8oB6IwmmMNDQAAAaAAAAAEkgQBGTCGmmoZQPSIxoCJYV1m4Z59VmltTEiVlNBLfEBWL
+DPUvZdcke3iHe+YuVhuGNtnl+0Xxmwcuy+RkTlRw9Ct83uYaZ7PH3vOd/AqYc6mhoKnwOCJD7ej5
+jS/rj7FmeOwxohzIMw9Ftarf11sHFhfFyWQEWL15gMctp9IL8d5sOYp0YoMOIw5htiyuYikcaPZ+
+xeB0ZI+IpppnCWQD3qlFKeI1NHACFmRBrQ2Sn1nmVurFZLNeqWK2Xy7eKAJK1SuguZhs8DekVjKE
+YGJwURdteHklA3WkfNMdKKNMQHQqnTtxAg1ShnXAzzkjnDtTSCwNhnuoY0WM1bLLCJlFM6NphCLS
+CGV+ZxUbN6YirSh9tVJWBzJKQaE5HEstAsAuqdVKlAlNKIrkYPSb3oy9WkKNsyyLYUiplUvi8C3i
+ioz+SscYWhwHzkxL/k0TPk8tL6l5FzzBa8FCKRWbDCTa0nbGzEhoJmaYEfwBog+pmXpsuVNUZmF4
+OreOMqF7JyNA1HJJ14+yxa6SRpJ51jBFyaNAojQK2ai7BtxEVZFoG3TYZiaTnR8LwZPDCtw7GqpA
+6mKFWiqtj/KxW+zQNmQbh9XE5eCCdFBTQzJmb7H3fDQpKW1njIoLHI+HeAXGDxYmu7HJ3DoZtH3Z
+7UfYYlEO8WoZpHZIMdDSCTWUE41kdp0nBWlshTuqcODflplwgnc03YlpZF9eBKQsUJi4gRvOhwmO
+XzuHW8qzc+JojHueBjZGJRiZQktKmJFoSD3k4+SOEue4uOh88jC0uRC8zDtbDCuz1fd6m5nsBrXh
+4KCGR5mWo4953Ie6CdWVops43mZdcboGGpUVirZZC+SPwwvwVSDuTAzASyFMevBBdbmdy3y0L0Y2
+oqRD3LY5+RqPM9R4/XEkdVuXmAxvF7GgrzRSIuDsTD2MANhmBxuF+EEbTKN/ciAzAUxnOdie1hol
+lqAkHxA44ja0WMKzYlmGU28kSdqB1i6h4nLevOVCnK+WtEKLpuOy6eZFThX5IsRrjenja/BSN2iu
+FFE+cHoYwJzGRI9yFKvpRUQ+H0qqaIoI5lP18lEqsPiBhRHMkpPIHqMuoiGiZyQxSXC0ynqSTYNX
+80VoGbTVLspApI9vo8XZBOScj6oHLR6qkjlnhkwwNQ8/wZdSfNBI0NSKLNasgKl6LF7FVbx4MCcj
+jYREWWzVEEVd81rloiAfu+h8H33/8DPhciqmx3QHdcdLEOKQ1mHIp8NQLYDAhQjJPmRA4hvGfSG+
+dwTBj1rKUFKGB7BYiKJ+C3dZ91NewHQ8kxHGlS0rSLioLvwrlwNSrRgtyZzWVFTWB8C7kinChIdW
+BZS4
diff --git a/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch b/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch
new file mode 100644
index 0000000..4cba5ae
--- /dev/null
+++ b/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch
@@ -0,0 +1,60 @@
+https://bugs.launchpad.net/libnih/+bug/518921
+
+fix race in signal processing leading to lost signals
+
+The current loop will walk all signals one by one and run the handler
+for it if any signals were pending. Then it clears the array. But if
+a signal comes in for an earlier checked signal, it will get clobbered
+when the final clear runs.
+
+Change the logic so that we only clear entries for signals whose handler
+we explicitly call. If a different signal comes in, we'll process it
+the next time around.
+
+This was discovered & triaged by Jeffy Chen from Rockchip.
+
+=== modified file 'nih/signal.c'
+--- nih/signal.c 2009-06-23 09:29:37 +0000
++++ nih/signal.c 2015-05-21 08:12:11 +0000
+@@ -337,17 +337,37 @@
+
+ nih_signal_init ();
+
++ /* Since this poller runs w/out signals masked, we do not want to try
++ * and clear any other signals (like zeroing the caught array at the
++ * end). If we do that, we open a race:
++ * - Walk the list of signals.
++ * - First one is not set so we move on to the second one.
++ * - First signal comes in while processing second and increments the
++ * caught array entry.
++ * - Finish walking the whole list.
++ * - Zero out the whole list and thus throw away the first signal.
++ * Since the signal handlers can take any length of time, this race
++ * can be open for a variable amount of time.
++ */
++
+ NIH_LIST_FOREACH_SAFE (nih_signals, iter) {
+ NihSignal *signal = (NihSignal *)iter;
+
+ if (! signals_caught[signal->signum])
+ continue;
+
++ /* Now that we know we're going to process this signal, clear
++ * out all pending counts for it. There is a slight race here
++ * where the same signal can come in, but the API has never
++ * guaranteed exact coverage since POSIX does not provide it --
++ * more than one signal can be collapsed into one event. All
++ * we can guarantee is that we'll notice signals that come in
++ * once the handler runs.
++ */
++ signals_caught[signal->signum] = 0;
++
+ signal->handler (signal->data, signal);
+ }
+-
+- for (s = 0; s < NUM_SIGNALS; s++)
+- signals_caught[s] = 0;
+ }
+
+
+
diff --git a/sys-libs/libnih/libnih-1.0.3-r3.ebuild b/sys-libs/libnih/libnih-1.0.3-r3.ebuild
new file mode 100644
index 0000000..ef8adfa
--- /dev/null
+++ b/sys-libs/libnih/libnih-1.0.3-r3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit versionator eutils autotools toolchain-funcs multilib flag-o-matic
+
+DESCRIPTION="Light-weight 'standard library' of C functions"
+HOMEPAGE="https://launchpad.net/libnih"
+SRC_URI="https://launchpad.net/${PN}/$(get_version_component_range 1-2)/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~x86"
+IUSE="+dbus nls static-libs +threads"
+
+# The configure phase will check for valgrind headers, and the tests will use
+# that header, but only to do dynamic valgrind detection. The tests aren't
+# run directly through valgrind, only by developers directly. So don't bother
+# depending on valgrind here. #559830
+RDEPEND="dbus? ( dev-libs/expat >=sys-apps/dbus-1.2.16 )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.3-optional-dbus.patch
+ epatch "${FILESDIR}"/${PN}-1.0.3-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-1.0.3-signal-race.patch
+ epatch "${FILESDIR}"/${PN}-1.0.3-musl-fix-signals.patch
+ eautoreconf
+}
+
+src_configure() {
+ append-lfs-flags
+ econf \
+ $(use_with dbus) \
+ $(use_enable nls) \
+ $(use_enable static-libs static) \
+ $(use_enable threads) \
+ $(use_enable threads threading)
+}
+
+src_install() {
+ default
+
+ # we need to be in / because upstart needs libnih
+ gen_usr_ldscript -a nih $(use dbus && echo nih-dbus)
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.la
+}
diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest
new file mode 100644
index 0000000..0cb2290
--- /dev/null
+++ b/sys-libs/libseccomp/Manifest
@@ -0,0 +1,3 @@
+AUX libseccomp-2.2.3-musl_compile.patch 684 SHA256 f8de96893d9d7007fba9af8d194ca2b3a25ba47379eb4a926894a9b941c5700c SHA512 726b511eae52d85f6c7aa54953b55b2bd099cde23923b3d61d2316ab709df65291994f3033bc7f04658089624ccfaaf2d99ff071de9675c36f613e4dea8282a4 WHIRLPOOL 0ad85f42d41f05a021c06722cd83f8b2ea8a2c54cee1ab9436727f89b8758e16007e38b45a6b59cde7c344cabd60bcc82f7683a0505161c3be7773b72cecfe49
+DIST libseccomp-2.2.3.tar.gz 522755 SHA256 d9b400b703cab7bb04b84b9b6e52076a630b673819d7541757bcc16467b6d49e SHA512 e7bce0627c7ee107ea4780a6d2d7f24da162fdb5a85fc064c94e629918de2ee7ce7ed5ed98490f17392d9ca7ec1204945db3fea4415fae4370495b71c9edb61e WHIRLPOOL a32105a4cf3b514531e3cd7f1c703305318eceb90ef030317139fe08fe62fd14670b5ddc6f0dc8165cac23da1df89ee6efea3c366cec64102194c12ae53eac4f
+EBUILD libseccomp-2.2.3.ebuild 998 SHA256 2c81ed84144b51b3c741f66620779ce21b3d08e6ea9da02394c7f9b90c3715a2 SHA512 1d65f71f4c622e3b1f976c265a81b4f5b939a3ba86cd14e41a41b1558390a185193602b1c38bfefdad034e38dd3da4a5eb6f38adca8a860cc249f810a8de39a3 WHIRLPOOL 36f8962968dda50eb5a2493c91f2d9ddaba3fc7bd25babc7e1c00fbb262c2725c1a362571e1227b18223c4f0ebd1e24aaded6256306efa0d34e7d974648d47c6
diff --git a/sys-libs/libseccomp/files/libseccomp-2.2.3-musl_compile.patch b/sys-libs/libseccomp/files/libseccomp-2.2.3-musl_compile.patch
new file mode 100644
index 0000000..ffd27e5
--- /dev/null
+++ b/sys-libs/libseccomp/files/libseccomp-2.2.3-musl_compile.patch
@@ -0,0 +1,24 @@
+From eb5382287cd25235e760b5da4939510b11bbf2a1 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Fri, 1 Jan 2016 13:12:59 -0500
+Subject: [PATCH] system.h: Remove conflicting kernel header include
+
+This fixes building on musl libc, since musl does not include kernel
+headers. I've tested this as working on both glibc and musl.
+
+Signed-off-by: Kylie McClain <somasis@exherbo.org>
+---
+ src/system.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/system.h b/src/system.h
+index 4660679..e84b0a0 100644
+--- a/src/system.h
++++ b/src/system.h
+@@ -23,7 +23,6 @@
+ #define _SYSTEM_H
+
+ #include <linux/filter.h>
+-#include <linux/prctl.h>
+
+ #include "configure.h"
diff --git a/sys-libs/libseccomp/libseccomp-2.2.3.ebuild b/sys-libs/libseccomp/libseccomp-2.2.3.ebuild
new file mode 100644
index 0000000..522983a
--- /dev/null
+++ b/sys-libs/libseccomp/libseccomp-2.2.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: Add python support.
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="high level interface to Linux seccomp filter"
+HOMEPAGE="https://github.com/seccomp/libseccomp"
+SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~x86"
+IUSE="static-libs"
+
+# We need newer kernel headers; we don't keep strict control of the exact
+# version here, just be safe and pull in the latest stable ones. #551248
+DEPEND=">=sys-kernel/linux-headers-3.18"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-musl_compile.patch
+ sed -i \
+ -e '/_LDFLAGS/s:-static::' \
+ tools/Makefile.in || die
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ --disable-python
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name libseccomp.la -delete
+ einstalldocs
+}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-01-03 16:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-03 16:51 [gentoo-commits] proj/musl:master commit in: sys-libs/libseccomp/files/, sys-libs/libseccomp/, sys-libs/libnih/, Jory Pratt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox