From 46039778253cfdcec380b82d1840abdf510efeff Mon Sep 17 00:00:00 2001 From: Krish Jain Date: Sun, 16 Jul 2023 04:28:01 +0530 Subject: [PATCH] sys-auth/polkit: Add from Gentoo It's from Gentoo commit abbb7f41bc9912de890db2cfc8eff0f41ded3850. --- .../portage-stable/sys-auth/polkit/Manifest | 1 + .../polkit-122-libs-only-postinstall.patch | 39 +++++ .../sys-auth/polkit/metadata.xml | 15 ++ .../sys-auth/polkit/polkit-122-r1.ebuild | 160 ++++++++++++++++++ 4 files changed, 215 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-122-libs-only-postinstall.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml create mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-122-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest new file mode 100644 index 0000000000..bc135558b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/Manifest @@ -0,0 +1 @@ +DIST polkit-122.tar.bz2 704972 BLAKE2B 601ed969de816d061a974b07490d64c144940898a75d4e1761462ee1ff0f00686b068298fa6fdc901879d8cd4bea4334c0187aa5bde50acf90728c37e73e21f4 SHA512 a7c0a951bbcdb09899adbc128296c74fc062441e996f4d6a782b214178f0936137e2fdc489eaa86a00599b988711735a5bd9b5c3b93bdb42fb915db9f9b04e26 diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-122-libs-only-postinstall.patch b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-122-libs-only-postinstall.patch new file mode 100644 index 0000000000..d96b4bc4bd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/files/polkit-122-libs-only-postinstall.patch @@ -0,0 +1,39 @@ +https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/149 + +From bef75fb8291b3871894d8ffe19f7242448cdb4a8 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 7 Dec 2022 13:18:09 +0000 +Subject: [PATCH] meson.build: fix install with libs_only + +Bug: https://bugs.gentoo.org/884701 +Signed-off-by: Sam James +--- a/meson.build ++++ b/meson.build +@@ -360,14 +360,17 @@ configure_file( + configuration: config_h, + ) + +-meson.add_install_script( +- 'meson_post_install.py', +- get_option('bindir'), +- pk_pkgdatadir, +- pk_libprivdir, +- pk_pkgsysconfdir, +- polkitd_user, +-) ++ ++if not libs_only ++ meson.add_install_script( ++ 'meson_post_install.py', ++ get_option('bindir'), ++ pk_pkgdatadir, ++ pk_libprivdir, ++ pk_pkgsysconfdir, ++ polkitd_user, ++ ) ++endif + + output = '\n ' + meson.project_name() + ' ' + meson.project_version() + '\n' + output += ' ============\n\n' +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml new file mode 100644 index 0000000000..e4fe842bba --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/metadata.xml @@ -0,0 +1,15 @@ + + + + + freedesktop-bugs@gentoo.org + + + Build polkitd in addition to libpolkit. Those using sys-apps/dbus-broker may wish to disable this flag. + Use dev-lang/duktape instead of dev-lang/spidermonkey as JavaScript engine + Use sys-apps/systemd for session tracking + + + polkit/polkit + + diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-122-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-122-r1.ebuild new file mode 100644 index 0000000000..fc80a36e0f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-auth/polkit/polkit-122-r1.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit meson pam pax-utils python-any-r1 systemd xdg-utils + +DESCRIPTION="Policy framework for controlling privileges for system-wide services" +HOMEPAGE="https://www.freedesktop.org/wiki/Software/polkit https://gitlab.freedesktop.org/polkit/polkit" +if [[ ${PV} == *_p* ]] ; then + # Upstream don't make releases very often. Test snapshots throughly + # and review commits, but don't shy away if there's useful stuff there + # we want. + MY_COMMIT="" + SRC_URI="https://gitlab.freedesktop.org/polkit/polkit/-/archive/${MY_COMMIT}/polkit-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" + + S="${WORKDIR}"/${PN}-${MY_COMMIT} +else + SRC_URI="https://gitlab.freedesktop.org/polkit/polkit/-/archive/${PV}/${P}.tar.bz2" +fi + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="+daemon +duktape examples gtk +introspection kde pam selinux systemd test" +# https://gitlab.freedesktop.org/polkit/polkit/-/issues/181 for test restriction +RESTRICT="!test? ( test ) test" + +# This seems to be fixed with 121? +#if [[ ${PV} == *_p* ]] ; then +# RESTRICT="!test? ( test )" +#else +# # Tests currently don't work with meson in the dist tarballs. See +# # https://gitlab.freedesktop.org/polkit/polkit/-/issues/144 +# RESTRICT="test" +#fi + +BDEPEND=" + acct-user/polkitd + app-text/docbook-xml-dtd:4.1.2 + app-text/docbook-xsl-stylesheets + dev-libs/glib + dev-libs/gobject-introspection-common + dev-libs/libxslt + dev-util/glib-utils + sys-devel/gettext + virtual/pkgconfig + introspection? ( dev-libs/gobject-introspection ) + test? ( + $(python_gen_any_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/python-dbusmock[${PYTHON_USEDEP}] + ') + ) +" +DEPEND=" + dev-libs/glib:2 + dev-libs/expat + daemon? ( + duktape? ( dev-lang/duktape:= ) + !duktape? ( dev-lang/spidermonkey:102[-debug] ) + ) + pam? ( + sys-auth/pambase + sys-libs/pam + ) + !pam? ( virtual/libcrypt:= ) + systemd? ( sys-apps/systemd:0=[policykit] ) + !systemd? ( sys-auth/elogind ) +" +RDEPEND="${DEPEND} + acct-user/polkitd + selinux? ( sec-policy/selinux-policykit ) +" +PDEPEND=" + gtk? ( || ( + >=gnome-extra/polkit-gnome-0.105 + >=lxde-base/lxsession-0.5.2 + ) ) + kde? ( kde-plasma/polkit-kde-agent ) +" + +DOCS=( docs/TODO HACKING.md NEWS.md README.md ) + +QA_MULTILIB_PATHS=" + usr/lib/polkit-1/polkit-agent-helper-1 + usr/lib/polkit-1/polkitd +" + +PATCHES=( + "${FILESDIR}"/${PN}-122-libs-only-postinstall.patch +) + +python_check_deps() { + python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && + python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + + # bug #401513 + sed -i -e 's|unix-group:wheel|unix-user:0|' src/polkitbackend/*-default.rules || die +} + +src_configure() { + xdg_environment_reset + + local emesonargs=( + --localstatedir="${EPREFIX}"/var + -Dauthfw="$(usex pam pam shadow)" + -Dexamples=false + -Dgtk_doc=false + -Dman=true + -Dos_type=gentoo + -Dsession_tracking="$(usex systemd libsystemd-login libelogind)" + -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" + -Djs_engine=$(usex duktape duktape mozjs) + $(meson_use !daemon libs-only) + $(meson_use introspection) + $(meson_use test tests) + $(usex pam "-Dpam_module_dir=$(getpam_mod_dir)" '') + ) + meson_src_configure +} + +src_compile() { + meson_src_compile + + # Required for polkitd on hardened/PaX due to spidermonkey's JIT + pax-mark mr src/polkitbackend/.libs/polkitd test/polkitbackend/.libs/polkitbackendjsauthoritytest +} + +src_install() { + meson_src_install + + if use examples ; then + docinto examples + dodoc src/examples/{*.c,*.policy*} + fi + + if use daemon; then + if [[ ${EUID} == 0 ]]; then + diropts -m 0700 -o polkitd + fi + keepdir /etc/polkit-1/rules.d + fi +} + +pkg_postinst() { + if use daemon && [[ ${EUID} == 0 ]]; then + chmod 0700 "${EROOT}"/{etc,usr/share}/polkit-1/rules.d + chown polkitd "${EROOT}"/{etc,usr/share}/polkit-1/rules.d + fi +}