aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNecktwi Ozfguah <necktwi@ferryfair.com>2019-05-19 19:02:08 +0530
committerAnthony G. Basile <blueness@gentoo.org>2019-05-20 10:06:34 -0400
commit142c09d6fa3207decf1f601cdcb00b6eab92296c (patch)
tree250e79f5f0f4d47195ada2cf9f164cfec87d4728 /sys-auth/elogind
parentsys-libs/compiler-rt-sanitizers: (diff)
downloadmusl-142c09d6fa3207decf1f601cdcb00b6eab92296c.tar.gz
musl-142c09d6fa3207decf1f601cdcb00b6eab92296c.tar.bz2
musl-142c09d6fa3207decf1f601cdcb00b6eab92296c.zip
sys-auth/elogind: strndupa
/added to src/test/test-hexdecoct.c Signed-off-by: Necktwi Ozfguah <necktwi@ferryfair.com> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'sys-auth/elogind')
-rw-r--r--sys-auth/elogind/Manifest1
-rw-r--r--sys-auth/elogind/elogind-234.4.ebuild106
-rw-r--r--sys-auth/elogind/files/elogind-226.4-docs.patch15
-rw-r--r--sys-auth/elogind/files/elogind-fix-musl.patch38
-rw-r--r--sys-auth/elogind/files/elogind.conf8
-rw-r--r--sys-auth/elogind/files/elogind.conf.in7
-rw-r--r--sys-auth/elogind/files/elogind.init25
-rw-r--r--sys-auth/elogind/metadata.xml13
8 files changed, 213 insertions, 0 deletions
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>asturm@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>kensington@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">elogind/elogind</remote-id>
+ </upstream>
+</pkgmetadata>