This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
3
3
[alpine-aports] [PATCH] main/apache2: startup script cleanups
---
main/apache2/APKBUILD | 2 + -
main/apache2/apache2.confd | 8 ---
main/apache2/apache2.initd | 168 ++++++++ -------------------------------------
main/apache2/ssl.conf | 2 + -
4 files changed, 30 insertions(+), 150 deletions(-)
diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
index 2eb2010..5fadee2 100644
--- a/main/apache2/APKBUILD
+++ b/main/apache2/APKBUILD
@@ -3,7 +3,7 @@
pkgname=apache2
_pkgreal=httpd
pkgver=2.4.17
- pkgrel=0
+ pkgrel=1
pkgdesc="A high performance Unix-based HTTP server"
url="http://httpd.apache.org/"
arch="all"
diff --git a/main/apache2/apache2.confd b/main/apache2/apache2.confd
index aeb3222..58334da 100644
--- a/main/apache2/apache2.confd
+++ b/main/apache2/apache2.confd
@@ -39,14 +39,6 @@ HTTPD_OPTS=
# They are normally dumped to your terminal.
#STARTUPERRORLOG="/var/log/apache2/startuperror.log"
- # A command that outputs a formatted text version of the HTML at the URL
- # of the command line. Designed for lynx, however other programs may work.
- #LYNX="lynx -dump"
-
- # The URL to your server's mod_status status page.
- # Required for status and fullstatus
- #STATUSURL="http://localhost/server-status"
-
# Method to use when reloading the server
# Valid options are 'restart' and 'graceful'
# See http://httpd.apache.org/docs/2.2/stopping.html for information on
diff --git a/main/apache2/apache2.initd b/main/apache2/apache2.initd
index 2975e7a..29f4730 100755
--- a/main/apache2/apache2.initd
+++ b/main/apache2/apache2.initd
@@ -1,154 +1,42 @@
#!/sbin/openrc-run
- extra_commands="configdump configtest modules virtualhosts"
- extra_started_commands="fullstatus graceful gracefulstop reload"
+ pidfile=${PIDFILE:-/run/apache2/httpd.pid}
+ configfile=${CONFIGFILE:-/etc/apache2/httpd.conf}
+ serverroot=${SERVERROOT:-/var/www}
+ command=${HTTPD:-/usr/sbin/httpd}
+ command_args="-d $serverroot -f $configfile $HTTPD_OPTS"
+ extra_started_commands="reload"
+ required_files=$configfile
+ required_dirs="$serverroot/modules $serverroot/logs"
+ retry=${TIMEOUT:-10}
depend() {
need net
- use mysql dns logger netmount postgresql
- after sshd firewall
+ use dns logger netmount
}
- configtest() {
- ebegin "Checking ${SVCNAME} configuration"
- checkconfig
- eend $?
- }
-
- checkconfd() {
- PIDFILE="${PIDFILE:-/run/apache2/httpd.pid}"
- TIMEOUT=${TIMEOUT:-10}
-
- SERVERROOT="${SERVERROOT:-/var/www}"
- if [ ! -d ${SERVERROOT} ]; then
- eerror "SERVERROOT does not exist: ${SERVERROOT}"
- return 1
- fi
-
- CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"
- [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"
- if [ ! -r "${CONFIGFILE}" ]; then
- eerror "Unable to read configuration file: ${CONFIGFILE}"
- return 1
- fi
-
- HTTPD_OPTS="${HTTPD_OPTS} -d ${SERVERROOT}"
- HTTPD_OPTS="${HTTPD_OPTS} -f ${CONFIGFILE}"
- [ -n "${STARTUPERRORLOG}" ] && HTTPD_OPTS="${HTTPD_OPTS} -E ${STARTUPERRORLOG}"
- return 0
-
- }
-
- checkconfig() {
- checkconfd || return 1
-
- ${HTTPD} ${HTTPD_OPTS} -t 1>/dev/null 2>&1
+ start_pre() {
+ ebegin
+ [ -n "$STARTUPERRORLOG" ] && command_args="-E $STARTUPERRORLOG $command_args"
+ $command $command_args -t 2>/dev/null
ret=$?
- if [ $ret -ne 0 ]; then
- eerror "${SVCNAME} has detected an error in your setup:"
- ${HTTPD} ${HTTPD_OPTS} -t
- fi
-
- return $ret
- }
-
- start() {
- checkconfig || return 1
- checkpath --directory $(dirname $PIDFILE)
-
- [ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache
-
- ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start \
- --pidfile ${PIDFILE} \
- --exec ${HTTPD} \
- -- ${HTTPD_OPTS} -k start
- eend $?
- }
-
- stop() {
- checkconfd || return 1
-
- ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \
- --retry ${TIMEOUT}
- eend $?
- }
-
- reload() {
- RELOAD_TYPE="${RELOAD_TYPE:-graceful}"
-
- checkconfig || return 1
- service_started "${SVCNAME}" || return
-
- if [ "${RELOAD_TYPE}" = "restart" ]; then
- ebegin "Restarting ${SVCNAME}"
- ${HTTPD} ${HTTPD_OPTS} -k restart
- eend $?
- elif [ "${RELOAD_TYPE}" = "graceful" ]; then
- ebegin "Gracefully restarting ${SVCNAME}"
- ${HTTPD} ${HTTPD_OPTS} -k graceful
- eend $?
+ if [ $ret -eq 0 ]; then
+ user=$($command $command_args -t -D DUMP_RUN_CFG | grep ^User: | cut -d\" -f2)
+ group=$($command $command_args -t -D DUMP_RUN_CFG | grep ^Group: | cut -d\" -f2)
+ checkpath --directory --owner $user:$group --mode 0750 ${pidfile%/*}
+ [ -L $serverroot/run ] && rm $serverroot/run
+ ln -s ${pidfile%/*} $serverroot/run
+ [ -f $serverroot/run/scache ] && rm $serverroot/run/scache
else
- eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}"
+ [ -z "$STARTUPERRORLOG" ] && $command $command_args -t
fi
+ eend $ret
}
- graceful() {
- checkconfig || return 1
- service_started "${SVCNAME}" || return
- ebegin "Gracefully restarting ${SVCNAME}"
- ${HTTPD} ${HTTPD_OPTS} -k graceful
- eend $?
- }
-
- gracefulstop() {
- checkconfig || return 1
- ebegin "Gracefully stopping ${SVCNAME}"
- start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \
- --retry SIGWINCH/${TIMEOUT}
+ reload() {
+ ebegin "Reloading ${SVCNAME}"
+ signal=HUP
+ [ $RELOAD_TYPE = "graceful" ] && signal=USR1
+ start-stop-daemon --signal $signal --pidfile $pidfile --name $SVCNAME
eend $?
}
-
- modules() {
- checkconfig || return 1
-
- ${HTTPD} ${HTTPD_OPTS} -M 2>&1
- }
-
- fullstatus() {
- LYNX="${LYNX:-lynx -dump}"
- STATUSURL="${STATUSURL:-http://localhost/server-status}"
-
- if ! service_started "${SVCNAME}"; then
- eerror "${SVCNAME} not started"
- elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
- eerror "lynx not installed!"
- else
- ${LYNX} ${STATUSURL}
- fi
- }
-
- virtualhosts() {
- checkconfd || return 1
- ${HTTPD} ${HTTPD_OPTS} -S
- }
-
- configdump() {
- LYNX="${LYNX:-lynx -dump}"
- INFOURL="${INFOURL:-http://localhost/server-info}"
-
- checkconfd || return 1
-
- if ! service_started "${SVCNAME}"; then
- eerror "${SVCNAME} not started"
- elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
- eerror "lynx not installed!"
- else
- echo "${HTTPD} started with '${HTTPD_OPTS}'"
- for i in config server list; do
- ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q'
- done
- fi
- }
-
diff --git a/main/apache2/ssl.conf b/main/apache2/ssl.conf
index e201954..78358b5 100644
--- a/main/apache2/ssl.conf
+++ b/main/apache2/ssl.conf
@@ -34,7 +34,7 @@ SSLPassPhraseDialog builtin
# Configure the SSL Session Cache: First the mechanism
# to use and second the expiring timeout (in seconds).
#SSLSessionCache dc:UNIX:/var/cache/mod_ssl/distcache
- SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
+ SSLSessionCache shmcb:run/scache(512000)
SSLSessionCacheTimeout 300
# Pseudo Random Number Generator (PRNG):
--
2.6.1
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
Kaarle, Could you please have a look at this?
On Thu, 5 Nov 2015 16:38:39 +0200
Valery Kartel <valery.kartel@gmail.com > wrote:
> ---
> main/apache2/APKBUILD | 2 +-
> main/apache2/apache2.confd | 8 ---
> main/apache2/apache2.initd | 168 ++++++++-------------------------------------
> main/apache2/ssl.conf | 2 +-
> 4 files changed, 30 insertions(+), 150 deletions(-)
>
> diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
> index 2eb2010..5fadee2 100644
> --- a/main/apache2/APKBUILD
> +++ b/main/apache2/APKBUILD
> @@ -3,7 +3,7 @@
> pkgname=apache2
> _pkgreal=httpd
> pkgver=2.4.17
> -pkgrel=0
> +pkgrel=1
> pkgdesc="A high performance Unix-based HTTP server"
> url="http://httpd.apache.org/"
> arch="all"
> diff --git a/main/apache2/apache2.confd b/main/apache2/apache2.confd
> index aeb3222..58334da 100644
> --- a/main/apache2/apache2.confd
> +++ b/main/apache2/apache2.confd
> @@ -39,14 +39,6 @@ HTTPD_OPTS=
> # They are normally dumped to your terminal.
> #STARTUPERRORLOG="/var/log/apache2/startuperror.log"
>
> -# A command that outputs a formatted text version of the HTML at the URL
> -# of the command line. Designed for lynx, however other programs may work.
> -#LYNX="lynx -dump"
> -
> -# The URL to your server's mod_status status page.
> -# Required for status and fullstatus
> -#STATUSURL="http://localhost/server-status"
> -
> # Method to use when reloading the server
> # Valid options are 'restart' and 'graceful'
> # See http://httpd.apache.org/docs/2.2/stopping.html for information on
> diff --git a/main/apache2/apache2.initd b/main/apache2/apache2.initd
> index 2975e7a..29f4730 100755
> --- a/main/apache2/apache2.initd
> +++ b/main/apache2/apache2.initd
> @@ -1,154 +1,42 @@
> #!/sbin/openrc-run
>
> -extra_commands="configdump configtest modules virtualhosts"
> -extra_started_commands="fullstatus graceful gracefulstop reload"
> +pidfile=${PIDFILE:-/run/apache2/httpd.pid}
> +configfile=${CONFIGFILE:-/etc/apache2/httpd.conf}
> +serverroot=${SERVERROOT:-/var/www}
> +command=${HTTPD:-/usr/sbin/httpd}
> +command_args="-d $serverroot -f $configfile $HTTPD_OPTS"
> +extra_started_commands="reload"
> +required_files=$configfile
> +required_dirs="$serverroot/modules $serverroot/logs"
> +retry=${TIMEOUT:-10}
>
> depend() {
> need net
> - use mysql dns logger netmount postgresql
> - after sshd firewall
> + use dns logger netmount
> }
>
> -configtest() {
> - ebegin "Checking ${SVCNAME} configuration"
> - checkconfig
> - eend $?
> -}
> -
> -checkconfd() {
> - PIDFILE="${PIDFILE:-/run/apache2/httpd.pid}"
> - TIMEOUT=${TIMEOUT:-10}
> -
> - SERVERROOT="${SERVERROOT:-/var/www}"
> - if [ ! -d ${SERVERROOT} ]; then
> - eerror "SERVERROOT does not exist: ${SERVERROOT}"
> - return 1
> - fi
> -
> - CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"
> - [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"
> - if [ ! -r "${CONFIGFILE}" ]; then
> - eerror "Unable to read configuration file: ${CONFIGFILE}"
> - return 1
> - fi
> -
> - HTTPD_OPTS="${HTTPD_OPTS} -d ${SERVERROOT}"
> - HTTPD_OPTS="${HTTPD_OPTS} -f ${CONFIGFILE}"
> - [ -n "${STARTUPERRORLOG}" ] && HTTPD_OPTS="${HTTPD_OPTS} -E ${STARTUPERRORLOG}"
> - return 0
> -
> -}
> -
> -checkconfig() {
> - checkconfd || return 1
> -
> - ${HTTPD} ${HTTPD_OPTS} -t 1>/dev/null 2>&1
> +start_pre() {
> + ebegin
> + [ -n "$STARTUPERRORLOG" ] && command_args="-E $STARTUPERRORLOG $command_args"
> + $command $command_args -t 2>/dev/null
> ret=$?
> - if [ $ret -ne 0 ]; then
> - eerror "${SVCNAME} has detected an error in your setup:"
> - ${HTTPD} ${HTTPD_OPTS} -t
> - fi
> -
> - return $ret
> -}
> -
> -start() {
> - checkconfig || return 1
> - checkpath --directory $(dirname $PIDFILE)
> -
> - [ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache
> -
> - ebegin "Starting ${SVCNAME}"
> - start-stop-daemon --start \
> - --pidfile ${PIDFILE} \
> - --exec ${HTTPD} \
> - -- ${HTTPD_OPTS} -k start
> - eend $?
> -}
> -
> -stop() {
> - checkconfd || return 1
> -
> - ebegin "Stopping ${SVCNAME}"
> - start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \
> - --retry ${TIMEOUT}
> - eend $?
> -}
> -
> -reload() {
> - RELOAD_TYPE="${RELOAD_TYPE:-graceful}"
> -
> - checkconfig || return 1
> - service_started "${SVCNAME}" || return
> -
> - if [ "${RELOAD_TYPE}" = "restart" ]; then
> - ebegin "Restarting ${SVCNAME}"
> - ${HTTPD} ${HTTPD_OPTS} -k restart
> - eend $?
> - elif [ "${RELOAD_TYPE}" = "graceful" ]; then
> - ebegin "Gracefully restarting ${SVCNAME}"
> - ${HTTPD} ${HTTPD_OPTS} -k graceful
> - eend $?
> + if [ $ret -eq 0 ]; then
> + user=$($command $command_args -t -D DUMP_RUN_CFG | grep ^User: | cut -d\" -f2)
> + group=$($command $command_args -t -D DUMP_RUN_CFG | grep ^Group: | cut -d\" -f2)
> + checkpath --directory --owner $user:$group --mode 0750 ${pidfile%/*}
> + [ -L $serverroot/run ] && rm $serverroot/run
> + ln -s ${pidfile%/*} $serverroot/run
> + [ -f $serverroot/run/scache ] && rm $serverroot/run/scache
> else
> - eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}"
> + [ -z "$STARTUPERRORLOG" ] && $command $command_args -t
> fi
> + eend $ret
> }
>
> -graceful() {
> - checkconfig || return 1
> - service_started "${SVCNAME}" || return
> - ebegin "Gracefully restarting ${SVCNAME}"
> - ${HTTPD} ${HTTPD_OPTS} -k graceful
> - eend $?
> -}
> -
> -gracefulstop() {
> - checkconfig || return 1
> - ebegin "Gracefully stopping ${SVCNAME}"
> - start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \
> - --retry SIGWINCH/${TIMEOUT}
> +reload() {
> + ebegin "Reloading ${SVCNAME}"
> + signal=HUP
> + [ $RELOAD_TYPE = "graceful" ] && signal=USR1
> + start-stop-daemon --signal $signal --pidfile $pidfile --name $SVCNAME
> eend $?
> }
> -
> -modules() {
> - checkconfig || return 1
> -
> - ${HTTPD} ${HTTPD_OPTS} -M 2>&1
> -}
> -
> -fullstatus() {
> - LYNX="${LYNX:-lynx -dump}"
> - STATUSURL="${STATUSURL:-http://localhost/server-status}"
> -
> - if ! service_started "${SVCNAME}"; then
> - eerror "${SVCNAME} not started"
> - elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
> - eerror "lynx not installed!"
> - else
> - ${LYNX} ${STATUSURL}
> - fi
> -}
> -
> -virtualhosts() {
> - checkconfd || return 1
> - ${HTTPD} ${HTTPD_OPTS} -S
> -}
> -
> -configdump() {
> - LYNX="${LYNX:-lynx -dump}"
> - INFOURL="${INFOURL:-http://localhost/server-info}"
> -
> - checkconfd || return 1
> -
> - if ! service_started "${SVCNAME}"; then
> - eerror "${SVCNAME} not started"
> - elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
> - eerror "lynx not installed!"
> - else
> - echo "${HTTPD} started with '${HTTPD_OPTS}'"
> - for i in config server list; do
> - ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q'
> - done
> - fi
> -}
> -
> diff --git a/main/apache2/ssl.conf b/main/apache2/ssl.conf
> index e201954..78358b5 100644
> --- a/main/apache2/ssl.conf
> +++ b/main/apache2/ssl.conf
> @@ -34,7 +34,7 @@ SSLPassPhraseDialog builtin
> # Configure the SSL Session Cache: First the mechanism
> # to use and second the expiring timeout (in seconds).
> #SSLSessionCache dc:UNIX:/var/cache/mod_ssl/distcache
> -SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
> +SSLSessionCache shmcb:run/scache(512000)
> SSLSessionCacheTimeout 300
>
> # Pseudo Random Number Generator (PRNG):
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
On Mon, 30 Nov 2015, Natanael Copa wrote:
> Kaarle, Could you please have a look at this?
The patch seems to contain several changes that are not closely related to
each other. Valery, could you please split it into multiple patches and
describe the purpose of the proposed changes in the message of each
commit?
BR,
Kaarle
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
Hi, I don't know how to split all changes to multiple patches so I made a
new huge patch for main/apache2 and describe all changes it does.
Also need to think about renaming all 'apache-' packets to 'apache2-', or
all 'apache2-' to 'apache-' because both are present in git
2015-11-30 12:06 GMT+02:00 Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>:
> On Mon, 30 Nov 2015, Natanael Copa wrote:
>
> > Kaarle, Could you please have a look at this?
>
> The patch seems to contain several changes that are not closely related to
> each other. Valery, could you please split it into multiple patches and
> describe the purpose of the proposed changes in the message of each
> commit?
>
> BR,
> Kaarle
>