From: Lennart Poettering Date: Fri, 4 Jan 2013 21:32:31 +0000 (+0100) Subject: systemctl: enable chkconfig compat only if chkconfig is found rather than based on... X-Git-Tag: v197~55 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=77e68fa2f0bd018bab2621a31919bfaa6a6b0a35;hp=32f992a514949b42550b97cadb3bb5499b54ca49;ds=inline systemctl: enable chkconfig compat only if chkconfig is found rather than based on distro --- diff --git a/configure.ac b/configure.ac index 92dbdf5a3..a39dd6a33 100644 --- a/configure.ac +++ b/configure.ac @@ -232,6 +232,25 @@ if test "x${have_ima}" != xno ; then AC_DEFINE(HAVE_IMA, 1, [Define if IMA is available]) 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])) @@ -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 086872c69..b71d5de30 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;