diff mbox series

[meta-oe] smolkit: Add low-footprint drop-in replacement for polkit

Message ID 20260914122927.87418-1-tillmann.severin@bmw.de
State Under Review
Headers show
Series [meta-oe] smolkit: Add low-footprint drop-in replacement for polkit | expand

Commit Message

Tillmann Severin Sept. 14, 2026, 12:29 p.m. UTC
smolkit is a drop-in replacement for a subset of
polkit's interface, which is low-footprint in the
sense of not needing to have a javascript engine
available to do its job. polkit has this disadvantage
and even with a small javascript engine like duktape,
it is not worth to have turing-complete configuration
where you could also use static JSON on some embedded
devices.

Signed-off-by: Tillmann Severin <tillmann.severin@bmw.de>
---
 meta-oe/recipes-extended/smolkit/smolkit.bb | 27 +++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 meta-oe/recipes-extended/smolkit/smolkit.bb

Comments

Ross Burton Sept. 15, 2026, 1:29 p.m. UTC | #1
On 14 Sep 2026, at 13:29, Severin Tillmann, DE-862 via lists.openembedded.org <Tillmann.Severin=bmw.de@lists.openembedded.org> wrote:
> +CONFLICT_DISTRO_FEATURES = "polkit"
> +REQUIRED_DISTRO_FEATURES = "smolkit"

This makes the claim of “drop-in replacement” suspicious, because it would mean every recipe that currently depends on polkit and respects the polkit DISTRO_FEATURE needs to be modified.

Could smolkit not PROVIDE polkit, so the distro can just switch the preferred provider and everything just works?

> +PV = "0.2+git"
> +
> +SRC_URI = "\
> +    git://github.com/bmwcarit/${BPN}.git;protocol=https;branch=main \
> +"
> +SRCREV = "46bbfd5c922a8d03a534398ee129ded822dfcafe"

I notice a lack of tags upstream…

> +S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"

You can drop this line.

Finally, I absolutely love the name.

Ross
diff mbox series

Patch

diff --git a/meta-oe/recipes-extended/smolkit/smolkit.bb b/meta-oe/recipes-extended/smolkit/smolkit.bb
new file mode 100644
index 0000000000..4bd5f8d03f
--- /dev/null
+++ b/meta-oe/recipes-extended/smolkit/smolkit.bb
@@ -0,0 +1,27 @@ 
+SUMMARY = "low-footprint drop-in polkit replacement"
+HOMEPAGE = "https://github.com/bmwcarit/smolkit"
+DESCRIPTION = "\
+  Service that implements a subset of polkit's D-Bus interface with a static configuration language. \
+"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit cmake features_check pkgconfig
+
+DEPENDS = "\
+  rapidjson \
+  sdbus-c++ \
+"
+
+CONFLICT_DISTRO_FEATURES = "polkit"
+REQUIRED_DISTRO_FEATURES = "smolkit"
+
+PV = "0.2+git"
+
+SRC_URI = "\
+    git://github.com/bmwcarit/${BPN}.git;protocol=https;branch=main \
+"
+SRCREV = "46bbfd5c922a8d03a534398ee129ded822dfcafe"
+
+S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"