commit: 8af5d3267ae4593548c172a92863a4a20ab2ddd3 Author: Jory Pratt <anarchy <AT> gentoo <DOT> org> AuthorDate: Fri Apr 5 00:13:44 2019 +0000 Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org> CommitDate: Fri Apr 5 00:13:44 2019 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=8af5d326
sys-auth/elogind: update to 239.4 wich is working on musl Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org> sys-auth/elogind/Manifest | 2 +- sys-auth/elogind/elogind-234.4.ebuild | 106 ----------------- sys-auth/elogind/elogind-239.4.ebuild | 131 +++++++++++++++++++++ sys-auth/elogind/files/elogind-226.4-docs.patch | 15 --- sys-auth/elogind/files/elogind-238.1-docs.patch | 23 ++++ sys-auth/elogind/files/elogind-239-fix-musl.patch | 33 ++++++ .../elogind/files/elogind-239.3-broken-test.patch | 23 ++++ sys-auth/elogind/files/elogind-fix-musl.patch | 38 ------ sys-auth/elogind/files/elogind.conf | 8 -- 9 files changed, 211 insertions(+), 168 deletions(-) diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest index 9628a6a..e7890c5 100644 --- a/sys-auth/elogind/Manifest +++ b/sys-auth/elogind/Manifest @@ -1 +1 @@ -DIST elogind-234.4.tar.gz 973370 SHA256 ffb465a62c4281c19b07eb7fbb9ad0987f3b726ae1a868a92a3144d7714542f3 SHA512 2df4fa318074d4f5e5dbba353cf817068a2703ffed40cdeae4cba2dea4ee143d1c5fc076b19419f1c4299392088c2c14b430d8aa1ded03b62117311802305d5e WHIRLPOOL 1b735338cb02ef8cffb5837a0702110117ae1d677a4cbf106180c549485f7fb0604f3134e6ff5e14b23485ddfe4d4415a41e69d93b8f099cee41a220d0ea4a69 +DIST elogind-239.4.tar.gz 1183999 BLAKE2B 3a0aa216ee565ae8f3311b16af9752a99519254ac8737de2a44821e95d05b3e2d8b82af3d397367e8804d7bc45cb942859516f195848ba0317aa73891d77903b SHA512 84e9765d7c3039478b06a683870b37ec718724f1185b56c1b74885133283ad1678f3ca8a73510cb4b0777d099c54f59e927caaae7ae988abda803150b84cf8fc diff --git a/sys-auth/elogind/elogind-234.4.ebuild b/sys-auth/elogind/elogind-234.4.ebuild deleted file mode 100644 index 96d5c75..0000000 --- a/sys-auth/elogind/elogind-234.4.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# 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/elogind-239.4.ebuild b/sys-auth/elogind/elogind-239.4.ebuild new file mode 100644 index 0000000..2412d11 --- /dev/null +++ b/sys-auth/elogind/elogind-239.4.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit linux-info meson pam udev xdg-utils + +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 ~ppc ~ppc64 ~x86" +IUSE="+acl debug doc +pam +policykit selinux" + +COMMON_DEPEND=" + sys-apps/util-linux + sys-libs/libcap + virtual/libudev:= + acl? ( sys-apps/acl ) + pam? ( virtual/pam ) + selinux? ( sys-libs/libselinux ) +" +DEPEND="${COMMON_DEPEND} + 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 +" +RDEPEND="${COMMON_DEPEND} + !sys-apps/systemd +" +PDEPEND=" + sys-apps/dbus + policykit? ( sys-auth/polkit ) +" + +DOCS=( src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) + +PATCHES=( + "${FILESDIR}/${PN}-238.1-docs.patch" + "${FILESDIR}/${PN}-239.3-broken-test.patch" # bug 669862 + "${FILESDIR}/${PN}-239-fix-musl.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~CGROUPS ~EPOLL ~INOTIFY_USER ~SIGNALFD ~TIMERFD" + + use kernel_linux && linux-info_pkg_setup +} + +src_prepare() { + default + xdg_environment_reset +} + +src_configure() { + local rccgroupmode="$(grep rc_cgroup_mode /etc/rc.conf | cut -d '"' -f 2)" + local cgroupmode="legacy" + + if [[ "xhybrid" = "x${rccgroupmode}" ]] ; then + cgroupmode="hybrid" + elif [[ "xunified" = "x${rccgroupmode}" ]] ; then + cgroupmode="unified" + fi + + local emesonargs=( + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html" + -Dpamlibdir=$(getpam_mod_dir) + -Dudevrulesdir="$(get_udevdir)"/rules.d + --libdir="${EPREFIX}"/usr/$(get_libdir) + -Drootlibdir="${EPREFIX}"/$(get_libdir) + -Drootlibexecdir="${EPREFIX}"/$(get_libdir)/elogind + -Drootprefix="${EPREFIX}/" + -Dbashcompletiondir="${EPREFIX}/usr/share/bash-completion/completions" + -Dman=auto + -Dsmack=true + -Dcgroup-controller=openrc + -Ddefault-hierarchy=${cgroupmode} + -Ddefault-kill-user-processes=false + -Dacl=$(usex acl true false) + --buildtype $(usex debug debug release) + -Dhtml=$(usex doc auto false) + -Dpam=$(usex pam true false) + -Dselinux=$(usex selinux true false) + -Dutmp=$(usex elibc_musl false true) + ) + + meson_src_configure +} + +src_install() { + DOCS+=( src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) + + meson_src_install + + 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 + elog "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 + elog "elogind is currently not started from any runlevel." + elog "You may add it to the boot runlevel by:" + elog "# rc-update add elogind boot" + elog + elog "Alternatively, you can leave elogind out of any" + elog "runlevel. It will then be started automatically" + if use pam; then + elog "when the first service calls it via dbus, or" + elog "the first user logs into the system." + else + elog "when the first service calls it via dbus." + fi + fi +} diff --git a/sys-auth/elogind/files/elogind-226.4-docs.patch b/sys-auth/elogind/files/elogind-226.4-docs.patch deleted file mode 100644 index 4161f63..0000000 --- a/sys-auth/elogind/files/elogind-226.4-docs.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- 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-238.1-docs.patch b/sys-auth/elogind/files/elogind-238.1-docs.patch new file mode 100644 index 0000000..2288ddf --- /dev/null +++ b/sys-auth/elogind/files/elogind-238.1-docs.patch @@ -0,0 +1,23 @@ +--- a/meson.build 2018-06-25 16:41:00.000000000 +0200 ++++ b/meson.build 2018-06-30 21:45:52.139755680 +0200 +@@ -2928,11 +2928,6 @@ + # install_data('modprobe.d/systemd.conf', + # install_dir : modprobedir) + #endif // 0 +-install_data('LICENSE.GPL2', +- 'LICENSE.LGPL2.1', +- 'NEWS', +- 'README', +- 'doc/CODING_STYLE', + #if 0 /// irrelevant for elogind + # 'doc/DISTRO_PORTING', + # 'doc/ENVIRONMENT.md', +@@ -2941,8 +2936,6 @@ + # 'doc/TRANSLATORS', + # 'doc/UIDS-GIDS.md', + #endif // 0 +- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION', +- install_dir : docdir) + + #if 0 /// UNNEEDED by elogind + # meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir)) diff --git a/sys-auth/elogind/files/elogind-239-fix-musl.patch b/sys-auth/elogind/files/elogind-239-fix-musl.patch new file mode 100644 index 0000000..ae9442f --- /dev/null +++ b/sys-auth/elogind/files/elogind-239-fix-musl.patch @@ -0,0 +1,33 @@ +From 347c5bb22f8f79f339e578e30a19fed15e7f3e09 Mon Sep 17 00:00:00 2001 +From: Jory Pratt <[email protected]> +Date: Thu, 4 Apr 2019 18:59:18 -0500 +Subject: [PATCH] fix musl libc compile + +--- + src/test/test-hexdecoct.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c +index 101a78b..dc4e09b 100644 +--- a/src/test/test-hexdecoct.c ++++ b/src/test/test-hexdecoct.c +@@ -10,6 +10,16 @@ + /// Additional includes needed by elogind + #include "musl_missing.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'); +-- +2.21.0 + diff --git a/sys-auth/elogind/files/elogind-239.3-broken-test.patch b/sys-auth/elogind/files/elogind-239.3-broken-test.patch new file mode 100644 index 0000000..601d1cb --- /dev/null +++ b/sys-auth/elogind/files/elogind-239.3-broken-test.patch @@ -0,0 +1,23 @@ +--- a/src/test/meson.build 2018-12-07 07:36:50.000000000 +0100 ++++ b/src/test/meson.build 2019-02-15 00:50:23.254064681 +0100 +@@ -947,13 +947,13 @@ + # [['src/libsystemd/sd-resolve/test-resolve.c'], + # [], + # [threads]], +-#endif // 0 +- +- [['src/libelogind/sd-login/test-login.c'], +- [], +- []], +- +-#if 0 /// UNNEEDED in elogind ++# ++# ++# [['src/libelogind/sd-login/test-login.c'], ++# [], ++# []], ++# ++# + # [['src/libsystemd/sd-device/test-udev-device-thread.c'], + # [libbasic, + # libshared_static, diff --git a/sys-auth/elogind/files/elogind-fix-musl.patch b/sys-auth/elogind/files/elogind-fix-musl.patch deleted file mode 100644 index 4aba103..0000000 --- a/sys-auth/elogind/files/elogind-fix-musl.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- 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 deleted file mode 100644 index b66a158..0000000 --- a/sys-auth/elogind/files/elogind.conf +++ /dev/null @@ -1,8 +0,0 @@ -# /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" -
