diff options
Diffstat (limited to 'sys-auth')
6 files changed, 268 insertions, 1 deletions
diff --git a/sys-auth/consolekit/ChangeLog b/sys-auth/consolekit/ChangeLog index ba637750538c..2f376b71d94e 100644 --- a/sys-auth/consolekit/ChangeLog +++ b/sys-auth/consolekit/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-auth/consolekit # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-auth/consolekit/ChangeLog,v 1.119 2012/05/09 01:01:15 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-auth/consolekit/ChangeLog,v 1.120 2012/05/14 12:53:19 ssuominen Exp $ + +*consolekit-0.4.5_p20120320 (14 May 2012) + + 14 May 2012; Samuli Suominen <ssuominen@gentoo.org> + +consolekit-0.4.5_p20120320.ebuild, + +files/consolekit-0.4.5-polkit-automagic.patch, + +files/consolekit-cleanup_console_tags.patch, + +files/consolekit-shutdown-reboot-without-policies.patch, + +files/consolekit-udev-acl-install_to_usr.patch: + Use snapshot from upstream git to clean up patchset. 09 May 2012; Alexis Ballier <aballier@gentoo.org> consolekit-0.4.5-r3.ebuild: keyword ~amd64-fbsd diff --git a/sys-auth/consolekit/consolekit-0.4.5_p20120320.ebuild b/sys-auth/consolekit/consolekit-0.4.5_p20120320.ebuild new file mode 100644 index 000000000000..caa8dcdfb0fc --- /dev/null +++ b/sys-auth/consolekit/consolekit-0.4.5_p20120320.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-auth/consolekit/consolekit-0.4.5_p20120320.ebuild,v 1.1 2012/05/14 12:53:19 ssuominen Exp $ + +EAPI=4 +inherit autotools eutils linux-info pam systemd + +MY_PN=ConsoleKit +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Framework for defining and tracking users, login sessions and seats." +HOMEPAGE="http://www.freedesktop.org/wiki/Software/ConsoleKit" + +if [[ ${PV} = *p20* ]]; then + SRC_URI="http://dev.gentoo.org/~ssuominen/${MY_P}.tar.xz" +else + SRC_URI="http://www.freedesktop.org/software/${MY_PN}/dist/${MY_P}.tar.bz2" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sh ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux" +IUSE="acl debug doc kernel_linux pam policykit test" + +RDEPEND=">=dev-libs/dbus-glib-0.98 + >=dev-libs/glib-2.22 + sys-libs/zlib + x11-libs/libX11 + acl? ( + sys-apps/acl + sys-apps/coreutils[acl] + >=sys-fs/udev-171-r5 + !<sys-fs/udev-182[acl] + ) + pam? ( virtual/pam ) + policykit? ( >=sys-auth/polkit-0.104-r1 )" +DEPEND="${RDEPEND} + dev-libs/libxslt + virtual/pkgconfig + doc? ( app-text/xmlto ) + test? ( app-text/docbook-xml-dtd:4.1.2 )" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + if use kernel_linux; then + # This is from http://bugs.gentoo.org/376939 + use acl && CONFIG_CHECK="~TMPFS_POSIX_ACL" + # This is required to get login-session-id string with pam_ck_connector.so + use pam && CONFIG_CHECK+=" ~AUDITSYSCALL" + linux-info_pkg_setup + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-cleanup_console_tags.patch \ + "${FILESDIR}"/${PN}-shutdown-reboot-without-policies.patch \ + "${FILESDIR}"/${PN}-udev-acl-install_to_usr.patch \ + "${FILESDIR}"/${PN}-0.4.5-polkit-automagic.patch + + eautoreconf +} + +src_configure() { + local myconf + [[ ${PV} = *p20* ]] && myconf='--enable-maintainer-mode' + + + econf \ + XMLTO_FLAGS="--skip-validation" \ + --localstatedir="${EPREFIX}"/var \ + $(use_enable pam pam-module) \ + $(use_enable doc docbook-docs) \ + $(use_enable debug) \ + $(use_enable policykit polkit) \ + $(use_enable acl udev-acl) \ + --with-dbus-services="${EPREFIX}"/usr/share/dbus-1/services \ + --with-pam-module-dir=$(getpam_mod_dir) \ + "$(systemd_with_unitdir)" \ + ${myconf} +} + +src_install() { + emake \ + DESTDIR="${D}" \ + htmldocdir="${EPREFIX}"/usr/share/doc/${PF}/html \ + install + + dodoc AUTHORS HACKING NEWS README TODO + + newinitd "${FILESDIR}"/${PN}-0.2.rc consolekit + + keepdir /usr/lib/ConsoleKit/run-seat.d + keepdir /usr/lib/ConsoleKit/run-session.d + keepdir /etc/ConsoleKit/run-session.d + keepdir /var/log/ConsoleKit + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/90-consolekit-3 90-consolekit + + exeinto /usr/lib/ConsoleKit/run-session.d + doexe "${FILESDIR}"/pam-foreground-compat.ck + + find "${ED}" -name '*.la' -exec rm -f {} + +} diff --git a/sys-auth/consolekit/files/consolekit-0.4.5-polkit-automagic.patch b/sys-auth/consolekit/files/consolekit-0.4.5-polkit-automagic.patch new file mode 100644 index 000000000000..b896089d4485 --- /dev/null +++ b/sys-auth/consolekit/files/consolekit-0.4.5-polkit-automagic.patch @@ -0,0 +1,30 @@ +http://bugs.freedesktop.org/show_bug.cgi?id=47587 + +--- configure.ac ++++ configure.ac +@@ -56,10 +56,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/sys-auth/consolekit/files/consolekit-cleanup_console_tags.patch b/sys-auth/consolekit/files/consolekit-cleanup_console_tags.patch new file mode 100644 index 000000000000..c02411ebded5 --- /dev/null +++ b/sys-auth/consolekit/files/consolekit-cleanup_console_tags.patch @@ -0,0 +1,67 @@ +http://bugs.gentoo.org/257761 +http://patches.ubuntu.com/by-release/extracted/ubuntu/c/consolekit/ + +--- src/main.c ++++ src/main.c +@@ -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/sys-auth/consolekit/files/consolekit-shutdown-reboot-without-policies.patch b/sys-auth/consolekit/files/consolekit-shutdown-reboot-without-policies.patch new file mode 100644 index 000000000000..6a46649f7587 --- /dev/null +++ b/sys-auth/consolekit/files/consolekit-shutdown-reboot-without-policies.patch @@ -0,0 +1,26 @@ +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 :) + +--- src/ck-manager.c ++++ src/ck-manager.c +@@ -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/sys-auth/consolekit/files/consolekit-udev-acl-install_to_usr.patch b/sys-auth/consolekit/files/consolekit-udev-acl-install_to_usr.patch new file mode 100644 index 000000000000..3ef39873dbd6 --- /dev/null +++ b/sys-auth/consolekit/files/consolekit-udev-acl-install_to_usr.patch @@ -0,0 +1,28 @@ +http://bugs.gentoo.org/398049 + +--- tools/Makefile.am ++++ tools/Makefile.am +@@ -144,11 +144,10 @@ + $(NULL) + + if ENABLE_UDEV_ACL +-udevdir = $(UDEVDIR) + udevrulesdir = $(UDEVDIR)/rules.d + + dist_udevrules_DATA = 70-udev-acl.rules +-udev_PROGRAMS = udev-acl ++libexec_PROGRAMS = udev-acl + + udev_acl_SOURCES = udev-acl.c + udev_acl_LDADD = $(UDEV_ACL_LIBS) +@@ -156,7 +155,9 @@ + + install-exec-hook: + mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d +- ln -sf $(UDEVDIR)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck ++ mkdir -p $(DESTDIR)$(UDEVDIR) ++ ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck ++ ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(UDEVDIR)/udev-acl + endif + + EXTRA_DIST = \ |