diff --git a/Apache/SOGo.conf b/Apache/SOGo.conf index 7921d91bd..1762ebac3 100644 --- a/Apache/SOGo.conf +++ b/Apache/SOGo.conf @@ -9,6 +9,13 @@ AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \ AllowOverride None Order deny,allow Allow from all + + # Explicitly allow caching of static content to avoid browser specific behavior. + # A resource's URL MUST change in order to have the client load the new version. + + ExpiresActive On + ExpiresDefault "access plus 1 year" + @@ -64,4 +71,4 @@ ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0 # The remote address will appear in SOGo's log files and in the X-Forward # header of emails. RewriteEngine On -RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT] \ No newline at end of file +RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT] diff --git a/ChangeLog b/ChangeLog index eef787de6..ffc062ee7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2012-05-24 Jean Raby + + * debian*/rules: Restart sogod after pkg upgrade (dh_installinit -R) + * Scripts/sogo-init.d-*: add support for conditional restart. + Patch from Romain Le Disez + * sogo.spec: Restart sogod during post installation if it was already running + + * Apache/SOGo.conf: + Use mod_expires to allow long term caching of static content. (1 year) + Note that from now on, a resource's URL _must_ change to let the client + reload it. This is now done automatically for 'rsrc' in the wox templates, + but must be done manually for files referenced from css and js. + 2012-05-23 Wolfgang Sourdeau * UI/WebServerResources/generic.js diff --git a/Scripts/sogo-init.d-redhat b/Scripts/sogo-init.d-redhat index db5b4cfba..76fea17f5 100755 --- a/Scripts/sogo-init.d-redhat +++ b/Scripts/sogo-init.d-redhat @@ -146,12 +146,17 @@ case "$1" in restart) restart ;; + condrestart|try-restart) + if status -p "$PIDFILE" $DAEMON >&/dev/null; then + restart + fi + ;; status) status -p "$PIDFILE" $DAEMON ;; *) N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|status}" >&2 + echo "Usage: $N {start|stop|restart|condrestart|status}" >&2 exit 1 ;; esac diff --git a/Scripts/sogo-init.d-sles b/Scripts/sogo-init.d-sles index ad44c0685..d4f3afbc1 100755 --- a/Scripts/sogo-init.d-sles +++ b/Scripts/sogo-init.d-sles @@ -96,6 +96,11 @@ case "$1" in startproc -u $USER $DAEMON $DAEMON_OPTS || true echo "$NAME." ;; + condrestart|try-restart) + if checkproc -p "$PIDFILE" $DAEMON >&/dev/null; then + restart + fi + ;; status) checkproc -p $PIDFILE $DAEMON result="$?" @@ -115,7 +120,7 @@ case "$1" in fi ;; *) - echo "Usage: $NAME {start|stop|restart|status}" >&2 + echo "Usage: $NAME {start|stop|restart|condrestart|status}" >&2 exit 1 ;; esac diff --git a/debian-multiarch/rules b/debian-multiarch/rules index 1580a1ce5..d66269b96 100755 --- a/debian-multiarch/rules +++ b/debian-multiarch/rules @@ -85,7 +85,7 @@ install-arch: build-arch binary-arch: build-arch install-arch dh_testdir dh_testroot - dh_installinit -r + dh_installinit -R dh_installlogrotate dh_installcron dh_installchangelogs ChangeLog diff --git a/debian/rules b/debian/rules index 023869853..cfa64de7b 100755 --- a/debian/rules +++ b/debian/rules @@ -84,7 +84,7 @@ install-arch: build-arch binary-arch: build-arch install-arch dh_testdir dh_testroot - dh_installinit -r + dh_installinit -R dh_installlogrotate dh_installcron dh_installchangelogs ChangeLog diff --git a/sogo.spec b/sogo.spec index 8be88354e..bab4cf4ea 100644 --- a/sogo.spec +++ b/sogo.spec @@ -292,6 +292,7 @@ if ! id sogo >& /dev/null; then /usr/sbin/adduser sogo > /dev/null 2>&1; fi # update timestamp on imgs,css,js to let apache know the files changed find %{_libdir}/GNUstep/SOGo/WebServerResources -exec touch {} \; /sbin/chkconfig --add sogod +/etc/init.d/sogod condrestart >&/dev/null %preun if [ "$1" == "0" ] @@ -311,6 +312,9 @@ fi # ********************************* changelog ************************* %changelog +* Fri May 24 2012 Jean Raby +- %post: restart sogo if it was running before rpm install + * Fri Mar 16 2012 Jean Raby - %post: update timestamp on imgs,css,js to let apache know the files changed