debian/cubicweb-ctl.cubicweb.init
author Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
Fri, 19 Mar 2010 19:21:31 +0100
changeset 4964 d9e8af8a7a42
parent 3001 74e842e4871a
child 6803 691dac4c6a05
permissions -rw-r--r--
[source] implement storages right in the source rather than in hooks The problem is that Storage objects will most probably change entity's dictionary so that values are correctly set before the source's corresponding method (e.g. entity_added()) is called. For instance, the BFSFileStorage will change the original binary data and replace it with the destination file path in order to store the file path in the database. This change must be local to the source in order not to impact other hooks or attribute access during the transaction, the whole idea being that the same application code should work exactly the same whether or not a BFSStorage is used or not.

#!/bin/sh -e

### BEGIN INIT INFO
# Provides:          cubicweb
# Required-Start:    $syslog $local_fs $network
# Required-Stop:     $syslog $local_fs $network
# Should-Start:      $postgresql $pyro-nsd
# Should-Stop:       $postgresql $pyro-nsd
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start cubicweb application at boot time
### END INIT INFO

# FIXME Seems to be inadequate here
# FIXME If related to pyro, try instead:
# export PYRO_STORAGE="/tmp"
cd /tmp

# FIXME Work-around about the following lintian error
#     E: cubicweb-ctl: init.d-script-does-not-implement-required-option /etc/init.d/cubicweb start
#
# Check if we are sure to not want the start-stop-daemon machinery here
# Refer to Debian Policy Manual section 9.3.2 (Writing the scripts) for details.

case $1 in
    force-reload)
        /usr/bin/cubicweb-ctl reload --force
        ;;
    status)
        /usr/bin/cubicweb-ctl status
        ;;
    *)
        /usr/bin/cubicweb-ctl $1 --force
        ;;
esac