Import consolekit version 0.3.0.
ConsoleKit is a framework for keeping track of the various users, sessions, and seats present on a system. It provides a mechanism for software to react to changes of any of these items or of any of the metadata associated with them.
This commit is contained in:
parent
a593fb86a7
commit
8620414ff9
11 changed files with 661 additions and 0 deletions
4
sysutils/consolekit/DESCR
Normal file
4
sysutils/consolekit/DESCR
Normal file
|
@ -0,0 +1,4 @@
|
|||
ConsoleKit is a framework for keeping track of the various users, sessions,
|
||||
and seats present on a system. It provides a mechanism for software to react
|
||||
to changes of any of these items or of any of the metadata associated with
|
||||
them.
|
46
sysutils/consolekit/Makefile
Normal file
46
sysutils/consolekit/Makefile
Normal file
|
@ -0,0 +1,46 @@
|
|||
# $NetBSD: Makefile,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
#
|
||||
|
||||
CONSOLEKIT_VER= 0.3.0
|
||||
DISTNAME= ConsoleKit-${CONSOLEKIT_VER}
|
||||
PKGNAME= consolekit-${CONSOLEKIT_VER}
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= http://people.freedesktop.org/~mccann/dist/
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
||||
MAINTAINER= jmcneill@NetBSD.org
|
||||
HOMEPAGE= http://www.freedesktop.org/wiki/Software/ConsoleKit
|
||||
COMMENT= Framework for defining and tracking users, login sessions, and seats
|
||||
|
||||
PKG_SYSCONFSUBDIR= ConsoleKit
|
||||
|
||||
EGDIR= ${PREFIX}/share/examples/consolekit
|
||||
CONF_FILES+= ${EGDIR}/00-primary.seat ${PKG_SYSCONFDIR}/seats.d/00-primary.seat
|
||||
CONF_FILES+= ${EGDIR}/ConsoleKit.conf ${PKG_SYSCONFBASE}/dbus-1/system.d/ConsoleKit.conf
|
||||
|
||||
MAKE_DIRS= ${PKG_SYSCONFDIR}/seats.d
|
||||
|
||||
BUILD_DEFS+= VARBASE
|
||||
BUILD_DEFS+= PKG_SYSCONFBASE
|
||||
|
||||
GNU_CONFIGURE= YES
|
||||
USE_DIRS+= xdg-1.4
|
||||
USE_PKGLOCALEDIR= YES
|
||||
USE_TOOLS+= gmake intltool msgfmt perl pkg-config
|
||||
USE_TOOLS+= autoconf automake autoreconf
|
||||
USE_LIBTOOL= YES
|
||||
|
||||
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASE:Q}
|
||||
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
|
||||
|
||||
post-extract:
|
||||
cp ${FILESDIR}/ck-sysdeps-netbsd.c ${WRKSRC}/src/
|
||||
|
||||
pre-configure:
|
||||
cd ${WRKSRC} && autoreconf -vi
|
||||
|
||||
.include "../../security/policykit/buildlink3.mk"
|
||||
.include "../../sysutils/dbus/buildlink3.mk"
|
||||
.include "../../sysutils/dbus-glib/buildlink3.mk"
|
||||
.include "../../mk/pam.buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
30
sysutils/consolekit/PLIST
Normal file
30
sysutils/consolekit/PLIST
Normal file
|
@ -0,0 +1,30 @@
|
|||
@comment $NetBSD: PLIST,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
bin/ck-history
|
||||
bin/ck-launch-session
|
||||
bin/ck-list-sessions
|
||||
include/ConsoleKit/ck-connector/ck-connector.h
|
||||
lib/ConsoleKit/scripts/ck-system-restart
|
||||
lib/ConsoleKit/scripts/ck-system-stop
|
||||
lib/libck-connector.la
|
||||
lib/pkgconfig/ck-connector.pc
|
||||
libexec/ck-collect-session-info
|
||||
libexec/ck-get-x11-display-device
|
||||
libexec/ck-get-x11-server-pid
|
||||
sbin/ck-log-system-restart
|
||||
sbin/ck-log-system-start
|
||||
sbin/ck-log-system-stop
|
||||
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
|
||||
share/examples/consolekit/ConsoleKit.conf
|
||||
share/examples/consolekit/00-primary.seat
|
||||
@dirrm lib/ConsoleKit/scripts
|
||||
@exec ${MKDIR} %D/lib/ConsoleKit/run-session.d
|
||||
@dirrm lib/ConsoleKit/run-session.d
|
||||
@dirrm lib/ConsoleKit
|
||||
@dirrm include/ConsoleKit/ck-connector
|
||||
@dirrm include/ConsoleKit
|
||||
@exec ${MKDIR} %D/etc/ConsoleKit/seats.d
|
22
sysutils/consolekit/buildlink3.mk
Normal file
22
sysutils/consolekit/buildlink3.mk
Normal file
|
@ -0,0 +1,22 @@
|
|||
# $NetBSD: buildlink3.mk,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
|
||||
CONSOLEKIT_BUILDLINK3_MK:= ${CONSOLEKIT_BUILDLINK3_MK}+
|
||||
|
||||
.if ${BUILDLINK_DEPTH} == "+"
|
||||
BUILDLINK_DEPENDS+= consolekit
|
||||
.endif
|
||||
|
||||
BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nconsolekit}
|
||||
BUILDLINK_PACKAGES+= consolekit
|
||||
BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}consolekit
|
||||
|
||||
.if ${CONSOLEKIT_BUILDLINK3_MK} == "+"
|
||||
BUILDLINK_API_DEPENDS.consolekit+= consolekit>=0.3.0
|
||||
BUILDLINK_PKGSRCDIR.consolekit?= ../../sysutils/consolekit
|
||||
.endif # CONSOLEKIT_BUILDLINK3_MK
|
||||
|
||||
.include "../../sysutils/dbus/buildlink3.mk"
|
||||
.include "../../sysutils/dbus-glib/buildlink3.mk"
|
||||
|
||||
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
|
10
sysutils/consolekit/distinfo
Normal file
10
sysutils/consolekit/distinfo
Normal file
|
@ -0,0 +1,10 @@
|
|||
$NetBSD: distinfo,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
SHA1 (ConsoleKit-0.3.0.tar.bz2) = e3b6156622cc14ebca7382a55b8ed15f2f2bad98
|
||||
RMD160 (ConsoleKit-0.3.0.tar.bz2) = 7a1ebd2f4bfb65690e70138c9923c3fd2fcaf671
|
||||
Size (ConsoleKit-0.3.0.tar.bz2) = 393694 bytes
|
||||
SHA1 (patch-aa) = 859ccbad31b941b78d4fe9e65fa766c672a717f2
|
||||
SHA1 (patch-ab) = 2e9fe9de1f27c635a4eefa77af8322cb8a02ab35
|
||||
SHA1 (patch-ac) = 0595a9cd1c4013eb4761e044b4b4b01b613f7d2b
|
||||
SHA1 (patch-ad) = a1c1a1d0452945550065da3eac2390318c1eb7be
|
||||
SHA1 (patch-ae) = 893cd9214218e283747dc886ef5623e5847b8149
|
433
sysutils/consolekit/files/ck-sysdeps-netbsd.c
Normal file
433
sysutils/consolekit/files/ck-sysdeps-netbsd.c
Normal file
|
@ -0,0 +1,433 @@
|
|||
/* -*- 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 mib[4];
|
||||
size_t len;
|
||||
|
||||
len = 4;
|
||||
sysctlnametomib ("kern.proc.pid", mib, &len);
|
||||
|
||||
len = sizeof(struct kinfo_proc2);
|
||||
mib[3] = pid;
|
||||
|
||||
if (sysctl (mib, 4, p, &len, NULL, 0) == -1) {
|
||||
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) {
|
||||
memcpy (P->tty_text, " ? ", 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;
|
||||
GError *local_error;
|
||||
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 {
|
||||
g_propagate_error (error, local_error);
|
||||
*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)
|
||||
{
|
||||
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, "ttyv", 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;
|
||||
}
|
||||
|
||||
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/ttyv%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/ttyv%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 (ttyv%d)", active, active - 1);
|
||||
ret = TRUE;
|
||||
|
||||
out:
|
||||
if (num != NULL) {
|
||||
*num = active;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
29
sysutils/consolekit/patches/patch-aa
Normal file
29
sysutils/consolekit/patches/patch-aa
Normal file
|
@ -0,0 +1,29 @@
|
|||
$NetBSD: patch-aa,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
--- configure.ac.orig 2008-07-30 20:35:53.000000000 -0400
|
||||
+++ configure.ac
|
||||
@@ -189,6 +189,9 @@ case "$host" in
|
||||
;;
|
||||
*-*-solaris*)
|
||||
CK_BACKEND="solaris"
|
||||
+ ;;
|
||||
+ *-*-netbsd*)
|
||||
+ CK_BACKEND="netbsd"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -196,6 +199,7 @@ 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])
|
||||
AC_SUBST(CK_BACKEND)
|
||||
|
||||
@@ -441,4 +445,4 @@ if test x${have_polkit} = xno -a x${msg_
|
||||
echo " a huge SECURITY HOLE. I repeat: YOU NEED TO EDIT THE FILE"
|
||||
echo " ConsoleKit.conf to match your distro/site to avoid NASTY SECURITY HOLES."
|
||||
echo ""
|
||||
-fi
|
||||
\ No newline at end of file
|
||||
+fi
|
23
sysutils/consolekit/patches/patch-ab
Normal file
23
sysutils/consolekit/patches/patch-ab
Normal file
|
@ -0,0 +1,23 @@
|
|||
$NetBSD: patch-ab,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
--- src/Makefile.am.orig 2008-07-25 14:38:56.000000000 -0400
|
||||
+++ src/Makefile.am
|
||||
@@ -56,11 +56,18 @@ libck_la_SOURCES += \
|
||||
$(NULL)
|
||||
libck_la_LIBADD = $(KVM_LIBS)
|
||||
endif
|
||||
+if CK_COMPILE_NETBSD
|
||||
+libck_la_SOURCES += \
|
||||
+ ck-sysdeps-netbsd.c \
|
||||
+ $(NULL)
|
||||
+libck_la_LIBADD = -lkvm
|
||||
+endif
|
||||
|
||||
EXTRA_libck_la_SOURCES = \
|
||||
ck-sysdeps-linux.c \
|
||||
ck-sysdeps-solaris.c \
|
||||
ck-sysdeps-freebsd.c \
|
||||
+ ck-sysdeps-netbsd.c \
|
||||
$(NULL)
|
||||
|
||||
sbin_PROGRAMS = \
|
15
sysutils/consolekit/patches/patch-ac
Normal file
15
sysutils/consolekit/patches/patch-ac
Normal file
|
@ -0,0 +1,15 @@
|
|||
$NetBSD: patch-ac,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
--- tools/Makefile.am.orig 2008-02-12 22:46:39.000000000 -0500
|
||||
+++ tools/Makefile.am
|
||||
@@ -18,6 +18,10 @@ if CK_COMPILE_SOLARIS
|
||||
SUBDIRS += solaris
|
||||
endif
|
||||
|
||||
+if CK_COMPILE_NETBSD
|
||||
+SUBDIRS += freebsd
|
||||
+endif
|
||||
+
|
||||
DIST_SUBDIRS = \
|
||||
linux \
|
||||
freebsd \
|
16
sysutils/consolekit/patches/patch-ad
Normal file
16
sysutils/consolekit/patches/patch-ad
Normal file
|
@ -0,0 +1,16 @@
|
|||
$NetBSD: patch-ad,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
--- 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
|
33
sysutils/consolekit/patches/patch-ae
Normal file
33
sysutils/consolekit/patches/patch-ae
Normal file
|
@ -0,0 +1,33 @@
|
|||
$NetBSD: patch-ae,v 1.1.1.1 2008/11/22 03:32:22 jmcneill Exp $
|
||||
|
||||
--- src/ck-sysdeps-unix.c.orig 2008-01-23 09:30:44.000000000 -0500
|
||||
+++ src/ck-sysdeps-unix.c
|
||||
@@ -35,6 +35,10 @@
|
||||
#include <linux/kd.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __NetBSD__
|
||||
+#include <dev/wscons/wsdisplay_usl_io.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef HAVE_SYS_VT_H
|
||||
#include <sys/vt.h>
|
||||
#endif
|
||||
@@ -126,7 +130,7 @@ 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__)
|
||||
int vers;
|
||||
@@ -134,7 +138,7 @@ ck_fd_is_a_console (int fd)
|
||||
int kb_ok;
|
||||
|
||||
errno = 0;
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__NetBSD__)
|
||||
kb_ok = (ioctl (fd, VT_GETSTATE, &vts) == 0);
|
||||
#elif defined(__FreeBSD__)
|
||||
kb_ok = (ioctl (fd, CONS_GETVERS, &vers) == 0);
|
Loading…
Reference in a new issue