summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-07-15 23:04:52 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-07-15 23:20:56 -0400
commit7801356442578ff6e1c65844eb9e65c819af4660 (patch)
tree5e163d1af85de061c83ec5d042310c396dc32205
parent3a83211689bdf4ab617a4fb79e11980c50918123 (diff)
build-sys: discover the path to kexec during build time
https://bugs.freedesktop.org/show_bug.cgi?id=55248
-rw-r--r--Makefile.am1
-rw-r--r--configure.ac2
-rw-r--r--src/core/shutdown.c2
-rw-r--r--src/login/logind-action.c2
4 files changed, 5 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index 9105274c0..44cfd3ea1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -165,6 +165,7 @@ AM_CPPFLAGS = \
-DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
-DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
-DQUOTACHECK=\"$(QUOTACHECK)\" \
+ -DKEXEC=\"$(KEXEC)\" \
-I $(top_srcdir)/src \
-I $(top_srcdir)/src/shared \
-I $(top_srcdir)/src/login \
diff --git a/configure.ac b/configure.ac
index 6f5fee5fc..94afe51d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,6 +76,8 @@ AC_PATH_PROG([KILL], [kill], [/usr/bin/kill])
AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod])
+AC_PATH_PROG([KEXEC], [kexec], [/usr/sbin/kexec])
+
# gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line
m4_ifdef([GTK_DOC_CHECK], [
GTK_DOC_CHECK([1.18],[--flavour no-tmpl])],
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
index 10a52bd11..4709746de 100644
--- a/src/core/shutdown.c
+++ b/src/core/shutdown.c
@@ -318,7 +318,7 @@ int main(int argc, char *argv[]) {
log_warning("kexec failed. Falling back to normal reboot.");
} else {
/* Child */
- const char *args[3] = { "/sbin/kexec", "-e", NULL };
+ const char *args[3] = { KEXEC, "-e", NULL };
execv(args[0], (char * const *) args);
return EXIT_FAILURE;
}
diff --git a/src/login/logind-action.c b/src/login/logind-action.c
index c93059102..74114ee0a 100644
--- a/src/login/logind-action.c
+++ b/src/login/logind-action.c
@@ -81,7 +81,7 @@ int manager_handle_action(
else if (handle == HANDLE_HYBRID_SLEEP)
supported = can_sleep("hybrid-sleep") > 0;
else if (handle == HANDLE_KEXEC)
- supported = access("/sbin/kexec", X_OK) >= 0;
+ supported = access(KEXEC, X_OK) >= 0;
else
supported = true;