sys-auth/0000755000000000000000000000000011025223642011326 5ustar rootrootsys-auth/consolekit/0000755000000000000000000000000011025223773013505 5ustar rootrootsys-auth/consolekit/Manifest0000644000000000000000000000144411025223773015201 0ustar rootrootAUX consolekit-0.1.rc 540 RMD160 0db24125d14b177ac54819f4d57fcac589a86bf3 SHA1 e1001914190b644d1557034f5534ba412e4ead57 SHA256 53510ed5f365af2f5fc760fb9462aea660ba54cbbd5f4c6be8d3bc75c4c399c8 AUX consolekit-0.2.3-freebsd.patch 2945 RMD160 e1193ba4010daa33c9646ed8a78a374944ea73dc SHA1 10af67cab72a184fbe89ba36330a20020ae60206 SHA256 f17aa9f3229a24d6bd4291c9f249396864eceb9c01ed00e5c97172c1c57932c5 DIST ConsoleKit-0.2.10.tar.gz 521473 RMD160 fa75c371a28803c990c9293732229e2c67625ff6 SHA1 ac4107f2239b072156f4a815609ea1c6fbb5f6cf SHA256 02b9510f65256db33a5e079736bb7234cd5599bf02dc77399d81d50cf5183bcb EBUILD consolekit-0.2.10.ebuild 1975 RMD160 112a772238d0e449246937558c73fbab50f9204c SHA1 ec08174de2d84af9ef24e9ca530cfbfbe39922ca SHA256 25f0ec6473ed00b7506cf0615682b60055140f0dfb95e4ba3ba11286bcf3256d sys-auth/consolekit/files/0000755000000000000000000000000010750340421014601 5ustar rootrootsys-auth/consolekit/files/consolekit-0.1.rc0000644000000000000000000000103410601255462017600 0ustar rootroot#!/sbin/runscript # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # $Header: /var/cvsroot/gentoo-x86/sys-auth/consolekit/files/consolekit-0.1.rc,v 1.1 2007/03/24 17:09:06 steev Exp $ depend() { need dbus use logger } start() { ebegin "Starting ConsoleKit daemon" start-stop-daemon --start -q --exec /usr/sbin/console-kit-daemon -- eend $? } stop() { ebegin "Stopping ConsoleKit daemon" start-stop-daemon --stop -q --pidfile /var/run/consolekit.pid eend $? } sys-auth/consolekit/files/consolekit-0.2.3-freebsd.patch0000644000000000000000000000560110712172154022050 0ustar rootrootdiff --git a/src/ck-sysdeps-unix.c b/src/ck-sysdeps-unix.c index 0001b6b..bcdfb21 100644 --- a/src/ck-sysdeps-unix.c +++ b/src/ck-sysdeps-unix.c @@ -267,7 +267,13 @@ ck_wait_for_active_console_num (int console_fd, g_debug ("Interrupted waiting for native console %d activation: %s", num, errmsg); +#if !defined(__FreeBSD__) + /* We don't want to retry on FreeBSD since getting + * EINTR means we are terminating, and we don't want + * to keep restarting our active VT check. + */ goto again; +#endif } else { g_warning ("Error waiting for native console %d activation: %s", num, diff --git a/src/main.c b/src/main.c index 11b6f2e..af2998b 100644 --- a/src/main.c +++ b/src/main.c @@ -245,6 +245,27 @@ setup_debug_log_signals (void) } static void +terminate (int sig __unused) +{ + return; +} + +static void +setup_termination_signals (void) +{ + struct sigaction sa; + + sa.sa_handler = terminate; + sigemptyset (&sa.sa_mask); + sa.sa_flags = 0; + + sigaction (SIGTERM, &sa, NULL); + sigaction (SIGQUIT, &sa, NULL); + sigaction (SIGINT, &sa, NULL); + sigaction (SIGHUP, &sa, NULL); +} + +static void setup_debug_log (gboolean debug) { ck_log_init (); @@ -300,6 +321,8 @@ main (int argc, setup_debug_log (debug); + setup_termination_signals (); + connection = get_system_bus (); if (connection == NULL) { goto out; diff --git a/src/test-vt-monitor.c b/src/test-vt-monitor.c index c445865..e31b24e 100644 --- a/src/test-vt-monitor.c +++ b/src/test-vt-monitor.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -47,6 +48,12 @@ activated_cb (CkVtMonitor *monitor, g_message ("VT %u activated", num); } +static void +terminate (int sig __unused) +{ + return; +} + int main (int argc, char **argv) { @@ -55,12 +62,22 @@ main (int argc, char **argv) GError *error; guint num; gboolean res; + struct sigaction sa; if (! g_thread_supported ()) { g_thread_init (NULL); } g_type_init (); + sa.sa_handler = terminate; + sigemptyset (&sa.sa_mask); + sa.sa_flags = 0; + + sigaction (SIGINT, &sa, NULL); + sigaction (SIGTERM, &sa, NULL); + sigaction (SIGQUIT, &sa, NULL); + sigaction (SIGHUP, &sa, NULL); + if (! ck_is_root_user ()) { g_warning ("Must be run as root"); exit (1); sys-auth/consolekit/consolekit-0.2.10.ebuild0000644000000000000000000000366711025223723017570 0ustar rootroot# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-auth/consolekit/consolekit-0.2.10.ebuild,v 1.13 2008/06/15 02:50:32 vapier Exp $ inherit eutils autotools multilib pam MY_PN="ConsoleKit" MY_PV="${PV//_pre*/}" 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_PN}-${PV}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" IUSE="debug pam" # Not parallel make safe MAKEOPTS="$MAKEOPTS -j1" RDEPEND=">=dev-libs/glib-2.7 >=dev-libs/dbus-glib-0.61 >=x11-libs/libX11-1.0.0 pam? ( virtual/pam ) elibc_glibc? ( !=sys-libs/glibc-2.4* )" DEPEND="${RDEPEND} dev-util/pkgconfig" S="${WORKDIR}/${MY_PN}-${MY_PV}" src_unpack() { unpack ${A} cd "${S}" # Work around an apparent FreeBSD kernel bug use x86-fbsd && epatch "${FILESDIR}/${P}"-freebsd.patch } src_compile() { econf $(use_enable debug) \ $(use_enable pam pam-module) \ --with-pam-module-dir=/$(getpam_mod_dir) \ --with-pid-file=/var/run/consolekit.pid \ --with-dbus-services=/usr/share/dbus-1/services/ \ || die "econf failed" emake || die "emake failed" } src_install() { emake DESTDIR="${D}" install || die "emake install failed" #crappy Redhat init script rm -f "${D}/etc/rc.d/init.d/ConsoleKit" rm -r "${D}/etc/rc.d/" #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 } 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" ewarn }