diff options
Diffstat (limited to 'abs/not_built/extra/consolekit')
| -rw-r--r-- | abs/not_built/extra/consolekit/PKGBUILD | 45 | ||||
| -rw-r--r-- | abs/not_built/extra/consolekit/add_since_option.patch | 220 | ||||
| -rw-r--r-- | abs/not_built/extra/consolekit/consolekit.logrotate | 5 | ||||
| -rw-r--r-- | abs/not_built/extra/consolekit/nodaemon.patch | 9 | ||||
| -rw-r--r-- | abs/not_built/extra/consolekit/pam-foreground-compat.ck | 16 | ||||
| -rw-r--r-- | abs/not_built/extra/consolekit/reorder-initialization.patch | 40 | 
6 files changed, 335 insertions, 0 deletions
| diff --git a/abs/not_built/extra/consolekit/PKGBUILD b/abs/not_built/extra/consolekit/PKGBUILD new file mode 100644 index 0000000..10a1f7f --- /dev/null +++ b/abs/not_built/extra/consolekit/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 87085 2010-08-10 18:29:16Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: onestep_ua <onestep@ukr.net> + +pkgname=consolekit +pkgver=0.4.1 +pkgrel=4 +pkgdesc="A framework for defining and tracking users, login sessions, and seats" +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/ConsoleKit" +license=('GPL') +depends=('polkit>=0.95' 'zlib' 'libx11>=1.2.2') +makedepends=('pkgconfig' 'xmlto' 'docbook-xsl') +options=(!libtool) +source=(http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-${pkgver}.tar.bz2 +        pam-foreground-compat.ck +        nodaemon.patch +        reorder-initialization.patch +        add_since_option.patch +        consolekit.logrotate) +md5sums=('48eda4483cc97841d5f88e8e003eb6d7' +         'a8a4de71d9b0549b8143e5f6c2a36fc7' +         'a5bfd56bc89411ff5bb18276a68cb212' +         '99fa8cb1bf232050cc0c076378e216c5' +         'bd5e72397fe2d42a933a897d28d58155' +         '6fefa451d9fe2fc6d6269629d3529793') + +build() { +  cd "${srcdir}/ConsoleKit-${pkgver}" +  patch -Np1 -i "${srcdir}/nodaemon.patch" +  patch -Np1 -i "${srcdir}/reorder-initialization.patch" +  patch -Np1 -i "${srcdir}/add_since_option.patch" +  ./configure --prefix=/usr \ +      --sysconfdir=/etc \ +      --localstatedir=/var \ +      --libexecdir=/usr/lib/ConsoleKit \ +      --enable-pam-module \ +      --enable-docbook-docs +  make +  make DESTDIR="${pkgdir}" install +  install -m755 "${srcdir}/pam-foreground-compat.ck" "${pkgdir}/usr/lib/ConsoleKit/run-session.d/" + +  # install the logrotate config +  install -D -m644 ${srcdir}/consolekit.logrotate ${pkgdir}/etc/logrotate.d/consolekit +} diff --git a/abs/not_built/extra/consolekit/add_since_option.patch b/abs/not_built/extra/consolekit/add_since_option.patch new file mode 100644 index 0000000..50c1421 --- /dev/null +++ b/abs/not_built/extra/consolekit/add_since_option.patch @@ -0,0 +1,220 @@ +From c9f2292339540d4b9d8940bcef16b7485480c8d9 Mon Sep 17 00:00:00 2001 +From: William Jon McCann <jmccann@redhat.com> +Date: Fri, 11 Jun 2010 19:53:22 +0000 +Subject: Add a --since option to show entries in a time window + +Doesn't load any history files it doesn't need to which should +help performance on systems with long histories. + +https://bugs.freedesktop.org/show_bug.cgi?id=25660 +--- +diff --git a/tools/ck-history.c b/tools/ck-history.c +index 606106c..d02caaa 100644 +--- a/tools/ck-history.c ++++ b/tools/ck-history.c +@@ -62,8 +62,8 @@ typedef enum { +  + static GList *all_events = NULL; +  +-static gboolean +-process_event_line (const char *line) ++static CkLogEvent * ++parse_event_line (const char *line) + { +         GString    *str; +         CkLogEvent *event; +@@ -72,47 +72,80 @@ process_event_line (const char *line) +         event = ck_log_event_new_from_string (str); +         g_string_free (str, TRUE); +  +-        if (event != NULL) { +-                all_events = g_list_prepend (all_events, event); +-        } +- +-        return TRUE; ++        return event; + } +  + static gboolean +-process_log_gzstream (gzFile *fstream) ++process_log_gzstream (gzFile   *fstream, ++                      GTimeVal *since) + { +-        char line[MAX_LINE_LEN]; ++        char     line[MAX_LINE_LEN]; ++        gboolean hit_since; ++        GList   *events; +  ++        events = NULL; ++        hit_since = FALSE; +         while (gzgets (fstream, line, sizeof (line)) != Z_NULL) { ++                CkLogEvent *event; ++ +                 if (strlen (line) == sizeof (line) - 1) { +                         g_warning ("Log line truncated"); +                 } +  +-                process_event_line (line); ++                event = parse_event_line (line); ++                if (event == NULL) { ++                        continue; ++                } ++ ++                if (since == NULL || event->timestamp.tv_sec >= since->tv_sec) { ++                        events = g_list_prepend (events, event); ++                } else { ++                        hit_since = TRUE; ++                } +         } +  +-        return TRUE; ++        all_events = g_list_concat (all_events, events); ++ ++        return !hit_since; + } +  + static gboolean +-process_log_stream (FILE *fstream) ++process_log_stream (FILE     *fstream, ++                    GTimeVal *since) + { +-        char line[MAX_LINE_LEN]; ++        char     line[MAX_LINE_LEN]; ++        gboolean hit_since; ++        GList   *events; +  ++        events = NULL; ++        hit_since = FALSE; +         while (fgets (line, sizeof (line), fstream) != NULL) { ++                CkLogEvent *event; ++ +                 if (strlen (line) == sizeof (line) - 1) { +                         g_warning ("Log line truncated"); +                 } +  +-                process_event_line (line); ++                event = parse_event_line (line); ++                if (event == NULL) { ++                        continue; ++                } ++ ++                if (since == NULL || event->timestamp.tv_sec >= since->tv_sec) { ++                        events = g_list_prepend (events, event); ++                } else { ++                        hit_since = TRUE; ++                } +         } +  +-        return TRUE; ++        all_events = g_list_concat (all_events, events); ++ ++        return !hit_since; + } +  + static gboolean +-process_log_file (const char *filename) ++process_log_file (const char *filename, ++                  GTimeVal   *since) + { +         gboolean ret; +  +@@ -131,7 +164,7 @@ process_log_file (const char *filename) +                                    errmsg); +                         return FALSE; +                 } +-                ret = process_log_gzstream (f); ++                ret = process_log_gzstream (f, since); +                 gzclose (f); +         } else { +                 FILE    *f; +@@ -143,7 +176,7 @@ process_log_file (const char *filename) +                                    g_strerror (errno)); +                         return FALSE; +                 } +-                ret = process_log_stream (f); ++                ret = process_log_stream (f, since); +                 fclose (f); +         } +  +@@ -180,11 +213,14 @@ get_log_file_list (void) +                 files = g_list_prepend (files, filename); +         }; +  ++        /* Return the list in reverse time order, newest first */ ++        files = g_list_reverse (files); ++ +         return files; + } +  + static gboolean +-process_logs (void) ++process_logs (GTimeVal *since) + { +         gboolean ret; +         GList   *files; +@@ -199,8 +235,7 @@ process_logs (void) +                 char    *filename; +  +                 filename = l->data; +- +-                res = process_log_file (filename); ++                res = process_log_file (filename, since); +                 if (! res) { +                         goto out; +                 } +@@ -843,6 +878,8 @@ main (int    argc, +         GError             *error = NULL; +         int                 report_type; +         int                 uid; ++        GTimeVal            timestamp; ++        gboolean            use_since; +         static gboolean     do_version = FALSE; +         static gboolean     report_last_compat = FALSE; +         static gboolean     report_last = FALSE; +@@ -851,6 +888,7 @@ main (int    argc, +         static char        *username = NULL; +         static char        *seat = NULL; +         static char        *session_type = NULL; ++        static char        *since = NULL; +         static GOptionEntry entries [] = { +                 { "version", 'V', 0, G_OPTION_ARG_NONE, &do_version, N_("Version of this application"), NULL }, +                 { "frequent", 0, 0, G_OPTION_ARG_NONE, &report_frequent, N_("Show listing of frequent users"), NULL }, +@@ -860,6 +898,7 @@ main (int    argc, +                 { "seat", 's', 0, G_OPTION_ARG_STRING, &seat, N_("Show entries for the specified seat"), N_("SEAT") }, +                 { "session-type", 't', 0, G_OPTION_ARG_STRING, &session_type, N_("Show entries for the specified session type"), N_("TYPE") }, +                 { "user", 'u', 0, G_OPTION_ARG_STRING, &username, N_("Show entries for the specified user"), N_("NAME") }, ++                { "since", 0, 0, G_OPTION_ARG_STRING, &since, N_("Show entries since the specified time (ISO 8601 format)"), N_("DATETIME") }, +                 { NULL } +         }; +  +@@ -880,6 +919,15 @@ main (int    argc, +                 exit (1); +         } +  ++        use_since = FALSE; ++        if (since != NULL) { ++                use_since = g_time_val_from_iso8601 (since, ×tamp); ++                if (! use_since) { ++                        g_warning ("Invalid ISO 8601 time value"); ++                        exit (1); ++                } ++        } ++ +         if (report_last_compat) { +                 report_type = REPORT_TYPE_LAST_COMPAT; +         } else if (report_last) { +@@ -902,7 +950,11 @@ main (int    argc, +                 uid = -1; +         } +  +-        process_logs (); ++        if (use_since) { ++                process_logs (×tamp); ++        } else { ++                process_logs (NULL); ++        } +         generate_report (report_type, uid, seat, session_type); +         free_events (); +  +-- +cgit v0.8.3-6-g21f6 diff --git a/abs/not_built/extra/consolekit/consolekit.logrotate b/abs/not_built/extra/consolekit/consolekit.logrotate new file mode 100644 index 0000000..7c5346e --- /dev/null +++ b/abs/not_built/extra/consolekit/consolekit.logrotate @@ -0,0 +1,5 @@ +/var/log/ConsoleKit/history { +    missingok +    notifempty +    delaycompress +} diff --git a/abs/not_built/extra/consolekit/nodaemon.patch b/abs/not_built/extra/consolekit/nodaemon.patch new file mode 100644 index 0000000..c4c08e9 --- /dev/null +++ b/abs/not_built/extra/consolekit/nodaemon.patch @@ -0,0 +1,9 @@ +diff -up ConsoleKit-0.4.1/data/org.freedesktop.ConsoleKit.service.in.nodaemon ConsoleKit-0.4.1/data/org.freedesktop.ConsoleKit.service.in +--- ConsoleKit-0.4.1/data/org.freedesktop.ConsoleKit.service.in.nodaemon	2009-12-15 10:56:39.839818556 -0500 ++++ ConsoleKit-0.4.1/data/org.freedesktop.ConsoleKit.service.in	2009-12-15 10:56:50.177792048 -0500 +@@ -1,4 +1,4 @@ + [D-BUS Service] + Name=org.freedesktop.ConsoleKit +-Exec=@sbindir@/console-kit-daemon ++Exec=@sbindir@/console-kit-daemon --no-daemon + User=root diff --git a/abs/not_built/extra/consolekit/pam-foreground-compat.ck b/abs/not_built/extra/consolekit/pam-foreground-compat.ck new file mode 100644 index 0000000..7f6b122 --- /dev/null +++ b/abs/not_built/extra/consolekit/pam-foreground-compat.ck @@ -0,0 +1,16 @@ +#!/bin/sh +TAGDIR=/var/run/console + +[ -n "$CK_SESSION_USER_UID" ] || exit 1 + +TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`" + +if [ "$1" = "session_added" ]; then +    mkdir -p "$TAGDIR" +    echo "$CK_SESSION_ID" >> "$TAGFILE" +fi + +if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then +    sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE" +    [ -s "$TAGFILE" ] || rm -f "$TAGFILE" +fi diff --git a/abs/not_built/extra/consolekit/reorder-initialization.patch b/abs/not_built/extra/consolekit/reorder-initialization.patch new file mode 100644 index 0000000..f65abd5 --- /dev/null +++ b/abs/not_built/extra/consolekit/reorder-initialization.patch @@ -0,0 +1,40 @@ +diff -up ConsoleKit-0.4.1/src/main.c.reorder-initialization ConsoleKit-0.4.1/src/main.c +--- ConsoleKit-0.4.1/src/main.c.reorder-initialization	2009-12-18 14:51:38.821212946 -0500 ++++ ConsoleKit-0.4.1/src/main.c	2009-12-18 14:52:19.246211176 -0500 +@@ -294,11 +294,19 @@ main (int    argc, +  +         setup_debug_log (debug); +  ++        g_debug ("initializing console-kit-daemon %s", VERSION); ++ +         connection = get_system_bus (); +         if (connection == NULL) { +                 goto out; +         } +  ++        manager = ck_manager_new (); ++ ++        if (manager == NULL) { ++                goto out; ++        } ++ +         bus_proxy = get_bus_proxy (connection); +         if (bus_proxy == NULL) { +                 g_warning ("Could not construct bus_proxy object; bailing out"); +@@ -310,16 +318,8 @@ main (int    argc, +                 goto out; +         } +  +-        g_debug ("initializing console-kit-daemon %s", VERSION); +- +         create_pid_file (); +  +-        manager = ck_manager_new (); +- +-        if (manager == NULL) { +-                goto out; +-        } +- +         loop = g_main_loop_new (NULL, FALSE); +  +         g_signal_connect (bus_proxy, | 
