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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to