diff options
author | James Meyer <james.meyer@operamail.com> | 2009-01-19 15:22:40 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2009-01-19 15:22:40 (GMT) |
commit | eaa1e24dfe16f3f5a3d12b194f977e971c8f4b4b (patch) | |
tree | 1039b920717da374ee67975622724f17f6fe89e1 /abs/core-testing/zoneminder/zminit.arch | |
parent | e7d7822ab75eeb5b35fd7ee6d9a1cfc4e730272e (diff) | |
parent | 6f90626a0bf289be8f0497fd6b135c7ef831e0fd (diff) | |
download | linhes_pkgbuild-eaa1e24dfe16f3f5a3d12b194f977e971c8f4b4b.zip linhes_pkgbuild-eaa1e24dfe16f3f5a3d12b194f977e971c8f4b4b.tar.gz linhes_pkgbuild-eaa1e24dfe16f3f5a3d12b194f977e971c8f4b4b.tar.bz2 |
Merge branch 'HEAD' of ssh://jams@knoppmyth.net/mount/repository/LinHES-PKGBUILD.git
Diffstat (limited to 'abs/core-testing/zoneminder/zminit.arch')
-rw-r--r-- | abs/core-testing/zoneminder/zminit.arch | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/abs/core-testing/zoneminder/zminit.arch b/abs/core-testing/zoneminder/zminit.arch new file mode 100644 index 0000000..01b6658 --- /dev/null +++ b/abs/core-testing/zoneminder/zminit.arch @@ -0,0 +1,143 @@ +#!/bin/sh + + +ZM_CONFIG=/etc/zm.conf + + + +loadcfg() { + if [ -f $ZM_CONFIG ]; then + . $ZM_CONFIG + else + echo "ERROR: $ZM_CONFIG not found." + exit 1 + fi + } +chkmysql(){ + #FIXME + /etc/rc.d/mysqld restart || (echo "mysql is not availible" && exit 1 ) + } + +getmylogin(){ + echo "Enter MySQL Administrator username" + echo "(Default: root and password is blank)" + echo -n "MySQL Admin: " + read MYADMIN + echo -n "Password: " + read MYPASS + if [ "X$MYPASS" != "X" ]; then MYPASS="-p$MYPASS"; fi + echo "\q" |mysql -u $MYADMIN $MYPASS || exit 0 + + } + +checkdb() +{ + # Check database exisits and version + exists=$(echo "show databases" |mysql -u $MYADMIN "$MYPASS" |grep zm) + if [ "$exists" = "zm" ]; then + OLD_VERSION=$(echo "select Value from Config where Name = 'ZM_DYN_DB_VERSION';" | mysql -u $MYADMIN $MYPASS zm |grep -v '^Value') + + case $OLD_VERSION in + "") + echo "A zm database exists, but the version is unknown" + echo "Updating is unlikely to succeed" + ;; + "$ZM_VERSION") + echo "The zm database appears to be up to date" + echo "If this is incorrect, edit $ZM_CONFIG to reflect the current version" + ;; + *) + echo "A database fron zm-$OLD_VERSION exists already" + ;; + esac + + while [ true ] + do + echo "Choose one of the following options:" + echo "[U]pdate the database" + echo "[D]rop the old database and reinitialize" + echo "[E]xit and do nothing" + read OPTION + case $OPTION in + "U"|"u") + /etc/rc.d/zm restart + exit 0 + ;; + "D"|"d") + echo "drop database zm;"|mysql -u $MYADMIN $MYPASS + return + ;; + "E"|"e") + exit 0 + ;; + esac + done + fi +} + +checkcfg(){ +for n in ZM_DB_HOST ZM_DB_NAME ZM_DB_USER ZM_DB_PASS; do + eval "val=\$$n" + if [ "$val" = "" ]; then + echo "ERROR($ZM_CONFIG): $n should not be empty." + echo "Enter a $n for ZM to use the Database." + if [ "$n" = "ZM_DB_PASS" ]; then + echo -n "Will not echo on screen $n : " + stty -echo # Turns off screen echo. + read newval + stty echo # Restores screen echo. + echo "" + ### The following can be used to generate a random password + # randstr newval 16 + else + echo -n "$n : " + read newval + fi + cp $ZM_CONFIG /tmp/$$ && + sed 's/^'$n='.*$/'$n=$newval'/g' /tmp/$$ >$ZM_CONFIG + + fi +done + +if [ "$ZM_DB_HOST" = "localhost" ]; then + ClientHost=localhost +else + ClientHost=`hostname` +fi +} + +reloadcfg(){ +loadcfg +} + +initdb(){ +sql=/tmp/zm.crdb.sql +echo "" >$sql +chmod 600 $sql + +echo "CREATE DATABASE $ZM_DB_NAME;" >>$sql +echo "USE $ZM_DB_NAME;" >>$sql + +echo "GRANT all on $ZM_DB_NAME.* TO '$ZM_DB_USER'@'$ClientHost' IDENTIFIED BY '$ZM_DB_PASS';" >>$sql + +cat $sql | mysql -B -h $ZM_DB_HOST -u $MYADMIN $MYPASS +rm -f $sql + +cat $ZM_PATH_UPDATE/zm_create.sql | mysql -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME +( cd $ZM_PATH_UPDATE; perl $ZM_PATH_BIN/zmupdate.pl -f ) + + $ZM_PATH_UPDATE/customdb $ZM_DB_HOST $ZM_DB_NAME $ZM_DB_USER $ZM_DB_PASS +} + + + +loadcfg +getmylogin +checkdb +checkcfg +reloadcfg +initdb + + + + |