diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2008-08-03 14:11:22 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2008-08-03 14:11:22 +0800 |
commit | 0e94650641e3d31ca11d87d99d79852ac91d4f4e (patch) | |
tree | 39a3dd6e5a5b9f2ceb922782deb3a3426545a580 | |
parent | 7a2515ccc0ddff813ab11fd30b6ea3ff4062bac8 (diff) | |
download | marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.tar marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.tar.gz marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.tar.bz2 marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.tar.lz marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.tar.xz marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.tar.zst marcuscom-ports-0e94650641e3d31ca11d87d99d79852ac91d4f4e.zip |
Update to 0.3.0.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@11196 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r-- | sysutils/consolekit/Makefile | 39 | ||||
-rw-r--r-- | sysutils/consolekit/distinfo | 3 | ||||
-rw-r--r-- | sysutils/consolekit/files/ck-get-x11-display-device | 35 | ||||
-rw-r--r-- | sysutils/consolekit/files/ck-get-x11-server-pid | 17 | ||||
-rw-r--r-- | sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c | 142 | ||||
-rw-r--r-- | sysutils/consolekit/files/patch-src_ck-sysdeps-unix.c | 18 | ||||
-rw-r--r-- | sysutils/consolekit/files/patch-src_main.c | 33 | ||||
-rw-r--r-- | sysutils/consolekit/files/patch-src_test-vt-monitor.c | 33 | ||||
-rw-r--r-- | sysutils/consolekit/files/patch-tools_Makefile.in | 77 | ||||
-rw-r--r-- | sysutils/consolekit/pkg-descr | 6 | ||||
-rw-r--r-- | sysutils/consolekit/pkg-plist | 39 |
11 files changed, 442 insertions, 0 deletions
diff --git a/sysutils/consolekit/Makefile b/sysutils/consolekit/Makefile new file mode 100644 index 000000000..824d73d37 --- /dev/null +++ b/sysutils/consolekit/Makefile @@ -0,0 +1,39 @@ +# New ports collection makefile for: ConsoleKit +# Date Created: 26 Aug 2006 +# Whom: Florent Thoumie <flz@FreeBSD.org> +# +# $FreeBSD: ports/sysutils/consolekit/Makefile,v 1.5 2008/06/06 14:02:53 edwin Exp $ +# $MCom: ports/sysutils/consolekit/Makefile,v 1.12 2008/02/27 15:13:25 ahze Exp $ + +PORTNAME= consolekit +PORTVERSION= 0.3.0 +CATEGORIES= sysutils gnome +MASTER_SITES= http://people.freedesktop.org/~mccann/dist/ +DISTFILES= ConsoleKit-${PORTVERSION}${EXTRACT_SUFX} + +MAINTAINER= gnome@FreeBSD.org +COMMENT= Framework for defining and tracking users + +LIB_DEPENDS= dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \ + polkit.2:${PORTSDIR}/sysutils/policykit + +WRKSRC= ${WRKDIR}/ConsoleKit-${PORTVERSION} +USE_BZIP2= yes +USE_XORG= x11 +USE_GNOME= gnomehack gnometarget +USE_GMAKE= yes +GNU_CONFIGURE= yes +USE_LDCONFIG= yes +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" +CONFIGURE_ARGS= --with-pid-file=/var/run/${PORTNAME}.pid \ + --localstatedir=/var + +post-install: + ${INSTALL_SCRIPT} ${FILESDIR}/ck-get-x11-display-device \ + ${PREFIX}/libexec/ck-get-x11-display-device + ${INSTALL_SCRIPT} ${FILESDIR}/ck-get-x11-server-pid \ + ${PREFIX}/libexec/ck-get-x11-server-pid + ${MKDIR} /var/log/ConsoleKit + +.include <bsd.port.mk> diff --git a/sysutils/consolekit/distinfo b/sysutils/consolekit/distinfo new file mode 100644 index 000000000..ef1243c68 --- /dev/null +++ b/sysutils/consolekit/distinfo @@ -0,0 +1,3 @@ +MD5 (ConsoleKit-0.3.0.tar.bz2) = 43b02a52212330b54cfb34c4044d9ce0 +SHA256 (ConsoleKit-0.3.0.tar.bz2) = cbcfbb3df2dc76855c99c1cdff04a257ec5270fa62e1d21b0d057b08d88c0fd4 +SIZE (ConsoleKit-0.3.0.tar.bz2) = 393694 diff --git a/sysutils/consolekit/files/ck-get-x11-display-device b/sysutils/consolekit/files/ck-get-x11-display-device new file mode 100644 index 000000000..6fc508360 --- /dev/null +++ b/sysutils/consolekit/files/ck-get-x11-display-device @@ -0,0 +1,35 @@ +#!/bin/sh + +FSTAT="/usr/bin/fstat" +GREP="/usr/bin/grep" +AWK="/usr/bin/awk" +SED="/usr/bin/sed" +CAT="/bin/cat" +HEAD="/usr/bin/head" + +dispnum=0 +if [ x"$1" = x"--display" ]; then + if [ $# != 2 ]; then + echo "usage: $0 [--display DISPLAY]" + exit 1 + fi + DISPLAY=$2 +fi +if [ ! -z "${DISPLAY}" ]; then + dispnum=$(echo ${DISPLAY} | ${SED} -E -e 's|:([0-9]+).*|\1|') +fi + +if [ ! -f "/tmp/.X${dispnum}-lock" ]; then + echo "ERROR: Failed to find X lock file for display ${dispnum}" + exit 1 +fi +pid=$(${CAT} "/tmp/.X${dispnum}-lock") + +device=$(${FSTAT} -p ${pid} | ${GREP} ttyv | ${HEAD} -1 | ${AWK} '{print $8}') + +if [ -z "${device}" ]; then + echo "ERROR: Failed to find TTY device for X server on display ${dispnum}" + exit 1 +fi + +echo "/dev/${device}" diff --git a/sysutils/consolekit/files/ck-get-x11-server-pid b/sysutils/consolekit/files/ck-get-x11-server-pid new file mode 100644 index 000000000..05c433e01 --- /dev/null +++ b/sysutils/consolekit/files/ck-get-x11-server-pid @@ -0,0 +1,17 @@ +#!/bin/sh + +SED="/usr/bin/sed" +CAT="/bin/cat" + +dispnum=0 +if [ ! -z "${DISPLAY}" ]; then + dispnum=$(echo ${DISPLAY} | ${SED} -E -e 's|:([0-9]+).*|\1|') +fi + +if [ ! -f "/tmp/.X${dispnum}-lock" ]; then + echo "ERROR: Failed to find X lock file for display ${dispnum}" + exit 1 +fi +pid=$(${CAT} "/tmp/.X${dispnum}-lock") + +echo ${pid} diff --git a/sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c b/sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c new file mode 100644 index 000000000..5a0e1248b --- /dev/null +++ b/sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c @@ -0,0 +1,142 @@ +--- src/ck-sysdeps-freebsd.c.orig 2008-01-23 09:30:44.000000000 -0500 ++++ src/ck-sysdeps-freebsd.c 2008-02-06 22:50:57.000000000 -0500 +@@ -27,6 +27,7 @@ + #include <unistd.h> + #include <string.h> + #include <errno.h> ++#include <glob.h> + #include <paths.h> + #include <ttyent.h> + #include <kvm.h> +@@ -202,7 +203,6 @@ ck_process_stat_new_for_unix_pid (pid_t + GError **error) + { + gboolean res; +- GError *local_error; + CkProcessStat *proc; + + g_return_val_if_fail (pid > 1, FALSE); +@@ -217,7 +217,6 @@ ck_process_stat_new_for_unix_pid (pid_t + if (res) { + *stat = proc; + } else { +- g_propagate_error (error, local_error); + *stat = NULL; + } + +@@ -318,38 +317,40 @@ gboolean + ck_get_max_num_consoles (guint *num) + { + int max_consoles; +- int res; +- gboolean ret; +- struct ttyent *t; ++ int i; ++ glob_t g; + +- ret = FALSE; + max_consoles = 0; + +- res = setttyent (); +- if (res == 0) { +- goto done; +- } +- +- while ((t = getttyent ()) != NULL) { +- if (t->ty_status & TTY_ON && strncmp (t->ty_name, "ttyv", 4) == 0) ++ g.gl_offs = 0; ++ glob ("/dev/ttyv*", GLOB_DOOFFS, NULL, &g); ++ for (i = 0; i < g.gl_pathc && g.gl_pathv[i] != NULL; i++) { ++ int fd; ++ char *cdev; ++ ++ cdev = g.gl_pathv[i]; ++ fd = open (cdev, O_RDONLY | O_NOCTTY); ++ if (fd > -1) { ++ close (fd); + max_consoles++; ++ } else { ++ break; ++ } + } + +- /* Increment one more so that all consoles are properly counted ++ globfree (&g); ++ ++ /* ++ * Increment one more so that all consoles are properly counted + * this is arguable a bug in vt_add_watches(). + */ + max_consoles++; + +- ret = TRUE; +- +- endttyent (); +- +-done: + if (num != NULL) { + *num = max_consoles; + } + +- return ret; ++ return TRUE; + } + + char * +@@ -360,7 +361,12 @@ ck_get_console_device_for_num (guint num + /* The device number is always one less than the VT number. */ + num--; + +- device = g_strdup_printf ("/dev/ttyv%u", num); ++ if (num < 10) ++ device = g_strdup_printf ("/dev/ttyv%i", num); ++ else if (num < 32) ++ device = g_strdup_printf ("/dev/ttyv%c", num - 10 + 'a'); ++ else ++ device = NULL; + + return device; + } +@@ -370,6 +376,7 @@ ck_get_console_num_from_device (const ch + guint *num) + { + guint n; ++ char c; + gboolean ret; + + n = 0; +@@ -379,7 +386,11 @@ ck_get_console_num_from_device (const ch + return FALSE; + } + +- if (sscanf (device, "/dev/ttyv%u", &n) == 1) { ++ if (sscanf (device, "/dev/ttyv%c", &c) == 1) { ++ if (c < 58) ++ n = c - 48; ++ else ++ n = c - 'a' + 10; + /* The VT number is always one more than the device number. */ + n++; + ret = TRUE; +@@ -399,6 +410,7 @@ ck_get_active_console_num (int consol + gboolean ret; + int res; + int active; ++ char ttyn; + + g_assert (console_fd != -1); + +@@ -411,7 +423,12 @@ ck_get_active_console_num (int consol + goto out; + } + +- g_debug ("Active VT is: %d (ttyv%d)", active, active - 1); ++ if (active - 1 < 10) ++ ttyn = active - 1 + '0'; ++ else ++ ttyn = active - 11 + 'a'; ++ ++ g_debug ("Active VT is: %d (ttyv%c)", active, ttyn); + ret = TRUE; + + out: diff --git a/sysutils/consolekit/files/patch-src_ck-sysdeps-unix.c b/sysutils/consolekit/files/patch-src_ck-sysdeps-unix.c new file mode 100644 index 000000000..e256e9f36 --- /dev/null +++ b/sysutils/consolekit/files/patch-src_ck-sysdeps-unix.c @@ -0,0 +1,18 @@ +--- src/ck-sysdeps-unix.c.orig 2008-02-06 22:59:55.000000000 -0500 ++++ src/ck-sysdeps-unix.c 2008-02-06 22:52:34.000000000 -0500 +@@ -172,6 +172,15 @@ ck_get_a_console_fd (void) + + fd = -1; + ++#ifdef __FreeBSD__ ++ /* On FreeBSD, try /dev/consolectl first as this will survive ++ * /etc/ttys initialization. */ ++ fd = open_a_console ("/dev/consolectl"); ++ if (fd >= 0) { ++ goto done; ++ } ++#endif ++ + #ifdef __sun + /* On Solaris, first try Sun VT device. */ + fd = open_a_console ("/dev/vt/active"); diff --git a/sysutils/consolekit/files/patch-src_main.c b/sysutils/consolekit/files/patch-src_main.c new file mode 100644 index 000000000..a791db0f9 --- /dev/null +++ b/sysutils/consolekit/files/patch-src_main.c @@ -0,0 +1,33 @@ +--- src/main.c.orig 2007-11-08 15:05:55.000000000 -0500 ++++ src/main.c 2007-11-08 15:07:39.000000000 -0500 +@@ -226,6 +226,21 @@ sigusr1_handler (int sig) + } + + static void ++setup_termination_signals (void) ++{ ++ struct sigaction sa; ++ ++ sa.sa_handler = SIG_DFL; ++ 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_signals (void) + { + struct sigaction sa; +@@ -300,6 +315,8 @@ main (int argc, + + setup_debug_log (debug); + ++ setup_termination_signals (); ++ + connection = get_system_bus (); + if (connection == NULL) { + goto out; diff --git a/sysutils/consolekit/files/patch-src_test-vt-monitor.c b/sysutils/consolekit/files/patch-src_test-vt-monitor.c new file mode 100644 index 000000000..6fb9740f5 --- /dev/null +++ b/sysutils/consolekit/files/patch-src_test-vt-monitor.c @@ -0,0 +1,33 @@ +--- src/test-vt-monitor.c.orig 2007-08-17 13:08:55.000000000 -0400 ++++ src/test-vt-monitor.c 2007-11-08 15:11:37.000000000 -0500 +@@ -31,6 +31,7 @@ + #include <pwd.h> + #include <string.h> + #include <errno.h> ++#include <signal.h> + + #include <locale.h> + +@@ -55,12 +56,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 = SIG_DFL; ++ 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); diff --git a/sysutils/consolekit/files/patch-tools_Makefile.in b/sysutils/consolekit/files/patch-tools_Makefile.in new file mode 100644 index 000000000..b818fd931 --- /dev/null +++ b/sysutils/consolekit/files/patch-tools_Makefile.in @@ -0,0 +1,77 @@ +--- tools/Makefile.in.orig 2008-01-31 16:09:08.000000000 -0500 ++++ tools/Makefile.in 2008-01-31 16:10:21.000000000 -0500 +@@ -39,8 +39,7 @@ bin_PROGRAMS = ck-list-sessions$(EXEEXT) + $(am__EXEEXT_1) + sbin_PROGRAMS = ck-log-system-start$(EXEEXT) $(am__EXEEXT_1) + libexec_PROGRAMS = ck-collect-session-info$(EXEEXT) \ +- ck-get-x11-server-pid$(EXEEXT) \ +- ck-get-x11-display-device$(EXEEXT) $(am__EXEEXT_1) ++ $(am__EXEEXT_1) + subdir = tools + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +@@ -66,17 +65,6 @@ ck_collect_session_info_OBJECTS = \ + am__DEPENDENCIES_1 = + ck_collect_session_info_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(top_builddir)/src/libck.la $(am__DEPENDENCIES_1) +-am_ck_get_x11_display_device_OBJECTS = \ +- ck-get-x11-display-device.$(OBJEXT) $(am__objects_1) +-ck_get_x11_display_device_OBJECTS = \ +- $(am_ck_get_x11_display_device_OBJECTS) +-ck_get_x11_display_device_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +- $(top_builddir)/src/libck.la $(am__DEPENDENCIES_1) +-am_ck_get_x11_server_pid_OBJECTS = ck-get-x11-server-pid.$(OBJEXT) \ +- $(am__objects_1) +-ck_get_x11_server_pid_OBJECTS = $(am_ck_get_x11_server_pid_OBJECTS) +-ck_get_x11_server_pid_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +- $(top_builddir)/src/libck.la $(am__DEPENDENCIES_1) + am_ck_history_OBJECTS = ck-history.$(OBJEXT) $(am__objects_1) + ck_history_OBJECTS = $(am_ck_history_OBJECTS) + ck_history_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ +@@ -335,24 +323,6 @@ ck_collect_session_info_LDADD = \ + $(top_builddir)/src/libck.la \ + $(NULL) + +-ck_get_x11_server_pid_SOURCES = \ +- ck-get-x11-server-pid.c \ +- $(NULL) +- +-ck_get_x11_server_pid_LDADD = \ +- $(TOOLS_LIBS) \ +- $(top_builddir)/src/libck.la \ +- $(NULL) +- +-ck_get_x11_display_device_SOURCES = \ +- ck-get-x11-display-device.c \ +- $(NULL) +- +-ck_get_x11_display_device_LDADD = \ +- $(TOOLS_LIBS) \ +- $(top_builddir)/src/libck.la \ +- $(NULL) +- + EXTRA_DIST = \ + $(NULL) + +@@ -480,12 +450,6 @@ clean-sbinPROGRAMS: + ck-collect-session-info$(EXEEXT): $(ck_collect_session_info_OBJECTS) $(ck_collect_session_info_DEPENDENCIES) + @rm -f ck-collect-session-info$(EXEEXT) + $(LINK) $(ck_collect_session_info_OBJECTS) $(ck_collect_session_info_LDADD) $(LIBS) +-ck-get-x11-display-device$(EXEEXT): $(ck_get_x11_display_device_OBJECTS) $(ck_get_x11_display_device_DEPENDENCIES) +- @rm -f ck-get-x11-display-device$(EXEEXT) +- $(LINK) $(ck_get_x11_display_device_OBJECTS) $(ck_get_x11_display_device_LDADD) $(LIBS) +-ck-get-x11-server-pid$(EXEEXT): $(ck_get_x11_server_pid_OBJECTS) $(ck_get_x11_server_pid_DEPENDENCIES) +- @rm -f ck-get-x11-server-pid$(EXEEXT) +- $(LINK) $(ck_get_x11_server_pid_OBJECTS) $(ck_get_x11_server_pid_LDADD) $(LIBS) + ck-history$(EXEEXT): $(ck_history_OBJECTS) $(ck_history_DEPENDENCIES) + @rm -f ck-history$(EXEEXT) + $(LINK) $(ck_history_OBJECTS) $(ck_history_LDADD) $(LIBS) +@@ -503,8 +467,6 @@ distclean-compile: + -rm -f *.tab.c + + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ck-collect-session-info.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ck-get-x11-display-device.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ck-get-x11-server-pid.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ck-history.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ck-log-system-start.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-sessions.Po@am__quote@ diff --git a/sysutils/consolekit/pkg-descr b/sysutils/consolekit/pkg-descr new file mode 100644 index 000000000..db13002ab --- /dev/null +++ b/sysutils/consolekit/pkg-descr @@ -0,0 +1,6 @@ +ConsoleKit is a framework for defining and tracking users, login +sessions, and seats. The primary motivations for this framework are to +facilitate fast-user-switching and multi-seat capabilities, and to +enable more sophisticated policy decisions for desktop sessions. + +WWW: http://www.freedesktop.org/wiki/Software/ConsoleKit diff --git a/sysutils/consolekit/pkg-plist b/sysutils/consolekit/pkg-plist new file mode 100644 index 000000000..f7eba29e7 --- /dev/null +++ b/sysutils/consolekit/pkg-plist @@ -0,0 +1,39 @@ +bin/ck-history +bin/ck-launch-session +bin/ck-list-sessions +sbin/ck-log-system-restart +sbin/ck-log-system-start +sbin/ck-log-system-stop +etc/ConsoleKit/seats.d/00-primary.seat +etc/dbus-1/system.d/ConsoleKit.conf +include/ConsoleKit/ck-connector/ck-connector.h +lib/ConsoleKit/scripts/ck-system-restart +lib/ConsoleKit/scripts/ck-system-stop +lib/libck-connector.la +lib/libck-connector.so +lib/libck-connector.so.0 +libdata/pkgconfig/ck-connector.pc +libexec/ck-collect-session-info +libexec/ck-get-x11-display-device +libexec/ck-get-x11-server-pid +sbin/console-kit-daemon +share/PolicyKit/policy/org.freedesktop.consolekit.policy +share/dbus-1/interfaces/org.freedesktop.ConsoleKit.Manager.xml +share/dbus-1/interfaces/org.freedesktop.ConsoleKit.Seat.xml +share/dbus-1/interfaces/org.freedesktop.ConsoleKit.Session.xml +share/dbus-1/system-services/org.freedesktop.ConsoleKit.service +@exec %D/etc/ConsoleKit/run-session.d +@exec mkdir -p %D/lib/ConsoleKit/run-session.d +@dirrm lib/ConsoleKit/scripts +@dirrmtry lib/ConsoleKit/run-session.d +@dirrmtry lib/ConsoleKit +@dirrm include/ConsoleKit/ck-connector +@dirrm include/ConsoleKit +@dirrm etc/ConsoleKit/seats.d +@dirrmtry etc/ConsoleKit/run-session.d +@dirrm etc/ConsoleKit +@exec mkdir -p /var/run/ConsoleKit +@exec mkdir -p /var/log/ConsoleKit +@exec touch -f /var/log/ConsoleKit/history +@unexec rm -rf /var/run/ConsoleKit 2>/dev/null || true +@unexec rm -rf /var/log/ConsoleKit 2>/dev/null || true |