commit:     142c09d6fa3207decf1f601cdcb00b6eab92296c
Author:     Necktwi Ozfguah <necktwi <AT> ferryfair <DOT> com>
AuthorDate: Sun May 19 13:32:08 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon May 20 14:06:34 2019 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=142c09d6

sys-auth/elogind: strndupa

/added to src/test/test-hexdecoct.c

Signed-off-by: Necktwi Ozfguah <necktwi <AT> ferryfair.com>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 sys-auth/elogind/Manifest                       |   1 +
 sys-auth/elogind/elogind-234.4.ebuild           | 106 ++++++++++++++++++++++++
 sys-auth/elogind/files/elogind-226.4-docs.patch |  15 ++++
 sys-auth/elogind/files/elogind-fix-musl.patch   |  38 +++++++++
 sys-auth/elogind/files/elogind.conf             |   8 ++
 sys-auth/elogind/files/elogind.conf.in          |   7 ++
 sys-auth/elogind/files/elogind.init             |  25 ++++++
 sys-auth/elogind/metadata.xml                   |  13 +++
 8 files changed, 213 insertions(+)

diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest
new file mode 100644
index 0000000..9628a6a
--- /dev/null
+++ b/sys-auth/elogind/Manifest
@@ -0,0 +1 @@
+DIST elogind-234.4.tar.gz 973370 SHA256 
ffb465a62c4281c19b07eb7fbb9ad0987f3b726ae1a868a92a3144d7714542f3 SHA512 
2df4fa318074d4f5e5dbba353cf817068a2703ffed40cdeae4cba2dea4ee143d1c5fc076b19419f1c4299392088c2c14b430d8aa1ded03b62117311802305d5e
 WHIRLPOOL 
1b735338cb02ef8cffb5837a0702110117ae1d677a4cbf106180c549485f7fb0604f3134e6ff5e14b23485ddfe4d4415a41e69d93b8f099cee41a220d0ea4a69

diff --git a/sys-auth/elogind/elogind-234.4.ebuild 
b/sys-auth/elogind/elogind-234.4.ebuild
new file mode 100644
index 0000000..96d5c75
--- /dev/null
+++ b/sys-auth/elogind/elogind-234.4.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools linux-info pam udev
+
+DESCRIPTION="The systemd project's logind, extracted to a standalone package"
+HOMEPAGE="https://github.com/elogind/elogind";
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="CC0-1.0 LGPL-2.1+ public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="acl debug pam policykit selinux"
+
+RDEPEND="
+       sys-apps/util-linux
+       sys-libs/libcap
+       virtual/libudev:=
+       acl? ( sys-apps/acl )
+       pam? ( virtual/pam )
+       selinux? ( sys-libs/libselinux )
+       !sys-apps/systemd
+"
+DEPEND="${RDEPEND}
+       app-text/docbook-xml-dtd:4.2
+       app-text/docbook-xml-dtd:4.5
+       app-text/docbook-xsl-stylesheets
+       dev-util/gperf
+       dev-util/intltool
+       sys-devel/libtool
+       virtual/pkgconfig
+"
+PDEPEND="
+       sys-apps/dbus
+       policykit? ( sys-auth/polkit )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-226.4-docs.patch" )
+
+pkg_setup() {
+       local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SECURITY_SMACK
+               ~SIGNALFD ~TIMERFD"
+
+       if use kernel_linux; then
+               linux-info_pkg_setup
+       fi
+}
+
+src_prepare() {
+       default
+       eapply "${FILESDIR}/${PN}-fix-musl.patch"
+       eautoreconf # Makefile.am patched by "${FILESDIR}/${P}-docs.patch"
+}
+
+src_configure() {
+       econf \
+               --with-pamlibdir=$(getpam_mod_dir) \
+               --with-udevrulesdir="$(get_udevdir)"/rules.d \
+               --libdir="${EPREFIX}"/usr/$(get_libdir) \
+               --with-rootlibdir="${EPREFIX}"/$(get_libdir) \
+               --with-rootprefix="${EPREFIX}/" \
+               --with-rootlibexecdir="${EPREFIX}"/$(get_libdir)/elogind \
+               --enable-smack \
+               --with-cgroup-controller=openrc \
+               --disable-lto \
+               $(use_enable debug debug elogind) \
+               $(use_enable acl) \
+               $(use_enable pam) \
+               $(use_enable selinux)
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+
+       newinitd "${FILESDIR}"/${PN}.init ${PN}
+
+       sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > 
${PN}.conf || die
+       newconfd ${PN}.conf ${PN}
+}
+
+pkg_postinst() {
+       if [ "$(rc-config list boot | grep elogind)" != "" ]; then
+               ewarn "elogind is currently started from boot runlevel."
+       elif [ "$(rc-config list default | grep elogind)" != "" ]; then
+               ewarn "elogind is currently started from default runlevel."
+               ewarn "Please remove elogind from the default runlevel and"
+               ewarn "add it to the boot runlevel by:"
+               ewarn "# rc-update del elogind default"
+               ewarn "# rc-update add elogind boot"
+       else
+               ewarn "elogind is currently not started from any runlevel."
+               ewarn "You may add it to the boot runlevel by:"
+               ewarn "# rc-update add elogind boot"
+       fi
+       ewarn "Alternatively you can leave elogind out of any"
+       ewarn "runlevel. It will then be started automatically"
+       if use pam; then
+               ewarn "when the first service calls it via dbus, or the"
+               ewarn "first user logs into the system."
+       else
+               ewarn "when the first service calls it via dbus."
+       fi
+}

