diff options
author | Remi Collet <fedora@famillecollet.com> | 2010-10-01 18:09:27 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2010-10-01 18:09:27 +0200 |
commit | b8a434bc812f9a44fa1ec05e735e57ef6ef74e01 (patch) | |
tree | c0424acf75b609c85103fa42bd90f7e600d2132f /httpd-2.1.10-apctl.patch |
import httpd 2.2.16
Diffstat (limited to 'httpd-2.1.10-apctl.patch')
-rw-r--r-- | httpd-2.1.10-apctl.patch | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/httpd-2.1.10-apctl.patch b/httpd-2.1.10-apctl.patch new file mode 100644 index 0000000..4e34ea6 --- /dev/null +++ b/httpd-2.1.10-apctl.patch @@ -0,0 +1,107 @@ + +- fail gracefully if links is not installed on target system +- source sysconfig/httpd for custom env. vars etc. +- make httpd -t work even in SELinux +- refuse to restart into a bad config +- pass $OPTIONS to all $HTTPD invocation + +Upstream-HEAD: vendor +Upstream-2.0: vendor +Upstream-Status: Vendor-specific changes for better initscript integration + +--- httpd-2.1.10/support/apachectl.in.apctl ++++ httpd-2.1.10/support/apachectl.in +@@ -43,19 +43,25 @@ + # the path to your httpd binary, including options if necessary + HTTPD='@exp_sbindir@/@progname@' + # +-# pick up any necessary environment variables +-if test -f @exp_sbindir@/envvars; then +- . @exp_sbindir@/envvars +-fi + # + # a command that outputs a formatted text version of the HTML at the + # url given on the command line. Designed for lynx, however other + # programs may work. +-LYNX="@LYNX_PATH@ -dump" ++if [ -x "@LYNX_PATH@" ]; then ++ LYNX="@LYNX_PATH@ -dump" ++else ++ LYNX=none ++fi + # + # the URL to your server's mod_status status page. If you do not + # have one, then status and fullstatus will not work. + STATUSURL="http://localhost:@PORT@/server-status" ++ ++# Source /etc/sysconfig/httpd for $HTTPD setting, etc. ++if [ -r /etc/sysconfig/httpd ]; then ++ . /etc/sysconfig/httpd ++fi ++ + # + # Set this variable to a command that increases the maximum + # number of file descriptors allowed per child process. This is +@@ -75,29 +81,51 @@ + ARGV="-h" + fi + ++function checklynx() { ++if [ "$LYNX" = "none" ]; then ++ echo "The 'links' package is required for this functionality." ++ exit 8 ++fi ++} ++ ++function testconfig() { ++# httpd is denied terminal access in SELinux, so run in the ++# current context to get stdout from $HTTPD -t. ++if test -x /usr/sbin/selinuxenabled && /usr/sbin/selinuxenabled; then ++ runcon -- `id -Z` $HTTPD $OPTIONS -t ++else ++ $HTTPD $OPTIONS -t ++fi ++ERROR=$? ++} ++ + case $ARGV in +-start|stop|restart|graceful|graceful-stop) +- $HTTPD -k $ARGV +- ERROR=$? ++restart|graceful) ++ if $HTTPD $OPTIONS -t >&/dev/null; then ++ $HTTPD $OPTIONS -k $ARGV ++ ERROR=$? ++ else ++ echo "apachectl: Configuration syntax error, will not run \"$ARGV\":" ++ testconfig ++ fi + ;; +-startssl|sslstart|start-SSL) +- echo The startssl option is no longer supported. +- echo Please edit httpd.conf to include the SSL configuration settings +- echo and then use "apachectl start". +- ERROR=2 ++start|stop|graceful-stop) ++ $HTTPD $OPTIONS -k $ARGV ++ ERROR=$? + ;; + configtest) +- $HTTPD -t +- ERROR=$? ++ testconfig + ;; + status) ++ checklynx + $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' + ;; + fullstatus) ++ checklynx + $LYNX $STATUSURL + ;; + *) +- $HTTPD $ARGV ++ $HTTPD $OPTIONS $ARGV + ERROR=$? + esac + |