diff -u consolekit-0.2.3/debian/changelog consolekit-0.2.3/debian/changelog --- consolekit-0.2.3/debian/changelog +++ consolekit-0.2.3/debian/changelog @@ -1,3 +1,12 @@ +consolekit (0.2.3-3ubuntu4) hardy; urgency=low + + * Back port ck-launch-session from consolekit-0.2.10 + * Added debian/patches/ck-launch-session.patch + * Added debian/patches/zzz_automake.patch + * Added 90-console-kit, an Xsession startup script + + -- Michael Frey Fri, 14 Mar 2008 11:04:49 -0400 + consolekit (0.2.3-3ubuntu3) hardy; urgency=low * debian/patches/pam_console-compat.patch: Only create PAM console tags for diff -u consolekit-0.2.3/debian/consolekit.install consolekit-0.2.3/debian/consolekit.install --- consolekit-0.2.3/debian/consolekit.install +++ consolekit-0.2.3/debian/consolekit.install @@ -4,5 +4,7 @@ +debian/tmp/usr/bin/ck-launch-session debian/tmp/usr/lib/consolekit/ck-get-x11-server-pid debian/tmp/usr/lib/consolekit/ck-get-x11-display-device debian/tmp/usr/lib/consolekit/ck-collect-session-info debian/tmp/usr/sbin/console-kit-daemon debian/org.freedesktop.ConsoleKit.service usr/share/dbus-1/system-services/ +debian/90-console-kit /etc/X11/Xsession.d only in patch2: unchanged: --- consolekit-0.2.3.orig/debian/90-console-kit +++ consolekit-0.2.3/debian/90-console-kit @@ -0,0 +1,11 @@ +# -*- sh -*- +# Xsession.d script for ck-launch-session. +# +# +# This file is sourced by Xsession(5), not executed. + +CK_LAUNCH_SESSION=/usr/bin/ck-launch-session + +if [ -z "$XDG_SESSION_COOKIE" ] && [ -x "$CK_LAUNCH_SESSION" ]; then + STARTUP="$CK_LAUNCH_SESSION $STARTUP" +fi only in patch2: unchanged: --- consolekit-0.2.3.orig/debian/patches/zzz_automake.patch +++ consolekit-0.2.3/debian/patches/zzz_automake.patch @@ -0,0 +1,98 @@ +diff -Nur consolekit-0.2.3/Makefile.in consolekit-0.2.3.new/Makefile.in +--- consolekit-0.2.3/Makefile.in 2007-09-18 11:05:08.000000000 -0400 ++++ consolekit-0.2.3.new/Makefile.in 2008-03-12 19:00:00.000000000 -0400 +@@ -233,10 +233,10 @@ + NULL = + SUBDIRS = \ + src \ ++ libck-connector \ + tools \ + data \ + doc \ +- libck-connector \ + pam-ck-connector \ + $(NULL) + +diff -Nur consolekit-0.2.3/tools/Makefile.in consolekit-0.2.3.new/tools/Makefile.in +--- consolekit-0.2.3/tools/Makefile.in 2007-09-18 11:05:08.000000000 -0400 ++++ consolekit-0.2.3.new/tools/Makefile.in 2008-03-12 19:00:00.000000000 -0400 +@@ -37,7 +37,8 @@ + build_triplet = @build@ + host_triplet = @host@ + @CK_COMPILE_LINUX_TRUE@am__append_1 = linux +-bin_PROGRAMS = ck-list-sessions$(EXEEXT) $(am__EXEEXT_1) ++bin_PROGRAMS = ck-launch-session$(EXEEXT) ck-list-sessions$(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) +@@ -75,6 +76,12 @@ + 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_launch_session_OBJECTS = ck-launch-session.$(OBJEXT) \ ++ $(am__objects_1) ++ck_launch_session_OBJECTS = $(am_ck_launch_session_OBJECTS) ++ck_launch_session_DEPENDENCIES = \ ++ $(top_builddir)/libck-connector/libck-connector.la \ ++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + am_ck_list_sessions_OBJECTS = list-sessions.$(OBJEXT) $(am__objects_1) + ck_list_sessions_OBJECTS = $(am_ck_list_sessions_OBJECTS) + ck_list_sessions_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +@@ -92,10 +99,12 @@ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ + SOURCES = $(ck_collect_session_info_SOURCES) \ + $(ck_get_x11_display_device_SOURCES) \ +- $(ck_get_x11_server_pid_SOURCES) $(ck_list_sessions_SOURCES) ++ $(ck_get_x11_server_pid_SOURCES) $(ck_launch_session_SOURCES) \ ++ $(ck_list_sessions_SOURCES) + DIST_SOURCES = $(ck_collect_session_info_SOURCES) \ + $(ck_get_x11_display_device_SOURCES) \ +- $(ck_get_x11_server_pid_SOURCES) $(ck_list_sessions_SOURCES) ++ $(ck_get_x11_server_pid_SOURCES) $(ck_launch_session_SOURCES) \ ++ $(ck_list_sessions_SOURCES) + RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ +@@ -270,6 +279,7 @@ + -I. \ + -I$(srcdir) \ + -I$(top_srcdir)/src \ ++ -I$(top_srcdir)/libck-connector \ + $(CONSOLE_KIT_CFLAGS) \ + $(DISABLE_DEPRECATED_CFLAGS) \ + -DPREFIX=\""$(prefix)"\" \ +@@ -283,6 +293,15 @@ + $(DBUS_CFLAGS) \ + $(NULL) + ++ck_launch_session_SOURCES = \ ++ ck-launch-session.c \ ++ $(NULL) ++ ++ck_launch_session_LDADD = \ ++ $(top_builddir)/libck-connector/libck-connector.la \ ++ $(CONSOLE_KIT_LIBS) \ ++ $(NULL) ++ + ck_list_sessions_SOURCES = \ + list-sessions.c \ + $(NULL) +@@ -423,6 +442,9 @@ + ck-get-x11-server-pid$(EXEEXT): $(ck_get_x11_server_pid_OBJECTS) $(ck_get_x11_server_pid_DEPENDENCIES) + @rm -f ck-get-x11-server-pid$(EXEEXT) + $(LINK) $(ck_get_x11_server_pid_LDFLAGS) $(ck_get_x11_server_pid_OBJECTS) $(ck_get_x11_server_pid_LDADD) $(LIBS) ++ck-launch-session$(EXEEXT): $(ck_launch_session_OBJECTS) $(ck_launch_session_DEPENDENCIES) ++ @rm -f ck-launch-session$(EXEEXT) ++ $(LINK) $(ck_launch_session_LDFLAGS) $(ck_launch_session_OBJECTS) $(ck_launch_session_LDADD) $(LIBS) + ck-list-sessions$(EXEEXT): $(ck_list_sessions_OBJECTS) $(ck_list_sessions_DEPENDENCIES) + @rm -f ck-list-sessions$(EXEEXT) + $(LINK) $(ck_list_sessions_LDFLAGS) $(ck_list_sessions_OBJECTS) $(ck_list_sessions_LDADD) $(LIBS) +@@ -436,6 +458,7 @@ + @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-launch-session.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-sessions.Po@am__quote@ + + .c.o: only in patch2: unchanged: --- consolekit-0.2.3.orig/debian/patches/ck-launch-session.patch +++ consolekit-0.2.3/debian/patches/ck-launch-session.patch @@ -0,0 +1,142 @@ +diff -Nur consolekit-0.2.3/tools/Makefile.am consolekit-0.2.3.new/tools/Makefile.am +--- consolekit-0.2.3/tools/Makefile.am 2007-08-16 22:23:41.000000000 -0400 ++++ consolekit-0.2.3.new/tools/Makefile.am 2008-03-12 18:59:38.000000000 -0400 +@@ -18,6 +18,7 @@ + -I. \ + -I$(srcdir) \ + -I$(top_srcdir)/src \ ++ -I$(top_srcdir)/libck-connector \ + $(CONSOLE_KIT_CFLAGS) \ + $(DISABLE_DEPRECATED_CFLAGS) \ + -DPREFIX=\""$(prefix)"\" \ +@@ -32,9 +33,19 @@ + $(NULL) + + bin_PROGRAMS = \ ++ ck-launch-session \ + ck-list-sessions \ + $(NULL) + ++ck_launch_session_SOURCES = \ ++ ck-launch-session.c \ ++ $(NULL) ++ ++ck_launch_session_LDADD = \ ++ $(top_builddir)/libck-connector/libck-connector.la \ ++ $(CONSOLE_KIT_LIBS) \ ++ $(NULL) ++ + ck_list_sessions_SOURCES = \ + list-sessions.c \ + $(NULL) +diff -Nur consolekit-0.2.3/Makefile.am consolekit-0.2.3.new/Makefile.am +--- consolekit-0.2.3/Makefile.am 2007-07-10 10:15:45.000000000 -0400 ++++ consolekit-0.2.3.new/Makefile.am 2008-03-12 18:59:38.000000000 -0400 +@@ -6,10 +6,10 @@ + + SUBDIRS = \ + src \ ++ libck-connector \ + tools \ + data \ + doc \ +- libck-connector \ + pam-ck-connector \ + $(NULL) + +diff -Nur consolekit-0.2.3/tools/ck-launch-session.c consolekit-0.2.3.new/tools/ck-launch-session.c +--- consolekit-0.2.3/tools/ck-launch-session.c 1969-12-31 19:00:00.000000000 -0500 ++++ consolekit-0.2.3.new/tools/ck-launch-session.c 2008-03-12 18:52:45.000000000 -0400 +@@ -0,0 +1,92 @@ ++/* ++ * Copyright Red Hat, Inc. 2007-2008. ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions are met: ++ * ++ * * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * * Neither the name of Red Hat, Inc., nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ++ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ++ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ++ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ++ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * Gate a process inside of a ConsoleKit session. ++ * ++ */ ++ ++#include ++#include ++#ifdef HAVE_PATHS_H ++#include ++#else ++#define _PATH_BSHELL "/bin/sh" ++#endif ++ ++#include ++#include ++#include ++ ++#include "ck-connector.h" ++ ++int ++main (int argc, char **argv) ++{ ++ CkConnector *ckc = NULL; ++ DBusError error; ++ const char *shell; ++ pid_t pid; ++ int status; ++ ++ ckc = ck_connector_new (); ++ if (ckc != NULL) { ++ dbus_error_init (&error); ++ if (ck_connector_open_session (ckc, &error)) { ++ pid = fork (); ++ switch (pid) { ++ case -1: ++ syslog (LOG_ERR, "error forking child"); ++ break; ++ case 0: ++ setenv ("XDG_SESSION_COOKIE", ++ ck_connector_get_cookie (ckc), 1); ++ break; ++ default: ++ waitpid (pid, &status, 0); ++ exit (status); ++ break; ++ } ++ } else { ++ syslog (LOG_ERR, "error connecting to ConsoleKit"); ++ } ++ } else { ++ syslog (LOG_ERR, "error setting up to connection to ConsoleKit"); ++ } ++ ++ if (argc > 1) { ++ execvp (argv[1], argv + 1); ++ } else { ++ shell = getenv ("SHELL"); ++ if (shell == NULL) { ++ shell = _PATH_BSHELL; ++ } ++ execlp (shell, shell, NULL); ++ } ++ _exit (1); ++}