| Message ID | 20260429064353.1372987-1-badrikesh.prusty@siemens.com |
|---|---|
| State | New |
| Headers | show |
| Series | [v5] image-postproc: gate systemd preset-all on masked unit state | expand |
On 29.04.26 08:43, Badrikesh Prusty wrote: > Skip systemd preset-all during image postprocessing if masked unit files > are detected, to avoid non-fatal failures when presetting units that are > already masked. > > Fixes: 72b88a12 ("classes/image-postproc: Enable systemd units based on systemd presets") > > Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com> > --- > meta/classes-recipe/rootfs.bbclass | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass > index 8b502a50..ca847b30 100644 > --- a/meta/classes-recipe/rootfs.bbclass > +++ b/meta/classes-recipe/rootfs.bbclass > @@ -574,7 +574,9 @@ image_postprocess_populate_systemd_preset() { > --show systemd || echo "" ) > > if (test "$SYSTEMD_INSTALLED" = "installed"); then > - sudo chroot '${ROOTFSDIR}' systemctl preset-all --preset-mode="enable-only" > + # Skip preset-all if any masked units exist > + sudo chroot '${ROOTFSDIR}' systemctl list-unit-files --state=masked --no-legend | grep -q '^' \ > + || sudo chroot '${ROOTFSDIR}' systemctl preset-all --preset-mode="enable-only" Minor optimization: I would execute the test and preset-all in the same chroot instance. Jan
diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index 8b502a50..ca847b30 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -574,7 +574,9 @@ image_postprocess_populate_systemd_preset() { --show systemd || echo "" ) if (test "$SYSTEMD_INSTALLED" = "installed"); then - sudo chroot '${ROOTFSDIR}' systemctl preset-all --preset-mode="enable-only" + # Skip preset-all if any masked units exist + sudo chroot '${ROOTFSDIR}' systemctl list-unit-files --state=masked --no-legend | grep -q '^' \ + || sudo chroot '${ROOTFSDIR}' systemctl preset-all --preset-mode="enable-only" fi }
Skip systemd preset-all during image postprocessing if masked unit files are detected, to avoid non-fatal failures when presetting units that are already masked. Fixes: 72b88a12 ("classes/image-postproc: Enable systemd units based on systemd presets") Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com> --- meta/classes-recipe/rootfs.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.47.3