This also fixes a wrong merge failure check.
r = wait_for_terminate_and_check("(sd-merge)", pid, WAIT_LOG_ABNORMAL);
if (r < 0)
return r;
-
if (r == 123) /* exit code 123 means: didn't do anything */
return 0;
+ if (r > 0)
+ return log_error_errno(SYNTHETIC_ERRNO(ENXIO), "Failed to merge hierarchies");
r = need_reload(image_class, hierarchies, no_reload);
if (r < 0)
prep_ro_hierarchy "${fake_root}" "${hierarchy}"
# run systemd-sysext
-SYSTEMD_SYSEXT_HIERARCHIES="${hierarchy}" systemd-sysext --root="${fake_root}" --mutable=auto merge || die "expected merge to fail"
+SYSTEMD_SYSEXT_HIERARCHIES="${hierarchy}" systemd-sysext --root="${fake_root}" --mutable=auto merge && die "expected merge to fail"
#