diff --git a/NEWS b/NEWS index 95ffc555a2..8567e984a6 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ CHANGES WITH 251: can still be used by explicitly configuring RouteTable= setting in .netdev files. + * Jobs started via StartUnitWithFlags() will no longer return 'skipped' + when a Condition*= check does not succeed, restoring the JobRemoved + signal to the behaviour it had before v250. + * The org.freedesktop.portable1 methods GetMetadataWithExtensions and GetImageMetadataWithExtensions have been fixed to provide an extra return parameter, containing the actual extensions release metadata. The diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml index 5f1f586222..d47d916b76 100644 --- a/man/org.freedesktop.systemd1.xml +++ b/man/org.freedesktop.systemd1.xml @@ -1206,10 +1206,7 @@ node /org/freedesktop/systemd1 { StartUnitWithFlags() is similar to StartUnit() but allows the caller to pass an extra flags parameter, which does not support any - flags for now, and is reserved for future extensions. The new method also changes the behaviour - of the JobRemoved signal and make it return skipped in case - the unit activation job is skipped because a Condition*= is not satisfied. - With the StartUnit method, done would be returned instead. + flags for now, and is reserved for future extensions. StopUnit() is similar to StartUnit() but stops the specified unit rather than starting it. Note that the isolate mode is invalid for this diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c index 1e01241676..6542d50330 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c @@ -417,10 +417,6 @@ int bus_unit_method_start_generic( return sd_bus_reply_method_errorf(message, SD_BUS_ERROR_INVALID_ARGS, "Invalid 'flags' parameter '%" PRIu64 "'", input_flags); - - /* The new method unconditionally uses the new behaviour of returning 'skip' when - * a job is skipped. */ - job_flags |= BUS_UNIT_QUEUE_RETURN_SKIP_ON_CONDITION_FAIL; } r = bus_verify_manage_units_async_full( diff --git a/src/core/dbus-unit.h b/src/core/dbus-unit.h index ccb379cee5..ab7787ce46 100644 --- a/src/core/dbus-unit.h +++ b/src/core/dbus-unit.h @@ -31,7 +31,7 @@ int bus_unit_method_thaw(sd_bus_message *message, void *userdata, sd_bus_error * typedef enum BusUnitQueueFlags { BUS_UNIT_QUEUE_RELOAD_IF_POSSIBLE = 1 << 0, BUS_UNIT_QUEUE_VERBOSE_REPLY = 1 << 1, - BUS_UNIT_QUEUE_RETURN_SKIP_ON_CONDITION_FAIL = 1 << 2, + BUS_UNIT_QUEUE_RETURN_SKIP_ON_CONDITION_FAIL = 1 << 2, // FIXME: currently not used, will be changed soon } BusUnitQueueFlags; int bus_unit_queue_job_one(