diff --git a/sys-auth/elogind/files/elogind-226.4-docs.patch 
b/sys-auth/elogind/files/elogind-226.4-docs.patch
new file mode 100644
index 0000000..4161f63
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-226.4-docs.patch
@@ -0,0 +1,15 @@
+--- a/Makefile.am      2017-02-16 13:22:56.764985896 +0100
++++ b/Makefile.am      2017-02-16 13:23:04.998986057 +0100
+@@ -194,12 +194,6 @@
+ bin_PROGRAMS =
+ rootlibexec_PROGRAMS =
+ 
+-dist_doc_DATA = \
+-      README \
+-      NEWS \
+-      LICENSE.LGPL2.1 \
+-      LICENSE.GPL2
+-
+ @INTLTOOL_POLICY_RULE@
+ 
+ # 
------------------------------------------------------------------------------

diff --git a/sys-auth/elogind/files/elogind-fix-musl.patch 
b/sys-auth/elogind/files/elogind-fix-musl.patch
new file mode 100644
index 0000000..4aba103
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-fix-musl.patch
@@ -0,0 +1,38 @@
+--- a/src/test/test-hexdecoct.c
++++ b/src/test/test-hexdecoct.c
+@@ -22,6 +22,16 @@
+ #include "macro.h"
+ #include "string-util.h"
+ 
++#define strndupa(s, n) \
++      ({ \
++        const char *__in = (s);                       \
++        size_t __len = strnlen(__in, (n));            \
++        char *__out = (char *)alloca(__len + 1);      \
++        __out[__len] = '\0';                          \
++        (char *)memcpy(__out, __in, __len);           \
++      })
++
++
+ static void test_hexchar(void) {
+         assert_se(hexchar(0xa) == 'a');
+         assert_se(hexchar(0x0) == '0');
+--- a/src/test/test-sizeof.c
++++ b/src/test/test-sizeof.c
+@@ -48,8 +48,6 @@
+         info(unsigned);
+         info(long unsigned);
+         info(long long unsigned);
+-        info(__syscall_ulong_t);
+-        info(__syscall_slong_t);
+ 
+         info(float);
+         info(double);
+@@ -59,7 +57,6 @@
+         info(ssize_t);
+         info(time_t);
+         info(usec_t);
+-        info(__time_t);
+ 
+         info(enum Enum);
+         info(enum BigEnum);

diff --git a/sys-auth/elogind/files/elogind.conf 
b/sys-auth/elogind/files/elogind.conf
new file mode 100644
index 0000000..b66a158
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.conf
@@ -0,0 +1,8 @@
+# /etc/conf.d/elogind: config file for /etc/init.d/elogind
+
+# this is the elogind executable
+ELOGIND_EXEC="/usr/libexec/elogind/elogind"
+
+# this is where elogind will store its pid file
+ELOGIND_PIDFILE="/var/run/elogind.pid"
+

diff --git a/sys-auth/elogind/files/elogind.conf.in 
b/sys-auth/elogind/files/elogind.conf.in
new file mode 100644
index 0000000..7b05b35
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.conf.in
@@ -0,0 +1,7 @@
+# /etc/conf.d/elogind: config file for /etc/init.d/elogind
+
+# this is the elogind executable
+ELOGIND_EXEC="/@libdir@/elogind/elogind"
+
+# this is where elogind will store its pid file
+ELOGIND_PIDFILE="/run/elogind.pid"

diff --git a/sys-auth/elogind/files/elogind.init 
b/sys-auth/elogind/files/elogind.init
new file mode 100644
index 0000000..019c3af
--- /dev/null
+++ b/sys-auth/elogind/files/elogind.init
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+       need dbus
+
+       # Make sure elogind is up before xdm starts any dm
+       before xdm
+}
+
+start() {
+       ebegin "Starting elogind"
+
+       start-stop-daemon --start --quiet \
+               --pidfile "${ELOGIND_PIDFILE}" \
+               --exec "${ELOGIND_EXEC}" -- --daemon
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping elogind"
+       start-stop-daemon --stop --quiet --pidfile "${ELOGIND_PIDFILE}"
+       eend $?
+}

diff --git a/sys-auth/elogind/metadata.xml b/sys-auth/elogind/metadata.xml
new file mode 100644
index 0000000..c28bf0a
--- /dev/null
+++ b/sys-auth/elogind/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">elogind/elogind</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to