summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Schneider <johannes.schneider@leica-geosystems.com>2025-06-21 22:46:28 +0200
committerKhem Raj <raj.khem@gmail.com>2025-06-25 06:44:54 -0700
commite9430c91fac0dee0a6f0467958ddd491a60a6064 (patch)
tree666a927cedb0b3998a16adb687c9d4bee2f74e36
parent5c6cc78fab0a0a99aeeeb2dd6b862d76a236eba9 (diff)
downloadmeta-openembedded-e9430c91fac0dee0a6f0467958ddd491a60a6064.tar.gz
systemd: add recipe for systemd-repart-native 257.6
Add a recipe to build systemd-repart-native. The chosen version is a relatively recent one, to support: 1) PKCS#11 uris [1] to pass in the private key when creating a discoverable disk image (asĀ·--private-key-source). 2) setting Compression=/CompressionLevel= in the configuration [2], which is then passed over to a (recent version of) mkfs.erofs The recipe was adapted from an incomplete 'systemd-tools' patch [3] that is floating upstream. Link: [1]: https://github.com/systemd/systemd/commit/0a8264080a5d4b5e13e65eed80ac98a476f7fe43 Link: [2]: https://github.com/systemd/systemd/commit/27cacec939a46f61706d7b48a51b6f5880be4662 Link: [3]: https://lists.openembedded.org/g/openembedded-core/topic/108223984#msg204065 Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb59
1 files changed, 59 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb b/meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb
new file mode 100644
index 0000000000..15b60af02e
--- /dev/null
+++ b/meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb
@@ -0,0 +1,59 @@
1# SPDX-License-Identifier: MIT
2#
3# Copyright Leica Geosystems AG
4#
5
6SUMMARY = "systemd-repart"
7DESCRIPTION = "systemd-repart grows and adds partitions to a partition table, based on the configuration files described in repart.d(5), or generates a Discoverable Disk Image (DDI) for a system extension (sysext, see systemd-sysext(8))."
8HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd"
9
10LICENSE = "GPL-2.0-only & LGPL-2.1-or-later"
11LICENSE:libsystemd = "LGPL-2.1-or-later"
12LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
13 file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
14
15SRCREV = "00a12c234e2506f5cab683460199575f13c454db"
16SRCBRANCH = "v257-stable"
17SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH}"
18
19S = "${WORKDIR}/git"
20
21DEPENDS = " \
22 cryptsetup-native \
23 gperf-native \
24 libcap \
25 python3-jinja2-native \
26 util-linux \
27"
28
29inherit meson pkgconfig gettext native
30
31MESON_TARGET = "systemd-repart"
32
33# Helper variables to clarify locations. This mirrors the logic in systemd's
34# build system.
35rootprefix ?= "${root_prefix}"
36rootlibdir ?= "${base_libdir}"
37rootlibexecdir = "${rootprefix}/lib"
38
39EXTRA_OEMESON += "-Dnobody-user=nobody \
40 -Dnobody-group=nogroup \
41 -Drootlibdir=${rootlibdir} \
42 -Drootprefix=${rootprefix} \
43 -Ddefault-locale=C \
44 -Dmode=release \
45 -Dsystem-alloc-uid-min=101 \
46 -Dsystem-uid-max=999 \
47 -Dsystem-alloc-gid-min=101 \
48 -Dsystem-gid-max=999 \
49"
50
51do_install() {
52 install -d ${D}${bindir}/
53 install -m 0755 ${B}/systemd-repart ${D}${bindir}/systemd-repart
54 install -d ${D}${libdir}/
55 install -m 0644 ${B}/src/shared/libsystemd-shared-257.so ${D}${libdir}/libsystemd-shared-257.so
56
57 install -d ${D}${libdir}/systemd/repart/
58 cp -r ${S}/src/repart/definitions ${D}${libdir}/systemd/repart/
59}