aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2017-08-05 18:58:48 +0800
committerkwm <kwm@FreeBSD.org>2017-08-05 18:58:48 +0800
commita18ea53024c58d04da2d68c995d114cabfeadd7a (patch)
tree5237d3d5922af476695ecaa49d7957cf8cd37191 /sysutils
parent3b3fa9ef018c84491992d0b544a00d17766d1203 (diff)
downloadfreebsd-ports-gnome-a18ea53024c58d04da2d68c995d114cabfeadd7a.tar.gz
freebsd-ports-gnome-a18ea53024c58d04da2d68c995d114cabfeadd7a.tar.zst
freebsd-ports-gnome-a18ea53024c58d04da2d68c995d114cabfeadd7a.zip
Update consolekit to 1.2.0.
* Rename consolekit to consolekit2 to reflect that consolekit2 is a new project, even if it the continuation of the old consolekit project. * Expand pkg-descr with some background info. * Add license * ConsoleKit2 has been ported to GDbus, so dbus-glib is not anymore required * Add GObject introspection support for desktops environment such Pantheon or Deepin. * Thanks to Jesper Schmitz Mouridsen, Ben Woods and Olivier Duchateau for assisting with there versions of the port, suggesting changes and testing. PR: 202269
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/consolekit/Makefile37
-rw-r--r--sysutils/consolekit/distinfo2
-rw-r--r--sysutils/consolekit/files/ck-get-x11-display-device46
-rw-r--r--sysutils/consolekit/files/ck-get-x11-server-pid17
-rw-r--r--sysutils/consolekit/files/patch-src_ck-manager.c186
-rw-r--r--sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c208
-rw-r--r--sysutils/consolekit/files/patch-src_ck-sysdeps-unix.c18
-rw-r--r--sysutils/consolekit/files/patch-src_main.c33
-rw-r--r--sysutils/consolekit/files/patch-src_test-vt-monitor.c33
-rw-r--r--sysutils/consolekit/files/patch-tools_Makefile.in77
-rw-r--r--sysutils/consolekit/files/patch-tools_ck-collect-session-info.c92
-rw-r--r--sysutils/consolekit/files/patch-tools_ck-history.c20
-rw-r--r--sysutils/consolekit/files/patch-tools_ck-log-system-start.c60
-rw-r--r--sysutils/consolekit/pkg-descr6
-rw-r--r--sysutils/consolekit2/Makefile41
-rw-r--r--sysutils/consolekit2/distinfo3
-rw-r--r--sysutils/consolekit2/pkg-descr20
-rw-r--r--sysutils/consolekit2/pkg-plist (renamed from sysutils/consolekit/pkg-plist)40
-rw-r--r--sysutils/hal/Makefile4
19 files changed, 97 insertions, 846 deletions
diff --git a/sysutils/consolekit/Makefile b/sysutils/consolekit/Makefile
deleted file mode 100644
index de5abfdc2f15..000000000000
--- a/sysutils/consolekit/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# Created by: FreeBSD GNOME Team <gnome@freebsd.org>
-# $FreeBSD$
-
-PORTNAME= consolekit
-PORTVERSION= 0.4.5
-PORTREVISION= 4
-CATEGORIES= sysutils gnome
-MASTER_SITES= http://www.freedesktop.org/software/ConsoleKit/dist/
-DISTFILES= ConsoleKit-${PORTVERSION}${EXTRACT_SUFX}
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Framework for defining and tracking users
-
-LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \
- libpolkit-gobject-1.so:sysutils/polkit
-
-WRKSRC= ${WRKDIR}/ConsoleKit-${PORTVERSION}
-USES= gettext gmake libtool pathfix pkgconfig tar:bzip2
-USE_XORG= x11
-GNU_CONFIGURE= yes
-USE_LDCONFIG= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-CONFIGURE_ARGS= --with-pid-file=/var/run/${PORTNAME}.pid \
- --enable-pam-module \
- --with-pam-module-dir=${PREFIX}/lib \
- --localstatedir=/var
-INSTALL_TARGET= install-strip
-
-post-install:
- ${INSTALL_SCRIPT} ${FILESDIR}/ck-get-x11-display-device \
- ${STAGEDIR}${PREFIX}/libexec/ck-get-x11-display-device
- ${INSTALL_SCRIPT} ${FILESDIR}/ck-get-x11-server-pid \
- ${STAGEDIR}${PREFIX}/libexec/ck-get-x11-server-pid
- @${MKDIR} ${STAGEDIR}/var/log/ConsoleKit
-
-.include <bsd.port.mk>
diff --git a/sysutils/consolekit/distinfo b/sysutils/consolekit/distinfo
deleted file mode 100644
index a462e08e6cfc..000000000000
--- a/sysutils/consolekit/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ConsoleKit-0.4.5.tar.bz2) = 43e0780c53078e125efcec3f847e484dc3533e49b408ce6a0ab1b223686b9c38
-SIZE (ConsoleKit-0.4.5.tar.bz2) = 425423
diff --git a/sysutils/consolekit/files/ck-get-x11-display-device b/sysutils/consolekit/files/ck-get-x11-display-device
deleted file mode 100644
index ccfc78c69b7c..000000000000
--- a/sysutils/consolekit/files/ck-get-x11-display-device
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-
-FSTAT="/usr/bin/fstat"
-GREP="/usr/bin/grep"
-AWK="/usr/bin/awk"
-SED="/usr/bin/sed"
-CAT="/bin/cat"
-
-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 | ${AWK} '{print $8}')
-
-if [ -z "${device}" -a -f "/var/log/Xorg.$dispnum.log" ]; then
- device=$(awk '/using VT number/ { print "ttyv" ($7 - 1); }' \
- "/var/log/Xorg.$dispnum.log")
-fi
-
-if [ -z "${device}" ]; then
- echo "ERROR: Failed to find TTY device for X server on display ${dispnum}"
- exit 1
-fi
-
-ret=""
-for dev in ${device}; do
- if [ "${dev}" \> "${ret}" ]; then
- ret=${dev}
- fi
-done
-
-echo "/dev/${dev}"
diff --git a/sysutils/consolekit/files/ck-get-x11-server-pid b/sysutils/consolekit/files/ck-get-x11-server-pid
deleted file mode 100644
index 05c433e0175e..000000000000
--- a/sysutils/consolekit/files/ck-get-x11-server-pid
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/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-manager.c b/sysutils/consolekit/files/patch-src_ck-manager.c
deleted file mode 100644
index 7be0214c7dec..000000000000
--- a/sysutils/consolekit/files/patch-src_ck-manager.c
+++ /dev/null
@@ -1,186 +0,0 @@
-$OpenBSD: patch-src_ck-manager_c,v 1.3 2011/04/28 13:08:33 ajacoutot Exp $
-
-XXX revert 4f88228f31a63c026c424a92827f26ad7535275c
-The Kit people assume the world runs Linux and PAM, see
-https://bugs.freedesktop.org/show_bug.cgi?id=28377
-
---- src/ck-manager.c.orig Tue Oct 26 16:34:03 2010
-+++ src/ck-manager.c Sat Dec 4 12:18:29 2010
-@@ -1659,175 +1659,13 @@ open_session_for_leader (CkManager *manage
- dbus_g_method_return (context, cookie);
- }
-
--enum {
-- PROP_STRING,
-- PROP_BOOLEAN,
--};
--
--#define CK_TYPE_PARAMETER_STRUCT (dbus_g_type_get_struct ("GValueArray", \
-- G_TYPE_STRING, \
-- G_TYPE_VALUE, \
-- G_TYPE_INVALID))
--
--static gboolean
--_get_parameter (GPtrArray *parameters,
-- const char *name,
-- int prop_type,
-- gpointer *value)
--{
-- gboolean ret;
-- int i;
--
-- if (parameters == NULL) {
-- return FALSE;
-- }
--
-- ret = FALSE;
--
-- for (i = 0; i < parameters->len && ret == FALSE; i++) {
-- gboolean res;
-- GValue val_struct = { 0, };
-- char *prop_name;
-- GValue *prop_val;
--
-- g_value_init (&val_struct, CK_TYPE_PARAMETER_STRUCT);
-- g_value_set_static_boxed (&val_struct, g_ptr_array_index (parameters, i));
--
-- res = dbus_g_type_struct_get (&val_struct,
-- 0, &prop_name,
-- 1, &prop_val,
-- G_MAXUINT);
-- if (! res) {
-- g_debug ("Unable to extract parameter input");
-- goto cont;
-- }
--
-- if (prop_name == NULL) {
-- g_debug ("Skipping NULL parameter");
-- goto cont;
-- }
--
-- if (strcmp (prop_name, name) != 0) {
-- goto cont;
-- }
--
-- switch (prop_type) {
-- case PROP_STRING:
-- if (value != NULL) {
-- *value = g_value_dup_string (prop_val);
-- }
-- break;
-- case PROP_BOOLEAN:
-- if (value != NULL) {
-- *(gboolean *)value = g_value_get_boolean (prop_val);
-- }
-- break;
-- default:
-- g_assert_not_reached ();
-- break;
-- }
--
-- ret = TRUE;
--
-- cont:
-- g_free (prop_name);
-- if (prop_val != NULL) {
-- g_value_unset (prop_val);
-- g_free (prop_val);
-- }
-- }
--
-- return ret;
--}
--
--static gboolean
--_verify_login_session_id_is_local (CkManager *manager,
-- const char *login_session_id)
--{
-- GHashTableIter iter;
-- const char *id;
-- CkSession *session;
--
-- g_return_val_if_fail (CK_IS_MANAGER (manager), FALSE);
--
-- /* If any local session exists for the given login session id
-- then that means a trusted party has vouched for the
-- original login */
--
-- g_debug ("Looking for local sessions for login-session-id=%s", login_session_id);
--
-- session = NULL;
-- g_hash_table_iter_init (&iter, manager->priv->sessions);
-- while (g_hash_table_iter_next (&iter, (gpointer *)&id, (gpointer *)&session)) {
-- if (session != NULL) {
-- gboolean is_local;
-- char *sessid;
--
-- sessid = NULL;
-- g_object_get (session,
-- "login-session-id", &sessid,
-- "is-local", &is_local,
-- NULL);
-- if (g_strcmp0 (sessid, login_session_id) == 0 && is_local) {
-- g_debug ("CkManager: found is-local=true on %s", id);
-- return TRUE;
-- }
-- }
-- }
--
-- return FALSE;
--}
--
- static void
--add_param_boolean (GPtrArray *parameters,
-- const char *key,
-- gboolean value)
--{
-- GValue val = { 0, };
-- GValue param_val = { 0, };
--
-- g_value_init (&val, G_TYPE_BOOLEAN);
-- g_value_set_boolean (&val, value);
-- g_value_init (&param_val, CK_TYPE_PARAMETER_STRUCT);
-- g_value_take_boxed (&param_val,
-- dbus_g_type_specialized_construct (CK_TYPE_PARAMETER_STRUCT));
-- dbus_g_type_struct_set (&param_val,
-- 0, key,
-- 1, &val,
-- G_MAXUINT);
-- g_value_unset (&val);
--
-- g_ptr_array_add (parameters, g_value_get_boxed (&param_val));
--}
--
--static void
- verify_and_open_session_for_leader (CkManager *manager,
- CkSessionLeader *leader,
-- GPtrArray *parameters,
-+ const GPtrArray *parameters,
- DBusGMethodInvocation *context)
- {
-- /* Only allow a local session if originating from an existing
-- local session. Effectively this means that only trusted
-- parties can create local sessions. */
--
-- g_debug ("CkManager: verifying session for leader");
--
-- if (parameters != NULL && ! _get_parameter (parameters, "is-local", PROP_BOOLEAN, NULL)) {
-- gboolean is_local;
-- char *login_session_id;
--
-- g_debug ("CkManager: is-local has not been set, will inherit from existing login-session-id if available");
--
-- is_local = FALSE;
--
-- if (_get_parameter (parameters, "login-session-id", PROP_STRING, (gpointer *) &login_session_id)) {
-- is_local = _verify_login_session_id_is_local (manager, login_session_id);
-- g_debug ("CkManager: found is-local=%s", is_local ? "true" : "false");
-- }
--
-- add_param_boolean (parameters, "is-local", is_local);
-- }
--
-+ /* for now don't bother verifying since we protect OpenSessionWithParameters */
- open_session_for_leader (manager,
- leader,
- parameters,
diff --git a/sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c b/sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c
deleted file mode 100644
index 5b85bb2eabbf..000000000000
--- a/sysutils/consolekit/files/patch-src_ck-sysdeps-freebsd.c
+++ /dev/null
@@ -1,208 +0,0 @@
---- src/ck-sysdeps-freebsd.c.orig 2010-09-03 15:54:31.000000000 +0200
-+++ src/ck-sysdeps-freebsd.c 2015-03-23 09:28:20.476513000 +0100
-@@ -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;
- }
-
-@@ -233,24 +232,28 @@ ck_process_stat_free (CkProcessStat *sta
- GHashTable *
- ck_unix_pid_get_env_hash (pid_t pid)
- {
-- GHashTable *hash;
-+ GHashTable *hash = NULL;
- char **penv;
-+ char errbuf[_POSIX2_LINE_MAX];
- kvm_t *kd;
- struct kinfo_proc p;
- int i;
-
-- kd = kvm_openfiles (_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL);
-+ kd = kvm_openfiles (_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, errbuf);
- if (kd == NULL) {
-+ g_warning ("kvm_openfiles failed: %s", errbuf);
- return NULL;
- }
-
- if (! get_kinfo_proc (pid, &p)) {
-- return NULL;
-+ g_warning ("get_kinfo_proc failed: %s", g_strerror (errno));
-+ goto fail;
- }
-
- penv = kvm_getenvv (kd, &p, 0);
- if (penv == NULL) {
-- return NULL;
-+ g_warning ("kvm_getenvv failed: %s", kvm_geterr (kd));
-+ goto fail;
- }
-
- hash = g_hash_table_new_full (g_str_hash,
-@@ -261,6 +264,9 @@ ck_unix_pid_get_env_hash (pid_t pid)
- for (i = 0; penv[i] != NULL; i++) {
- char **vals;
-
-+ if (!penv[i][0])
-+ continue;
-+
- vals = g_strsplit (penv[i], "=", 2);
- if (vals != NULL) {
- g_hash_table_insert (hash,
-@@ -270,6 +276,7 @@ ck_unix_pid_get_env_hash (pid_t pid)
- }
- }
-
-+fail:
- kvm_close (kd);
-
- return hash;
-@@ -280,7 +287,7 @@ ck_unix_pid_get_env (pid_t pid,
- const char *var)
- {
- GHashTable *hash;
-- char *val;
-+ char *val = NULL;
-
- /*
- * Would probably be more efficient to just loop through the
-@@ -288,6 +295,8 @@ ck_unix_pid_get_env (pid_t pid,
- * table, but this works for now.
- */
- hash = ck_unix_pid_get_env_hash (pid);
-+ if (hash == NULL)
-+ return val;
- val = g_strdup (g_hash_table_lookup (hash, var));
- g_hash_table_destroy (hash);
-
-@@ -327,38 +336,38 @@ 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;
-- }
-+ g.gl_offs = 0;
-+ glob ("/dev/ttyv*", GLOB_DOOFFS | GLOB_NOSORT, NULL, &g);
-+ for (i = 0; i < g.gl_pathc && g.gl_pathv[i] != NULL; i++) {
-+ struct stat sb;
-+ char *cdev;
-
-- while ((t = getttyent ()) != NULL) {
-- if (t->ty_status & TTY_ON && strncmp (t->ty_name, "ttyv", 4) == 0)
-+ cdev = g.gl_pathv[i];
-+ if (stat (cdev, &sb) > -1 && S_ISCHR (sb.st_mode)) {
- 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;
- }
-
- gboolean
-@@ -375,7 +384,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;
- }
-@@ -385,6 +399,7 @@ ck_get_console_num_from_device (const ch
- guint *num)
- {
- guint n;
-+ char c;
- gboolean ret;
-
- n = 0;
-@@ -394,7 +409,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;
-@@ -414,6 +433,7 @@ ck_get_active_console_num (int consol
- gboolean ret;
- int res;
- int active;
-+ char ttyn;
-
- g_assert (console_fd != -1);
-
-@@ -426,7 +446,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
deleted file mode 100644
index e256e9f366f4..000000000000
--- a/sysutils/consolekit/files/patch-src_ck-sysdeps-unix.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- 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
deleted file mode 100644
index a791db0f9149..000000000000
--- a/sysutils/consolekit/files/patch-src_main.c
+++ /dev/null
@@ -1,33 +0,0 @@
---- 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
deleted file mode 100644
index 6fb9740f5295..000000000000
--- a/sysutils/consolekit/files/patch-src_test-vt-monitor.c
+++ /dev/null
@@ -1,33 +0,0 @@
---- 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
deleted file mode 100644
index ed58bbb7ad6d..000000000000
--- a/sysutils/consolekit/files/patch-tools_Makefile.in
+++ /dev/null
@@ -1,77 +0,0 @@
---- tools/Makefile.in.orig 2010-10-23 11:29:43.000000000 +0200
-+++ tools/Makefile.in 2010-10-23 11:32:41.000000000 +0200
-@@ -43,8 +43,7 @@ sbin_PROGRAMS = ck-log-system-start$(EXE
- ck-log-system-restart$(EXEEXT) ck-log-system-stop$(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
-@@ -71,17 +70,6 @@ ck_collect_session_info_DEPENDENCIES = $
- AM_V_lt = $(am__v_lt_$(V))
- am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
- am__v_lt_0 = --silent
--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) \
-@@ -441,24 +429,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)
-
-@@ -632,12 +602,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)
- $(AM_V_CCLD)$(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)
-- $(AM_V_CCLD)$(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)
-- $(AM_V_CCLD)$(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)
- $(AM_V_CCLD)$(LINK) $(ck_history_OBJECTS) $(ck_history_LDADD) $(LIBS)
-@@ -664,8 +628,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-launch-session.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ck-log-system-restart.Po@am__quote@
diff --git a/sysutils/consolekit/files/patch-tools_ck-collect-session-info.c b/sysutils/consolekit/files/patch-tools_ck-collect-session-info.c
deleted file mode 100644
index 6ec8b5ff4d7e..000000000000
--- a/sysutils/consolekit/files/patch-tools_ck-collect-session-info.c
+++ /dev/null
@@ -1,92 +0,0 @@
-$OpenBSD: patch-tools_ck-collect-session-info_c,v 1.1 2011/04/28 13:08:33 ajacoutot Exp $
-
-XXX revert 4f88228f31a63c026c424a92827f26ad7535275c
-The Kit people assume the world runs Linux and PAM, see
-https://bugs.freedesktop.org/show_bug.cgi?id=28377
---- tools/ck-collect-session-info.c.orig 2013-08-10 20:47:52.000000000 +0200
-+++ tools/ck-collect-session-info.c 2013-08-10 20:47:33.000000000 +0200
-@@ -226,6 +226,12 @@ fill_x11_info (SessionInfo *si)
- gboolean res;
- CkProcessStat *xorg_stat;
- GError *error;
-+ char *err;
-+ char *out;
-+ int status;
-+ int i;
-+ char *argv[4];
-+ GPtrArray *env;
-
- /* assume this is true then check it */
- si->x11_display = ck_unix_pid_get_env (si->pid, "DISPLAY");
-@@ -272,9 +278,56 @@ fill_x11_info (SessionInfo *si)
- }
-
- si->x11_display_device = ck_process_stat_get_tty (xorg_stat);
-+ if (g_strcmp0 (si->x11_display_device, si->display_device) != 0) {
-+ goto gotit;
-+ }
-+
-+ g_free (si->x11_display_device);
-+
-+ /* get the applicable environment */
-+ env = get_filtered_environment (si->pid);
-+
-+ argv[0] = LIBEXECDIR "/ck-get-x11-display-device";
-+ argv[1] = NULL;
-+
-+ error = NULL;
-+ out = NULL;
-+ err = NULL;
-+ status = -1;
-+ res = g_spawn_sync (NULL,
-+ argv,
-+ (char **)env->pdata,
-+ 0,
-+ (GSpawnChildSetupFunc)setuid_child_setup_func,
-+ si,
-+ &out,
-+ &err,
-+ &status,
-+ &error);
-+ for (i = 0; i < env->len; i++) {
-+ g_free (g_ptr_array_index (env, i));
-+ }
-+ g_ptr_array_free (env, TRUE);
-+
-+ if (error != NULL) {
-+ g_warning ("Unable to get display device for x11 server: %s", error->message);
-+ g_error_free (error);
-+ }
-+
-+ if (status == 0) {
-+ if (res && out != NULL) {
-+ si->x11_display_device = g_strstrip (out);
-+ goto gotit;
-+ }
-+ }
-+
-+ si->x11_display_device = ck_process_stat_get_tty (xorg_stat);
-+
-+gotit:
- ck_process_stat_free (xorg_stat);
-
-- /* don't set is-local here - let the daemon do that */
-+ si->is_local = TRUE;
-+ si->is_local_is_set = TRUE;
-
- g_free (si->remote_host_name);
- si->remote_host_name = NULL;
-@@ -303,6 +356,13 @@ fill_session_info (SessionInfo *si)
-
- fill_x11_info (si);
-
-+ if (! si->is_local_is_set) {
-+ /* FIXME: how should we set this? */
-+ /* non x11 sessions must be local I guess */
-+ si->is_local = TRUE;
-+ si->is_local_is_set = TRUE;
-+ }
-+
- res = ck_unix_pid_get_login_session_id (si->pid, &si->login_session_id);
- if (! res) {
- si->login_session_id = NULL;
diff --git a/sysutils/consolekit/files/patch-tools_ck-history.c b/sysutils/consolekit/files/patch-tools_ck-history.c
deleted file mode 100644
index 33cdd68c521f..000000000000
--- a/sysutils/consolekit/files/patch-tools_ck-history.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- tools/ck-history.c.orig 2010-09-03 15:54:31.000000000 +0200
-+++ tools/ck-history.c 2013-08-10 20:56:36.000000000 +0200
-@@ -511,7 +511,7 @@
- char *session_type;
- char *session_id;
- char *seat_id;
-- CkLogSeatSessionAddedEvent *e;
-+ CkLogSeatSessionAddedEvent *e = NULL;
- CkLogEvent *remove_event;
- RecordStatus status;
-
-@@ -804,7 +804,7 @@
- data = user_counts->data;
-
- username = get_user_name_for_uid (data->uid);
-- g_print ("%-8.8s %u\n", username, data->count);
-+ g_print ("%-8s %u\n", username, data->count);
- g_free (data);
- user_counts = g_list_delete_link (user_counts, user_counts);
- g_free (username);
diff --git a/sysutils/consolekit/files/patch-tools_ck-log-system-start.c b/sysutils/consolekit/files/patch-tools_ck-log-system-start.c
deleted file mode 100644
index 0e125ef262d2..000000000000
--- a/sysutils/consolekit/files/patch-tools_ck-log-system-start.c
+++ /dev/null
@@ -1,60 +0,0 @@
---- tools/ck-log-system-start.c.orig 2009-09-14 20:08:10.000000000 -0400
-+++ tools/ck-log-system-start.c 2009-09-26 01:35:37.000000000 -0400
-@@ -26,6 +26,9 @@
- #include <unistd.h>
- #include <errno.h>
- #include <fcntl.h>
-+#ifdef __FreeBSD__
-+#include <kenv.h>
-+#endif
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/utsname.h>
-@@ -41,7 +44,9 @@
-
- #define DEFAULT_LOG_FILENAME LOCALSTATEDIR "/log/ConsoleKit/history"
-
-+#ifdef __linux__
- #define LINUX_KERNEL_CMDLINE "/proc/cmdline"
-+#endif
-
- /* Adapted from auditd auditd-event.c */
- static gboolean
-@@ -162,6 +167,7 @@ write_log_for_event (CkLogEvent *event)
- static char *
- get_boot_arguments (void)
- {
-+#if defined(__linux__)
- char *contents;
- gboolean res;
-
-@@ -178,6 +184,29 @@ get_boot_arguments (void)
- }
-
- return contents;
-+#elif defined(__FreeBSD__)
-+ char kern_name[1024], root[1024], mopts[1024];
-+ char *options;
-+
-+ options = NULL;
-+ if (kenv(KENV_GET, "kernelname", kern_name, sizeof (kern_name)) == -1) {
-+ return options;
-+ }
-+
-+ if (kenv(KENV_GET, "vfs.root.mountfrom.options", mopts, sizeof (mopts)) == -1) {
-+ g_strlcpy (mopts, "ro", sizeof (mopts));
-+ }
-+
-+ if (kenv(KENV_GET, "vfs.root.mountfrom", root, sizeof (root)) == -1) {
-+ g_strlcpy (root, "/", sizeof (root));
-+ }
-+
-+ options = g_strdup_printf ("%s %s root=%s", mopts, kern_name, root);
-+
-+ return options;
-+#else
-+ return NULL;
-+#endif
- }
-
- int
diff --git a/sysutils/consolekit/pkg-descr b/sysutils/consolekit/pkg-descr
deleted file mode 100644
index db13002ab4b7..000000000000
--- a/sysutils/consolekit/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-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/consolekit2/Makefile b/sysutils/consolekit2/Makefile
new file mode 100644
index 000000000000..a528f8552d65
--- /dev/null
+++ b/sysutils/consolekit2/Makefile
@@ -0,0 +1,41 @@
+# Created by: FreeBSD GNOME Team <gnome@freebsd.org>
+# $FreeBSD$
+
+PORTNAME= consolekit
+PORTVERSION= 1.2.0
+CATEGORIES= sysutils gnome
+MASTER_SITES= https://github.com/ConsoleKit2/ConsoleKit2/releases/download/${PORTVERSION}/
+DISTNAME= ConsoleKit2-${PORTVERSION}
+PKGNAMESUFFIX= 2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Framework for defining and tracking users
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libdbus-1.so:devel/dbus \
+ libpolkit-gobject-1.so:sysutils/polkit
+
+WRKSRC= ${WRKDIR}/ConsoleKit2-${PORTVERSION}
+USES= gettext gmake libtool localbase pathfix pkgconfig tar:bzip2
+USE_XORG= x11
+USE_GNOME= glib20 libxslt introspection:build
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+CONFIGURE_ARGS= --with-pid-file=/var/run/${PORTNAME}.pid \
+ --enable-pam-module \
+ --with-pam-module-dir=${PREFIX}/lib \
+ --localstatedir=/var \
+ --enable-polkit \
+ --enable-introspection \
+ --without-html-dir \
+ --disable-udev-acl \
+ --disable-libcgmanager \
+ --disable-libdrm \
+ --disable-libevdev \
+ --disable-libudev \
+ --without-systemdsystemunitdir
+INSTALL_TARGET= install-strip
+
+.include <bsd.port.mk>
diff --git a/sysutils/consolekit2/distinfo b/sysutils/consolekit2/distinfo
new file mode 100644
index 000000000000..684d815a613c
--- /dev/null
+++ b/sysutils/consolekit2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1501417547
+SHA256 (ConsoleKit2-1.2.0.tar.bz2) = d6ea13b306557a76519388de39bf7f1a1ea9010af147fad4fb3131ce634bd8b3
+SIZE (ConsoleKit2-1.2.0.tar.bz2) = 1125402
diff --git a/sysutils/consolekit2/pkg-descr b/sysutils/consolekit2/pkg-descr
new file mode 100644
index 000000000000..ac7f514abfa1
--- /dev/null
+++ b/sysutils/consolekit2/pkg-descr
@@ -0,0 +1,20 @@
+ConsoleKit2 is a framework for defining and tracking users, login
+sessions, and seats. It allows multiple users to be logged in at the
+same time and share hardware for their graphical session. ConsoleKit2
+will keep track of those resources and whichever session is active
+will have use of the hardware at that time.
+
+What is a seat?
+===============
+A seat is a collection of sessions and a set of hardware (usually at
+least a keyboard and mouse). Only one session may be active on a
+seat at a time.
+
+What is a session?
+==================
+A session is a collection of all processes that originate from a single
+common ancestor and retain knowledge of a secret. As an implementation
+detail, this secret may be stored in the process environment by the
+login manager under the name XDG_SESSION_COOKIE.
+
+WWW: https://github.com/ConsoleKit2/ConsoleKit2
diff --git a/sysutils/consolekit/pkg-plist b/sysutils/consolekit2/pkg-plist
index 0578b7bfa7ad..a9fa2b823e3f 100644
--- a/sysutils/consolekit/pkg-plist
+++ b/sysutils/consolekit2/pkg-plist
@@ -1,35 +1,57 @@
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/X11/xinit/xinitrc.d/90-consolekit
etc/dbus-1/system.d/ConsoleKit.conf
+etc/logrotate.d/consolekit
include/ConsoleKit/ck-connector/ck-connector.h
+include/ConsoleKit/libconsolekit.h
+lib/ConsoleKit/scripts/ck-get-x11-display-device
+lib/ConsoleKit/scripts/ck-get-x11-server-pid
+lib/ConsoleKit/scripts/ck-system-hibernate
+lib/ConsoleKit/scripts/ck-system-hybridsleep
lib/ConsoleKit/scripts/ck-system-restart
lib/ConsoleKit/scripts/ck-system-stop
+lib/ConsoleKit/scripts/ck-system-suspend
+lib/girepository-1.0/libconsolekit-1.0.typelib
lib/libck-connector.so
lib/libck-connector.so.0
lib/libck-connector.so.0.0.0
+lib/libconsolekit.so
+lib/libconsolekit.so.1
+lib/libconsolekit.so.1.0.0
lib/pam_ck_connector.so
libdata/pkgconfig/ck-connector.pc
+libdata/pkgconfig/libconsolekit.pc
libexec/ck-collect-session-info
-libexec/ck-get-x11-display-device
+@(,,4755) libexec/ck-get-x11-display-device
libexec/ck-get-x11-server-pid
+libexec/ck-remove-directory
+man/man1/ck-history.1.gz
+man/man1/ck-launch-session.1.gz
+man/man1/ck-list-sessions.1.gz
+man/man1/console-kit-daemon.1m.gz
man/man8/pam_ck_connector.8.gz
+sbin/ck-log-system-restart
+sbin/ck-log-system-start
+sbin/ck-log-system-stop
sbin/console-kit-daemon
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
+share/gir-1.0/libconsolekit-1.0.gir
+share/locale/bg/LC_MESSAGES/ConsoleKit2.mo
+share/locale/es/LC_MESSAGES/ConsoleKit2.mo
+share/locale/es_419/LC_MESSAGES/ConsoleKit2.mo
+share/locale/ru/LC_MESSAGES/ConsoleKit2.mo
share/polkit-1/actions/org.freedesktop.consolekit.policy
-@dir /var/run/ConsoleKit
-@dir /var/log/ConsoleKit
-@postexec /usr/bin/touch /var/log/ConsoleKit/history
-@rmtry /var/log/ConsoleKit/history
@dir etc/ConsoleKit/run-seat.d
@dir etc/ConsoleKit/run-session.d
@dir lib/ConsoleKit/run-seat.d
@dir lib/ConsoleKit/run-session.d
-
+@dir /var/log/ConsoleKit
+@postexec /usr/bin/touch /var/log/ConsoleKit/history
+@rmtry /var/log/ConsoleKit/history
+@dir /var/run/ConsoleKit
diff --git a/sysutils/hal/Makefile b/sysutils/hal/Makefile
index 6d352fe59f5c..5b3cf9db467d 100644
--- a/sysutils/hal/Makefile
+++ b/sysutils/hal/Makefile
@@ -4,7 +4,7 @@
PORTNAME= hal
DISTVERSION= 0.5.14
-PORTREVISION= 31
+PORTREVISION= 32
CATEGORIES= sysutils
MASTER_SITES= http://hal.freedesktop.org/releases/
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
# keep shlib version, to prevent confusion with polkit-* from sysutils/polkit
LIB_DEPENDS= libpolkit.so.2:sysutils/policykit \
libvolume_id.so:devel/libvolume_id \
- libck-connector.so:sysutils/consolekit
+ libck-connector.so:sysutils/consolekit2
RUN_DEPENDS= ${LOCALBASE}/share/pciids/pci.ids:misc/pciids
USES= gettext gmake libtool:keepla pathfix pkgconfig python shebangfix