summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-01-04 22:32:31 +0100
committerLennart Poettering <lennart@poettering.net>2013-01-04 23:26:21 +0100
commit77e68fa2f0bd018bab2621a31919bfaa6a6b0a35 (patch)
treef58c09e7e82c2be782ee7f172d6e0306cd90cc46
parent32f992a514949b42550b97cadb3bb5499b54ca49 (diff)
systemctl: enable chkconfig compat only if chkconfig is found rather than based on distro
-rw-r--r--configure.ac20
-rw-r--r--src/systemctl/systemctl.c2
2 files changed, 21 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 92dbdf5a30..a39dd6a33c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -233,6 +233,25 @@ if test "x${have_ima}" != xno ; then
fi
# ------------------------------------------------------------------------------
+have_chkconfig=yes
+AC_ARG_ENABLE([chkconfig], AS_HELP_STRING([--disable-chkconfig],[Disable optional chkconfig support]),
+ [case "${enableval}" in
+ yes) have_chkconfig=yes ;;
+ no) have_chkconfig=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-chkconfig) ;;
+ esac],
+ [AC_PATH_PROG(CHKCONFIG, chkconfig)
+ if test -z "$CHKCONFIG"; then
+ have_chkconfig=no
+ else
+ have_chkconfig=yes
+ fi])
+
+if test "x${have_chkconfig}" != xno ; then
+ AC_DEFINE(HAVE_CHKCONFIG, 1, [Define if CHKCONFIG is available])
+fi
+
+# ------------------------------------------------------------------------------
have_selinux=no
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
if test "x$enable_selinux" != "xno"; then
@@ -873,6 +892,7 @@ AC_MSG_RESULT([
GCRYPT: ${have_gcrypt}
QRENCODE: ${have_qrencode}
MICROHTTPD: ${have_microhttpd}
+ CHKCONFIG: ${have_chkconfig}
binfmt: ${have_binfmt}
vconsole: ${have_vconsole}
readahead: ${have_readahead}
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 086872c696..b71d5de30a 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -3436,7 +3436,7 @@ finish:
static int enable_sysv_units(char **args) {
int r = 0;
-#if defined (HAVE_SYSV_COMPAT) && (defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_SUSE) || defined(TARGET_ALTLINUX) || defined(TARGET_MAGEIA))
+#if defined(HAVE_SYSV_COMPAT) && defined(HAVE_CHKCONFIG)
const char *verb = args[0];
unsigned f = 1, t = 1;
LookupPaths paths;