diff --git a/srcpkgs/ConsoleKit/files/90-consolekit-3 b/srcpkgs/ConsoleKit/files/90-consolekit-3 new file mode 100644 index 00000000000..358fc24f1a7 --- /dev/null +++ b/srcpkgs/ConsoleKit/files/90-consolekit-3 @@ -0,0 +1,32 @@ +# -*- sh -*- +# Xsession.d script for ck-launch-session. +# +# +# This file is sourced by Xsession(5), not executed. + +CK_LAUNCH_SESSION=/usr/bin/ck-launch-session + +is_on_console() { + session=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \ + --type=method_call --print-reply --reply-timeout=2000 \ + /org/freedesktop/ConsoleKit/Manager \ + org.freedesktop.ConsoleKit.Manager.GetCurrentSession \ + | grep path | awk '{print $3}' | sed s/\"//g) + x11_display=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \ + --type=method_call --print-reply --reply-timeout=2000 \ + $session org.freedesktop.ConsoleKit.Session.GetX11Display \ + | grep string | awk '{print $2}' | sed s/\"//g) + + if [ -z "$x11_display" ] ; then + return 0 + else + return 1 + fi +} + +# gdm already creates a CK session for us, so do not run the expensive D-Bus +# calls if we have $GDMSESSION +if [ -z "$GDMSESSION" ] && [ -x "$CK_LAUNCH_SESSION" ] && \ + ( [ -z "$XDG_SESSION_COOKIE" ] || is_on_console ) ; then + command="$CK_LAUNCH_SESSION $command" +fi diff --git a/srcpkgs/ConsoleKit/files/pam-foreground-compat.ck b/srcpkgs/ConsoleKit/files/pam-foreground-compat.ck new file mode 100755 index 00000000000..7f6b122d5fc --- /dev/null +++ b/srcpkgs/ConsoleKit/files/pam-foreground-compat.ck @@ -0,0 +1,16 @@ +#!/bin/sh +TAGDIR=/var/run/console + +[ -n "$CK_SESSION_USER_UID" ] || exit 1 + +TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`" + +if [ "$1" = "session_added" ]; then + mkdir -p "$TAGDIR" + echo "$CK_SESSION_ID" >> "$TAGFILE" +fi + +if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then + sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE" + [ -s "$TAGFILE" ] || rm -f "$TAGFILE" +fi diff --git a/srcpkgs/ConsoleKit/template b/srcpkgs/ConsoleKit/template new file mode 100644 index 00000000000..903cc11c701 --- /dev/null +++ b/srcpkgs/ConsoleKit/template @@ -0,0 +1,41 @@ +# Template file for 'gnome-calculator' +pkgname=ConsoleKit +version=0.4.6 +revision=7 +reverts="ConsoleKit-0.9.1_1" +build_style=gnu-configure +configure_args="--enable-udev-acl --with-pam-module-dir=/usr/lib/security --enable-pam-module" +hostmakedepends="automake libtool pkg-config glib-devel" +makedepends="acl-devel libudev-devel polkit-devel dbus-glib-devel glib-devel libX11-devel pam-devel" +depends="dbus" +short_desc="A framework for defining and tracking users, login sessions, and seats" +maintainer="Enno Boland " +homepage="http://www.freedesktop.org/wiki/Software/ConsoleKit" +license="GPL" +distfiles="http://www.freedesktop.org/software/ConsoleKit/dist/${pkgname}-${version}.tar.xz" +checksum=b41d17e06f80059589fbeefe96ad07bcc564c49e65516da1caf975146475565c + +make_dirs=" + /etc/${pkgname}/run-seat.d 0755 root root + /etc/${pkgname}/run-session.d 0755 root root + /usr/lib/${pkgname}/run-session.d 0755 root root + /usr/lib/${pkgname}/run-seat.d 0755 root root + /var/log/${pkgname} 0755 root root" + +pre_configure() { + autoreconf -fi +} +post_install() { + vinstall ${FILESDIR}/90-consolekit-3 755 etc/X11/xinit/xinitrc.d 90-consolekit + vinstall ${FILESDIR}/pam-foreground-compat.ck 755 usr/lib/${pkgname}/run-session.d +} + +ConsoleKit-devel_package() { + short_desc+=" - development files" + depends="dbus-devel ${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmove usr/include + vmove usr/lib/*.so + vmove usr/lib/pkgconfig + } +} diff --git a/srcpkgs/ConsoleKit2/template b/srcpkgs/ConsoleKit2/template index 970715345c2..740b7e908df 100644 --- a/srcpkgs/ConsoleKit2/template +++ b/srcpkgs/ConsoleKit2/template @@ -1,14 +1,14 @@ -# Template file for 'gnome-calculator' -pkgname=ConsoleKit +# Template file for 'ConsoleKit2' +pkgname=ConsoleKit2 version=0.9.1 revision=1 -wrksrc="${pkgname}2-${version}" +wrksrc="ConsoleKit-${version}" build_style=gnu-configure configure_args="ac_cv_file__sys_class_tty_tty0_active=yes --enable-udev-acl --with-pam-module-dir=/usr/lib/security --enable-pam-module" hostmakedepends="automake libtool pkg-config gettext-devel glib-devel" makedepends="acl-devel libudev-devel polkit-devel dbus-glib-devel glib-devel libX11-devel pam-devel" -depends="dbus pm-utils" +depends="dbus" short_desc="A framework for defining and tracking users, login sessions, and seats" maintainer="Enno Boland " homepage="http://consolekit2.github.io/ConsoleKit2/" @@ -16,20 +16,24 @@ license="GPL-2" distfiles="https://github.com/ConsoleKit2/ConsoleKit2/releases/download/${version}/ConsoleKit2-${version}.tar.bz2" checksum=6a735805bca0841e369a58468cc86b02d4e55184b37a4314429dec19019ff388 +provides="ConsoleKit-${version}_${revision}" +replaces="ConsoleKit>=0" + make_dirs=" - /etc/${pkgname}/run-seat.d 0755 root root - /etc/${pkgname}/run-session.d 0755 root root - /usr/lib/${pkgname}/run-session.d 0755 root root - /usr/lib/${pkgname}/run-seat.d 0755 root root" + /etc/ConsoleKit/run-seat.d 0755 root root + /etc/ConsoleKit/run-session.d 0755 root root + /usr/lib/ConsoleKit/run-session.d 0755 root root + /usr/lib/ConsoleKit/run-seat.d 0755 root root" pre_configure() { autoreconf -fi } post_install() { - vinstall data/90-consolekit 755 etc/X11/xinit/xinitrc.d + vinstall ${FILESDIR}/90-consolekit-3 755 etc/X11/xinit/xinitrc.d 90-consolekit + vinstall ${FILESDIR}/pam-foreground-compat.ck 755 usr/lib/${pkgname}/run-session.d } -ConsoleKit-devel_package() { +ConsoleKit2-devel_package() { short_desc+=" - development files" depends="dbus-devel ${sourcepkg}>=${version}_${revision}" pkg_install() {