diff options
Diffstat (limited to 'sys-auth/elogind')
-rw-r--r-- | sys-auth/elogind/Manifest | 4 | ||||
-rw-r--r-- | sys-auth/elogind/elogind-246.10-r2.ebuild | 147 | ||||
-rw-r--r-- | sys-auth/elogind/files/elogind-246.10-clang-undefined-symbol.patch | 20 | ||||
-rw-r--r-- | sys-auth/elogind/metadata.xml | 3 |
4 files changed, 173 insertions, 1 deletions
diff --git a/sys-auth/elogind/Manifest b/sys-auth/elogind/Manifest index aa7b486488b0..e92607fd8c65 100644 --- a/sys-auth/elogind/Manifest +++ b/sys-auth/elogind/Manifest @@ -1,9 +1,11 @@ AUX elogind-241.4-broken-test.patch 436 BLAKE2B 204591800f415b00535bcd520435ea91ca59077438a1f07d1ecaf1cd68556cf1915460cacb2e3a062702dd84c8ca9729e7c4dfdd385a0435329784c8a33b4a66 SHA512 55435fa4cf902299f4957361393e7d1c5394970193fd814019d4dd5f9abddce3a7ea1da507eee4712f2f98284a989af8b22b6e1ff8a71e8faeb82417d1891c97 AUX elogind-243.7-nodocs.patch 999 BLAKE2B f4fc95f14ce0412e88bb8b2a001975fae3b42bdf82c1f23b28e4b2cc635d92722c6317ac919bedd1dfbcc47faf4a177d6662b3b04569ce993e1b8fd5ce8bde15 SHA512 87c6072f95b9fe752324ae8dce576a70f795c31115f4b7478cd66c0ab22e50d0035620b5a278f042bc95635423056b1a7984ed81b32e9011dee84b9a5dec7566 +AUX elogind-246.10-clang-undefined-symbol.patch 1090 BLAKE2B aaad5048696084e0a010c9a6716a91af686d76199e4e7e83d7857c02f782e18e2c7c8a716677372dda115d19b54290db55c62a5c32deb3553d0341495aa73937 SHA512 6766eb5d34135cd581d50f8a9eabda4826731368234522d1c5a94775d54f4d90b1195348ad7a0f6f2af0e2460a9d359859072c57c41085b92707f7044ab46956 AUX elogind-246.10-revert-polkit-automagic.patch 1345 BLAKE2B 115c8f38f23b140b5f232cb80fa2486ad90895a0fad3717d79302ac2205fa260d35aab9fdbc98bf490790749b109d32f59cfee166da26a9457676943cf6a57b7 SHA512 84e7b8e09ffd41bd0ea466e4f7fbc333c42544d9ed6877b881dc68c55607e81406ca977c3c0c045db8e151f76df1c7c813395ccb73b6e38583ddd40c642244f1 AUX elogind.conf.in 218 BLAKE2B 7ee0a72c4a628a233fdbb2d3104487859aaa7e5c4f2624e5a4eafb37ed90fb8f64349b1a8acc92e69ec618496bb7f6263b7a5d0fe15a1afe1c03f5955743f079 SHA512 2c62ab28d7db9cd52489069f80363159000385a25dd7f2afe5a03598a0b7a1f61af7c18df71f6286e72f5966e55b62a4029e30cb786dd813bb201b9e20adccd7 AUX elogind.init 490 BLAKE2B 71c102f89a71a2963da50b153d8696a9480d81caa48e8422e7f39614e9bfb0b09037bc4dea202c3735e170140752429dd54747b99941d861453b4714dcb98819 SHA512 60fe1cb55ec0f605f06fb3744a0300accebfc14c4ecd24b7db2e8b0cb1537e816a4a4ccbc4b2eeac45e2f3ca8942dd10d24bdcd814cccbc2ceed198b2657238a AUX elogind.init-r1 503 BLAKE2B 7e54688c91f78b46411edff04dd8544dea778864d34ec00a4f0f2c166b4062ebc6b01f201f1b7d1f22f6781c51ac22f924136c83c0b0cdb29d6aadf640a6c0e8 SHA512 97d78afe1c0833f3f632272904bd8338869639facb79cd2fae6a4bf58fc5b2dd960484e1f9945152ff13d075216cf4b48b6b234eb7738fbbf445eee2c20e88f2 DIST elogind-246.10.tar.gz 1559256 BLAKE2B 17a8146ee08c8ccf167f25d89b1d4525050ed0b0baaad0d36924ad3c40ffc820ef1528b33557cf285ad06c9ac9c440137428c5a235a2acf563e56f2f8f07e208 SHA512 9db0f068ed94ec07bab4d764ccb38840af3d05a4b7c9c539721906f5381b509cb9a3cbfb0453a978210d306136368de6162578c600d522416ef2a7ac1b9f348b EBUILD elogind-246.10-r1.ebuild 4193 BLAKE2B c3c674fea3b7e95441e2f63147e39e377330fb9f056191c88a51bb2f9e5f8684346f9b5d7c8d8b85cdbfb973da244ea46d6dcb7fd380e39d5e0e6d102fa7c502 SHA512 3a4c0bef8cc0499dd91a90702e0fc500be615cf96c4045988b5c21b7f45e7a0acfcf7208699cc88084052db84d2c9bd10271b0864ae91ac2e0a10a7485799ec8 -MISC metadata.xml 493 BLAKE2B ecd187b0cc697e9974a22456f2e7d3f40e5c329ada96c02c8c75aba1af65ea4e83d50783271cc2a85a174a13aad7291966d6faea1eb93b4d3df843ea4af6779e SHA512 65985689723cb8511731e6da2a7c66df8920a4c5e6d9471d9de646a0a9c2044783ac46bff956a8e7257d2ad2293ce5fe30d05b30ab8e2bd058d580a7ff0b4338 +EBUILD elogind-246.10-r2.ebuild 4085 BLAKE2B aac35092f8f84e251a5a353dea6aafa0acbf2cc667a3940497f6db0a08f56ab195ad94128e2ef3f061553bf7dadf81a82ab2fa0b32de8ed7aef090aec9fe0543 SHA512 c38b109cf0a74730b90a9d25efed0a96a6652e7e859aeb642333c4933ea95af0f1755fc8525d6f73edf49dee36d17df13b8015d34a8ec4e790d93be1176d9db0 +MISC metadata.xml 611 BLAKE2B fe45cf6b7f90d50e5518e3566371572983373853b8255d7b3824a4a3e71c1dec675f6ab7e490bc0c5e8cbee135b5005455aa69404493111dc3b2d855035a87e3 SHA512 52dcfb08f9d44c4420d949e7caed21a1166077f5475e976cba4f65dd2c7225df4294e21ff5bb7736c18efbe7e56913e33680c26c1fa51d17bbe1ab155ac058e1 diff --git a/sys-auth/elogind/elogind-246.10-r2.ebuild b/sys-auth/elogind/elogind-246.10-r2.ebuild new file mode 100644 index 000000000000..e571a7a18750 --- /dev/null +++ b/sys-auth/elogind/elogind-246.10-r2.ebuild @@ -0,0 +1,147 @@ +# 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 +cgroup-hybrid 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" + "${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) + -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} +} + +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 000000000000..3a157615884e --- /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_ + diff --git a/sys-auth/elogind/metadata.xml b/sys-auth/elogind/metadata.xml index 160c728b5cf8..858ca09dddce 100644 --- a/sys-auth/elogind/metadata.xml +++ b/sys-auth/elogind/metadata.xml @@ -11,6 +11,9 @@ <email>slashbeast@gentoo.org</email> <name>Piotr Karbowski</name> </maintainer> + <use> + <flag name="cgroup-hybrid">Use hybrid cgroup hierarchy (OpenRC's default) instead of unified.</flag> + </use> <upstream> <remote-id type="github">elogind/elogind</remote-id> </upstream> |