diff --git a/meson.build b/meson.build index f823243a376..675390c2589 100644 --- a/meson.build +++ b/meson.build @@ -265,7 +265,6 @@ conf.set_quoted('KERNEL_INSTALL_DIR', kernelinstalldir) conf.set_quoted('MODPROBE_DIR', modprobedir) conf.set_quoted('MODULESLOAD_DIR', modulesloaddir) conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir) -conf.set_quoted('POLKIT_AGENT_BINARY_PATH', bindir / 'pkttyagent') conf.set_quoted('POLKIT_RULES_DIR', polkitrulesdir) conf.set_quoted('PREFIX', prefixdir) conf.set_quoted('PREFIX_NOSLASH', prefixdir_noslash) diff --git a/src/journal/cat.c b/src/journal/cat.c index 5a60414b561..b1f8af54a00 100644 --- a/src/journal/cat.c +++ b/src/journal/cat.c @@ -158,7 +158,7 @@ static int run(int argc, char *argv[]) { return log_error_errno(r, "Failed to rearrange stdout/stderr: %m"); if (argc <= optind) - (void) execl("/bin/cat", "/bin/cat", NULL); + (void) execlp("cat", "cat", NULL); else { struct stat st; diff --git a/src/nspawn/nspawn-setuid.c b/src/nspawn/nspawn-setuid.c index 342a9b9212e..043e3a48670 100644 --- a/src/nspawn/nspawn-setuid.c +++ b/src/nspawn/nspawn-setuid.c @@ -36,8 +36,7 @@ static int spawn_getent(const char *database, const char *key, pid_t *rpid) { return r; } if (r == 0) { - execle("/usr/bin/getent", "getent", database, key, NULL, &(char*[1]){}); - execle("/bin/getent", "getent", database, key, NULL, &(char*[1]){}); + execlp("getent", "getent", database, key, NULL); _exit(EXIT_FAILURE); } diff --git a/src/shared/polkit-agent.c b/src/shared/polkit-agent.c index 491b494b1e7..beb42a1c2ca 100644 --- a/src/shared/polkit-agent.c +++ b/src/shared/polkit-agent.c @@ -4,11 +4,13 @@ #include #include +#include "alloc-util.h" #include "bus-util.h" #include "exec-util.h" #include "fd-util.h" #include "io-util.h" #include "log.h" +#include "path-util.h" #include "polkit-agent.h" #include "process-util.h" #include "stdio-util.h" @@ -32,6 +34,15 @@ int polkit_agent_open(void) { if (r <= 0) return r; + _cleanup_free_ char *pkttyagent = NULL; + r = find_executable("pkttyagent", &pkttyagent); + if (r == -ENOENT) { + log_debug("pkttyagent binary not available, ignoring."); + return 0; + } + if (r < 0) + return log_error_errno(r, "Failed to determine whether pkttyagent binary exists: %m"); + if (pipe2(pipe_fd, 0) < 0) return -errno; @@ -41,7 +52,7 @@ int polkit_agent_open(void) { &pipe_fd[1], 1, &agent_pid, - POLKIT_AGENT_BINARY_PATH, + pkttyagent, "--notify-fd", notify_fd, "--fallback"); if (r < 0) diff --git a/units/ldconfig.service b/units/ldconfig.service index 404fa011d5a..8199416b162 100644 --- a/units/ldconfig.service +++ b/units/ldconfig.service @@ -25,4 +25,4 @@ Before=shutdown.target initrd-switch-root.target [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/sbin/ldconfig -X +ExecStart=ldconfig -X diff --git a/units/modprobe@.service b/units/modprobe@.service index b099b90ebab..58b911d0a3a 100644 --- a/units/modprobe@.service +++ b/units/modprobe@.service @@ -32,4 +32,4 @@ StartLimitIntervalSec=0 [Service] Type=oneshot -ExecStart=-/sbin/modprobe -abq %i +ExecStart=-modprobe -abq %i