summaryrefslogtreecommitdiff
path: root/sysutils/consolekit
diff options
context:
space:
mode:
authoryouri <youri@pkgsrc.org>2016-06-18 10:23:16 +0000
committeryouri <youri@pkgsrc.org>2016-06-18 10:23:16 +0000
commit32910bb96152c1a9e747b00284b44d876ad0099e (patch)
tree6f6012be326b875b81ba55082fa45572e7f769e4 /sysutils/consolekit
parentf2ac92b8dd8d8f5163067d6b194eeb3c08317f47 (diff)
downloadpkgsrc-32910bb96152c1a9e747b00284b44d876ad0099e.tar.gz
consolekit: Update to 1.0.2 using ConsoleKit2, the continuation of
consolekit.
Diffstat (limited to 'sysutils/consolekit')
-rw-r--r--sysutils/consolekit/MESSAGE9
-rw-r--r--sysutils/consolekit/Makefile91
-rw-r--r--sysutils/consolekit/PLIST26
-rw-r--r--sysutils/consolekit/buildlink3.mk6
-rw-r--r--sysutils/consolekit/distinfo17
-rw-r--r--sysutils/consolekit/files/50-shutdown.rules9
-rw-r--r--sysutils/consolekit/files/ck-get-x11-display-device.FreeBSD35
-rw-r--r--sysutils/consolekit/files/ck-get-x11-server-pid.FreeBSD17
-rw-r--r--sysutils/consolekit/files/ck-sysdeps-netbsd.c412
-rw-r--r--sysutils/consolekit/files/ck-sysdeps-openbsd.c471
-rw-r--r--sysutils/consolekit/patches/patch-aa38
-rw-r--r--sysutils/consolekit/patches/patch-ab32
-rw-r--r--sysutils/consolekit/patches/patch-ac21
-rw-r--r--sysutils/consolekit/patches/patch-ad18
-rw-r--r--sysutils/consolekit/patches/patch-ae127
-rw-r--r--sysutils/consolekit/patches/patch-af231
-rw-r--r--sysutils/consolekit/patches/patch-data_Makefile.am15
17 files changed, 114 insertions, 1461 deletions
diff --git a/sysutils/consolekit/MESSAGE b/sysutils/consolekit/MESSAGE
new file mode 100644
index 00000000000..4431ac0d22a
--- /dev/null
+++ b/sysutils/consolekit/MESSAGE
@@ -0,0 +1,9 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2016/06/18 10:23:16 youri Exp $
+
+ConsoleKit:
+
+Users in the operator group can stop, restart, suspend, hibernate the
+machine as described in ${PREFIX}/share/polkit-1/rules.d/50-shutdown.rules.
+
+===========================================================================
diff --git a/sysutils/consolekit/Makefile b/sysutils/consolekit/Makefile
index a57f13f07cd..a664ea03bd3 100644
--- a/sysutils/consolekit/Makefile
+++ b/sysutils/consolekit/Makefile
@@ -1,63 +1,74 @@
-# $NetBSD: Makefile,v 1.30 2016/06/04 16:28:22 youri Exp $
-
-CONSOLEKIT_VER= 0.4.6
-DISTNAME= ConsoleKit-${CONSOLEKIT_VER}
-PKGNAME= consolekit-${CONSOLEKIT_VER}
-PKGREVISION= 2
-CATEGORIES= sysutils
-MASTER_SITES= http://www.freedesktop.org/software/ConsoleKit/dist/
-EXTRACT_SUFX= .tar.xz
-
-MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://www.freedesktop.org/wiki/Software/ConsoleKit
+# $NetBSD: Makefile,v 1.31 2016/06/18 10:23:16 youri Exp $
+
+CONSOLEKIT_VER= 1.0.2
+DISTNAME= ${CONSOLEKIT_VER}
+PKGNAME= consolekit-${CONSOLEKIT_VER}
+CATEGORIES= sysutils
+MASTER_SITES= ${MASTER_SITE_GITHUB:=ConsoleKit2/}
+
+MAINTAINER= youri@NetBSD.org
+HOMEPAGE= https://github.com/ConsoleKit2/ConsoleKit2/
COMMENT= Framework for defining and tracking users, login sessions, and seats
LICENSE= gnu-gpl-v2
+GITHUB_PROJECT= ConsoleKit2
+GITHUB_TAG= ${CONSOLEKIT_VER}
+
+MESSAGE_SUBST+= PREFIX=${PREFIX}
+
+BUILD_DEFS+= VARBASE \
+ PKG_SYSCONFBASE
+
+EGDIR= ${PREFIX}/share/examples/consolekit
PKG_SYSCONFSUBDIR= ConsoleKit
+RULESDIR= ${PREFIX}/share/polkit-1/rules.d
-EGDIR= ${PREFIX}/share/examples/consolekit
-CONF_FILES+= ${EGDIR}/00-primary.seat ${PKG_SYSCONFDIR}/run-seat.d/00-primary.seat
-CONF_FILES+= ${EGDIR}/ConsoleKit.conf ${PKG_SYSCONFBASE}/dbus-1/system.d/ConsoleKit.conf
+MAKE_DIRS= ${PKG_SYSCONFDIR}/run-seat.d \
+ ${PKG_SYSCONFDIR}/run-session.d \
+ ${PKG_SYSCONFDIR}/seats.d \
+ ${PKG_SYSCONFBASE}/dbus-1/system.d \
+ ${PKG_SYSCONFBASE}/logrotate.d \
+ ${PKG_SYSCONFBASE}/X11/xinit/xinitrc.d
-MAKE_DIRS= ${PKG_SYSCONFDIR}/run-seat.d
-BUILD_DEFS+= VARBASE
-BUILD_DEFS+= PKG_SYSCONFBASE
+CONF_FILES+= ${EGDIR}/ConsoleKit/seats.d/00-primary.seat \
+ ${PKG_SYSCONFDIR}/seats.d/00-primary.seat \
+ ${EGDIR}/dbus-1/system.d/ConsoleKit.conf \
+ ${PKG_SYSCONFBASE}/dbus-1/system.d/ConsoleKit.conf \
+ ${EGDIR}/logrotate.d/consolekit \
+ ${PKG_SYSCONFBASE}/logrotate.d/consolekit \
+ ${EGDIR}/X11/xinit/xinitrc.d/90-consolekit \
+ ${PKG_SYSCONFBASE}/X11/xinit/xinitrc.d/90-consolekit
-GNU_CONFIGURE= YES
-USE_PKGLOCALEDIR= YES
-USE_TOOLS+= gmake intltool msgfmt perl pkg-config
-USE_TOOLS+= autoconf automake autoreconf
-USE_LIBTOOL= YES
+GNU_CONFIGURE= YES
+USE_TOOLS+= gmake intltool msgfmt perl pkg-config automake
+USE_LIBTOOL= YES
-CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASE:Q}
-CONFIGURE_ARGS+= --localstatedir=${VARBASE}
+CONFIGURE_ARGS+=--sysconfdir=${PKG_SYSCONFBASE} \
+ --localstatedir=${VARBASE} \
+ --enable-pam-module \
+ --with-pam-module-dir=${PREFIX}/lib/security \
CONFIGURE_ARGS.SunOS+= --enable-rbac-shutdown=solaris.system.shutdown
-# TODO
-#CONFIGURE_ARGS+= --enable-pam-module
-#.include "../../mk/pam.buildlink3.mk"
-
-post-extract:
- ${CP} ${FILESDIR}/ck-sysdeps-netbsd.c ${WRKSRC}/src/
- ${CP} ${FILESDIR}/ck-sysdeps-openbsd.c ${WRKSRC}/src/
+INSTALL_MAKE_FLAGS+= sysconfdir=${EGDIR} \
+ DBUS_SYS_DIR=${EGDIR}/dbus-1/system.d \
+ XINITRC_DIR=${EGDIR}/X11/xinit/xinitrc.d
pre-configure:
- cd ${WRKSRC} && autoreconf -vi ${AUTORECONF_ARGS}
+ cd ${WRKSRC} && ./autogen.sh
-.include "../../mk/bsd.prefs.mk"
-.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
post-install:
- ${INSTALL_SCRIPT} ${FILESDIR}/ck-get-x11-display-device.FreeBSD \
- ${DESTDIR}${PREFIX}/libexec/ck-get-x11-display-device
- ${INSTALL_SCRIPT} ${FILESDIR}/ck-get-x11-server-pid.FreeBSD \
- ${DESTDIR}${PREFIX}/libexec/ck-get-x11-server-pid
-.endif
+ ${MKDIR} ${DESTDIR}${RULESDIR} && \
+ ${INSTALL_DATA} ${FILESDIR}/50-shutdown.rules \
+ ${DESTDIR}${RULESDIR}/50-shutdown.rules
+
+BUILD_DEPENDS+= gdbus-codegen-[0-9]*:../../devel/gdbus-codegen
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/polkit/buildlink3.mk"
.include "../../sysutils/dbus/buildlink3.mk"
.include "../../sysutils/dbus-glib/buildlink3.mk"
.include "../../x11/libX11/buildlink3.mk"
+.include "../../mk/pam.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/consolekit/PLIST b/sysutils/consolekit/PLIST
index dd74246df01..2b03c62970d 100644
--- a/sysutils/consolekit/PLIST
+++ b/sysutils/consolekit/PLIST
@@ -1,15 +1,24 @@
-@comment $NetBSD: PLIST,v 1.6 2016/06/04 16:28:22 youri Exp $
+@comment $NetBSD: PLIST,v 1.7 2016/06/18 10:23:16 youri Exp $
bin/ck-history
bin/ck-launch-session
bin/ck-list-sessions
include/ConsoleKit/ck-connector/ck-connector.h
+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/libck-connector.la
lib/pkgconfig/ck-connector.pc
+lib/security/pam_ck_connector.la
libexec/ck-collect-session-info
libexec/ck-get-x11-display-device
libexec/ck-get-x11-server-pid
+man/man1/ck-history.1
+man/man1/ck-launch-session.1
+man/man1/ck-list-sessions.1
+man/man1/console-kit-daemon.1m
+man/man8/pam_ck_connector.8
sbin/ck-log-system-restart
sbin/ck-log-system-start
sbin/ck-log-system-stop
@@ -18,10 +27,17 @@ 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/examples/consolekit/00-primary.seat
-share/examples/consolekit/ConsoleKit.conf
+share/examples/consolekit/ConsoleKit/seats.d/00-primary.seat
+share/examples/consolekit/X11/xinit/xinitrc.d/90-consolekit
+share/examples/consolekit/dbus-1/system.d/ConsoleKit.conf
+share/examples/consolekit/logrotate.d/consolekit
+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
+share/polkit-1/rules.d/50-shutdown.rules
+@pkgdir share/examples/consolekit/ConsoleKit/run-session.d
+@pkgdir share/examples/consolekit/ConsoleKit/run-seat.d
@pkgdir lib/ConsoleKit/run-session.d
@pkgdir lib/ConsoleKit/run-seat.d
-@pkgdir etc/ConsoleKit/run-session.d
-@pkgdir etc/ConsoleKit/run-seat.d
diff --git a/sysutils/consolekit/buildlink3.mk b/sysutils/consolekit/buildlink3.mk
index a6af366f873..12628211e4c 100644
--- a/sysutils/consolekit/buildlink3.mk
+++ b/sysutils/consolekit/buildlink3.mk
@@ -1,12 +1,12 @@
-# $NetBSD: buildlink3.mk,v 1.7 2012/09/15 10:06:21 obache Exp $
+# $NetBSD: buildlink3.mk,v 1.8 2016/06/18 10:23:16 youri Exp $
BUILDLINK_TREE+= consolekit
.if !defined(CONSOLEKIT_BUILDLINK3_MK)
CONSOLEKIT_BUILDLINK3_MK:=
-BUILDLINK_API_DEPENDS.consolekit+= consolekit>=0.3.0
-BUILDLINK_ABI_DEPENDS.consolekit+= consolekit>=0.3.0nb9
+BUILDLINK_API_DEPENDS.consolekit+= consolekit>=1.0.2
+BUILDLINK_ABI_DEPENDS.consolekit+= consolekit>=1.0.2
BUILDLINK_PKGSRCDIR.consolekit?= ../../sysutils/consolekit
.include "../../sysutils/dbus/buildlink3.mk"
diff --git a/sysutils/consolekit/distinfo b/sysutils/consolekit/distinfo
index 60047ac926a..d9378e4ff96 100644
--- a/sysutils/consolekit/distinfo
+++ b/sysutils/consolekit/distinfo
@@ -1,12 +1,7 @@
-$NetBSD: distinfo,v 1.12 2015/11/04 01:32:08 agc Exp $
+$NetBSD: distinfo,v 1.13 2016/06/18 10:23:16 youri Exp $
-SHA1 (ConsoleKit-0.4.6.tar.xz) = bde79a4aa1bf3dc69a8e03731c7eb06e2dbda2d3
-RMD160 (ConsoleKit-0.4.6.tar.xz) = 7140db9e26accde56d672330e7045fafbafe6990
-SHA512 (ConsoleKit-0.4.6.tar.xz) = 54955e3e83778a9216846104da8762fd50a37190e209127dd5d211e2227da617e14f6f5c1359905396d299656e526d14e1187b28eaff7d0ae1d7563dc8d9b46d
-Size (ConsoleKit-0.4.6.tar.xz) = 366572 bytes
-SHA1 (patch-aa) = 1c637d4ba3dfbb17d141f6b29140cf1d3d42ed7e
-SHA1 (patch-ab) = c32c8f88a0dd87c9b6d4473bf6526c07fb593404
-SHA1 (patch-ac) = 3ef09f16ee039da7cea0c020c2aeccfe5d88c57c
-SHA1 (patch-ad) = c0cf170a85e04e2dadfd490f303a40e8d62cc626
-SHA1 (patch-ae) = dcb689861f8ee425b94a8acf1cb344a782b4328b
-SHA1 (patch-af) = 9c7febd3a1e995060e5755b205c5d4a7217bc1b8
+SHA1 (1.0.2.tar.gz) = aca2f13f65e77ebffc9fb65d6102cd8edde522ba
+RMD160 (1.0.2.tar.gz) = 1af1cfe8bdfc92215e8393eb4246c0e8667ae5e5
+SHA512 (1.0.2.tar.gz) = a0ce6b3b8eded4ec9fb0774b617cbf6b50aedef16a2bc28ec783e296eb3acc4a250611abb108aaf4f3716f3386ba397644fe55615e516f156982e9102cbb950e
+Size (1.0.2.tar.gz) = 205101 bytes
+SHA1 (patch-data_Makefile.am) = 7d37d6c3b5c0bab2e1e4b7000bd23f72b646cf9c
diff --git a/sysutils/consolekit/files/50-shutdown.rules b/sysutils/consolekit/files/50-shutdown.rules
new file mode 100644
index 00000000000..1df49348619
--- /dev/null
+++ b/sysutils/consolekit/files/50-shutdown.rules
@@ -0,0 +1,9 @@
+polkit.addRule(function (action, subject) {
+ if (action.id == "org.freedesktop.consolekit.system.restart" ||
+ action.id == "org.freedesktop.consolekit.system.stop" ||
+ action.id == "org.freedesktop.consolekit.system.suspend" ||
+ action.id == "org.freedesktop.consolekit.system.hibernate"
+ && subject.isInGroup("operator")) {
+ return polkit.Result.YES;
+ }
+});
diff --git a/sysutils/consolekit/files/ck-get-x11-display-device.FreeBSD b/sysutils/consolekit/files/ck-get-x11-display-device.FreeBSD
deleted file mode 100644
index 6fc508360b9..00000000000
--- a/sysutils/consolekit/files/ck-get-x11-display-device.FreeBSD
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/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.FreeBSD b/sysutils/consolekit/files/ck-get-x11-server-pid.FreeBSD
deleted file mode 100644
index 05c433e0175..00000000000
--- a/sysutils/consolekit/files/ck-get-x11-server-pid.FreeBSD
+++ /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/ck-sysdeps-netbsd.c b/sysutils/consolekit/files/ck-sysdeps-netbsd.c
deleted file mode 100644
index c067548d332..00000000000
--- a/sysutils/consolekit/files/ck-sysdeps-netbsd.c
+++ /dev/null
@@ -1,412 +0,0 @@
-/* $NetBSD: ck-sysdeps-netbsd.c,v 1.3 2008/11/23 19:24:21 jmcneill Exp $ */
-
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2006 William Jon McCann <mccann@jhu.edu>
- * Copyright (C) 2007 Joe Marcus Clarke <marcus@FreeBSD.org>
- * Copyright (C) 2008 Jared D. McNeill <jmcneill@NetBSD.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <paths.h>
-#include <ttyent.h>
-#include <kvm.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/sysctl.h>
-#include <sys/user.h>
-#include <sys/ioctl.h>
-
-#include <dev/wscons/wsdisplay_usl_io.h>
-
-#define DEV_ENCODE(M,m) ( \
- ( (M&0xfff) << 8) | ( (m&0xfff00) << 12) | (m&0xff) \
-)
-
-#include "ck-sysdeps.h"
-
-#ifndef ERROR
-#define ERROR -1
-#endif
-
-/* adapted from procps */
-struct _CkProcessStat
-{
- int pid;
- int ppid; /* stat,status pid of parent process */
- char state; /* stat,status single-char code for process state (S=sleeping) */
- char cmd[16]; /* stat,status basename of executable file in call to exec(2) */
- unsigned long long utime; /* stat user-mode CPU time accumulated by process */
- unsigned long long stime; /* stat kernel-mode CPU time accumulated by process */
- unsigned long long cutime; /* stat cumulative utime of process and reaped children */
- unsigned long long cstime; /* stat cumulative stime of process and reaped children */
- unsigned long long start_time; /* stat start time of process -- seconds since 1-1-70 */
- unsigned long start_code; /* stat address of beginning of code segment */
- unsigned long end_code; /* stat address of end of code segment */
- unsigned long start_stack; /* stat address of the bottom of stack for the process */
- unsigned long kstk_esp; /* stat kernel stack pointer */
- unsigned long kstk_eip; /* stat kernel instruction pointer */
- unsigned long wchan; /* stat (special) address of kernel wait channel proc is sleeping in */
- long priority; /* stat kernel scheduling priority */
- long nice; /* stat standard unix nice level of process */
- long rss; /* stat resident set size from /proc/#/stat (pages) */
- long alarm; /* stat ? */
- unsigned long rtprio; /* stat real-time priority */
- unsigned long sched; /* stat scheduling class */
- unsigned long vsize; /* stat number of pages of virtual memory ... */
- unsigned long rss_rlim; /* stat resident set size limit? */
- unsigned long flags; /* stat kernel flags for the process */
- unsigned long min_flt; /* stat number of minor page faults since process start */
- unsigned long maj_flt; /* stat number of major page faults since process start */
- unsigned long cmin_flt; /* stat cumulative min_flt of process and child processes */
- unsigned long cmaj_flt; /* stat cumulative maj_flt of process and child processes */
- int pgrp; /* stat process group id */
- int session; /* stat session id */
- int nlwp; /* stat number of threads, or 0 if no clue */
- int tty; /* stat full device number of controlling terminal */
- int tpgid; /* stat terminal process group id */
- int exit_signal; /* stat might not be SIGCHLD */
- int processor; /* stat current (or most recent?) CPU */
- uintptr_t penv; /* stat address of initial environment vector */
- char tty_text[16]; /* stat device name */
-
-};
-
-pid_t
-ck_process_stat_get_ppid (CkProcessStat *stat)
-{
- g_return_val_if_fail (stat != NULL, -1);
-
- return stat->ppid;
-}
-
-char *
-ck_process_stat_get_cmd (CkProcessStat *stat)
-{
- g_return_val_if_fail (stat != NULL, NULL);
-
- return g_strdup (stat->cmd);
-}
-
-char *
-ck_process_stat_get_tty (CkProcessStat *stat)
-{
- g_return_val_if_fail (stat != NULL, NULL);
-
- return g_strdup (stat->tty_text);
-}
-
-static gboolean
-get_kinfo_proc (pid_t pid,
- struct kinfo_proc2 *p)
-{
- int name[6];
- u_int namelen;
- size_t sz;
-
- sz = sizeof(*p);
- namelen = 0;
- name[namelen++] = CTL_KERN;
- name[namelen++] = KERN_PROC2;
- name[namelen++] = KERN_PROC_PID;
- name[namelen++] = pid;
- name[namelen++] = sz;
- name[namelen++] = 1;
-
- if (sysctl (name, namelen, p, &sz, NULL, 0) == -1) {
- perror("sysctl kern.proc2.pid");
- return FALSE;
- }
-
- return TRUE;
-}
-
-/* return 1 if it works, or 0 for failure */
-static gboolean
-stat2proc (pid_t pid,
- CkProcessStat *P)
-{
- struct kinfo_proc2 p;
- char *ttname;
- int num;
- int tty_maj;
- int tty_min;
-
- if (! get_kinfo_proc (pid, &p)) {
- return FALSE;
- }
-
- num = KI_MAXCOMLEN;
- if (num >= sizeof P->cmd) {
- num = sizeof P->cmd - 1;
- }
-
- memcpy (P->cmd, p.p_comm, num);
-
- P->cmd[num] = '\0';
- P->pid = p.p_pid;
- P->ppid = p.p_ppid;
- P->pgrp = p.p__pgid;
- P->session = p.p_sid;
- P->rss = p.p_vm_rssize;
- P->vsize = p.p_vm_dsize + p.p_vm_dsize + p.p_vm_ssize; /* XXX */
- P->start_time = p.p_ustart_sec;
- P->wchan = (unsigned long) p.p_wchan;
- P->state = p.p_stat;
- P->nice = p.p_nice;
- P->flags = p.p_realflag;
- P->tpgid = p.p_tpgid;
- P->processor = p.p_cpuid;
- P->nlwp = p.p_nlwps;
-
- /* we like it Linux-encoded :-) */
- tty_maj = major (p.p_tdev);
- tty_min = minor (p.p_tdev);
- P->tty = DEV_ENCODE (tty_maj,tty_min);
-
- snprintf (P->tty_text, sizeof P->tty_text, "%3d,%-3d", tty_maj, tty_min);
-
- if (p.p_tdev != NODEV && (ttname = devname (p.p_tdev, S_IFCHR)) != NULL) {
- memcpy (P->tty_text, ttname, sizeof P->tty_text);
- }
-
- if (p.p_tdev == NODEV) {
- /* XXXJDM nasty hack */
- memcpy (P->tty_text, "/dev/ttyE4", sizeof P->tty_text);
- }
-
- if (P->pid != pid) {
- return FALSE;
- }
-
- return TRUE;
-}
-
-gboolean
-ck_process_stat_new_for_unix_pid (pid_t pid,
- CkProcessStat **stat,
- GError **error)
-{
- gboolean res;
- CkProcessStat *proc;
-
- g_return_val_if_fail (pid > 1, FALSE);
-
- if (stat == NULL) {
- return FALSE;
- }
-
- proc = g_new0 (CkProcessStat, 1);
- proc->pid = pid;
- res = stat2proc (pid, proc);
- if (res) {
- *stat = proc;
- } else {
- *stat = NULL;
- }
-
- return res;
-}
-
-void
-ck_process_stat_free (CkProcessStat *stat)
-{
- g_free (stat);
-}
-
-GHashTable *
-ck_unix_pid_get_env_hash (pid_t pid)
-{
- GHashTable *hash;
- char **penv;
- kvm_t *kd;
- struct kinfo_proc2 p;
- int i;
-
- kd = kvm_openfiles (_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL);
- if (kd == NULL) {
- return NULL;
- }
-
- if (! get_kinfo_proc (pid, &p)) {
- return NULL;
- }
-
- penv = kvm_getenvv2 (kd, &p, 0);
- if (penv == NULL) {
- return NULL;
- }
-
- hash = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- g_free);
-
- for (i = 0; penv[i] != NULL; i++) {
- char **vals;
-
- vals = g_strsplit (penv[i], "=", 2);
- if (vals != NULL) {
- g_hash_table_insert (hash,
- g_strdup (vals[0]),
- g_strdup (vals[1]));
- g_strfreev (vals);
- }
- }
-
- kvm_close (kd);
-
- return hash;
-}
-
-char *
-ck_unix_pid_get_env (pid_t pid,
- const char *var)
-{
- GHashTable *hash;
- char *val;
-
- /*
- * Would probably be more efficient to just loop through the
- * environment and return the value, avoiding building the hash
- * table, but this works for now.
- */
- hash = ck_unix_pid_get_env_hash (pid);
- val = g_strdup (g_hash_table_lookup (hash, var));
- g_hash_table_destroy (hash);
-
- return val;
-}
-
-uid_t
-ck_unix_pid_get_uid (pid_t pid)
-{
- uid_t uid;
- gboolean res;
- struct kinfo_proc2 p;
-
- g_return_val_if_fail (pid > 1, 0);
-
- uid = -1;
-
- res = get_kinfo_proc (pid, &p);
-
- if (res) {
- uid = p.p_uid;
- }
-
- return uid;
-}
-
-gboolean
-ck_unix_pid_get_login_session_id (pid_t pid,
- char **idp)
-{
- g_return_val_if_fail (pid > 1, FALSE);
-
- return FALSE;
-}
-
-gboolean
-ck_get_max_num_consoles (guint *num)
-{
- /* XXXJDM how can we find out how many are configured? */
- if (num != NULL) {
- *num = 8;
- }
-
- return TRUE;
-}
-
-char *
-ck_get_console_device_for_num (guint num)
-{
- char *device;
-
- /* The device number is always one less than the VT number. */
- num--;
-
- device = g_strdup_printf ("/dev/ttyE%u", num);
-
- return device;
-}
-
-gboolean
-ck_get_console_num_from_device (const char *device,
- guint *num)
-{
- guint n;
- gboolean ret;
-
- n = 0;
- ret = FALSE;
-
- if (device == NULL) {
- return FALSE;
- }
-
- if (sscanf (device, "/dev/ttyE%u", &n) == 1) {
- /* The VT number is always one more than the device number. */
- n++;
- ret = TRUE;
- }
-
- if (num != NULL) {
- *num = n;
- }
-
- return ret;
-}
-
-gboolean
-ck_get_active_console_num (int console_fd,
- guint *num)
-{
- gboolean ret;
- int res;
- int active;
-
- g_assert (console_fd != -1);
-
- active = 0;
- ret = FALSE;
-
- res = ioctl (console_fd, VT_GETACTIVE, &active);
- if (res == ERROR) {
- perror ("ioctl VT_GETACTIVE");
- goto out;
- }
-
- g_debug ("Active VT is: %d (ttyE%d)", active, active - 1);
- ret = TRUE;
-
- out:
- if (num != NULL) {
- *num = active;
- }
-
- return ret;
-}
diff --git a/sysutils/consolekit/files/ck-sysdeps-openbsd.c b/sysutils/consolekit/files/ck-sysdeps-openbsd.c
deleted file mode 100644
index 067e0f0b859..00000000000
--- a/sysutils/consolekit/files/ck-sysdeps-openbsd.c
+++ /dev/null
@@ -1,471 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2006 William Jon McCann <mccann@jhu.edu>
- * Copyright (C) 2007 Joe Marcus Clarke <marcus@FreeBSD.org>
- * Copyright (C) 2008 Jared D. McNeill <jmcneill@NetBSD.org>
- * Copyright (C) 2009 Robert Nagy <robert@openbsd.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <paths.h>
-#include <ttyent.h>
-#include <kvm.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/sysctl.h>
-#include <sys/user.h>
-#include <sys/ioctl.h>
-
-#ifdef __OpenBSD__
-#include <sys/stdint.h>
-#endif
-
-#include <dev/wscons/wsdisplay_usl_io.h>
-
-#define DEV_ENCODE(M,m) ( \
- ( (M&0xfff) << 8) | ( (m&0xfff00) << 12) | (m&0xff) \
-)
-
-#include "ck-sysdeps.h"
-
-#ifndef ERROR
-#define ERROR -1
-#endif
-
-/* adapted from procps */
-struct _CkProcessStat
-{
- int pid;
- int ppid; /* stat,status pid of parent process */
- char state; /* stat,status single-char code for process state (S=sleeping) */
- char cmd[16]; /* stat,status basename of executable file in call to exec(2) */
- unsigned long long utime; /* stat user-mode CPU time accumulated by process */
- unsigned long long stime; /* stat kernel-mode CPU time accumulated by process */
- unsigned long long cutime; /* stat cumulative utime of process and reaped children */
- unsigned long long cstime; /* stat cumulative stime of process and reaped children */
- unsigned long long start_time; /* stat start time of process -- seconds since 1-1-70 */
- unsigned long start_code; /* stat address of beginning of code segment */
- unsigned long end_code; /* stat address of end of code segment */
- unsigned long start_stack; /* stat address of the bottom of stack for the process */
- unsigned long kstk_esp; /* stat kernel stack pointer */
- unsigned long kstk_eip; /* stat kernel instruction pointer */
- unsigned long wchan; /* stat (special) address of kernel wait channel proc is sleeping in */
- long priority; /* stat kernel scheduling priority */
- long nice; /* stat standard unix nice level of process */
- long rss; /* stat resident set size from /proc/#/stat (pages) */
- long alarm; /* stat ? */
- unsigned long rtprio; /* stat real-time priority */
- unsigned long sched; /* stat scheduling class */
- unsigned long vsize; /* stat number of pages of virtual memory ... */
- unsigned long rss_rlim; /* stat resident set size limit? */
- unsigned long flags; /* stat kernel flags for the process */
- unsigned long min_flt; /* stat number of minor page faults since process start */
- unsigned long maj_flt; /* stat number of major page faults since process start */
- unsigned long cmin_flt; /* stat cumulative min_flt of process and child processes */
- unsigned long cmaj_flt; /* stat cumulative maj_flt of process and child processes */
- int pgrp; /* stat process group id */
- int session; /* stat session id */
- int nlwp; /* stat number of threads, or 0 if no clue */
- int tty; /* stat full device number of controlling terminal */
- int tpgid; /* stat terminal process group id */
- int exit_signal; /* stat might not be SIGCHLD */
- int processor; /* stat current (or most recent?) CPU */
- uintptr_t penv; /* stat address of initial environment vector */
- char tty_text[11]; /* stat device name */
-
-};
-
-pid_t
-ck_process_stat_get_ppid (CkProcessStat *stat)
-{
- g_return_val_if_fail (stat != NULL, -1);
-
- return stat->ppid;
-}
-
-char *
-ck_process_stat_get_cmd (CkProcessStat *stat)
-{
- g_return_val_if_fail (stat != NULL, NULL);
-
- return g_strdup (stat->cmd);
-}
-
-char *
-ck_process_stat_get_tty (CkProcessStat *stat)
-{
- g_return_val_if_fail (stat != NULL, NULL);
-
- return g_strdup (stat->tty_text);
-}
-
-static gboolean
-get_kinfo_proc (pid_t pid,
- struct kinfo_proc *p)
-{
- size_t len;
-
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid,
- sizeof(struct kinfo_proc), 0 };
-
-#ifndef nitems
-#define nitems(_a) (sizeof((_a)) / sizeof((_a)[0]))
-#endif
-
- if (sysctl(mib, nitems(mib), NULL, &len, NULL, 0) < 0)
- return FALSE;
-
- mib[5] = (len / sizeof(struct kinfo_proc));
-
- if (sysctl(mib, nitems(mib), p, &len, NULL, 0) < 0)
- return FALSE;
-
- return TRUE;
-}
-
-/* return 1 if it works, or 0 for failure */
-static gboolean
-stat2proc (pid_t pid,
- CkProcessStat *P)
-{
- struct kinfo_proc p;
- char *ttname;
- int num;
- int tty_maj;
- int tty_min;
-
- if (! get_kinfo_proc (pid, &p)) {
- return FALSE;
- }
-
- num = KI_MAXCOMLEN;
- if (num >= sizeof P->cmd) {
- num = sizeof P->cmd - 1;
- }
-
- memcpy (P->cmd, p.p_comm, num);
-
- P->cmd[num] = '\0';
- P->pid = p.p_pid;
- P->ppid = p.p_ppid;
- P->pgrp = p.p__pgid;
- P->session = p.p_sid;
- P->rss = p.p_vm_rssize;
- P->vsize = p.p_vm_dsize + p.p_vm_dsize + p.p_vm_ssize; /* XXX */
- P->start_time = p.p_ustart_sec;
- P->wchan = (unsigned long) p.p_wchan;
- P->state = p.p_stat;
- P->nice = p.p_nice;
- P->flags = p.p_psflags;
- P->tpgid = p.p_tpgid;
- P->processor = p.p_cpuid;
-
- /* we like it Linux-encoded :-) */
- tty_maj = major (p.p_tdev);
- tty_min = minor (p.p_tdev);
- P->tty = DEV_ENCODE (tty_maj,tty_min);
-
- snprintf (P->tty_text, sizeof P->tty_text, "%3d,%-3d", tty_maj, tty_min);
-
- if (p.p_tdev != NODEV && (ttname = devname (p.p_tdev, S_IFCHR)) != NULL) {
- memcpy (P->tty_text, ttname, sizeof P->tty_text);
- }
-
- if (p.p_tdev == NODEV) {
- /* XXX how do we associate X with its tty? */
-#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__)
- memcpy (P->tty_text, "/dev/ttyC4", sizeof P->tty_text);
-#else
- memcpy (P->tty_text, "/dev/ttyC0", sizeof P->tty_text);
-#endif
- }
-
- if (P->pid != pid) {
- return FALSE;
- }
-
- return TRUE;
-}
-
-gboolean
-ck_process_stat_new_for_unix_pid (pid_t pid,
- CkProcessStat **stat,
- GError **error)
-{
- gboolean res;
- CkProcessStat *proc;
-
- g_return_val_if_fail (pid > 1, FALSE);
-
- if (stat == NULL) {
- return FALSE;
- }
-
- proc = g_new0 (CkProcessStat, 1);
- proc->pid = pid;
- res = stat2proc (pid, proc);
- if (res) {
- *stat = proc;
- } else {
- *stat = NULL;
- }
-
- return res;
-}
-
-void
-ck_process_stat_free (CkProcessStat *stat)
-{
- g_free (stat);
-}
-
-GHashTable *
-ck_unix_pid_get_env_hash (pid_t pid)
-{
- GHashTable *hash = NULL;
- char **penv;
- char errbuf[_POSIX2_LINE_MAX];
- kvm_t *kd;
- struct kinfo_proc p;
- int i;
-
- kd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, errbuf);
- if (kd == NULL) {
- g_warning ("kvm_openfiles failed: %s", errbuf);
- return NULL;
- }
-
- if (! get_kinfo_proc (pid, &p)) {
- g_warning ("get_kinfo_proc failed: %s", g_strerror (errno));
- goto fail;
- }
-
- penv = kvm_getenvv (kd, &p, 0);
- if (penv == NULL) {
- g_warning ("kvm_getenvv failed: %s", kvm_geterr (kd));
- goto fail;
- }
-
- hash = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- g_free);
-
- 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,
- g_strdup (vals[0]),
- g_strdup (vals[1]));
- g_strfreev (vals);
- }
- }
-
-fail:
- kvm_close (kd);
-
- return hash;
-}
-
-char *
-ck_unix_pid_get_env (pid_t pid,
- const char *var)
-{
- GHashTable *hash;
- char *val = NULL;
-
- /*
- * Would probably be more efficient to just loop through the
- * environment and return the value, avoiding building the hash
- * 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);
-
- return val;
-}
-
-uid_t
-ck_unix_pid_get_uid (pid_t pid)
-{
- uid_t uid;
- gboolean res;
- struct kinfo_proc p;
-
- g_return_val_if_fail (pid > 1, 0);
-
- uid = -1;
-
- res = get_kinfo_proc (pid, &p);
-
- if (res) {
- uid = p.p_uid;
- }
-
- return uid;
-}
-
-gboolean
-ck_unix_pid_get_login_session_id (pid_t pid,
- char **idp)
-{
- g_return_val_if_fail (pid > 1, FALSE);
-
- return FALSE;
-}
-
-gboolean
-ck_get_max_num_consoles (guint *num)
-{
- int max_consoles;
- int res;
- gboolean ret;
- struct ttyent *t;
-
- 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, "ttyC", 4) == 0)
- max_consoles++;
- }
-
- /* 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;
-}
-
-gboolean
-ck_supports_activatable_consoles (void)
-{
- return TRUE;
-}
-
-char *
-ck_get_console_device_for_num (guint num)
-{
- char *device;
-
-/* VT are only available on i386, amd64 and macppc */
-#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__)
- /* The device number is always one less than the VT number. */
- num--;
-#endif
-
- device = g_strdup_printf ("/dev/ttyC%u", num);
-
- return device;
-}
-
-gboolean
-ck_get_console_num_from_device (const char *device,
- guint *num)
-{
- guint n;
- gboolean ret;
-
- n = 0;
- ret = FALSE;
-
- if (device == NULL) {
- return FALSE;
- }
-
- if (sscanf (device, "/dev/ttyC%u", &n) == 1) {
-/* VT are only available on i386, amd64 and macppc */
-#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__)
- /* The VT number is always one more than the device number. */
- n++;
-#endif
- ret = TRUE;
- }
-
- if (num != NULL) {
- *num = n;
- }
-
- return ret;
-}
-
-gboolean
-ck_get_active_console_num (int console_fd,
- guint *num)
-{
- gboolean ret;
- int res;
- int active;
-
- g_assert (console_fd != -1);
-
- active = 0;
- ret = FALSE;
-
-/* VT are only available on i386, amd64 and macppc */
-#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__)
- res = ioctl (console_fd, VT_GETACTIVE, &active);
- if (res == ERROR) {
- perror ("ioctl VT_GETACTIVE");
- goto out;
- }
-
- g_debug ("Active VT is: %d (ttyC%d)", active, active - 1);
-#else
- res = 0;
- g_debug ("Active console is: ttyC%d", active);
-#endif
- ret = TRUE;
-
- out:
- if (num != NULL) {
- *num = active;
- }
-
- return ret;
-}
diff --git a/sysutils/consolekit/patches/patch-aa b/sysutils/consolekit/patches/patch-aa
deleted file mode 100644
index a2ba70fc634..00000000000
--- a/sysutils/consolekit/patches/patch-aa
+++ /dev/null
@@ -1,38 +0,0 @@
-$NetBSD: patch-aa,v 1.6 2015/09/24 23:50:44 ryoon Exp $
-
-Add backends for NetBSD, Dragonfly, and OpenBSD.
-
---- configure.ac.orig 2013-07-19 04:24:09.000000000 +0000
-+++ configure.ac
-@@ -158,6 +158,21 @@ case "$host" in
- *-*-gnu*)
- CK_BACKEND="gnu"
- ;;
-+ *-*-netbsd*)
-+ CK_BACKEND="netbsd"
-+ ;;
-+ *-*-dragonfly*)
-+ CK_BACKEND="freebsd"
-+ KVM_LIBS="-lkvm"
-+ ;;
-+ *-*-openbsd*)
-+ CK_BACKEND="openbsd"
-+ AC_CHECK_LIB(kvm, kvm_openfiles, have_kvm=yes,
-+ AC_MSG_ERROR([Unable to find libkvm which is needed on OpenBSD]))
-+ if test "x$have_kvm" = "xyes"; then
-+ KVM_LIBS="-lkvm"
-+ fi
-+ ;;
- *)
- AC_MSG_ERROR([No sysdeps back-end implemented for host $host])
- ;;
-@@ -167,7 +182,9 @@ AC_SUBST(KVM_LIBS)
-
- AM_CONDITIONAL(CK_COMPILE_LINUX, test x$CK_BACKEND = xlinux, [Compiling for Linux])
- AM_CONDITIONAL(CK_COMPILE_FREEBSD, test x$CK_BACKEND = xfreebsd, [Compiling for FreeBSD])
-+AM_CONDITIONAL(CK_COMPILE_NETBSD, test x$CK_BACKEND = xnetbsd, [Compiling for NetBSD])
- AM_CONDITIONAL(CK_COMPILE_SOLARIS, test x$CK_BACKEND = xsolaris, [Compiling for Solaris])
-+AM_CONDITIONAL(CK_COMPILE_OPENBSD, test x$CK_BACKEND = xopenbsd, [Compiling for OpenBSD])
- AM_CONDITIONAL(CK_COMPILE_GNU, test x$CK_BACKEND = xgnu, [Compiling for GNU])
- AC_SUBST(CK_BACKEND)
-
diff --git a/sysutils/consolekit/patches/patch-ab b/sysutils/consolekit/patches/patch-ab
deleted file mode 100644
index a43f9be1ffd..00000000000
--- a/sysutils/consolekit/patches/patch-ab
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-ab,v 1.4 2015/09/24 23:50:44 ryoon Exp $
-
-Add backends for NetBSD and OpenBSD.
-
---- src/Makefile.am.orig 2013-07-19 04:15:28.000000000 +0000
-+++ src/Makefile.am
-@@ -63,11 +63,25 @@ libck_la_SOURCES += \
- $(NULL)
- libck_la_LIBADD = -lps
- endif
-+if CK_COMPILE_NETBSD
-+libck_la_SOURCES += \
-+ ck-sysdeps-netbsd.c \
-+ $(NULL)
-+libck_la_LIBADD = -lkvm
-+endif
-+if CK_COMPILE_OPENBSD
-+libck_la_SOURCES += \
-+ ck-sysdeps-openbsd.c \
-+ $(NULL)
-+libck_la_LIBADD = $(KVM_LIBS)
-+endif
-
- EXTRA_libck_la_SOURCES = \
- ck-sysdeps-linux.c \
- ck-sysdeps-solaris.c \
- ck-sysdeps-freebsd.c \
-+ ck-sysdeps-netbsd.c \
-+ ck-sysdeps-openbsd.c \
- ck-sysdeps-gnu.c \
- $(NULL)
-
diff --git a/sysutils/consolekit/patches/patch-ac b/sysutils/consolekit/patches/patch-ac
deleted file mode 100644
index 12cb81e2482..00000000000
--- a/sysutils/consolekit/patches/patch-ac
+++ /dev/null
@@ -1,21 +0,0 @@
-$NetBSD: patch-ac,v 1.3 2014/08/17 15:59:07 wiz Exp $
-
-Add backends for NetBSD and OpenBSD.
-
---- tools/Makefile.am.orig 2008-02-13 03:46:39.000000000 +0000
-+++ tools/Makefile.am
-@@ -18,6 +18,14 @@ if CK_COMPILE_SOLARIS
- SUBDIRS += solaris
- endif
-
-+if CK_COMPILE_NETBSD
-+SUBDIRS += freebsd
-+endif
-+
-+if CK_COMPILE_OPENBSD
-+SUBDIRS += freebsd
-+endif
-+
- DIST_SUBDIRS = \
- linux \
- freebsd \
diff --git a/sysutils/consolekit/patches/patch-ad b/sysutils/consolekit/patches/patch-ad
deleted file mode 100644
index d82c22b020c..00000000000
--- a/sysutils/consolekit/patches/patch-ad
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-ad,v 1.2 2014/08/17 15:59:07 wiz Exp $
-
-Install config files into pkgsrc example path.
-
---- data/Makefile.am.orig 2008-02-29 15:23:02.000000000 -0500
-+++ data/Makefile.am
-@@ -1,9 +1,9 @@
- NULL =
-
--dbusconfdir = $(DBUS_SYS_DIR)
-+dbusconfdir = $(PREFIX)/share/examples/consolekit
- dbusconf_DATA = ConsoleKit.conf
-
--seatdir = $(sysconfdir)/ConsoleKit/seats.d
-+seatdir = $(PREFIX)/share/examples/consolekit
- seat_DATA = 00-primary.seat
-
- if HAVE_POLKIT
diff --git a/sysutils/consolekit/patches/patch-ae b/sysutils/consolekit/patches/patch-ae
deleted file mode 100644
index 32acd71ef6f..00000000000
--- a/sysutils/consolekit/patches/patch-ae
+++ /dev/null
@@ -1,127 +0,0 @@
-$NetBSD: patch-ae,v 1.7 2014/08/17 15:59:07 wiz Exp $
-
-Fix UNIX backend for NetBSD, DragonFly, and OpenBSD.
-
---- src/ck-sysdeps-unix.c.orig 2008-01-23 14:30:44.000000000 +0000
-+++ src/ck-sysdeps-unix.c
-@@ -35,6 +35,11 @@
- #include <linux/kd.h>
- #endif
-
-+#ifdef __NetBSD__
-+#include <dev/wscons/wsdisplay_usl_io.h>
-+#include <sys/un.h>
-+#endif
-+
- #ifdef HAVE_SYS_VT_H
- #include <sys/vt.h>
- #endif
-@@ -53,6 +58,25 @@
- #define ERROR -1
- #endif
-
-+#ifdef LOCAL_PEEREID
-+static gboolean
-+ck_nb_getpeeruucred(int socket_fd, pid_t *pid, uid_t *uid)
-+{
-+ struct unpcbid cred;
-+ socklen_t len = sizeof(cred);
-+
-+ if (getsockopt(socket_fd, 0, LOCAL_PEEREID, &cred, &len) < 0)
-+ return FALSE;
-+
-+ if (pid)
-+ *pid = cred.unp_pid;
-+ if (uid)
-+ *uid = cred.unp_euid;
-+
-+ return TRUE;
-+}
-+#endif
-+
- /* Adapted from dbus-sysdeps-unix.c:_dbus_read_credentials_socket() */
- gboolean
- ck_get_socket_peer_credentials (int socket_fd,
-@@ -69,7 +93,11 @@ ck_get_socket_peer_credentials (int
- ret = FALSE;
-
- #ifdef SO_PEERCRED
-+#if !defined(__OpenBSD__)
- struct ucred cr;
-+#else
-+ struct sockpeercred cr;
-+#endif
- socklen_t cr_len;
-
- cr_len = sizeof (cr);
-@@ -99,7 +127,16 @@ ck_get_socket_peer_credentials (int
- if (ucred != NULL) {
- ucred_free (ucred);
- }
--#else /* !SO_PEERCRED && !HAVE_GETPEERUCRED */
-+#elif defined(LOCAL_PEEREID)
-+ pid_t sockpid = -1, sockuid = -1;
-+ if (ck_nb_getpeeruucred(socket_fd, &sockpid, &sockuid) == TRUE) {
-+ pid_read = sockpid;
-+ uid_read = sockuid;
-+ ret = TRUE;
-+ } else {
-+ g_warning ("Failed to ck_nb_getpeeruucred() credentials\n");
-+ }
-+#else /* !SO_PEERCRED && !HAVE_GETPEERUCRED && !LOCAL_PEEREID*/
- g_warning ("Socket credentials not supported on this OS\n");
- #endif
-
-@@ -126,17 +163,17 @@ ck_get_socket_peer_credentials (int
- gboolean
- ck_fd_is_a_console (int fd)
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- struct vt_stat vts;
--#elif defined(__FreeBSD__)
-+#elif defined(__FreeBSD__) || defined(__DragonFly__)
- int vers;
- #endif
- int kb_ok;
-
- errno = 0;
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- kb_ok = (ioctl (fd, VT_GETSTATE, &vts) == 0);
--#elif defined(__FreeBSD__)
-+#elif defined(__FreeBSD__) || defined(__DragonFly__)
- kb_ok = (ioctl (fd, CONS_GETVERS, &vers) == 0);
- #else
- kb_ok = 1;
-@@ -172,6 +209,15 @@ ck_get_a_console_fd (void)
-
- fd = -1;
-
-+#if defined(__FreeBSD__) || defined(__DragonFly__)
-+ /* 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");
-@@ -184,6 +230,14 @@ ck_get_a_console_fd (void)
- }
- #endif
-
-+#ifdef __NetBSD__
-+ /* On NetBSD, first try wsdisplay device. */
-+ fd = open_a_console ("/dev/ttyE0");
-+ if (fd >= 0) {
-+ goto done;
-+ }
-+#endif
-+
- #ifdef _PATH_TTY
- fd = open_a_console (_PATH_TTY);
- if (fd >= 0) {
diff --git a/sysutils/consolekit/patches/patch-af b/sysutils/consolekit/patches/patch-af
deleted file mode 100644
index 4c26b185e2a..00000000000
--- a/sysutils/consolekit/patches/patch-af
+++ /dev/null
@@ -1,231 +0,0 @@
-$NetBSD: patch-af,v 1.3 2014/08/17 15:59:07 wiz Exp $
-
-Adapt FreeBSD backend for DragonFly.
-
---- src/ck-sysdeps-freebsd.c.orig 2010-09-03 13:54:31.000000000 +0000
-+++ src/ck-sysdeps-freebsd.c
-@@ -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>
-@@ -151,14 +152,38 @@ stat2proc (pid_t pid,
- return FALSE;
- }
-
-+#ifdef __DragonFly__
-+ num = MAXCOMLEN;
-+#else
- num = OCOMMLEN;
-+#endif
- if (num >= sizeof P->cmd) {
- num = sizeof P->cmd - 1;
- }
-
-+#ifdef __DragonFly__
-+ memcpy (P->cmd, p.kp_comm, num);
-+#else
- memcpy (P->cmd, p.ki_ocomm, num);
-+#endif
-
- P->cmd[num] = '\0';
-+#ifdef __DragonFly__
-+ P->pid = p.kp_pid;
-+ P->ppid = p.kp_ppid;
-+ P->pgrp = p.kp_pgid;
-+ P->session = p.kp_sid;
-+ P->rss = p.kp_vm_rssize;
-+ P->vsize = p.kp_vm_map_size;
-+ P->start_time = p.kp_start.tv_sec;
-+ P->wchan = (unsigned long) p.kp_lwp.kl_wchan;
-+ P->state = p.kp_stat;
-+ P->nice = p.kp_nice;
-+ P->flags = p.kp_flags;
-+ P->tpgid = p.kp_tpgid;
-+ P->processor = p.kp_lwp.kl_cpuid;
-+ P->nlwp = p.kp_nthreads;
-+#else
- P->pid = p.ki_pid;
- P->ppid = p.ki_ppid;
- P->pgrp = p.ki_pgid;
-@@ -173,19 +198,33 @@ stat2proc (pid_t pid,
- P->tpgid = p.ki_tpgid;
- P->processor = p.ki_oncpu;
- P->nlwp = p.ki_numthreads;
-+#endif
-
- /* we like it Linux-encoded :-) */
-+#ifdef __DragonFly__
-+ tty_maj = major (p.kp_tdev);
-+ tty_min = minor (p.kp_tdev);
-+#else
- tty_maj = major (p.ki_tdev);
- tty_min = minor (p.ki_tdev);
-+#endif
- P->tty = DEV_ENCODE (tty_maj,tty_min);
-
- snprintf (P->tty_text, sizeof P->tty_text, "%3d,%-3d", tty_maj, tty_min);
-
-+#ifdef __DragonFly__
-+ if (p.kp_tdev != NODEV && (ttname = devname (p.kp_tdev, S_IFCHR)) != NULL) {
-+#else
- if (p.ki_tdev != NODEV && (ttname = devname (p.ki_tdev, S_IFCHR)) != NULL) {
-+#endif
- memcpy (P->tty_text, ttname, sizeof P->tty_text);
- }
-
-+#ifdef __DragonFly__
-+ if (p.kp_tdev == NODEV) {
-+#else
- if (p.ki_tdev == NODEV) {
-+#endif
- memcpy (P->tty_text, " ? ", sizeof P->tty_text);
- }
-
-@@ -202,7 +241,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 +255,6 @@ ck_process_stat_new_for_unix_pid (pid_t
- if (res) {
- *stat = proc;
- } else {
-- g_propagate_error (error, local_error);
- *stat = NULL;
- }
-
-@@ -308,7 +345,11 @@ ck_unix_pid_get_uid (pid_t pid)
- res = get_kinfo_proc (pid, &p);
-
- if (res) {
-+#ifdef __DragonFly__
-+ uid = p.kp_uid;
-+#else
- uid = p.ki_uid;
-+#endif
- }
-
- return uid;
-@@ -327,38 +368,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;
- }
-
- gboolean
-@@ -375,7 +418,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 +433,7 @@ ck_get_console_num_from_device (const ch
- guint *num)
- {
- guint n;
-+ char c;
- gboolean ret;
-
- n = 0;
-@@ -394,7 +443,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 +467,7 @@ ck_get_active_console_num (int consol
- gboolean ret;
- int res;
- int active;
-+ char ttyn;
-
- g_assert (console_fd != -1);
-
-@@ -426,7 +480,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/patches/patch-data_Makefile.am b/sysutils/consolekit/patches/patch-data_Makefile.am
new file mode 100644
index 00000000000..04bf3258d27
--- /dev/null
+++ b/sysutils/consolekit/patches/patch-data_Makefile.am
@@ -0,0 +1,15 @@
+$NetBSD: patch-data_Makefile.am,v 1.1 2016/06/18 10:23:17 youri Exp $
+
+* Fix installation of script data files
+
+--- data/Makefile.am.orig 2015-06-28 08:37:44.000000000 +0000
++++ data/Makefile.am
+@@ -113,7 +113,7 @@ install-logrotate: $(LOGROTATE_CONFS)
+
+ install-90-consolekit: $(XINITRC_CONFS)
+ $(MKDIR_P) $(DESTDIR)$(XINITRC_DIR)/
+- $(INSTALL_PROGRAM) 90-consolekit $(DESTDIR)$(XINITRC_DIR) && \
++ $(INSTALL_DATA) 90-consolekit $(DESTDIR)$(XINITRC_DIR) && \
+ chmod +x $(DESTDIR)$(XINITRC_DIR)/90-consolekit
+
+ uninstall-logrotate: