diff --git a/Config.mk b/Config.mk index e56cc17bcd..632423757c 100644 --- a/Config.mk +++ b/Config.mk @@ -69,9 +69,6 @@ define setvar_dir endif endef -# See distro_mapping.txt for other options -$(eval $(call setvar_dir,CONFIG_LEAF_DIR,,/etc/sysconfig,sysconfig,default)) - ifneq ($(EXTRA_PREFIX),) EXTRA_INCLUDES += $(EXTRA_PREFIX)/include EXTRA_LIB += $(EXTRA_PREFIX)/lib diff --git a/config/Linux.mk b/config/Linux.mk index b421a1c840..2a84b6b0f3 100644 --- a/config/Linux.mk +++ b/config/Linux.mk @@ -1 +1,3 @@ include $(XEN_ROOT)/config/StdGNU.mk + +SYSCONFIG_DIR = $(CONFIG_DIR)/$(CONFIG_LEAF_DIR) diff --git a/config/Paths.mk.in b/config/Paths.mk.in index e1fe4a328d..9fd87c5af3 100644 --- a/config/Paths.mk.in +++ b/config/Paths.mk.in @@ -50,6 +50,7 @@ XEN_LIB_STORED := @XEN_LIB_STORED@ CONFIG_DIR := @CONFIG_DIR@ INITD_DIR := @INITD_DIR@ +CONFIG_LEAF_DIR := @CONFIG_LEAF_DIR@ BASH_COMPLETION_DIR := $(CONFIG_DIR)/bash_completion.d XEN_LOCK_DIR := @XEN_LOCK_DIR@ XEN_PAGING_DIR := @XEN_PAGING_DIR@ diff --git a/config/StdGNU.mk b/config/StdGNU.mk index 16c3043e74..1566d7fcb0 100644 --- a/config/StdGNU.mk +++ b/config/StdGNU.mk @@ -27,8 +27,6 @@ INSTALL_DIR = $(INSTALL) -d -m0755 -p INSTALL_DATA = $(INSTALL) -m0644 -p INSTALL_PROG = $(INSTALL) -m0755 -p -SYSCONFIG_DIR = $(CONFIG_DIR)/$(CONFIG_LEAF_DIR) - BOOT_DIR ?= /boot SOCKET_LIBS = diff --git a/configure b/configure index 862bb62f62..4b7aa570d2 100755 --- a/configure +++ b/configure @@ -606,6 +606,7 @@ XEN_LIB_STORED XEN_LOG_DIR XEN_RUN_DIR LIBEXEC_BIN +CONFIG_LEAF_DIR host_os host_vendor host_cpu @@ -656,6 +657,7 @@ ac_subst_files='' ac_user_opts=' enable_option_checking with_initddir +with_sysconfig_leaf_dir enable_xen enable_tools enable_stubdom @@ -1290,6 +1292,11 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-initddir=DIR Path to directory with sysv runlevel scripts. [SYSCONFDIR/init.d] + --with-sysconfig-leaf-dir=SUBDIR + Name of subdirectory in /etc to store runtime + options for runlevel scripts and daemons such as + xenstoerd. This should be either "sysconfig" or + "default". [sysconfig] Report bugs to . Xen Hypervisor home page: . @@ -1900,6 +1907,18 @@ else fi + +# Check whether --with-sysconfig-leaf-dir was given. +if test "${with_sysconfig_leaf_dir+set}" = set; then : + withval=$with_sysconfig_leaf_dir; config_leaf_dir=$withval +else + config_leaf_dir=sysconfig + if test ! -d /etc/sysconfig ; then config_leaf_dir=default ; fi +fi + +CONFIG_LEAF_DIR=$config_leaf_dir + + if test "$libexecdir" = '${exec_prefix}/libexec' ; then case "$host_os" in *netbsd*) ;; diff --git a/docs/misc/distro_mapping.txt b/docs/misc/distro_mapping.txt index 0e8bf0cebd..2e46592728 100644 --- a/docs/misc/distro_mapping.txt +++ b/docs/misc/distro_mapping.txt @@ -14,8 +14,8 @@ scripts at run-time. If the Red Hat directory exists, it is used; otherwise the Debian one is used. The INITD_DIR path can be changed with configure --with-initddir=DIR. -The CONFIG_LEAF_DIR path can be changed by setting the variables in -the environment or your ".config" (which is included by Config.mk). +The CONFIG_LEAF_DIR name can be changed with configure +--with-sysconfig-leaf-dir=SUBDIR. To add support for new distributions that don't use the above locations, one must grep for the above elements and add appropriate checks. diff --git a/m4/paths.m4 b/m4/paths.m4 index 53fb7b7600..dcb8f28c8e 100644 --- a/m4/paths.m4 +++ b/m4/paths.m4 @@ -51,6 +51,17 @@ AC_ARG_WITH([initddir], ;; esac]) +AC_ARG_WITH([sysconfig-leaf-dir], + AS_HELP_STRING([--with-sysconfig-leaf-dir=SUBDIR], + [Name of subdirectory in /etc to store runtime options for runlevel + scripts and daemons such as xenstoerd. + This should be either "sysconfig" or "default". [sysconfig]]), + [config_leaf_dir=$withval], + [config_leaf_dir=sysconfig + if test ! -d /etc/sysconfig ; then config_leaf_dir=default ; fi]) +CONFIG_LEAF_DIR=$config_leaf_dir +AC_SUBST(CONFIG_LEAF_DIR) + if test "$libexecdir" = '${exec_prefix}/libexec' ; then case "$host_os" in *netbsd*) ;; diff --git a/tools/configure b/tools/configure index 831ac6378a..e0aba849ba 100755 --- a/tools/configure +++ b/tools/configure @@ -721,6 +721,7 @@ XEN_LIB_STORED XEN_LOG_DIR XEN_RUN_DIR LIBEXEC_BIN +CONFIG_LEAF_DIR FILE_OFFSET_BITS OBJEXT EXEEXT @@ -781,6 +782,7 @@ ac_user_opts=' enable_option_checking enable_largefile with_initddir +with_sysconfig_leaf_dir enable_rpath enable_githttp enable_monitors @@ -1476,6 +1478,11 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-initddir=DIR Path to directory with sysv runlevel scripts. [SYSCONFDIR/init.d] + --with-sysconfig-leaf-dir=SUBDIR + Name of subdirectory in /etc to store runtime + options for runlevel scripts and daemons such as + xenstoerd. This should be either "sysconfig" or + "default". [sysconfig] --with-linux-backend-modules="mod1 mod2" List of Linux backend module or modalias names to be autoloaded on startup. @@ -3744,6 +3751,18 @@ else fi + +# Check whether --with-sysconfig-leaf-dir was given. +if test "${with_sysconfig_leaf_dir+set}" = set; then : + withval=$with_sysconfig_leaf_dir; config_leaf_dir=$withval +else + config_leaf_dir=sysconfig + if test ! -d /etc/sysconfig ; then config_leaf_dir=default ; fi +fi + +CONFIG_LEAF_DIR=$config_leaf_dir + + if test "$libexecdir" = '${exec_prefix}/libexec' ; then case "$host_os" in *netbsd*) ;;