mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-22 11:04:51 -04:00
120 lines
3.9 KiB
Bash
Executable File
120 lines
3.9 KiB
Bash
Executable File
#!/bin/sh
|
|
# $NetBSD: epsg-load,v 1.4 2007/08/14 17:19:20 joerg Exp $
|
|
|
|
# epsg - import EPSG data into a relational database
|
|
|
|
# Copyright (c) 2006,2007 Brook Milligan <brook@nmsu.edu>
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
#
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above
|
|
# copyright notice, this list of conditions and the following
|
|
# disclaimer in the documentation and/or other materials provided
|
|
# with the distribution.
|
|
# 3. The name of the author may not be used to endorse or promote
|
|
# products derived from this software without specific prior
|
|
# written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
|
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
set -e # exit on error
|
|
|
|
HOST=
|
|
PORT=
|
|
DB=epsg
|
|
USERNAME=$USER
|
|
|
|
HELP=0
|
|
USE_PGSQL=0
|
|
USE_MYSQL=0
|
|
|
|
VERS=@VERS@
|
|
SRCDIR=@EPSGDIR@
|
|
|
|
PSQL=@PREFIX@/bin/psql
|
|
MYSQL=@PREFIX@/bin/mysql
|
|
|
|
if [ $# = 0 ]; then
|
|
HELP=1
|
|
fi
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case $1 in
|
|
--help) HELP=1;;
|
|
--dbname) DB=$2; shift;;
|
|
--host) HOST=$2; shift;;
|
|
--mysql) USE_MYSQL=1;;
|
|
--port) PORT=$2; shift;;
|
|
--pgsql) USE_PGSQL=1;;
|
|
--srcdir) SRCDIR=$2; shift;;
|
|
--username) USERNAME=$2; shift;;
|
|
*) HELP=1; echo "epsg: unrecognized option: $1";;
|
|
esac
|
|
shift;
|
|
done
|
|
|
|
if [ $HELP -eq 1 ]; then
|
|
echo "epsg -- load the EPSG dataset into a database"
|
|
echo "usage: epsg [options]"
|
|
echo "options:"
|
|
echo " --help [ print a help message ]"
|
|
echo " --pgsql [ connect to a PostgreSQL database ]"
|
|
echo " --mysql [ connect to a mySQL database ]"
|
|
echo " --host hostname [ connect to a specific host ]"
|
|
echo " --port port [ connect to a specific port ]"
|
|
echo " --dbname database [ connect to a specific database ]"
|
|
echo " --username user [ connect as user ]"
|
|
exit 1
|
|
fi
|
|
|
|
echo "epsg - importing EPSG data ..."
|
|
if [ "$HOST" != "" ]; then
|
|
echo " host: $HOST"
|
|
PSQL_FLAGS="$PSQL_FLAGS --host $HOST"
|
|
MYSQL_FLAGS="$MYSQL_FLAGS --host=$HOST"
|
|
fi
|
|
if [ "$PORT" != "" ]; then
|
|
echo " port: $PORT"
|
|
PSQL_FLAGS="$PSQL_FLAGS --port $PORT"
|
|
MYSQL_FLAGS="$MYSQL_FLAGS --port=$PORT"
|
|
fi
|
|
if [ "$DB" != "" ]; then
|
|
echo " database: $DB"
|
|
PSQL_FLAGS="$PSQL_FLAGS --dbname $DB"
|
|
MYSQL_FLAGS="$MYSQL_FLAGS --database=$DB"
|
|
fi
|
|
if [ "$USERNAME" != "" ]; then
|
|
echo " username: $USERNAME"
|
|
PSQL_FLAGS="$PSQL_FLAGS --username $USERNAME"
|
|
MYSQL_FLAGS="$MYSQL_FLAGS --user=$USERNAME"
|
|
fi
|
|
|
|
if [ $USE_PGSQL -eq 1 ]; then
|
|
echo "importing into a PostgreSQL database ..."
|
|
$PSQL -f $SRCDIR/EPSG_v$VERS.mdb_Tables_PostgreSQL.sql $PSQL_FLAGS
|
|
$PSQL -f $SRCDIR/EPSG_v$VERS.mdb_Data_PostgreSQL.sql $PSQL_FLAGS
|
|
$PSQL -f $SRCDIR/EPSG_v$VERS.mdb_FKeys_PostgreSQL.sql $PSQL_FLAGS
|
|
fi
|
|
|
|
if [ $USE_MYSQL -eq 1 ]; then
|
|
echo "importing into a mySQL database ..."
|
|
$MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v$VERS.mdb_Tables_MySQL.sql
|
|
$MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v$VERS.mdb_Data_MySQL.sql
|
|
$MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v$VERS.mdb_FKeys_MySQL.sql
|
|
fi
|