* [meta-oe][PATCH] smolkit: Add low-footprint drop-in replacement for polkit
@ 2026-09-14 12:29 Tillmann Severin
2026-09-15 13:29 ` [oe] " Ross Burton
0 siblings, 1 reply; 3+ messages in thread
From: Tillmann Severin @ 2026-09-14 12:29 UTC (permalink / raw)
To: openembedded-devel; +Cc: Tillmann Severin
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
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}"
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [oe] [meta-oe][PATCH] smolkit: Add low-footprint drop-in replacement for polkit
2026-09-14 12:29 [meta-oe][PATCH] smolkit: Add low-footprint drop-in replacement for polkit Tillmann Severin
@ 2026-09-15 13:29 ` Ross Burton
2026-09-17 5:44 ` Severin Tillmann, DE-862
0 siblings, 1 reply; 3+ messages in thread
From: Ross Burton @ 2026-09-15 13:29 UTC (permalink / raw)
To: Tillmann.Severin@bmw.de; +Cc: openembedded-devel@lists.openembedded.org
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [meta-oe][PATCH] smolkit: Add low-footprint drop-in replacement for polkit
2026-09-15 13:29 ` [oe] " Ross Burton
@ 2026-09-17 5:44 ` Severin Tillmann, DE-862
0 siblings, 0 replies; 3+ messages in thread
From: Severin Tillmann, DE-862 @ 2026-09-17 5:44 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 2042 bytes --]
Hi Ross,
thanks a lot for your feedback!
On Tue, Sep 15, 2026 at 06:30 AM, Ross Burton wrote:
>
> 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?
You are of course right, smolkit is not a complete drop-in replacement (yet), it is only a drop-in replacement for a certain subset of polkit's interface, I will try to rephrase that in the next version of the patch. smolkit does not provide any helper tools like e.g. `pkexec` and also does not implement the whole featureset that polkit has. This might lead to issues if other recipes expect tools, libraries or other features polkit provides, but smolkit does not provide. Do you think it nevertheless makes sense to switch to a PROVIDES based approach here? I have checked that the build succeeds also with `PROVIDES` and `PREFERRED_PROVIDER_polkit = "smolkit"`, so it should not make a big difference, I am just worried regarding expectations from other recipes. I would send a patch v2 once it is decided which way to go.
>
>
>
>> +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…
Tags are now present on the upstream repository.
>
>
>> +S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"
>
> You can drop this line.
>
> Finally, I absolutely love the name.
>
> Ross
I will drop the line in the next version and am happy that you like the name ;-)
Best regards,
Tillmann
[-- Attachment #2: Type: text/html, Size: 2271 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-17 5:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14 12:29 [meta-oe][PATCH] smolkit: Add low-footprint drop-in replacement for polkit Tillmann Severin
2026-09-15 13:29 ` [oe] " Ross Burton
2026-09-17 5:44 ` Severin Tillmann, DE-862
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.