[systemd-devel] [PATCH] systemctl: don't return success if we refused to execute user's request

Lennart Poettering lennart at poettering.net
Mon Jun 23 05:46:42 PDT 2014


On Mon, 23.06.14 13:34, Michal Sekletar (msekleta at redhat.com) wrote:

What's the rationale?

So far the logic always was to turn systemctl invocations into NOPs so
that packaging scripts in invoked in chroot() environments won't
fail. Why do you want them to fail? This sounds wrong?

> ---
>  src/systemctl/systemctl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
> index 727be58..2dac67c 100644
> --- a/src/systemctl/systemctl.c
> +++ b/src/systemctl/systemctl.c
> @@ -6644,7 +6644,7 @@ found:
>          } else {
>                  if (running_in_chroot() > 0) {
>                          log_info("Running in chroot, ignoring request.");
> -                        return 0;
> +                        return -ENOTSUP;
>                  }
>  
>                  if ((verb->bus != FORCE || arg_force <= 0) && !bus) {
> @@ -6895,7 +6895,7 @@ int main(int argc, char*argv[]) {
>  
>          if (running_in_chroot() > 0 && arg_action != ACTION_SYSTEMCTL) {
>                  log_info("Running in chroot, ignoring request.");
> -                r = 0;
> +                r = -ENOTSUP;
>                  goto finish;
>          }
>  


Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list