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>
