From: Khem Raj <[email protected]> ConsoleKit is unmaintained since 0.4.6 (2011); ConsoleKit2 is the maintained fork used by FreeBSD and others. Keep the recipe name so existing consumers continue to work.
* Use git fetcher, upstream does not publish release tarballs * Drop add-polkit-configure-argument.patch, polkit support is now selectable via --enable/--disable-polkit * Refresh sepbuildfix.patch * X11 is now optional, so drop REQUIRED_DISTRO_FEATURES = "x11" and add an x11 PACKAGECONFIG * Add explicit PACKAGECONFIGs for automagic dependencies (selinux, udev/libdrm, libevdev, udev-acl) and disable cgmanager * AC_CONFIG_AUX_DIR is autotools/, point AUTOTOOLS_AUXDIR there so config.rpath is found * Pre-seed AC_CHECK_FILE result for /sys/class/tty/tty0/active * Drop -Wno-error=incompatible-pointer-types, no longer needed Note that 2.0.0 changes session and seat IDs on D-Bus from object paths to bare IDs, which needs a matching fix in polkit's ConsoleKit backend. https://github.com/ConsoleKit2/ConsoleKit2/releases/tag/2.0.0 Signed-off-by: Khem Raj <[email protected]> --- .../add-polkit-configure-argument.patch | 33 ---------- .../consolekit/consolekit/sepbuildfix.patch | 18 ++--- .../consolekit/consolekit_0.4.6.bb | 53 --------------- .../consolekit/consolekit_2.0.0.bb | 66 +++++++++++++++++++ 4 files changed, 76 insertions(+), 94 deletions(-) delete mode 100644 meta/recipes-support/consolekit/consolekit/add-polkit-configure-argument.patch delete mode 100644 meta/recipes-support/consolekit/consolekit_0.4.6.bb create mode 100644 meta/recipes-support/consolekit/consolekit_2.0.0.bb diff --git a/meta/recipes-support/consolekit/consolekit/add-polkit-configure-argument.patch b/meta/recipes-support/consolekit/consolekit/add-polkit-configure-argument.patch deleted file mode 100644 index ad879d466b..0000000000 --- a/meta/recipes-support/consolekit/consolekit/add-polkit-configure-argument.patch +++ /dev/null @@ -1,33 +0,0 @@ -Upstream-Status: Pending - ---- ConsoleKit-0.4.6.orig/configure.ac -+++ ConsoleKit-0.4.6/configure.ac -@@ -56,10 +56,24 @@ PKG_CHECK_MODULES(CONSOLE_KIT, - gthread-2.0 >= $GLIB_REQUIRED_VERSION - ) - --PKG_CHECK_MODULES(POLKIT, -- polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION, -- have_polkit=yes, -- have_polkit=no) -+AC_ARG_WITH([polkit], -+ [AS_HELP_STRING([--with-polkit], -+ [support PolicyKit @<:@default=check@:>@])], -+ [], -+ [with_polkit=check]) -+ -+AS_IF([test "x$with_polkit" != xno], -+ [PKG_CHECK_MODULES(POLKIT, -+ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION, -+ have_polkit=yes, -+ [if test "x$with_polkit" != xcheck; then -+ AC_MSG_FAILURE( -+ [--with-polkit was given, but test for polkit failed]) -+ else -+ have_polkit=no -+ fi -+ ])]) -+ - if test "x$have_polkit" = "xyes" ; then - AC_DEFINE(HAVE_POLKIT, [], [Define if we have polkit]) - fi diff --git a/meta/recipes-support/consolekit/consolekit/sepbuildfix.patch b/meta/recipes-support/consolekit/consolekit/sepbuildfix.patch index f2f9b9c682..21b1eaad8a 100644 --- a/meta/recipes-support/consolekit/consolekit/sepbuildfix.patch +++ b/meta/recipes-support/consolekit/consolekit/sepbuildfix.patch @@ -1,16 +1,18 @@ -Fix builds in the case of seprate source from the build directory. +Fix builds in the case of separate source from the build directory. RP 2013/4/17 Upstream-Status: Pending - -Index: pam-ck-connector/Makefile.am -=================================================================== ---- consolekit/pam-ck-connector.orig/Makefile.am 2010-09-03 13:54:31.000000000 +0000 -+++ consolekit/pam-ck-connector/Makefile.am 2013-04-17 09:06:49.093524918 +0000 -@@ -4,7 +4,7 @@ +--- + pam-ck-connector/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/pam-ck-connector/Makefile.am b/pam-ck-connector/Makefile.am +index 7778d16..9b960a7 100644 +--- a/pam-ck-connector/Makefile.am ++++ b/pam-ck-connector/Makefile.am +@@ -4,7 +4,7 @@ if ENABLE_PAM_MODULE - INCLUDES = \ + AM_CFLAGS = \ $(LIBDBUS_CFLAGS) \ - -I$(top_builddir)/libck-connector \ + -I$(top_srcdir)/libck-connector \ diff --git a/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/meta/recipes-support/consolekit/consolekit_0.4.6.bb deleted file mode 100644 index acef3483bb..0000000000 --- a/meta/recipes-support/consolekit/consolekit_0.4.6.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Framework for defining and tracking users, login sessions, and seats" -DESCRIPTION = "It provides a mechanism for software to react to changes \ -of any of these items or of any of the metadata associated with them." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ConsoleKit" -BUGTRACKER = "https://bugs.freedesktop.org/buglist.cgi?query_format=specific&product=ConsoleKit" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://src/main.c;endline=21;md5=0a994e09769780220163255d8f9071c3" - -DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib virtual/libx11" -RDEPENDS:${PN} += "base-files" - -inherit autotools pkgconfig features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-${PV}.tar.xz \ - file://sepbuildfix.patch \ - file://add-polkit-configure-argument.patch \ -" - -SRC_URI[sha256sum] = "b41d17e06f80059589fbeefe96ad07bcc564c49e65516da1caf975146475565c" - -S = "${UNPACKDIR}/ConsoleKit-${PV}" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit', d)}" - -PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/security,--disable-pam-module,libpam" -PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/,--with-systemdsystemunitdir=" - -# Fails to build with GCC14 with incompatible pointer error warning being treated as error -CFLAGS += "-Wno-error=incompatible-pointer-types" - -FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \ - ${libdir}/ConsoleKit ${systemd_unitdir} ${base_libdir} \ - ${datadir}/dbus-1 ${datadir}/PolicyKit ${datadir}/polkit*" - -PACKAGES =+ "pam-plugin-ck-connector" -FILES:pam-plugin-ck-connector += "${base_libdir}/security/*.so" -RDEPENDS:pam-plugin-ck-connector += "${PN}" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/log/ConsoleKit - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/consolekit.conf - fi - - # Remove /var/ directories as the daemon creates them as required - rm -rf ${D}${localstatedir} -} diff --git a/meta/recipes-support/consolekit/consolekit_2.0.0.bb b/meta/recipes-support/consolekit/consolekit_2.0.0.bb new file mode 100644 index 0000000000..05207f9db3 --- /dev/null +++ b/meta/recipes-support/consolekit/consolekit_2.0.0.bb @@ -0,0 +1,66 @@ +SUMMARY = "Framework for defining and tracking users, login sessions, and seats" +DESCRIPTION = "ConsoleKit2 provides a mechanism for software to react to changes \ +of any of these items or of any of the metadata associated with them." +HOMEPAGE = "https://github.com/ConsoleKit2/ConsoleKit2" +BUGTRACKER = "https://github.com/ConsoleKit2/ConsoleKit2/issues" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://src/main.c;endline=19;md5=c343c20c262ac4b97f0ab08665f3058d" + +DEPENDS = "glib-2.0 glib-2.0-native dbus zlib" +RDEPENDS:${PN} += "base-files" + +inherit autotools pkgconfig gettext gobject-introspection gtk-doc + +SRC_URI = "git://github.com/ConsoleKit2/ConsoleKit2.git;protocol=https;branch=master;tag=${PV} \ + file://sepbuildfix.patch \ +" +SRCREV = "cbaab28b42a9126448edd093a68e1f8ea6930982" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit selinux x11', d)} udev" + +PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/security,--disable-pam-module,libpam" +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/,--without-systemdsystemunitdir" +PACKAGECONFIG[selinux] = "--enable-libselinux,--disable-libselinux,libselinux" +# udev backend for device management with a session controller needs both libudev and libdrm +PACKAGECONFIG[udev] = "--enable-libudev --enable-libdrm,--disable-libudev --disable-libdrm,udev libdrm" +PACKAGECONFIG[evdev] = "--enable-libevdev,--disable-libevdev,libevdev" +PACKAGECONFIG[udev-acl] = "--enable-udev-acl,--disable-udev-acl,udev acl" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11" + +AUTOTOOLS_AUXDIR = "${S}/autotools" + +do_configure:prepend() { + mkdir -p ${AUTOTOOLS_AUXDIR} +} + +# AC_CHECK_FILE cannot be used when cross compiling, all supported kernels +# provide VT change signalling via sysfs +CACHED_CONFIGUREVARS += "ac_cv_file__sys_class_tty_tty0_active=yes" + +EXTRA_OECONF = "--disable-libcgmanager \ + --disable-docbook-docs \ + --disable-tests \ +" + +FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \ + ${libdir}/ConsoleKit ${systemd_unitdir} ${base_libdir} \ + ${datadir}/dbus-1 ${datadir}/polkit-1 \ + ${sysconfdir}/X11/xinit/xinitrc.d" + +PACKAGES =+ "pam-plugin-ck-connector" +FILES:pam-plugin-ck-connector += "${base_libdir}/security/*.so" +RDEPENDS:pam-plugin-ck-connector += "${PN}" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/ConsoleKit - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/consolekit.conf + fi + + # Remove /var/ directories as the daemon creates them as required + rm -rf ${D}${localstatedir} +}
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#248594): https://lists.openembedded.org/g/openembedded-core/message/248594 Mute This Topic: https://lists.openembedded.org/mt/121917109/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
