Accepting request 338023 from home:pgajdos

- start_apache2: reintroduce sysconfig.d, include it on
  command line (not in httpd.conf) instead of individual directives
  [bnc#949434] (internal), [bnc#941331]

OBS-URL: https://build.opensuse.org/request/show/338023
OBS-URL: https://build.opensuse.org/package/show/Apache/apache2?expand=0&rev=460
This commit is contained in:
Petr Gajdos 2015-10-13 11:37:24 +00:00 committed by Git OBS Bridge
parent 03bf97c804
commit f75ecd3daa
3 changed files with 40 additions and 23 deletions

View File

@ -15,7 +15,7 @@ Any other instance can be activated via
systemctl start apache2@<instancename> systemctl start apache2@<instancename>
for example where <instancename> is ASCII identifier of the instance. For example
systemctl start apache2@myweb.org systemctl start apache2@myweb.org

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Mon Oct 12 09:00:27 UTC 2015 - pgajdos@suse.com
- start_apache2: reintroduce sysconfig.d, include it on
command line (not in httpd.conf) instead of individual directives
[bnc#949434] (internal), [bnc#941331]
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Aug 13 13:04:00 UTC 2015 - schwab@suse.de Thu Aug 13 13:04:00 UTC 2015 - schwab@suse.de

View File

@ -69,6 +69,11 @@ done
# #
httpd_conf=${APACHE_HTTPD_CONF:-/etc/apache2${instance_suffix}/httpd.conf} httpd_conf=${APACHE_HTTPD_CONF:-/etc/apache2${instance_suffix}/httpd.conf}
#
# where to write configuration depending on sysconfig variables
#
sysconfd_dir=$(dirname $httpd_conf)/sysconfig${instance_suffix}.d/
# #
# set PidFile to this file name; PidFile should not # set PidFile to this file name; PidFile should not
# be used in the configuration to change this, otherwise # be used in the configuration to change this, otherwise
@ -80,54 +85,58 @@ unset sysconfig_setting
# #
# involve the sysconfig variables # involve the sysconfig variables
# #
# APACHE_ACCESS_LOG mkdir -p ${sysconfd_dir} || exit 1
for c in global.conf include.conf loadmodule.conf; do
echo "# File generated from $SYSCONFIG_FILE, do not edit. Edit the sysconfig file instead." > ${sysconfd_dir}/$c
done
# APACHE_ACCESS_LOG -> global.conf
if [ -n "$APACHE_ACCESS_LOG" ]; then if [ -n "$APACHE_ACCESS_LOG" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "CustomLog $APACHE_ACCESS_LOG") echo "CustomLog $APACHE_ACCESS_LOG" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_CONF_INCLUDE_FILES # APACHE_CONF_INCLUDE_FILES -> include.conf
for file in $APACHE_CONF_INCLUDE_FILES; do for file in $APACHE_CONF_INCLUDE_FILES; do
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "Include $file") echo "Include $file" >> include.conf
done done
# APACHE_CONF_INCLUDE_DIRS # APACHE_CONF_INCLUDE_DIRS -> include.conf
for dir in $APACHE_CONF_INCLUDE_DIRS; do for dir in $APACHE_CONF_INCLUDE_DIRS; do
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "Include $dir") echo "Include $dir" >> include.conf
done done
# APACHE_SERVERADMIN # APACHE_SERVERADMIN -> global.conf
if [ -n "$APACHE_SERVERADMIN" ]; then if [ -n "$APACHE_SERVERADMIN" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "ServerAdmin $APACHE_SERVERADMIN") echo "ServerAdmin $APACHE_SERVERADMIN" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_SERVERNAME # APACHE_SERVERNAME -> global.conf
if [ -n "$APACHE_SERVERNAME" ]; then if [ -n "$APACHE_SERVERNAME" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "ServerName $APACHE_SERVERNAME") echo "ServerName $APACHE_SERVERNAME" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_START_TIMEOUT # APACHE_START_TIMEOUT
# not used nowadays # not used nowadays
# APACHE_SERVERSIGNATURE # APACHE_SERVERSIGNATURE -> global.conf
if [ -n "$APACHE_SERVERSIGNATURE" ]; then if [ -n "$APACHE_SERVERSIGNATURE" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "ServerSignature $APACHE_SERVERSIGNATURE") echo "ServerSignature $APACHE_SERVERSIGNATURE" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_LOGLEVEL # APACHE_LOGLEVEL -> global.conf
if [ -n "$APACHE_LOGLEVEL" ]; then if [ -n "$APACHE_LOGLEVEL" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "LogLevel $APACHE_LOGLEVEL") echo "LogLevel $APACHE_LOGLEVEL" >> global.conf
fi fi
# APACHE_USE_CANONICAL_NAME # APACHE_USE_CANONICAL_NAME -> global.conf
if [ -n "$APACHE_USE_CANONICAL_NAME" ]; then if [ -n "$APACHE_USE_CANONICAL_NAME" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "UseCanonicalName $APACHE_USE_CANONICAL_NAME") echo "UseCanonicalName $APACHE_USE_CANONICAL_NAME" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_SERVERTOKENS # APACHE_SERVERTOKENS -> global.conf
if [ -n "$APACHE_SERVERTOKENS" ]; then if [ -n "$APACHE_SERVERTOKENS" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "ServerTokens $APACHE_SERVERTOKENS") echo "ServerTokens $APACHE_SERVERTOKENS" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_EXTENDED_STATUS # APACHE_EXTENDED_STATUS -> global.conf
if [ -n "$APACHE_EXTENDED_STATUS" ]; then if [ -n "$APACHE_EXTENDED_STATUS" ]; then
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "ExtendedStatus $APACHE_EXTENDED_STATUS") echo "ExtendedStatus $APACHE_EXTENDED_STATUS" >> ${sysconfd_dir}/global.conf
fi fi
# APACHE_MODULES # APACHE_MODULES -> loadmodule.conf
get_module_list get_module_list
module_ids=($HTTPD_MODULE_IDS) module_ids=($HTTPD_MODULE_IDS)
module_paths=($HTTPD_MODULE_PATHS) module_paths=($HTTPD_MODULE_PATHS)
for i in "${!module_ids[@]}"; do for i in "${!module_ids[@]}"; do
sysconfig_setting=("${sysconfig_setting[@]}" "-C" "LoadModule ${module_ids[$i]} ${module_paths[$i]}") echo "LoadModule ${module_ids[$i]} ${module_paths[$i]}" >> ${sysconfd_dir}/loadmodule.conf
done done
# #
@ -142,6 +151,7 @@ HOME=/var/lib/apache2${instance_suffix}
exec $apache_bin -f $httpd_conf $server_flags \ exec $apache_bin -f $httpd_conf $server_flags \
-C "PidFile $pid_file" \ -C "PidFile $pid_file" \
-C "Include $sysconfd_dir" \
"${sysconfig_setting[@]}" \ "${sysconfig_setting[@]}" \
$@ $@