# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 inherit autotools eutils linux-info pam systemd MY_PN=ConsoleKit MY_P=${MY_PN}-${PV} DESCRIPTION="Framework for defining and tracking users, login sessions and seats" HOMEPAGE="https://www.freedesktop.org/wiki/Software/ConsoleKit" SRC_URI="https://www.freedesktop.org/software/${MY_PN}/dist/${MY_P}.tar.xz https://launchpad.net/debian/+archive/primary/+files/${PN}_${PV}-4.debian.tar.gz" # for logrotate file LICENSE="GPL-2" SLOT="0" KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" IUSE="acl debug doc kernel_linux pam policykit selinux systemd-units test" COMMON_DEPEND=">=dev-libs/dbus-glib-0.100:= >=dev-libs/glib-2.38.2-r1:2= sys-libs/zlib:= x11-libs/libX11:= acl? ( sys-apps/acl:= >=virtual/udev-200 ) pam? ( virtual/pam ) policykit? ( >=sys-auth/polkit-0.110 )" RDEPEND="${COMMON_DEPEND} kernel_linux? ( sys-apps/coreutils[acl?] ) selinux? ( sec-policy/selinux-consolekit )" DEPEND="${COMMON_DEPEND} dev-libs/libxslt virtual/pkgconfig doc? ( app-text/xmlto ) test? ( app-text/docbook-xml-dtd:4.1.2 app-text/xmlto )" S=${WORKDIR}/${MY_P} QA_MULTILIB_PATHS="usr/lib/ConsoleKit/.*" pkg_setup() { if use kernel_linux; then # This is from https://bugs.gentoo.org/376939 use acl && CONFIG_CHECK="~TMPFS_POSIX_ACL" # This is required to get login-session-id string with pam_ck_connector.so use pam && CONFIG_CHECK+=" ~AUDITSYSCALL" linux-info_pkg_setup fi } src_prepare() { epatch \ "${FILESDIR}"/${PN}-cleanup_console_tags.patch \ "${FILESDIR}"/${PN}-shutdown-reboot-without-policies.patch \ "${FILESDIR}"/${PN}-udev-acl-install_to_usr.patch \ "${FILESDIR}"/${PN}-0.4.5-polkit-automagic.patch if ! use systemd-units; then sed -i -e '/SystemdService/d' data/org.freedesktop.ConsoleKit.service.in || die fi eautoreconf } src_configure() { local myconf if use systemd-units; then myconf="$(systemd_with_unitdir)" else myconf="--with-systemdsystemunitdir=/tmp" fi econf \ XMLTO_FLAGS='--skip-validation' \ --libexecdir="${EPREFIX}"/usr/lib/${MY_PN} \ --localstatedir="${EPREFIX}"/var \ $(use_enable pam pam-module) \ $(use_enable doc docbook-docs) \ $(use_enable test docbook-docs) \ $(use_enable debug) \ $(use_enable policykit polkit) \ $(use_enable acl udev-acl) \ --with-dbus-services="${EPREFIX}"/usr/share/dbus-1/services \ --with-pam-module-dir="$(getpam_mod_dir)" \ ${myconf} } src_install() { emake \ DESTDIR="${D}" \ htmldocdir="${EPREFIX}"/usr/share/doc/${PF}/html \ install dosym /usr/lib/${MY_PN} /usr/lib/${PN} dodoc AUTHORS HACKING NEWS README TODO newinitd "${FILESDIR}"/${PN}-0.2.rc consolekit keepdir /usr/lib/ConsoleKit/run-seat.d keepdir /usr/lib/ConsoleKit/run-session.d keepdir /etc/ConsoleKit/run-session.d keepdir /var/log/ConsoleKit exeinto /etc/X11/xinit/xinitrc.d newexe "${FILESDIR}"/90-consolekit-3 90-consolekit exeinto /usr/lib/ConsoleKit/run-session.d doexe "${FILESDIR}"/pam-foreground-compat.ck prune_libtool_files --all # --all for pam_ck_connector.la use systemd-units || rm -rf "${ED}"/tmp rm -rf "${ED}"/var/run # let the init script create the directory insinto /etc/logrotate.d newins "${WORKDIR}"/debian/${PN}.logrotate ${PN} #374513 }