commit:     48c72b8a46491bcb00a91c4f90d3396f8788c909
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 31 14:57:25 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Wed Aug 31 15:00:21 2016 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=48c72b8a

profiles: mask sys-auth/polkit modified for elogind

 profiles/package.mask/elogind            |   1 +
 sys-auth/polkit/metadata.xml             |  10 +++
 sys-auth/polkit/polkit-0.113-r200.ebuild | 131 +++++++++++++++++++++++++++++++
 3 files changed, 142 insertions(+)

diff --git a/profiles/package.mask/elogind b/profiles/package.mask/elogind
new file mode 100644
index 0000000..9e240e1
--- /dev/null
+++ b/profiles/package.mask/elogind
@@ -0,0 +1 @@
+>=sys-auth/polkit-0.113-r200

diff --git a/sys-auth/polkit/metadata.xml b/sys-auth/polkit/metadata.xml
new file mode 100644
index 0000000..cc3a0b4
--- /dev/null
+++ b/sys-auth/polkit/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>[email protected]</email>
+       </maintainer>
+       <use>
+               <flag name="systemd">Use <pkg>sys-apps/systemd</pkg> instead of 
<pkg>sys-auth/consolekit</pkg> for session tracking</flag>
+       </use>
+</pkgmetadata>

diff --git a/sys-auth/polkit/polkit-0.113-r200.ebuild 
b/sys-auth/polkit/polkit-0.113-r200.ebuild
new file mode 100644
index 0000000..97bc3e5
--- /dev/null
+++ b/sys-auth/polkit/polkit-0.113-r200.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib pam pax-utils systemd user xdg
+
+DESCRIPTION="Policy framework for controlling privileges for system-wide 
services"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/polkit";
+SRC_URI="https://www.freedesktop.org/software/${PN}/releases/${P}.tar.gz";
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86"
+IUSE="elogind examples gtk +introspection jit kde nls pam selinux systemd test"
+
+CDEPEND="
+       dev-lang/spidermonkey:0/mozjs185[-debug]
+       >=dev-libs/glib-2.32:2
+       >=dev-libs/expat-2:=
+       elogind? ( sys-auth/elogind )
+       introspection? ( >=dev-libs/gobject-introspection-1:= )
+       pam? (
+               sys-auth/pambase
+               virtual/pam
+               )
+       systemd? ( sys-apps/systemd:0= )
+"
+DEPEND="${CDEPEND}
+       app-text/docbook-xml-dtd:4.1.2
+       app-text/docbook-xsl-stylesheets
+       dev-libs/libxslt
+       dev-util/gtk-doc-am
+       dev-util/intltool
+       sys-devel/gettext
+       virtual/pkgconfig
+"
+RDEPEND="${CDEPEND}
+       selinux? ( sec-policy/selinux-policykit )
+"
+PDEPEND="
+       gtk? ( || (
+               >=gnome-extra/polkit-gnome-0.105
+               lxde-base/lxpolkit
+               ) )
+       kde? ( || (
+               kde-plasma/polkit-kde-agent
+               sys-auth/polkit-kde-agent
+               ) )
+       !systemd? ( sys-auth/consolekit[policykit] )
+"
+
+QA_MULTILIB_PATHS="
+       usr/lib/polkit-1/polkit-agent-helper-1
+       usr/lib/polkit-1/polkitd"
+
+pkg_setup() {
+       local u=polkitd
+       local g=polkitd
+       local h=/var/lib/polkit-1
+
+       enewgroup ${g}
+       enewuser ${u} -1 -1 ${h} ${g}
+       esethome ${u} ${h}
+}
+
+src_prepare() {
+       sed -i -e 's|unix-group:wheel|unix-user:0|' 
src/polkitbackend/*-default.rules || die #401513
+
+       # Workaround upstream hack around standard gtk-doc behavior, bug #552170
+       sed -i -e 's/@ENABLE_GTK_DOC_TRUE@\(TARGET_DIR\)/\1/' \
+               -e '/install-data-local:/,/uninstall-local:/ 
s/@ENABLE_GTK_DOC_TRUE@//' \
+               -e 's/@ENABLE_GTK_DOC_FALSE@install-data-local://' \
+               docs/polkit/Makefile.in || die
+
+       if use elogind; then
+               sed -i -e "s/libsystemd-login/libelogind/" -e "s|test ! -d 
/sys/fs/cgroup/systemd/|false|" configure || die
+               sed -i -e "s/systemd/elogind/" 
src/polkit/polkitunixsession-systemd.c 
src/polkitbackend/polkitbackendsessionmonitor-systemd.c 
src/polkitbackend/polkitbackendjsauthority.c || die
+       fi
+}
+
+src_configure() {
+       xdg_environment_reset
+
+       econf \
+               --localstatedir="${EPREFIX}"/var \
+               --disable-static \
+               --enable-man-pages \
+               --disable-gtk-doc \
+               $(use_enable systemd libsystemd-login) \
+               $(use_enable elogind) \
+               $(use_enable introspection) \
+               --disable-examples \
+               $(use_enable nls) \
+               --with-mozjs=mozjs185 \
+               "$(systemd_with_unitdir)" \
+               --with-authfw=$(usex pam pam shadow) \
+               $(use pam && echo --with-pam-module-dir="$(getpam_mod_dir)") \
+               $(use_enable test) \
+               --with-os-type=gentoo
+}
+
+src_compile() {
+       default
+
+       # Required for polkitd on hardened/PaX due to spidermonkey's JIT
+       pax-mark mr src/polkitbackend/.libs/polkitd 
test/polkitbackend/.libs/polkitbackendjsauthoritytest
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       dodoc docs/TODO HACKING NEWS README
+
+       fowners -R polkitd:root /{etc,usr/share}/polkit-1/rules.d
+
+       diropts -m0700 -o polkitd -g polkitd
+       keepdir /var/lib/polkit-1
+
+       if use examples; then
+               insinto /usr/share/doc/${PF}/examples
+               doins src/examples/{*.c,*.policy*}
+       fi
+
+       prune_libtool_files
+}
+
+pkg_postinst() {
+       chown -R polkitd:root "${EROOT}"/{etc,usr/share}/polkit-1/rules.d
+       chown -R polkitd:polkitd "${EROOT}"/var/lib/polkit-1
+}

Reply via email to