From c716cfc75e7763e5c8437bc805590da510b9c450 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 19 Sep 2022 11:05:22 +0100 Subject: sys-auth/elogind : revision bump, enable cgroup-hybrid --- metadata/md5-cache/sys-auth/elogind-246.10-r10 | 16 --- metadata/md5-cache/sys-auth/elogind-246.10-r3 | 17 +++ metadata/pkg_desc_index | 2 +- sys-auth/elogind/elogind-246.10-r10.ebuild | 151 --------------------- sys-auth/elogind/elogind-246.10-r3.ebuild | 151 +++++++++++++++++++++ .../elogind-246.10-clang-undefined-symbol.patch | 20 +++ 6 files changed, 189 insertions(+), 168 deletions(-) delete mode 100644 metadata/md5-cache/sys-auth/elogind-246.10-r10 create mode 100644 metadata/md5-cache/sys-auth/elogind-246.10-r3 delete mode 100644 sys-auth/elogind/elogind-246.10-r10.ebuild create mode 100644 sys-auth/elogind/elogind-246.10-r3.ebuild create mode 100644 sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch diff --git a/metadata/md5-cache/sys-auth/elogind-246.10-r10 b/metadata/md5-cache/sys-auth/elogind-246.10-r10 deleted file mode 100644 index 20755a7c..00000000 --- a/metadata/md5-cache/sys-auth/elogind-246.10-r10 +++ /dev/null @@ -1,16 +0,0 @@ -BDEPEND=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 virtual/pkgconfig >=dev-util/meson-0.62.2 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig -DEFINED_PHASES=compile configure install postinst prepare setup test -DEPEND=audit? ( sys-process/audit ) sys-apps/util-linux sys-libs/libcap virtual/libudev:= acl? ( sys-apps/acl ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux ) -DESCRIPTION=The systemd project's logind, extracted to a standalone package -EAPI=7 -HOMEPAGE=https://github.com/elogind/elogind -INHERIT=linux-info meson pam udev xdg-utils -IUSE=+acl audit debug doc +pam +policykit selinux -KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 -LICENSE=CC0-1.0 LGPL-2.1+ public-domain -PDEPEND=sys-apps/dbus policykit? ( sys-auth/polkit ) -RDEPEND=audit? ( sys-process/audit ) sys-apps/util-linux sys-libs/libcap virtual/libudev:= acl? ( sys-apps/acl ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux ) !sys-apps/systemd -SLOT=0 -SRC_URI=https://github.com/elogind/elogind/archive/v246.10.tar.gz -> elogind-246.10.tar.gz -_eclasses_=eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils 8f942ebdcf04334697649d4a0bf65a32 flag-o-matic 29a755b1291d64133634d80b0328f153 linux-info bbfa385d6907d7948d49a5e107bd654d meson 1994a5aef5d4f5798b92f64d6f9a6003 multilib 5ca4e49abed8e3a2f7b56920eadee157 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 pam e44a1dd98f13e1ad76de01e919bde1f1 python-utils-r1 b9fc5e97e886514e5132f50465185401 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 1542e649be915f43f6908a9e93909961 udev eec0bbab06977f1cfc5597269c1fa152 wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e -_md5_=491d620f03afc8f69c93975c51e311de diff --git a/metadata/md5-cache/sys-auth/elogind-246.10-r3 b/metadata/md5-cache/sys-auth/elogind-246.10-r3 new file mode 100644 index 00000000..a22e9614 --- /dev/null +++ b/metadata/md5-cache/sys-auth/elogind-246.10-r3 @@ -0,0 +1,17 @@ +BDEPEND=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 virtual/pkgconfig >=dev-util/meson-0.62.2 >=dev-util/ninja-1.8.2 dev-util/meson-format-array virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare setup test +DEPEND=audit? ( sys-process/audit ) sys-apps/util-linux sys-libs/libcap virtual/libudev:= acl? ( sys-apps/acl ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux ) +DESCRIPTION=The systemd project's logind, extracted to a standalone package +EAPI=7 +HOMEPAGE=https://github.com/elogind/elogind +INHERIT=linux-info meson pam udev xdg-utils +IUSE=+acl audit +cgroup-hybrid debug doc +pam +policykit selinux test +KEYWORDS=~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 +LICENSE=CC0-1.0 LGPL-2.1+ public-domain +PDEPEND=sys-apps/dbus policykit? ( sys-auth/polkit ) +RDEPEND=audit? ( sys-process/audit ) sys-apps/util-linux sys-libs/libcap virtual/libudev:= acl? ( sys-apps/acl ) pam? ( sys-libs/pam ) selinux? ( sys-libs/libselinux ) !sys-apps/systemd +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://github.com/elogind/elogind/archive/v246.10.tar.gz -> elogind-246.10.tar.gz +_eclasses_=eapi8-dosym cd7d420bb5be5ee079f27239ce76b8f5 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils 8f942ebdcf04334697649d4a0bf65a32 flag-o-matic 29a755b1291d64133634d80b0328f153 linux-info bbfa385d6907d7948d49a5e107bd654d meson 1994a5aef5d4f5798b92f64d6f9a6003 multilib 5ca4e49abed8e3a2f7b56920eadee157 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 ninja-utils 58ec4e54962bf45d065fb95030701514 pam e44a1dd98f13e1ad76de01e919bde1f1 python-utils-r1 b9fc5e97e886514e5132f50465185401 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 1542e649be915f43f6908a9e93909961 udev eec0bbab06977f1cfc5597269c1fa152 wrapper 4a1902f969e5718126434fc35f3a0d9c xdg-utils fffb53a53cf17c9c0c998a3c0a590c7e +_md5_=095dca7692654078321ccc69b0f192fe diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index f1f9c318..8d181e8e 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -42,7 +42,7 @@ sys-apps/baselayout 2.7-r11: Filesystem baselayout and init scripts sys-apps/firetools 0.9.46-r1: Graphical user interface of app-emulation/firejail sys-apps/lsb-release 1.4-r12: LSB version query program sys-apps/openrc 0.44.10-r2: OpenRC manages the services, startup and shutdown of a host -sys-auth/elogind 246.10-r10: The systemd project's logind, extracted to a standalone package +sys-auth/elogind 246.10-r3: The systemd project's logind, extracted to a standalone package sys-auth/polkit-qt 0.113.0-r11: PolicyKit Qt API wrapper library (meta package) sys-auth/polkit-qt5 0.113.0-r10: Qt wrapper around polkit-1 client libraries sys-boot/etcher 1.5.116: Flash OS images to SD cards & USB drives, safely and easily. diff --git a/sys-auth/elogind/elogind-246.10-r10.ebuild b/sys-auth/elogind/elogind-246.10-r10.ebuild deleted file mode 100644 index 2ebfefdd..00000000 --- a/sys-auth/elogind/elogind-246.10-r10.ebuild +++ /dev/null @@ -1,151 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -if [[ ${PV} = *9999* ]]; then - EGIT_BRANCH="v241-stable" - EGIT_REPO_URI="https://github.com/elogind/elogind.git" - inherit git-r3 -else - SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86" -fi - -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" - -LICENSE="CC0-1.0 LGPL-2.1+ public-domain" -SLOT="0" -IUSE="+acl audit debug doc +pam +policykit selinux" - -BDEPEND=" - 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 - virtual/pkgconfig -" -DEPEND=" - audit? ( sys-process/audit ) - sys-apps/util-linux - sys-libs/libcap - virtual/libudev:= - acl? ( sys-apps/acl ) - pam? ( sys-libs/pam ) - selinux? ( sys-libs/libselinux ) -" -RDEPEND="${DEPEND} - !sys-apps/systemd -" -PDEPEND=" - sys-apps/dbus - policykit? ( sys-auth/polkit ) -" - -DOCS=( README.md src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) - -PATCHES=( - "${FILESDIR}/${PN}-243.7-nodocs.patch" - "${FILESDIR}/${PN}-241.4-broken-test.patch" # bug 699116 - "${FILESDIR}/${P}-revert-polkit-automagic.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 ${EPREFIX}/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="${EPREFIX}$(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) - -Daudit=$(usex audit 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-r1 ${PN} - - sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die - newconfd ${PN}.conf ${PN} - - rm -rf ${ED}/lib/udev/rules.d/73-seat-late.rules -} - -pkg_postinst() { - if ! use pam; then - ewarn "${PN} will not be managing user logins/seats without USE=\"pam\"!" - ewarn "In other words, it will be useless for most applications." - ewarn - fi - if ! use policykit; then - ewarn "loginctl will not be able to perform privileged operations without" - ewarn "USE=\"policykit\"! That means e.g. no suspend or hibernate." - ewarn - fi - 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/elogind-246.10-r3.ebuild b/sys-auth/elogind/elogind-246.10-r3.ebuild new file mode 100644 index 00000000..9b6bcc1a --- /dev/null +++ b/sys-auth/elogind/elogind-246.10-r3.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +if [[ ${PV} = *9999* ]]; then + EGIT_BRANCH="v241-stable" + EGIT_REPO_URI="https://github.com/elogind/elogind.git" + inherit git-r3 +else + SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86" +fi + +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" + +LICENSE="CC0-1.0 LGPL-2.1+ public-domain" +SLOT="0" +IUSE="+acl audit +cgroup-hybrid debug doc +pam +policykit selinux test" +RESTRICT="!test? ( test )" + +BDEPEND=" + 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 + virtual/pkgconfig +" +DEPEND=" + audit? ( sys-process/audit ) + sys-apps/util-linux + sys-libs/libcap + virtual/libudev:= + acl? ( sys-apps/acl ) + pam? ( sys-libs/pam ) + selinux? ( sys-libs/libselinux ) +" +RDEPEND="${DEPEND} + !sys-apps/systemd +" +PDEPEND=" + sys-apps/dbus + policykit? ( sys-auth/polkit ) +" + +DOCS=( README.md src/libelogind/sd-bus/GVARIANT-SERIALIZATION ) + +PATCHES=( + "${FILESDIR}/${PN}-243.7-nodocs.patch" + "${FILESDIR}/${PN}-241.4-broken-test.patch" # bug 699116 + "${FILESDIR}/${P}-revert-polkit-automagic.patch" + "${FILESDIR}/${P}-clang-undefined-symbol.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() { + if use cgroup-hybrid; then + cgroupmode="hybrid" + else + cgroupmode="unified" + fi + + local emesonargs=( + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + -Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html" + -Dpamlibdir=$(getpam_mod_dir) + -Dudevrulesdir="${EPREFIX}$(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) + -Daudit=$(usex audit true false) + --buildtype $(usex debug debug release) + -Dhtml=$(usex doc auto false) + -Dpam=$(usex pam true false) + -Dselinux=$(usex selinux true false) + -Dtests=$(usex test 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-r1 ${PN} + + sed -e "s|@libdir@|$(get_libdir)|" "${FILESDIR}"/${PN}.conf.in > ${PN}.conf || die + newconfd ${PN}.conf ${PN} + + rm -rf ${ED}/lib/udev/rules.d/73-seat-late.rules +} + +pkg_postinst() { + if ! use pam; then + ewarn "${PN} will not be managing user logins/seats without USE=\"pam\"!" + ewarn "In other words, it will be useless for most applications." + ewarn + fi + if ! use policykit; then + ewarn "loginctl will not be able to perform privileged operations without" + ewarn "USE=\"policykit\"! That means e.g. no suspend or hibernate." + ewarn + fi + 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-246.10-clang-undefined-symbol.patch b/sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch new file mode 100644 index 00000000..3a157615 --- /dev/null +++ b/sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch @@ -0,0 +1,20 @@ +--- a/src/libelogind/sd-bus/bus-error.h ++++ b/src/libelogind/sd-bus/bus-error.h +@@ -28,11 +28,17 @@ int bus_error_set_errnofv(sd_bus_error *e, int error, const char *format, va_lis + * the bus error table, and BUS_ERROR_MAP_ELF_USE has to be used at + * least once per compilation unit (i.e. per library), to ensure that + * the error map is really added to the final binary. ++ * ++ * In addition, set the retain attribute so that the section cannot be ++ * discarded by ld --gc-sections -z start-stop-gc. Older compilers would ++ * warn for the unknown attribute, so just disable -Wattributes. + */ + + #define BUS_ERROR_MAP_ELF_REGISTER \ ++ _Pragma("GCC diagnostic ignored \"-Wattributes\"") \ + _section_("SYSTEMD_BUS_ERROR_MAP") \ + _used_ \ ++ __attribute__((retain)) \ + _alignptr_ \ + _variable_no_sanitize_address_ + -- cgit v1.2.3