* [Buildroot] [PATCH] new package: consolekit
@ 2013-02-21 17:33 Stefan Fröberg
2013-02-21 21:21 ` Yann E. MORIN
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Fröberg @ 2013-02-21 17:33 UTC (permalink / raw)
To: buildroot
ConsoleKit
ConsoleKit is a framework for defining and tracking users,
login sessions, and seats.
Signed-off-by: Stefan Fr?berg <stefan.froberg@petroprogram.com>
---
Most of the stuff here are from Gentoo ebuild file
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-auth/consolekit/
consolekit-0.4.5_p20120320-r1.ebuild
package/Config.in | 1 +
package/consolekit/90-consolekit | 32 +++++++++
package/consolekit/Config.in | 14 ++++
package/consolekit/S35consolekit | 26 +++++++
.../consolekit-cleanup_console_tags.patch | 72 ++++++++++++++++++++
.../consolekit/consolekit-polkit-automagic.patch | 35 ++++++++++
...nsolekit-shutdown-reboot-without-policies.patch | 31 +++++++++
package/consolekit/consolekit.mk | 40 +++++++++++
package/consolekit/pam-foreground-compat.ck | 18 +++++
package/consolekit/system-session | 6 ++
10 files changed, 275 insertions(+), 0 deletions(-)
create mode 100644 package/consolekit/90-consolekit
create mode 100644 package/consolekit/Config.in
create mode 100755 package/consolekit/S35consolekit
create mode 100644 package/consolekit/consolekit-cleanup_console_tags.patch
create mode 100644 package/consolekit/consolekit-polkit-automagic.patch
create mode 100644 package/consolekit/consolekit-shutdown-reboot-without-policies.patch
create mode 100644 package/consolekit/consolekit.mk
create mode 100755 package/consolekit/pam-foreground-compat.ck
create mode 100644 package/consolekit/system-session
diff --git a/package/Config.in b/package/Config.in
index 8588951..0db321c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -777,6 +777,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/bootutils/Config.in"
endif
source "package/bwm-ng/Config.in"
+source "package/consolekit/Config.in"
source "package/cpuload/Config.in"
source "package/htop/Config.in"
source "package/keyutils/Config.in"
diff --git a/package/consolekit/90-consolekit b/package/consolekit/90-consolekit
new file mode 100644
index 0000000..358fc24
--- /dev/null
+++ b/package/consolekit/90-consolekit
@@ -0,0 +1,32 @@
+# -*- 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
+
+is_on_console() {
+ session=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \
+ --type=method_call --print-reply --reply-timeout=2000 \
+ /org/freedesktop/ConsoleKit/Manager \
+ org.freedesktop.ConsoleKit.Manager.GetCurrentSession \
+ | grep path | awk '{print $3}' | sed s/\"//g)
+ x11_display=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \
+ --type=method_call --print-reply --reply-timeout=2000 \
+ $session org.freedesktop.ConsoleKit.Session.GetX11Display \
+ | grep string | awk '{print $2}' | sed s/\"//g)
+
+ if [ -z "$x11_display" ] ; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+# gdm already creates a CK session for us, so do not run the expensive D-Bus
+# calls if we have $GDMSESSION
+if [ -z "$GDMSESSION" ] && [ -x "$CK_LAUNCH_SESSION" ] && \
+ ( [ -z "$XDG_SESSION_COOKIE" ] || is_on_console ) ; then
+ command="$CK_LAUNCH_SESSION $command"
+fi
diff --git a/package/consolekit/Config.in b/package/consolekit/Config.in
new file mode 100644
index 0000000..905dada
--- /dev/null
+++ b/package/consolekit/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_CONSOLEKIT
+ bool "consolekit"
+ select BR2_PACKAGE_DBUS_GLIB
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_XLIB_LIBX11
+ select BR2_PACKAGE_LIBXSLT
+ select BR2_PACKAGE_LINUX_PAM
+ select BR2_PACKAGE_POLKIT
+ select BR2_PACKAGE_ZLIB
+ help
+ ConsoleKit is a framework for defining and tracking users,
+ login sessions, and seats.
+
+ http://www.freedesktop.org/wiki/software/ConsoleKit
diff --git a/package/consolekit/S35consolekit b/package/consolekit/S35consolekit
new file mode 100755
index 0000000..000f719
--- /dev/null
+++ b/package/consolekit/S35consolekit
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Start the ConsoleKit....
+#
+
+case "$1" in
+ start)
+ echo "Starting ConsoleKit daemon..."
+ start-stop-daemon --start --pidfile /var/run/ConsoleKit/pid \
+ --exec /usr/sbin/console-kit-daemon --
+ ;;
+ stop)
+ echo -n "Stopping ConsoleKit daemon..."
+ start-stop-daemon --stop --pidfile /var/run/ConsoleKit/pid
+ ;;
+ restart|reload)
+ "$0" stop
+ "$0" start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
+
diff --git a/package/consolekit/consolekit-cleanup_console_tags.patch b/package/consolekit/consolekit-cleanup_console_tags.patch
new file mode 100644
index 0000000..27e9cc3
--- /dev/null
+++ b/package/consolekit/consolekit-cleanup_console_tags.patch
@@ -0,0 +1,72 @@
+http://bugs.gentoo.org/257761
+http://patches.ubuntu.com/by-release/extracted/ubuntu/c/consolekit/
+
+Upstream-Status: Pending
+URL: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/
+ sys-auth/consolekit/files/
+ console-cleanup_console_tags.patch
+
+--- ConsoleKit-0.4.5.org/src/main.c 2013-02-21 17:05:13.997353177 +0200
++++ ConsoleKit-0.4.5/src/main.c 2013-02-21 17:14:20.767844895 +0200
+@@ -148,6 +148,43 @@
+ unlink (CONSOLE_KIT_PID_FILE);
+ }
+
++#define CONSOLE_TAGS_DIR "/var/run/console"
++
++static void
++delete_console_tags (void)
++{
++ GDir *dir;
++ GError *error = NULL;
++ const gchar *name;
++
++ g_debug ("Cleaning up %s", CONSOLE_TAGS_DIR);
++
++ dir = g_dir_open (CONSOLE_TAGS_DIR, 0, &error);
++ if (dir == NULL) {
++ g_debug ("Couldn't open directory %s: %s", CONSOLE_TAGS_DIR,
++ error->message);
++ g_error_free (error);
++ return;
++ }
++ while ((name = g_dir_read_name (dir)) != NULL) {
++ gchar *file;
++ file = g_build_filename (CONSOLE_TAGS_DIR, name, NULL);
++
++ g_debug ("Removing tag file: %s", file);
++ if (unlink (file) == -1) {
++ g_warning ("Couldn't delete tag file: %s", file);
++ }
++ g_free (file);
++ }
++}
++
++static void
++cleanup (void)
++{
++ delete_console_tags ();
++ delete_pid ();
++}
++
+ /* copied from nautilus */
+ static int debug_log_pipes[2];
+
+@@ -228,7 +265,7 @@
+ snprintf (pid, sizeof (pid), "%lu\n", (long unsigned) getpid ());
+ written = write (pf, pid, strlen (pid));
+ close (pf);
+- g_atexit (delete_pid);
++ g_atexit (cleanup);
+ } else {
+ g_warning ("Unable to write pid file %s: %s",
+ CONSOLE_KIT_PID_FILE,
+@@ -317,6 +354,8 @@
+ goto out;
+ }
+
++ delete_console_tags ();
++
+ create_pid_file ();
+
+ loop = g_main_loop_new (NULL, FALSE);
diff --git a/package/consolekit/consolekit-polkit-automagic.patch b/package/consolekit/consolekit-polkit-automagic.patch
new file mode 100644
index 0000000..4100acd
--- /dev/null
+++ b/package/consolekit/consolekit-polkit-automagic.patch
@@ -0,0 +1,35 @@
+http://bugs.freedesktop.org/show_bug.cgi?id?47587
+
+Upstream-Status: Pending
+URL: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86
+ /sys-auth/consolekit/files/
+ consolekit-0.4.5-polit-automagic.patch
+
+--- ConsoleKit-0.4.5.org/configure.ac 2013-02-21 17:05:13.991352412 +0200
++++ ConsoleKit-0.4.5/configure.ac 2013-02-21 17:19:00.431388684 +0200
+@@ -55,10 +55,21 @@
+ gthread-2.0 >= $GLIB_REQUIRED_VERSION
+ )
+
+-PKG_CHECK_MODULES(POLKIT,
+- polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION,
+- have_polkit=yes,
+- have_polkit=no)
++AC_ARG_ENABLE([polkit],
++ AC_HELP_STRING([--enable-polkit], [Enable PolicyKit support (default auto)]),
++ enable_polkit=$enableval,
++ enable_polkit=auto)
++
++if test "x$enable_polkit" != "xno"; then
++ PKG_CHECK_MODULES(POLKIT,
++ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION,
++ have_polkit=yes,
++ have_polkit=no)
++ if test "x$enable_polkit" = "xyes" -a "x$have_polkit" = "xno"; then
++ AC_MSG_ERROR([PolicyKit support explicitly requested but dependencies not found])
++ fi
++fi
++
+ if test "x$have_polkit" = "xyes" ; then
+ AC_DEFINE(HAVE_POLKIT, [], [Define if we have polkit])
+ fi
diff --git a/package/consolekit/consolekit-shutdown-reboot-without-policies.patch b/package/consolekit/consolekit-shutdown-reboot-without-policies.patch
new file mode 100644
index 0000000..1d9bd8a
--- /dev/null
+++ b/package/consolekit/consolekit-shutdown-reboot-without-policies.patch
@@ -0,0 +1,31 @@
+From: Romain Perier <mrpouet@gentoo.org>
+Date: Sat, 24 Oct 2009 18:43:43 +0200
+Subject: [PATCH] Be able to shutdown or reboot even without polkit or RBAC
+supports
+
+Ck does NOTHING at the origin if its built without polkit or RBAC supports,
+except display a warning using g_warning() (which does not make sense).
+The trick is to to call do_stop()/do_restart() in the #else directive :)
+
+Upstream-Status: Pending
+URL: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86
+ /sys-auth/consolekit-shutdown-reboot-without-policies.patch
+
+--- ConsoleKit-0.4.5.org/src/ck-manager.c 2013-02-21 17:05:13.999353431 +0200
++++ ConsoleKit-0.4.5/src/ck-manager.c 2013-02-21 17:09:08.290130585 +0200
+@@ -1131,6 +1131,7 @@
+ check_rbac_permissions (manager, context, RBAC_SHUTDOWN_KEY, do_restart);
+ #else
+ g_warning ("Compiled without PolicyKit or RBAC support!");
++ do_restart(manager, context);
+ #endif
+
+ return TRUE;
+@@ -1207,6 +1208,7 @@
+ check_rbac_permissions (manager, context, RBAC_SHUTDOWN_KEY, do_stop);
+ #else
+ g_warning ("Compiled without PolicyKit or RBAC support!");
++ do_stop(manager, context);
+ #endif
+
+ return TRUE;
diff --git a/package/consolekit/consolekit.mk b/package/consolekit/consolekit.mk
new file mode 100644
index 0000000..25b552c
--- /dev/null
+++ b/package/consolekit/consolekit.mk
@@ -0,0 +1,40 @@
+#############################################################
+#
+# ConsoleKit
+#
+#############################################################
+
+CONSOLEKIT_VERSION = 0.4.5
+CONSOLEKIT_SOURCE = ConsoleKit-$(CONSOLEKIT_VERSION).tar.bz2
+CONSOLEKIT_SITE = http://www.freedesktop.org/software/ConsoleKit/dist
+CONSOLEKIT_DEPENDENCIES = dbus-glib libglib2 linux-pam polkit xlib_libX11 \
+ libxslt zlib
+CONSOLEKIT_INSTALL_STAGING = YES
+CONSOLEKIT_AUTORECONF = YES
+CONSOLEKIT_CONF_OPT += --disable-static --localstatedir=/var \
+ --libexecdir=/usr/lib/ConsoleKit \
+ --enable-pam-module --disable-udev-acl \
+ --with-dbus-services=/usr/share/dbus-1/services \
+ --with-pam-module-dir=/lib/security
+
+define CONSOLEKIT_POST_INSTALL
+ # Append ConsoleKit Pam Module Configuration stuff to system-session
+ cat package/consolekit/system-session >> \
+ $(TARGET_DIR)/etc/pam.d/system-session
+
+ # Helper script that creates a file in /var/run/console named as
+ # the currently logged in user and that contains the D-Bus address of
+ # the session
+ $(INSTALL) -m 755 -D package/consolekit/pam-foreground-compat.ck \
+ $(TARGET_DIR)/usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck
+
+
+ $(INSTALL) -D package/consolekit/90-consolekit $(TARGET_DIR)/etc/X11/xinit/xinitrc.d/90-consolekit
+
+ # We start right after dbus which is included as /etc/init.d/S30dbus in buildroot
+ $(INSTALL) -m 755 -D package/consolekit/S35consolekit $(TARGET_DIR)/etc/init.d/S35consolekit
+endef
+
+CONSOLEKIT_POST_INSTALL_TARGET_HOOKS += CONSOLEKIT_POST_INSTALL
+
+$(eval $(autotools-package))
diff --git a/package/consolekit/pam-foreground-compat.ck b/package/consolekit/pam-foreground-compat.ck
new file mode 100755
index 0000000..9688e87
--- /dev/null
+++ b/package/consolekit/pam-foreground-compat.ck
@@ -0,0 +1,18 @@
+#!/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/package/consolekit/system-session b/package/consolekit/system-session
new file mode 100644
index 0000000..3825efe
--- /dev/null
+++ b/package/consolekit/system-session
@@ -0,0 +1,6 @@
+# Begin ConsoleKit addition
+
+session optional pam_loginuid.so
+session optional pam_ck_connector.so nox11
+
+# End ConsoleKit addition
--
1.7.7.6
^ permalink raw reply related [flat|nested] 3+ messages in thread* [Buildroot] [PATCH] new package: consolekit
2013-02-21 17:33 [Buildroot] [PATCH] new package: consolekit Stefan Fröberg
@ 2013-02-21 21:21 ` Yann E. MORIN
2013-02-21 22:21 ` Stefan Fröberg
0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN @ 2013-02-21 21:21 UTC (permalink / raw)
To: buildroot
Stefan, All,
On Thursday 21 February 2013 Stefan Fr?berg wrote:
> ConsoleKit
^^^
Useless line.
> ConsoleKit is a framework for defining and tracking users,
> login sessions, and seats.
>
> Signed-off-by: Stefan Fr?berg <stefan.froberg@petroprogram.com>
[--SNIP--]
> diff --git a/package/consolekit/90-consolekit b/package/consolekit/90-consolekit
> new file mode 100644
> index 0000000..358fc24
> --- /dev/null
> +++ b/package/consolekit/90-consolekit
Did you author that file? If not, they please point to where you got it
from. If yes, say so. (In a comment in the file.)
[--SNIP--]
> diff --git a/package/consolekit/Config.in b/package/consolekit/Config.in
> new file mode 100644
> index 0000000..905dada
> --- /dev/null
> +++ b/package/consolekit/Config.in
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_CONSOLEKIT
> + bool "consolekit"
> + select BR2_PACKAGE_DBUS_GLIB
> + select BR2_PACKAGE_LIBGLIB2
You need to propagate the dbus-glib dependencies here:
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
depends on BR2_USE_MMU # dbus
select BR2_PACKAGE_DBUS_GLIB
depends on BR2_USE_WCHAR # glib2
I am not sure we want to do all of that. Maybe just add instead:
depend on BR2_PACKAGE_DBUS_GLIB
Peter, your opinion?
> + select BR2_PACKAGE_XLIB_LIBX11
And the xlib_libX11 dependencies too:
depends on BR2_PACKAGE_XORG7 # xlib_libX11
Note: for other patckages, we'd add a 'select BR2_PACKAGE_XORG7', but
as xorg is xonsidered a /huge/ package, we usualy use 'depends on' it.
> + select BR2_PACKAGE_LIBXSLT
> + select BR2_PACKAGE_LINUX_PAM
And dependencies of linux-pam:
depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
> + select BR2_PACKAGE_POLKIT
And add dependencies for polkit:
depends on BR2_USE_WCHAR # libglib2
[--SNIP--]
> diff --git a/package/consolekit/S35consolekit b/package/consolekit/S35consolekit
> new file mode 100755
> index 0000000..000f719
> --- /dev/null
> +++ b/package/consolekit/S35consolekit
Ditto: origin of this file?
> @@ -0,0 +1,26 @@
> +#!/bin/sh
> +#
> +# Start the ConsoleKit....
> +#
> +
> +case "$1" in
> + start)
> + echo "Starting ConsoleKit daemon..."
> + start-stop-daemon --start --pidfile /var/run/ConsoleKit/pid \
> + --exec /usr/sbin/console-kit-daemon --
> + ;;
> + stop)
> + echo -n "Stopping ConsoleKit daemon..."
> + start-stop-daemon --stop --pidfile /var/run/ConsoleKit/pid
> + ;;
> + restart|reload)
> + "$0" stop
> + "$0" start
> + ;;
> + *)
> + echo "Usage: $0 {start|stop|restart}"
> + exit 1
> +esac
> +
> +exit $?
Hu? Unneeded, the shell will always exit with the last command's
error-code.
(Well, we have S40network that does that, but it's useless).
> diff --git a/package/consolekit/consolekit-cleanup_console_tags.patch b/package/consolekit/consolekit-cleanup_console_tags.patch
> new file mode 100644
> index 0000000..27e9cc3
> --- /dev/null
> +++ b/package/consolekit/consolekit-cleanup_console_tags.patch
[--SNIP--]
For your patches, can't you use:
CONSOLEKIT_PATCHES = URL-of-patch-1 \
URL-of-patch-2 \
URL-of-patch-3
> diff --git a/package/consolekit/consolekit.mk b/package/consolekit/consolekit.mk
> new file mode 100644
> index 0000000..25b552c
> --- /dev/null
> +++ b/package/consolekit/consolekit.mk
> @@ -0,0 +1,40 @@
> +#############################################################
> +#
> +# ConsoleKit
> +#
> +#############################################################
> +
> +CONSOLEKIT_VERSION = 0.4.5
> +CONSOLEKIT_SOURCE = ConsoleKit-$(CONSOLEKIT_VERSION).tar.bz2
> +CONSOLEKIT_SITE = http://www.freedesktop.org/software/ConsoleKit/dist
> +CONSOLEKIT_DEPENDENCIES = dbus-glib libglib2 linux-pam polkit xlib_libX11 \
> + libxslt zlib
License ?
> +CONSOLEKIT_INSTALL_STAGING = YES
> +CONSOLEKIT_AUTORECONF = YES
> +CONSOLEKIT_CONF_OPT += --disable-static --localstatedir=/var \
> + --libexecdir=/usr/lib/ConsoleKit \
> + --enable-pam-module --disable-udev-acl \
> + --with-dbus-services=/usr/share/dbus-1/services \
> + --with-pam-module-dir=/lib/security
> +
> +define CONSOLEKIT_POST_INSTALL
Space-damage: use a single space between 'define' and the variable name,
not a tab.
> + # Append ConsoleKit Pam Module Configuration stuff to system-session
> + cat package/consolekit/system-session >> \
> + $(TARGET_DIR)/etc/pam.d/system-session
Indent with a secondleading tab on continuation lines, please.
> +
^^^
No leading-tab on blank lines.
> + # Helper script that creates a file in /var/run/console named as
> + # the currently logged in user and that contains the D-Bus address of
> + # the session
> + $(INSTALL) -m 755 -D package/consolekit/pam-foreground-compat.ck \
> + $(TARGET_DIR)/usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck
Ditto: further indent continuation lines.
> +
> +
One single separator line, please.
> + $(INSTALL) -D package/consolekit/90-consolekit $(TARGET_DIR)/etc/X11/xinit/xinitrc.d/90-consolekit
> +
> + # We start right after dbus which is included as /etc/init.d/S30dbus in buildroot
> + $(INSTALL) -m 755 -D package/consolekit/S35consolekit $(TARGET_DIR)/etc/init.d/S35consolekit
We have infrastructure to add startup scripts:
http://buildroot.net/downloads/manual/manual.html#generic-package-reference
Excerpt:
LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the
actions to install init scripts either for the systemV-like init
systems (busybox, sysvinit, etc.) or for the systemd units.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread* [Buildroot] [PATCH] new package: consolekit
2013-02-21 21:21 ` Yann E. MORIN
@ 2013-02-21 22:21 ` Stefan Fröberg
0 siblings, 0 replies; 3+ messages in thread
From: Stefan Fröberg @ 2013-02-21 22:21 UTC (permalink / raw)
To: buildroot
21.2.2013 23:21, Yann E. MORIN kirjoitti:
> Stefan, All,
>
> On Thursday 21 February 2013 Stefan Fr?berg wrote:
>> ConsoleKit
> ^^^
> Useless line.
Ok
>> ConsoleKit is a framework for defining and tracking users,
>> login sessions, and seats.
>>
>> Signed-off-by: Stefan Fr?berg <stefan.froberg@petroprogram.com>
> [--SNIP--]
>> diff --git a/package/consolekit/90-consolekit b/package/consolekit/90-consolekit
>> new file mode 100644
>> index 0000000..358fc24
>> --- /dev/null
>> +++ b/package/consolekit/90-consolekit
> Did you author that file? If not, they please point to where you got it
> from. If yes, say so. (In a comment in the file.)
Ok
> [--SNIP--]
>> diff --git a/package/consolekit/Config.in b/package/consolekit/Config.in
>> new file mode 100644
>> index 0000000..905dada
>> --- /dev/null
>> +++ b/package/consolekit/Config.in
>> @@ -0,0 +1,14 @@
>> +config BR2_PACKAGE_CONSOLEKIT
>> + bool "consolekit"
>> + select BR2_PACKAGE_DBUS_GLIB
>> + select BR2_PACKAGE_LIBGLIB2
> You need to propagate the dbus-glib dependencies here:
> depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
> depends on BR2_USE_MMU # dbus
> select BR2_PACKAGE_DBUS_GLIB
> depends on BR2_USE_WCHAR # glib2
>
> I am not sure we want to do all of that. Maybe just add instead:
> depend on BR2_PACKAGE_DBUS_GLIB
>
> Peter, your opinion?
>
>> + select BR2_PACKAGE_XLIB_LIBX11
> And the xlib_libX11 dependencies too:
> depends on BR2_PACKAGE_XORG7 # xlib_libX11
>
> Note: for other patckages, we'd add a 'select BR2_PACKAGE_XORG7', but
> as xorg is xonsidered a /huge/ package, we usualy use 'depends on' it.
So depend BR2_PACKAGE_DBUS_GLIB and depend BR2_PACKAGE_XORG7 ? Ok
>> + select BR2_PACKAGE_LIBXSLT
>> + select BR2_PACKAGE_LINUX_PAM
> And dependencies of linux-pam:
> depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
>
>> + select BR2_PACKAGE_POLKIT
> And add dependencies for polkit:
> depends on BR2_USE_WCHAR # libglib2
Ok
> [--SNIP--]
>> diff --git a/package/consolekit/S35consolekit b/package/consolekit/S35consolekit
>> new file mode 100755
>> index 0000000..000f719
>> --- /dev/null
>> +++ b/package/consolekit/S35consolekit
> Ditto: origin of this file?
Used buildroot S40network as template.
>> @@ -0,0 +1,26 @@
>> +#!/bin/sh
>> +#
>> +# Start the ConsoleKit....
>> +#
>> +
>> +case "$1" in
>> + start)
>> + echo "Starting ConsoleKit daemon..."
>> + start-stop-daemon --start --pidfile /var/run/ConsoleKit/pid \
>> + --exec /usr/sbin/console-kit-daemon --
>> + ;;
>> + stop)
>> + echo -n "Stopping ConsoleKit daemon..."
>> + start-stop-daemon --stop --pidfile /var/run/ConsoleKit/pid
>> + ;;
>> + restart|reload)
>> + "$0" stop
>> + "$0" start
>> + ;;
>> + *)
>> + echo "Usage: $0 {start|stop|restart}"
>> + exit 1
>> +esac
>> +
>> +exit $?
> Hu? Unneeded, the shell will always exit with the last command's
> error-code.
>
> (Well, we have S40network that does that, but it's useless).
>
>> diff --git a/package/consolekit/consolekit-cleanup_console_tags.patch b/package/consolekit/consolekit-cleanup_console_tags.patch
>> new file mode 100644
>> index 0000000..27e9cc3
>> --- /dev/null
>> +++ b/package/consolekit/consolekit-cleanup_console_tags.patch
> [--SNIP--]
>
> For your patches, can't you use:
> CONSOLEKIT_PATCHES = URL-of-patch-1 \
> URL-of-patch-2 \
> URL-of-patch-3
Nope, because those gentoo folks mix and match their patch level.
Sometimes they use -p1 but often also -p0 (which those patches
originally were if I remember)
And because buildroot only uses patch level -p1 all the way .....
>> diff --git a/package/consolekit/consolekit.mk b/package/consolekit/consolekit.mk
>> new file mode 100644
>> index 0000000..25b552c
>> --- /dev/null
>> +++ b/package/consolekit/consolekit.mk
>> @@ -0,0 +1,40 @@
>> +#############################################################
>> +#
>> +# ConsoleKit
>> +#
>> +#############################################################
>> +
>> +CONSOLEKIT_VERSION = 0.4.5
>> +CONSOLEKIT_SOURCE = ConsoleKit-$(CONSOLEKIT_VERSION).tar.bz2
>> +CONSOLEKIT_SITE = http://www.freedesktop.org/software/ConsoleKit/dist
>> +CONSOLEKIT_DEPENDENCIES = dbus-glib libglib2 linux-pam polkit xlib_libX11 \
>> + libxslt zlib
> License ?
>
>> +CONSOLEKIT_INSTALL_STAGING = YES
>> +CONSOLEKIT_AUTORECONF = YES
>> +CONSOLEKIT_CONF_OPT += --disable-static --localstatedir=/var \
>> + --libexecdir=/usr/lib/ConsoleKit \
>> + --enable-pam-module --disable-udev-acl \
>> + --with-dbus-services=/usr/share/dbus-1/services \
>> + --with-pam-module-dir=/lib/security
>> +
>> +define CONSOLEKIT_POST_INSTALL
> Space-damage: use a single space between 'define' and the variable name,
> not a tab.
>
>> + # Append ConsoleKit Pam Module Configuration stuff to system-session
>> + cat package/consolekit/system-session >> \
>> + $(TARGET_DIR)/etc/pam.d/system-session
> Indent with a secondleading tab on continuation lines, please.
>
>> +
> ^^^
> No leading-tab on blank lines.
>
>> + # Helper script that creates a file in /var/run/console named as
>> + # the currently logged in user and that contains the D-Bus address of
>> + # the session
>> + $(INSTALL) -m 755 -D package/consolekit/pam-foreground-compat.ck \
>> + $(TARGET_DIR)/usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck
> Ditto: further indent continuation lines.
>
>> +
>> +
> One single separator line, please.
>
>> + $(INSTALL) -D package/consolekit/90-consolekit $(TARGET_DIR)/etc/X11/xinit/xinitrc.d/90-consolekit
>> +
>> + # We start right after dbus which is included as /etc/init.d/S30dbus in buildroot
>> + $(INSTALL) -m 755 -D package/consolekit/S35consolekit $(TARGET_DIR)/etc/init.d/S35consolekit
> We have infrastructure to add startup scripts:
> http://buildroot.net/downloads/manual/manual.html#generic-package-reference
>
> Excerpt:
> LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the
> actions to install init scripts either for the systemV-like init
> systems (busybox, sysvinit, etc.) or for the systemd units.
Ok
> Regards,
> Yann E. MORIN.
>
Thanks!
Stefan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-02-21 22:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-21 17:33 [Buildroot] [PATCH] new package: consolekit Stefan Fröberg
2013-02-21 21:21 ` Yann E. MORIN
2013-02-21 22:21 ` Stefan Fröberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox