debian/cubicweb-ctl.postinst
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 25 Mar 2010 13:59:47 +0100
branchstable
changeset 5013 ad91f93bbb93
parent 1448 62f099f0916f
child 10559 5821ae654dfd
permissions -rw-r--r--
[source storage] refactor source sql generation and results handling to allow repository side callbacks for instance with the BytesFileSystemStorage, before this change: * fspath, _fsopen function were stored procedures executed on the database -> files had to be available both on the repository *and* the database host * we needed implementation for each handled database Now, those function are python callbacks executed when necessary on the repository side, on data comming from the database. The litle cons are: * you can't do anymore restriction on mapped attributes * you can't write queries which will return in the same rset column some mapped attributes (or not mapped the same way) / some not This seems much acceptable since: * it's much more easy to handle when you start having the db on another host than the repo * BFSS works seemlessly on any backend now * you don't bother that much about the cons (at least in the bfss case): you usually don't do any restriction on Bytes... Bonus points: BFSS is more efficient (no queries under the cover as it was done in the registered procedure) and we have a much nicer/efficient fspath implementation. IMO, that rocks :D

#! /bin/sh -e

case "$1" in
    configure|abort-upgrade|abort-remove|abort-deconfigure)
        update-rc.d cubicweb defaults 99 >/dev/null
    ;;
    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

if [ "$1" = configure ]; then
    # XXX bw compat: erudi -> cubicweb migration
    if [ -e "/etc/erudi.d/" ]; then
      mv /etc/erudi.d/* /etc/cubicweb.d/ && (
	  echo 'moved /etc/erudi.d/* to /etc/cubicweb.d/'
	  sed -i s/ginco/cubicweb/g /etc/*/*.py
	  sed -i s/erudi/cubicweb/ */*.conf
	  ) || true # empty dir
    fi
    if [ -e "/var/log/erudi/" ]; then
      mv /var/log/erudi/* /var/log/cubicweb/ && (
	  echo 'moved /var/log/erudi/* to /var/log/cubicweb/'
	  ) || true # empty dir
    fi
    if [ -e "/var/lib/erudi/backup" ]; then
      mv /var/lib/erudi/backup/* /var/lib/cubicweb/backup/ && (
	  echo 'moved /var/lib/erudi/backup/* to /var/lib/cubicweb/backup/'
	  ) || true # empty dir
    fi
    if [ -e "/var/lib/erudi/instances" ]; then
      mv /var/lib/erudi/instances/* /var/lib/cubicweb/instances/ && (
	  echo 'moved /var/lib/erudi/instances/* to /var/lib/cubicweb/instances/'
	  ) || true # empty dir
    fi
fi

#DEBHELPER#

exit 0