8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 10:03:03 +01:00
firebird-mirror/builds/install/misc/changeGdsLibraryCompatibleLink.sh.in
2005-08-16 10:04:13 +00:00

122 lines
3.5 KiB
Bash

#!/bin/sh
#
# This library is part of the Firebird project
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: changeGdsLibraryCompatibleLink.sh.in,v 1.3 2005-08-16 10:03:22 alexpeshkoff Exp $
#
# This script allows the user to change the link on classic for the
# client library from
#
# a) libfbembed.so original classic direct connection
# b) libfbclient.so multithreaded client connection
#
#------------------------------------------------------------------------
# quitIfRealFile
# Quit if library is real file, not link somewhere
quitIfRealFile() {
fileToCheck=$1
# Don't worry about symbolic links
if [ -L $fileToCheck ]
then
return
fi
if [ -f $fileToCheck ]
then
echo "The file $fileToCheck is a real file not just a link to an "
echo "existing file. It therefore may be from a"
echo "previous firebird or InterBase(r) installation"
echo "You will need to manually check the status of this file"
echo "and remove it before running this script again"
exit
fi
}
#------------------------------------------------------------------------
# printStatus
printStatus() {
printStatus=`ls -l @libdir@/libgds.so | sed 's@^.* /usr@/usr@'`
echo $printStatus
}
#= Main ====================================================================
FBRootDir=@prefix@
FBBin=$FBRootDir/bin
cat <<EOF
For classic server there are two optional backward compatible client libraries.
These are libfbclient.so and libfbembed.so.
libfbclient.so) enables your client to be multithreaded but must connect to a
database via a server.
libfbembed.so) allows the client to directly open the database file, but does
not support multithreaded access
Your current setting is:
EOF
printStatus
echo ""
quitIfRealFile @libdir@/libgds.so
quitIfRealFile @libdir@/libgds.so.0
AskQuestion "Which option would you like to choose (client|embed|remove) [client] " "client"
case $Answer in
embed)
createLinksForBackCompatibility libfbembed.so
;;
client)
createLinksForBackCompatibility libfbclient.so
;;
remove)
removeLinksForBackCompatibility
;;
*)
echo "Unknown option $Answer chosen"
;;
esac