diff options
Diffstat (limited to 'abs/core/zoneminder/zoneminder.install')
| -rw-r--r--[-rwxr-xr-x] | abs/core/zoneminder/zoneminder.install | 123 | 
1 files changed, 77 insertions, 46 deletions
| diff --git a/abs/core/zoneminder/zoneminder.install b/abs/core/zoneminder/zoneminder.install index 250749f..bf5cd99 100755..100644 --- a/abs/core/zoneminder/zoneminder.install +++ b/abs/core/zoneminder/zoneminder.install @@ -1,55 +1,86 @@ -# zoneminder.install -## arg 1:  the new package version -post_install() { -  ln -s /usr/share/cambozola/cambozola.jar /srv/zoneminder/www/ -  chown -R http.http /srv/zoneminder -  chown http.http /etc/zm.conf -  cat << EOF -Note: -==> To initialize the ZoneMinder database run (as root) -==> /usr/lib/zm/bin/zminit -EOF +install_db() { +    . /etc/systemconfig +    if [ $SystemType = Master_backend -o  $SystemType = Standalone ] +    then +        mysql -e "use zm" > /dev/null +        rc=$? +        if [ $rc = 1 ] +        then +            echo "Installing zoneminder database zm" +            cat /usr/share/zoneminder/db/zm_create.sql | mysql +            echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql +        fi +    else +        echo "Will only init the database for  StandAlone or Master_backend LinHES systems" +    fi +    } -cat  << EOF -==> Check /etc/php/php.ini and make sure these are uncommented -==> extension=gd.so -==> extension=gettext.so -==> extension=mcrypt.so -==> extension=mysql.so -==> extension=mysqli.so -==> extension=session.so -==> extension=sockets.so -EOF -cat << EOF -==> Check /etc/php/php.ini and make sure short_open_tag = On +pre_install() { +  set -e +  abort=false +  if [ -L /srv/http/zoneminder/events ]; then +    l=$(readlink /srv/http/zoneminder/events) +    if [ $l != /var/cache/zoneminder/events ]; then +        abort=true +    fi +  fi +  if [ -L /srv/http/zoneminder/images ]; then +    l=$(readlink /srv/http/zoneminder/images) +    if [ $l != /var/cache/zoneminder/images ]; then +        abort=true +    fi +  fi +  if [ $abort = true ]; then +    cat >&2 << EOF +Aborting installation of zoneminder due to non-default symlinks in +/srv/http/zoneminder for the images and/or events directory, which could +result in loss of data. Please move your data in each of these directories to +/var/cache/zoneminder before installing zoneminder from the package.  EOF +    exit 1 +  fi +  exit 0 +} +post_install() { +  if [[ -d /var/log/zoneminder ]]; then +    chmod 0755 /var/log/zoneminder +    chown http.http /var/log/zoneminder +  else +    mkdir -m 0755 /var/log/zoneminder +    chown http.http /var/log/zoneminder +  fi +  if [[ -d /tmp/zoneminder ]]; then +    chmod 0700 /tmp/zoneminder +    chown http.http /tmp/zoneminder +  else +    mkdir -m 0700 /tmp/zoneminder +    chown http.http /tmp/zoneminder +  fi +#--- + usermod -G video http + install_db + gen_light_include.py + /sbin/sv hup /service/lighttpd +#--- +} -cat /etc/php/php.ini |grep "^open_basedir.*/etc/" | \ -grep "/var/lib/zm/www">/dev/null ||  cat << EOF -==> You must edit /etc/php/php.ini and add to open_basedir "/etc/" and -==> "/var/lib/zm/" like so -==> open_basedir = /home/:/tmp/:/usr/share/pear/:/etc/:/var/lib/zm/ -==> Otherwise ZoneMinder will be unable to read /etc/zm.conf -==> or display its own web directory -EOF - -cat << EOF -Note: -==> You must edit /etc/httpd/conf/httpd.conf and uncomment/add the line -==> LoadModule php5_module modules/libphp5.so -==> You must also add these lines: -==> Include conf/extra/php5_module.conf -==> Include /etc/httpd/conf/extra/httpd-zm.conf -EOF -touch /var/lib/zm/zm_backup.sql +post_upgrade() { +  post_install +  /usr/bin/zmupdate.pl -f >/dev/null +  gen_light_include.py +  /sbin/sv hup /service/lighttpd  } +post_remove() { +  if [[ -d /tmp/zoneminder ]]; then +    rm -vr /tmp/zoneminder +  fi + +#-- + gen_light_include.py +  /sbin/sv hup /service/lighttpd +#-- -## arg 1:  the new package version -## arg 2:  the old package version -post_upgrade() { -/usr/lib/zm/bin/zmupdate.pl -f >/dev/null  } -# vim:set ts=2 sw=2 et: | 
