From: Olaf Hering Date: Wed, 1 Oct 2014 16:41:23 +0000 (+0200) Subject: Add configure --with-sysconfig-leaf-dir=SUBDIR to set CONFIG_LEAF_DIR X-Git-Tag: 4.5.0-rc1~75 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9ead9afcb9350b835ae1823cadb8b082d994300e;p=xen.git Add configure --with-sysconfig-leaf-dir=SUBDIR to set CONFIG_LEAF_DIR Set CONFIG_LEAF_DIR with configure to give control if needed. The check for the correct value if the option is not specified is tricky. Since other packages (such as grub2) started to populate also /etc/default/ a given system may have both directories. Use "default" only if /etc/sysconfig does not exist. "sysconfig" remains the default. Move the variable from StdGNU.mk to Linux.mk because thats the only place where it is used. Signed-off-by: Olaf Hering Acked-by: Ian Campbell Cc: Ian Campbell Cc: Ian Jackson Cc: Stefano Stabellini Cc: Wei Liu [ ijc -- ran autogen.sh as requested ] --- 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*) ;;