blob: bf2d9ca836d517420f0cd64a6dfa4ad0b01171e8 [file] [log] [blame]
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-auth/consolekit/consolekit-0.3.0-r2.ebuild,v 1.8 2009/10/03 09:48:53 maekke Exp $
EAPI="2"
inherit autotools eutils multilib pam
MY_PN="ConsoleKit"
MY_PV="${PV//_pre*/}"
MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="Framework for defining and tracking users, login sessions and seats."
HOMEPAGE="http://www.freedesktop.org/wiki/Software/ConsoleKit"
SRC_URI="http://people.freedesktop.org/~mccann/dist/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
IUSE="debug doc pam policykit"
RDEPEND=">=dev-libs/glib-2.16
>=dev-libs/dbus-glib-0.61
>=x11-libs/libX11-1.0.0
pam? ( virtual/pam )
policykit? ( >=sys-auth/policykit-0.7 )
elibc_glibc? ( !=sys-libs/glibc-2.4* )
sys-libs/zlib"
DEPEND="${RDEPEND}
dev-util/pkgconfig
dev-libs/libxslt
doc? ( app-text/xmlto )"
S=${WORKDIR}/${MY_PN}-${MY_PV}
src_prepare() {
# Fix directory leaks, bug #258685
epatch "${FILESDIR}/${PN}-0.2.10-directory-leak.patch"
# Clean up at_console compat files, bug #257761
epatch "${FILESDIR}/${PN}-0.2.10-cleanup_console_tags.patch"
# Add nox11 option to no interfere with Xsession script, bug #257763
epatch "${FILESDIR}/${PN}-0.2.10-pam-add-nox11.patch"
# Fix automagic dependency on policykit
epatch "${FILESDIR}/${PN}-0.2.10-polkit-automagic.patch"
# Fix inability to shutdown/restart
epatch "${FILESDIR}/${P}-shutdown.patch"
# Add SetIdleHint policy to handle new default deny on dbus
epatch "${FILESDIR}/${P}-allow-setidle.patch"
epatch "${FILESDIR}"/${P}-skip_xmlto_validation.patch
eautoreconf
}
src_configure() {
econf \
$(use_enable debug) \
$(use_enable doc docbook-docs) \
$(use_enable pam pam-module) \
$(use_enable policykit polkit) \
--with-pam-module-dir=/$(getpam_mod_dir) \
--with-dbus-services=/usr/share/dbus-1/services/ \
--localstatedir=/var
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
# crappy Redhat init script
rm -f "${D}/etc/rc.d/init.d/ConsoleKit"
# Portage barfs on .la files
rm -f "${D}/$(get_libdir)/security/pam_ck_connector.la"
# Gentoo style init script
newinitd "${FILESDIR}"/${PN}-0.1.rc consolekit
# Some PM drop empty dirs, bug #257164
keepdir /usr/$(get_libdir)/ConsoleKit/run-session.d
keepdir /etc/ConsoleKit/run-session.d
keepdir /var/run/ConsoleKit
keepdir /var/log/ConsoleKit
exeinto /etc/X11/xinit/xinitrc.d/
doexe "${FILESDIR}/90-consolekit" || die "doexe failed"
exeinto /usr/$(get_libdir)/ConsoleKit/run-session.d/
doexe "${FILESDIR}/pam-foreground-compat.ck" || die "doexe failed"
# getent should be provided by glibc, but it isn't on our system.
exeinto /usr/bin/
doexe "${FILESDIR}/getent" || die "doexe failed"
# Replace ck-collect-session-info with our stub
mv ${D}/usr/libexec/ck-collect-session-info \
${D}/usr/libexec/ck-collect-session-info.real
exeinto /usr/libexec
doexe "${FILESDIR}/ck-collect-session-info" || die "doexe failed"
}
pkg_postinst() {
ewarn
ewarn "You need to restart ConsoleKit to get the new features."
ewarn "This can be done with /etc/init.d/consolekit restart"
ewarn "but make sure you do this and then restart your session"
ewarn "otherwise you will get access denied for certain actions"
}