OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 06-Sep-2007 11:58:37 Branch: HEAD Handle: 2007090610583700 Modified files: openpkg-src/dbmail dbmail-setup.sh Log: also determine name of superuser databases automatically Summary: Revision Changes Path 1.11 +8 -4 openpkg-src/dbmail/dbmail-setup.sh ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/dbmail/dbmail-setup.sh ============================================================================ $ cvs diff -u -r1.10 -r1.11 dbmail-setup.sh --- openpkg-src/dbmail/dbmail-setup.sh 6 Sep 2007 09:50:50 -0000 1.10 +++ openpkg-src/dbmail/dbmail-setup.sh 6 Sep 2007 09:58:37 -0000 1.11 @@ -24,14 +24,18 @@ # determine RDBMS-specific details if [ ".$db_type" = .sqlite ]; then + db_sname="" db_suser="@l_rusr@" db_spass="@l_rgrp@" elif [ ".$db_type" = .mysql ]; then + db_sname="mysql" db_suser=`grep "^user" @l_prefix@/etc/mysql/my.pwd |\ sed -e 's;^user[^=]*= *;;' -e 's; *$;;'` db_spass=`grep "^password" @l_prefix@/etc/mysql/my.pwd |\ sed -e 's;^password[^=]*= *;;' -e 's; *$;;'` elif [ ".$db_type" = .pgsql ]; then + db_sname=`grep "^superuser_database" @l_prefix@/var/postgresql/db/pg_superuser.conf |\ + sed -e 's;^ *superuser_database="\(.*\)".*;\1;'` db_suser=`grep "^superuser_username" @l_prefix@/var/postgresql/db/pg_superuser.conf |\ sed -e 's;^ *superuser_username="\(.*\)".*;\1;'` db_spass=`grep "^superuser_password" @l_prefix@/var/postgresql/db/pg_superuser.conf |\ @@ -59,13 +63,13 @@ @l_prefix@/bin/mysqladmin --user="$db_suser" --password="$db_spass" create "$db_name" ( echo "GRANT ALL ON $db_name.* TO [EMAIL PROTECTED] IDENTIFIED BY '$db_pass';" echo "FLUSH PRIVILEGES;" - ) | @l_prefix@/bin/mysql --user="$db_suser" --password="$db_spass" mysql + ) | @l_prefix@/bin/mysql --user="$db_suser" --password="$db_spass" "$db_sname" @l_prefix@/bin/mysql --user="$db_user" --password="$db_pass" "$db_name" <$db_script elif [ ".$db_type" = .pgsql ]; then ( echo "CREATE ROLE $db_user LOGIN ENCRYPTED PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;" echo "CREATE TABLESPACE $db_name OWNER $db_user LOCATION '$db_dir';" echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name;" - ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d template1 -f- + ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -f- <$db_script fi ;; @@ -75,12 +79,12 @@ rm -f $db_name >/dev/null 2>&1 || true elif [ ".$db_type" = .mysql ]; then ( echo "DROP DATABASE $db_name;" - ) | @l_prefix@/bin/mysql --user="$db_suser" --password="$db_spass" mysql + ) | @l_prefix@/bin/mysql --user="$db_suser" --password="$db_spass" "$db_sname" elif [ ".$db_type" = .pgsql ]; then ( echo "DROP DATABASE $db_name;" echo "DROP TABLESPACE $db_name;" echo "DROP ROLE $db_user;" - ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d template1 -f- + ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- fi ;; esac @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org