Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0
@ 2026-10-24 16:10 Khem Raj
  2026-10-24 16:10 ` [PATCH 2/3] pulseaudio: Drop x11 requirement for consolekit RDEPENDS Khem Raj
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Khem Raj @ 2026-10-24 16:10 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

From: Khem Raj <khem.raj@oss.qualcomm.com>

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 <khem.raj@oss.qualcomm.com>
---
 .../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}
+}

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] pulseaudio: Drop x11 requirement for consolekit RDEPENDS
  2026-10-24 16:10 [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Khem Raj
@ 2026-10-24 16:10 ` Khem Raj
  2026-10-24 16:10 ` [PATCH 3/3] piglit: Fix build with glibc 2.43+ and clang Khem Raj
  2026-10-28 10:39 ` [OE-core] [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Ross Burton
  2 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2026-10-24 16:10 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

From: Khem Raj <khem.raj@oss.qualcomm.com>

ConsoleKit2 no longer requires X11, so pulseaudio-module-console-kit
can pull in consolekit on any sysvinit distro.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index c7690d0e18..28b8826946 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -274,8 +274,7 @@ RDEPENDS:pulseaudio-server = " \
 RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
 
 # pulseaudio-module-console-kit is built whenever dbus is enabled by PACKAGECONFIG
-# but consolekit depends on libx11 and is available only for DISTRO with x11 in DISTRO_FEATURES
-RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '', d)}"
+RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'consolekit', '', d)}"
 RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
 
 FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] piglit: Fix build with glibc 2.43+ and clang
  2026-10-24 16:10 [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Khem Raj
  2026-10-24 16:10 ` [PATCH 2/3] pulseaudio: Drop x11 requirement for consolekit RDEPENDS Khem Raj
@ 2026-10-24 16:10 ` Khem Raj
  2026-10-28 10:39 ` [OE-core] [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Ross Burton
  2 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2026-10-24 16:10 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

From: Khem Raj <khem.raj@oss.qualcomm.com>

shader_runner assigns the result of strchr() on a const string to a
non-const pointer, which clang rejects now that glibc's strchr()
preserves const. Add a patch to declare the pointer const.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
 ...ader_runner-Keep-strchr-result-const.patch | 31 +++++++++++++++++++
 meta/recipes-graphics/piglit/piglit_git.bb    |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 meta/recipes-graphics/piglit/piglit/0001-shader_runner-Keep-strchr-result-const.patch

diff --git a/meta/recipes-graphics/piglit/piglit/0001-shader_runner-Keep-strchr-result-const.patch b/meta/recipes-graphics/piglit/piglit/0001-shader_runner-Keep-strchr-result-const.patch
new file mode 100644
index 0000000000..3e1a579691
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0001-shader_runner-Keep-strchr-result-const.patch
@@ -0,0 +1,31 @@
+From: Khem Raj <khem.raj@oss.qualcomm.com>
+Date: Sat, 24 Oct 2026 10:00:00 -0700
+Subject: [PATCH] shader_runner: Keep strchr() result const
+
+The include path parsing walks a const char cursor and stores the
+result of strchr() in a plain char pointer. Since glibc 2.43, strchr()
+preserves the const qualifier of its argument when C23 features are
+enabled, which _GNU_SOURCE does, so clang fails the build:
+
+  tests/shaders/shader_runner.c:1665:10: error: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
+
+line_end is only read, so declare it const.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/1281]
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
+---
+ tests/shaders/shader_runner.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
+--- a/tests/shaders/shader_runner.c
++++ b/tests/shaders/shader_runner.c
+@@ -1662,7 +1662,7 @@ leave_state(enum states state, const char *line, const char *script_name)
+ 
+ 		cursor = shader_string;
+ 		for (unsigned i = 0; i < num_shader_include_paths; i++) {
+-			char *line_end = strchr(cursor, '\n');
++			const char *line_end = strchr(cursor, '\n');
+ 			unsigned path_len = line_end - cursor - 1;
+ 			char *path = malloc(path_len + 1);
+ 			path[path_len] = '\0';
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 8f02496b4f..9fe29c8192 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -11,6 +11,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma
            file://0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
            file://0001-CMakeLists.txt-do-not-obtain-wayland-scanner-path-fr.patch \
            file://0001-tests-no_error.py-modify-_command-and-not-command.patch \
+           file://0001-shader_runner-Keep-strchr-result-const.patch \
            "
 UPSTREAM_CHECK_COMMITS = "1"
 

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0
  2026-10-24 16:10 [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Khem Raj
  2026-10-24 16:10 ` [PATCH 2/3] pulseaudio: Drop x11 requirement for consolekit RDEPENDS Khem Raj
  2026-10-24 16:10 ` [PATCH 3/3] piglit: Fix build with glibc 2.43+ and clang Khem Raj
@ 2026-10-28 10:39 ` Ross Burton
  2026-10-28 14:21   ` Khem Raj
  2 siblings, 1 reply; 5+ messages in thread
From: Ross Burton @ 2026-10-28 10:39 UTC (permalink / raw)
  To: raj.khem@gmail.com; +Cc: openembedded-core@lists.openembedded.org

On 24 Oct 2026, at 17:10, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote:
> 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.

This makes me worry about switching consolekit -> consolekit2 in the same recipe. There are a number of recipes in oe-core and meta-oe that depend on consolekit so might be impacted, have these been reviewed:

- pulseaudio
- networkmanager
- polkit
- lxdm
- xfce4-power-manager

Ross

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0
  2026-10-28 10:39 ` [OE-core] [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Ross Burton
@ 2026-10-28 14:21   ` Khem Raj
  0 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2026-10-28 14:21 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core@lists.openembedded.org

[-- Attachment #1: Type: text/plain, Size: 838 bytes --]

On Wed, Oct 28, 2026 at 3:40 AM Ross Burton <Ross.Burton@arm.com> wrote:

> On 24 Oct 2026, at 17:10, Khem Raj via lists.openembedded.org <raj.khem=
> gmail.com@lists.openembedded.org> wrote:
> > 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.
>
> This makes me worry about switching consolekit -> consolekit2 in the same
> recipe. There are a number of recipes in oe-core and meta-oe that depend on
> consolekit so might be impacted, have these been reviewed:
>
> - pulseaudio
> - networkmanager
> - polkit
> - lxdm
> - xfce4-power-manager
>

I have patches for polkit and networkmanager, others did not show any
problems, ptests worked where applicable
and XFCE image came up on qemu as well.


>
> Ross

[-- Attachment #2: Type: text/html, Size: 1518 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-28 14:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-24 16:10 [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Khem Raj
2026-10-24 16:10 ` [PATCH 2/3] pulseaudio: Drop x11 requirement for consolekit RDEPENDS Khem Raj
2026-10-24 16:10 ` [PATCH 3/3] piglit: Fix build with glibc 2.43+ and clang Khem Raj
2026-10-28 10:39 ` [OE-core] [PATCH 1/3] consolekit: Upgrade to ConsoleKit2 2.0.0 Ross Burton
2026-10-28 14:21   ` Khem Raj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox