summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven J Newbury <steve@snewbury.org.uk>2009-04-30 00:04:07 +0100
committerSteven J Newbury <steve@snewbury.org.uk>2009-04-30 00:04:07 +0100
commit26a26ba145dce1fea2fa6c55323187e93377699e (patch)
treee4ad33583f48c9a7d26ca95cf89949821a2e261e /sys-auth/policykit/policykit-0.9-r1.ebuild
parentRe-sync qt4-build.eclass (diff)
downloadmultilib-portage-26a26ba145dce1fea2fa6c55323187e93377699e.tar.gz
multilib-portage-26a26ba145dce1fea2fa6c55323187e93377699e.tar.bz2
multilib-portage-26a26ba145dce1fea2fa6c55323187e93377699e.zip
Sync sys-auth/policykit
Diffstat (limited to 'sys-auth/policykit/policykit-0.9-r1.ebuild')
-rw-r--r--sys-auth/policykit/policykit-0.9-r1.ebuild127
1 files changed, 127 insertions, 0 deletions
diff --git a/sys-auth/policykit/policykit-0.9-r1.ebuild b/sys-auth/policykit/policykit-0.9-r1.ebuild
new file mode 100644
index 000000000..6d10a444f
--- /dev/null
+++ b/sys-auth/policykit/policykit-0.9-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/policykit/policykit-0.9-r1.ebuild,v 1.1 2009/04/25 02:42:16 dang Exp $
+
+EAPI=2
+
+inherit autotools bash-completion eutils multilib pam multilib-native
+
+MY_PN="PolicyKit"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Policy framework for controlling privileges for system-wide services"
+HOMEPAGE="http://hal.freedesktop.org/docs/PolicyKit"
+SRC_URI="http://hal.freedesktop.org/releases/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="bash-completion doc pam selinux zsh-completion"
+
+RDEPEND=">=dev-libs/glib-2.6[lib32?]
+ >=dev-libs/dbus-glib-0.73[lib32?]
+ dev-libs/expat[lib32?]
+ pam? ( virtual/pam[lib32?] )
+ selinux? ( sys-libs/libselinux[lib32?] )"
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ >=dev-util/pkgconfig-0.18
+ >=dev-util/intltool-0.36
+ >=dev-util/gtk-doc-am-1.10-r1
+ doc? ( >=dev-util/gtk-doc-1.10 )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewgroup polkituser
+ enewuser polkituser -1 "-1" /dev/null polkituser
+}
+
+src_prepare() {
+ # Add zsh/bash completion
+ epatch "${FILESDIR}/${PN}-0.7-completions.patch"
+
+ # Fix use of undefined _pk_debug, bug #239573
+ epatch "${FILESDIR}/${P}-pk-debug.patch"
+
+ # Fix useless pam header inclusion, bug #239554
+ epatch "${FILESDIR}/${P}-pam-headers.patch"
+
+ # Fix API change in consolekit 0.3
+ epatch "${FILESDIR}/${P}-consolekit03.patch"
+
+ # Fix dbus auth for new deny default
+ epatch "${FILESDIR}"/${P}-dbus-auth.patch
+ eautoreconf
+}
+
+multilib-native_src_configure_internal() {
+ local authdb=
+
+ if use pam ; then
+ authdb="--with-authdb=default --with-authfw=pam --with-pam-module-dir=$(getpam_mod_dir)"
+ else
+ authdb="--with-authdb=dummy --with-authfw=none"
+ fi
+
+ econf ${authdb} \
+ --without-bash-completion \
+ --without-zsh-completion \
+ --enable-man-pages \
+ --with-os-type=gentoo \
+ --with-polkit-user=polkituser \
+ --with-polkit-group=polkituser \
+ $(use_enable doc gtk-doc) \
+ $(use_enable selinux) \
+ --localstatedir=/var
+ # won't install with tests
+ # $(use_enable test tests) \
+}
+
+multilib-native_src_install_internal() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc NEWS README AUTHORS ChangeLog
+
+ if use bash-completion; then
+ dobashcompletion "${S}/tools/polkit-bash-completion.sh"
+ fi
+
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ doins "${S}/tools/_polkit" || die "zsh completion died"
+ doins "${S}/tools/_polkit_auth" || die "zsh completion died"
+ doins "${S}/tools/_polkit_action" || die "zsh completion died"
+ fi
+
+ einfo "Installing basic PolicyKit.conf"
+ insinto /etc/PolicyKit
+ doins "${FILESDIR}"/PolicyKit.conf || die "doins failed"
+ # Need to keep a few directories around...
+
+ diropts -m0770 -o root -g polkituser
+ keepdir /var/run/PolicyKit
+ keepdir /var/lib/PolicyKit
+}
+
+pkg_preinst() {
+ # Stolen from vixie-cron ebuilds
+ has_version "<${CATEGORY}/${PN}-0.9"
+ fix_var_dir_perms=$?
+}
+
+pkg_postinst() {
+ # bug #239231
+ if [[ $fix_var_dir_perms = 0 ]] ; then
+ echo
+ ewarn "Previous version of PolicyKit handled /var/run and /var/lib"
+ ewarn "with different permissions. Proper permissions are"
+ ewarn "now being set on ${ROOT}var/lib/PolicyKit and ${ROOT}var/lib/PolicyKit"
+ ewarn "Look at these directories if you have a specific configuration"
+ ewarn "that needs special ownerships or permissions."
+ echo
+ chmod 0770 "${ROOT}"var/{lib,run}/PolicyKit || die "chmod failed"
+ chgrp -R polkituser "${ROOT}"var/{lib,run}/PolicyKit || die "chgrp failed"
+ fi
+}