• Dridi Boukelmoune's avatar
    RPM packaging polish · 2e53ac0a
    Dridi Boukelmoune authored
    Instead of hand-rolling our own systemd integration, we can rely on RPM
    macros maintained for us. This results in the following changes in the
    main package's scriptlets:
    
        --- scripts.old	2019-02-14 10:50:21.039974337 +0100
        +++ scripts.new	2019-02-14 10:49:24.649144061 +0100
        @@ -12,14 +12,24 @@
    
         exit 0
         postinstall scriptlet (using /bin/sh):
        -/bin/systemctl daemon-reload >/dev/null 2>&1 || :
        -chown varnishlog:varnish /var/log/varnish/
         /sbin/ldconfig
        +
        +if [ $1 -eq 1 ] ; then
        +        # Initial installation
        +        systemctl preset varnish varnishncsa >/dev/null 2>&1 || :
        +fi
         preuninstall scriptlet (using /bin/sh):
        -if [ $1 -lt 1 ]; then
        -  # Package removal, not upgrade
        -  /bin/systemctl --no-reload disable varnish.service > /dev/null 2>&1 || :
        -  /bin/systemctl stop varnish.service > /dev/null 2>&1 || :
        -  /bin/systemctl stop varnishncsa.service > /dev/null 2>&1 || :
        +
        +if [ $1 -eq 0 ] ; then
        +        # Package removal, not upgrade
        +        systemctl --no-reload disable varnish varnishncsa > /dev/null 2>&1 || :
        +        systemctl stop varnish varnishncsa > /dev/null 2>&1 || :
         fi
        -postuninstall program: /sbin/ldconfig
        +postuninstall scriptlet (using /bin/sh):
        +/sbin/ldconfig
        +
        +systemctl daemon-reload >/dev/null 2>&1 || :
        +if [ $1 -ge 1 ] ; then
        +        # Package upgrade, not uninstall
        +        systemctl try-restart varnish varnishncsa >/dev/null 2>&1 || :
        +fi
    
    The only major change is that the varnish and varnishncsa services will
    be restarted during a varnish upgrade. This is needed because otherwise
    reloading a VCL that uses vmod_std after the upgrade (and without
    restarting) would fail because the running varnishd wouldn't recognize
    the shared object's expected ABI.
    
    One unrelated change is the handling of /var/log/varnish/ ownership. As
    it was done until now a fresh install would yield a corrupted package:
    
        $ rpm --verify varnish
        .....UG..    /var/log/varnish
    
    Since we already create the users and group before installing the files,
    we can already ask RPM to chown the directory itself.
    2e53ac0a
Name
Last commit
Last update
debian Loading commit data...
redhat Loading commit data...
sources Loading commit data...
systemd Loading commit data...
sysv Loading commit data...
.gitignore Loading commit data...
JOBDEFS.rst Loading commit data...
README.rst Loading commit data...
dl-source Loading commit data...
package-deb Loading commit data...
package-rpm Loading commit data...
upload-packages Loading commit data...