[Buildroot] [PATCH v4 1/1] package/systemd: bump to version 249
Norbert Lange
nolange79 at gmail.com
Fri Jul 9 08:19:34 UTC 2021
Am Do., 8. Juli 2021 um 19:14 Uhr schrieb James Hilliard
<james.hilliard1 at gmail.com>:
>
> Add config option for systemd-sysext.
>
> Add config option for systemd-oomd.
>
> Add new host-python3-jinja2 dependency.
>
> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> ---
> Changes v3 -> v4:
> - add transient user/groups nsswitch.conf support
> Changes v2 -> v3:
> - add oomd and sysext configuration options
> Changes v1 -> v2:
> - add host-python3-jinja2 host-systemd dependency
> ---
> package/systemd/Config.in | 25 +++++++++++++++++++++++++
> package/systemd/systemd.hash | 4 ++--
> package/systemd/systemd.mk | 22 ++++++++++++++++++++--
> 3 files changed, 47 insertions(+), 4 deletions(-)
>
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index d658308213..709a5c4d61 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -318,6 +318,16 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD
>
> http://www.freedesktop.org/software/systemd/man/systemd-networkd.html
>
> +config BR2_PACKAGE_SYSTEMD_OOMD
> + bool "enable out-of-memory killer"
> + default y
My take is that buildroot should aim to be minimal, and from the manual,
there are 2 preconditions for this service:
1) A Kernel with PSI enabled (that means atleast 4.20).
2) full unified cgroup hierarchy, but currently buildroot sets
'-Ddefault-hierarchy=hybrid'
2) should be remedied by setting -Ddefault-hierarchy=unified which has
been the default for a while,
and some longterm holdovers like docker finally support it.
condition would be a kernel >= 4.2
I would be fine with leaving it off by default for now, and fixing
this up in following patches
(as I am not sure which way to solve this will be accepted in BR).
> + help
> + systemd-oomd is a system service that uses cgroups-v2 and
> + pressure stall information (PSI) to monitor and take action
> + on processes before an OOM occurs in kernel space.
> +
> + https://www.freedesktop.org/software/systemd/man/systemd-oomd.html
> +
> config BR2_PACKAGE_SYSTEMD_POLKIT
> bool "enable polkit support"
> depends on BR2_HOST_GCC_AT_LEAST_4_9 # polkit
> @@ -424,6 +434,21 @@ config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT
> When this feature is enabled, Systemd mounts smackfs and
> manages security labels for sockets.
>
> +config BR2_PACKAGE_SYSTEMD_SYSEXT
> + bool "enable sysext support"
> + help
> + systemd-sysext activates/deactivates system extension images.
> +
> + System extension images may – dynamically at runtime — extend
> + the /usr/ and /opt/ directory hierarchies with additional files.
> +
> + This is particularly useful on immutable system images where a
> + /usr/ and/or /opt/ hierarchy residing on a read-only file system
> + shall be extended temporarily at runtime without making any
> + persistent modifications.
> +
> + https://www.freedesktop.org/software/systemd/man/systemd-sysext.html
> +
> config BR2_PACKAGE_SYSTEMD_SYSUSERS
> bool "enable sysusers support"
> help
> diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash
> index 20cd922259..82741d1996 100644
> --- a/package/systemd/systemd.hash
> +++ b/package/systemd/systemd.hash
> @@ -1,6 +1,6 @@
> # sha256 locally computed
> -sha256 2869986e219a8dfc96cc0dffac66e0c13bb70a89e16b85a3948876c146cfa3e0 systemd-247.3.tar.gz
> +sha256 0d9d45140e95f2d0ee79005ccf867f2706976c30391b932a8c3b9b198a801fad systemd-249.tar.gz
> sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2
> sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1
> -sha256 6f22d19d35b00f35e0444e0bc9139e6d3bdf7277978f89c4e175e37b18c43f3d README
> +sha256 f5645b4b846479859d6618fa7a5a1722681aa7fc43c1e45f8bf8e1fe5738d618 README
> sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 tools/chromiumos/LICENSE
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 74c561e67e..5562703a89 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -SYSTEMD_VERSION = 247.3
> +SYSTEMD_VERSION = 249
> SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
> SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README), BSD-3-Clause (tools/chromiumos)
> SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README tools/chromiumos/LICENSE
> @@ -14,6 +14,7 @@ SYSTEMD_DEPENDENCIES = \
> $(BR2_COREUTILS_HOST_DEPENDENCY) \
> $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \
> host-gperf \
> + host-python3-jinja2 \
> kmod \
> libcap \
> util-linux-libs \
> @@ -411,6 +412,12 @@ else
> SYSTEMD_CONF_OPTS += -Dpstore=false
> endif
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD_OOMD),y)
> +SYSTEMD_CONF_OPTS += -Doomd=true
> +else
> +SYSTEMD_CONF_OPTS += -Doomd=false
> +endif
> +
> ifeq ($(BR2_PACKAGE_SYSTEMD_POLKIT),y)
> SYSTEMD_CONF_OPTS += -Dpolkit=true
> SYSTEMD_DEPENDENCIES += polkit
> @@ -424,6 +431,12 @@ else
> SYSTEMD_CONF_OPTS += -Dportabled=false
> endif
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSEXT),y)
> +SYSTEMD_CONF_OPTS += -Dsysext=true
> +else
> +SYSTEMD_CONF_OPTS += -Dsysext=false
> +endif
> +
> ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
> SYSTEMD_CONF_OPTS += -Dnetworkd=true
> SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management
> @@ -543,6 +556,8 @@ endef
> define SYSTEMD_INSTALL_NSSCONFIG_HOOK
> $(SED) '/^passwd:/ {/systemd/! s/$$/ systemd/}' \
> -e '/^group:/ {/systemd/! s/$$/ [SUCCESS=merge] systemd/}' \
> + -e '/^shadow:/ {/systemd/! s/$$/ systemd/}' \
> + -e '/^gshadow:/ {/systemd/! s/$$/ systemd/}' \
> $(if $(BR2_PACKAGE_SYSTEMD_RESOLVED), \
> -e '/^hosts:/ s/[[:space:]]*mymachines//' \
> -e '/^hosts:/ {/resolve/! s/files/files resolve [!UNAVAIL=return]/}' ) \
> @@ -663,11 +678,13 @@ HOST_SYSTEMD_CONF_OPTS = \
> -Drepart=false \
> -Dcoredump=false \
> -Dpstore=false \
> + -Doomd=false \
> -Dlogind=false \
> -Dhostnamed=false \
> -Dlocaled=false \
> -Dmachined=false \
> -Dportabled=false \
> + -Dsysext=false \
> -Duserdb=false \
> -Dhomed=false \
> -Dnetworkd=false \
> @@ -717,7 +734,8 @@ HOST_SYSTEMD_DEPENDENCIES = \
> host-util-linux \
> host-patchelf \
> host-libcap \
> - host-gperf
> + host-gperf \
> + host-python3-jinja2
>
> HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR)
>
> --
> 2.25.1
>
Norbert
More information about the buildroot
mailing list