From: Alexander P. <ale...@us...> - 2010-03-12 14:40:57
|
Build Version : T3.0.0.27920 Firebird 3.0 Unstable (writeBuildNum.sh,v 1.28095 2010/03/12 14:40:46 alexpeshkof ) Update of /cvsroot/firebird/firebird2/builds/install/arch-specific/freebsd In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv29547/builds/install/arch-specific/freebsd Modified Files: install.sh.in Added Files: freebsdLibrary.sh.in Log Message: CORE-2921: still miss superclassic support --- freebsdLibrary.sh.in ADDED --- Index: install.sh.in =================================================================== RCS file: /cvsroot/firebird/firebird2/builds/install/arch-specific/freebsd/install.sh.in,v retrieving revision 1.14 retrieving revision 1.15 diff -b -U3 -r1.14 -r1.15 --- install.sh.in 4 Dec 2009 09:58:10 -0000 1.14 +++ install.sh.in 12 Mar 2010 14:40:45 -0000 1.15 @@ -1,38 +1,68 @@ #!/bin/sh # -# This library is part of the FirebirdSQL project +# The contents of this file are subject to the Initial +# Developer's Public License Version 1.0 (the "License"); +# you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. # -# 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 +# Software distributed under the License is distributed AS IS, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. +# See the License for the specific language governing rights +# and limitations under the License. # -# 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 +# The Original Code was created by Mark O'Donohue +# for the Firebird Open Source RDBMS project. # -# 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: Chris Knight <ch...@e-...> -# -# Contributor(s): +# Copyright (c) Mark O'Donohue <mar...@lu...> +# and Chris Knight <ch...@e-...> +# and all contributors signed below. # +# All Rights Reserved. +# Contributor(s): ______________________________________. +# Alex Peshkoff # -# Install script for FirebirdSQL database engine +# Script to copy install files from the build/transport area + + +# This script builds an image of the installed system into +# the gen/buildroot directory. + +if [ "`whoami`" != "root" ]; then + echo 'You must be root to install' + exit 1 +fi + +# Making an assumption that this program is being run in the gen directory +BuildRootDir=.. +BuiltFBDir=./firebird # Where the just build fb exists. +TargetDir= # Install in real FS +SecurityDatabase=security2.fdb + + +#------------------------------------------------------------------------ +# addLibs +# Add required libraries in the beginning of script. +# Place it to target directory. + +addLibs() { + libSdir=$1 + libScript=$2 + libTdir=$3 + libTarget=$libTdir/$libScript + + rm -f $libTarget + touch $libTarget + for i in posixLibrary.sh @FIREBIRD_ARCH_TYPE@Library.sh freebsdLibrary.sh + do + echo "# $i" >>$libTarget + cat $libSdir/$i >>$libTarget + echo "" >>$libTarget # avoid missing linefeed + done + cat $libSdir/$libScript >>$libTarget +} + #------------------------------------------------------------------------ # copyIfExists @@ -40,31 +70,319 @@ # copyIfExists() { - OldFile=$1 - NewFile=$2 + Files="" + while [ ${#} -gt 1 ]; do + Files="$Files ${1}" + shift + done + NewDir=${1} - if [ -f $OldFile ] - then - cp $OldFile $NewFile + for OldFile in $Files; do + if [ -f $OldFile ]; then + cp -Rf $OldFile $NewDir fi + done +} + + +#------------------------------------------------------------------------ +# linkFiles +# This function creates soft links +linkFiles() { + From=$1 + Files=$2 + To=$3 + Check=$4 + + if [ "$To" = "$Check" ]; then + return 0 + fi + + for file in $Files; do + rm -f $To/$file + ln -s $From/$file $To/$file + done } -InstallFirebirdPrefix=@prefix@ -InstallPrefix=${InstallFirebirdPrefix%/firebird} -if [ -d $InstallFirebirdPrefix ]; then - if [ -d $InstallPrefix/firebird.old ]; then - rm -rf $InstallPrefix/firebird.old +#------------------------------------------------------------------------ +# makeDirs +# Make paths, passed as a list in 1st arg + +makeDirs() { + Dirs=$1 + for d in $Dirs; do + Dir=${TargetDir}${d} + if [ ! -d $Dir ]; then + rm -f $Dir + mkdir -p $Dir + chown root:wheel $Dir + chmod 0755 $Dir fi - cp -Rp $InstallFirebirdPrefix $InstallPrefix/firebird.old -fi + done +} -if [ `id -u` -ne 0 ]; then - echo; echo "You must be root to run this step!"; echo; echo - exit 1 -fi +#------------------------------------------------------------------------ +# copyFiles +# This function copies all the files into the installation directory(ies). + +copyFiles() { +# The guts of the tranfer of files and other directories + + #directories + makeDirs "@FB_BINDIR@ @FB_SBINDIR@ @FB_CONFDIR@ @FB_LIBDIR@ @FB_INCDIR@ @FB_DOCDIR@/sql.extensions @FB_UDFDIR@ @FB_SAMPLEDIR@ \ + @FB_SAMPLEDBDIR@ @FB_HELPDIR@ @FB_INTLDIR@ @FB_MISCDIR@ @FB_SECDBDIR@ @FB_MSGDIR@ @FB_LOGDIR@ @FB_GUARDDIR@ @FB_PLUGDIR@" + + for i in ib_udf metadata security; do + makeDirs @FB_MISCDIR@/upgrade/$i + done + + makeDirs @libdir@ + makeDirs /usr/include + + #bin + cp $BuiltFBDir/bin/gbak ${TargetDir}@FB_BINDIR@/gbak + cp $BuiltFBDir/bin/gdef ${TargetDir}@FB_BINDIR@/gdef + cp $BuiltFBDir/bin/gfix ${TargetDir}@FB_BINDIR@/gfix + cp $BuiltFBDir/bin/gpre ${TargetDir}@FB_BINDIR@/gpre + cp $BuiltFBDir/bin/gsec ${TargetDir}@FB_BINDIR@/gsec + cp $BuiltFBDir/bin/nbackup ${TargetDir}@FB_BINDIR@/nbackup + copyIfExists $BuiltFBDir/bin/gsplit ${TargetDir}@FB_BINDIR@ + cp $BuiltFBDir/bin/gstat ${TargetDir}@FB_BINDIR@/gstat + copyIfExists $BuiltFBDir/bin/fbsvcmgr ${TargetDir}@FB_BINDIR@ + copyIfExists $BuiltFBDir/bin/fbtracemgr ${TargetDir}@FB_BINDIR@ + cp $BuiltFBDir/bin/isql ${TargetDir}@FB_BINDIR@/isql + cp $BuiltFBDir/bin/qli ${TargetDir}@FB_BINDIR@/qli + + chown root:wheel ${TargetDir}@FB_BINDIR@/* + chmod 0755 ${TargetDir}@FB_BINDIR@/* + + #sbin + copyIfExists $BuiltFBDir/bin/fb_inet_server ${TargetDir}@FB_SBINDIR@ + copyIfExists $BuiltFBDir/bin/fb_smp_server ${TargetDir}@FB_SBINDIR@ + copyIfExists $BuiltFBDir/bin/fbserver ${TargetDir}@FB_SBINDIR@ + cp -f $BuiltFBDir/bin/fbguard ${TargetDir}@FB_SBINDIR@ + copyIfExists $BuiltFBDir/bin/fb_lock_print ${TargetDir}@FB_SBINDIR@ + copyIfExists $BuiltFBDir/bin/fbmgr.bin ${TargetDir}@FB_SBINDIR@ + + addLibs $BuildRootDir/gen/firebird/bin changeRunUser.sh ${TargetDir}@FB_SBINDIR@ + addLibs $BuildRootDir/gen/firebird/bin restoreRootRunUser.sh ${TargetDir}@FB_SBINDIR@ + addLibs $BuildRootDir/gen/firebird/bin changeDBAPassword.sh ${TargetDir}@FB_SBINDIR@ + addLibs $BuildRootDir/gen/firebird/bin changeMultiConnectMode.sh ${TargetDir}@FB_SBINDIR@ + addLibs $BuiltFBDir/bin changeGdsLibraryCompatibleLink.sh ${TargetDir}@FB_SBINDIR@ + cp $BuiltFBDir/bin/createAliasDB.sh ${TargetDir}@FB_SBINDIR@ + cp $BuiltFBDir/bin/fb_config ${TargetDir}@FB_SBINDIR@ + + chown root:wheel ${TargetDir}@FB_SBINDIR@/* + chmod 0755 ${TargetDir}@FB_SBINDIR@/* + chmod 0700 ${TargetDir}@FB_SBINDIR@/*.sh + + #install scripts + addLibs $BuildRootDir/gen/firebird/bin tarMainInstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin tarinstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin preinstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin postinstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin preuninstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin postuninstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin taruninstall.sh $BuildRootDir/gen/install/scripts + addLibs $BuildRootDir/gen/firebird/bin tarMainUninstall.sh $BuildRootDir/gen/install/scripts + + #examples - copy only if we have them + exampleFiles=`find $BuiltFBDir/examples/README -type f -print` + if [ -z "$exampleFiles" ]; then + echo "Example files have not been built!" + else + (cd $BuiltFBDir/examples; tar cf - .) | (cd ${TargetDir}@FB_SAMPLEDIR@; tar xf -) + rm -rf ${TargetDir}@FB_SAMPLEDIR@/empbuild + + for i in `find ${TargetDir}@FB_SAMPLEDIR@ -type d -print` + do + chown root:wheel $i + chmod 0555 $i + done + for i in `find ${TargetDir}@FB_SAMPLEDIR@ -type f -print` + do + chown root:wheel $i + chmod 0444 $i + done + + makeDirs @FB_SAMPLEDBDIR@ + cp $BuiltFBDir/examples/empbuild/*.fdb ${TargetDir}@FB_SAMPLEDBDIR@ + + chown root:wheel ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb + chmod 0444 ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb + fi + + #QLI help + copyIfExists $BuiltFBDir/help/help.gbak ${TargetDir}@FB_HELPDIR@ + cp $BuiltFBDir/help/help.fdb ${TargetDir}@FB_HELPDIR@ + + chown root:wheel ${TargetDir}@FB_HELPDIR@/*.fdb + chmod 0444 ${TargetDir}@FB_HELPDIR@/*.fdb + + #message file + cp $BuiltFBDir/*.msg ${TargetDir}@FB_MSGDIR@ + + chown root:wheel ${TargetDir}@FB_MSGDIR@/*.msg + chmod 0444 ${TargetDir}@FB_MSGDIR@/*.msg + + #secureDB (access rights will be set at install time) + cp $BuiltFBDir/$SecurityDatabase ${TargetDir}@FB_SECDBDIR@ + + #.h files + cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@ + + chown root:wheel ${TargetDir}@FB_INCDIR@/*.h + chmod 0444 ${TargetDir}@FB_INCDIR@/*.h + + #lib + copyIfExists $BuiltFBDir/lib/libfbembed.so* ${TargetDir}@FB_LIBDIR@ + cp -f $BuiltFBDir/lib/libfbclient.so* ${TargetDir}@FB_LIBDIR@ + cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so + copyIfExists $BuiltFBDir/lib/libicu*.so* ${TargetDir}@FB_LIBDIR@ + + chown root:wheel ${TargetDir}@FB_LIBDIR@/*.so* + chmod 0755 ${TargetDir}@FB_LIBDIR@/*.so* + + #plugins + cp -f $BuiltFBDir/plugins/* ${TargetDir}@FB_PLUGDIR@ + + chown root:wheel ${TargetDir}@FB_PLUGDIR@/*.so* + chmod 0755 ${TargetDir}@FB_PLUGDIR@/*.so* + + #intl + cp $BuiltFBDir/intl/libfbintl.so ${TargetDir}@FB_INTLDIR@/fbintl + cp $BuiltFBDir/intl/fbintl.conf ${TargetDir}@FB_INTLDIR@ + + chown root:wheel ${TargetDir}@FB_INTLDIR@/fbintl* + chmod 0755 ${TargetDir}@FB_INTLDIR@/fbintl + chmod 0644 ${TargetDir}@FB_INTLDIR@/fbintl.conf + + #UDF + cp $BuiltFBDir/UDF/ib_udf.so ${TargetDir}@FB_UDFDIR@ + cp $BuiltFBDir/UDF/fbudf.so ${TargetDir}@FB_UDFDIR@ +# Note that the following items copy files from outside the build tree. +# Copy the sql-declarations into the UDF-directory + cp $BuildRootDir/src/extlib/ib_udf.sql ${TargetDir}@FB_UDFDIR@ + cp $BuildRootDir/src/extlib/ib_udf2.sql ${TargetDir}@FB_UDFDIR@ + cp $BuildRootDir/src/extlib/fbudf/fbudf.sql ${TargetDir}@FB_UDFDIR@ + + chown root:wheel ${TargetDir}@FB_UDFDIR@/*.so ${TargetDir}@FB_UDFDIR@/*.sql + chmod 0755 ${TargetDir}@FB_UDFDIR@/*.so + chmod 0644 ${TargetDir}@FB_UDFDIR@/*.sql + + #doc + cp $BuildRootDir/doc/README.* ${TargetDir}@FB_DOCDIR@ + cp $BuildRootDir/doc/sql.extensions/README* ${TargetDir}@FB_DOCDIR@/sql.extensions + cp $BuildRootDir/doc/WhatsNew ${TargetDir}@FB_CONFDIR@/WhatsNew + cp $BuildRootDir/doc/README.user ${TargetDir}@FB_CONFDIR@/README + + chown -R root:wheel ${TargetDir}@FB_MISCDIR@ + for i in `find ${TargetDir}@FB_MISCDIR@ -print`; do + chown root:wheel $i + if [ -d $i ]; then + chmod 0755 $i + else + chmod 0644 $i + fi + done + + #misc + cp $BuildRootDir/src/misc/intl.sql ${TargetDir}@FB_MISCDIR@ + cp $BuildRootDir/src/misc/upgrade/v2/ib_udf* ${TargetDir}@FB_MISCDIR@/upgrade/ib_udf + cp $BuildRootDir/src/misc/upgrade/v2/security_database* ${TargetDir}@FB_MISCDIR@/upgrade/security + cp $BuildRootDir/src/misc/upgrade/v2.1/metadata_charset* ${TargetDir}@FB_MISCDIR@/upgrade/metadata + + chown -R root:wheel ${TargetDir}@FB_MISCDIR@ + chmod -R go-rwx ${TargetDir}@FB_MISCDIR@ + + #conf + cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@ + cp $BuiltFBDir/aliases.conf ${TargetDir}@FB_CONFDIR@ + cp $BuiltFBDir/fbtrace.conf ${TargetDir}@FB_CONFDIR@ + + chown root:wheel ${TargetDir}@FB_CONFDIR@/*.conf + chmod 0644 ${TargetDir}@FB_CONFDIR@/*.conf + +# Create links from @libdir@ to install area. + origDir=`pwd` + cd $BuiltFBDir/lib + Libraries=`echo libfb*.so* libib_util.so` + cd $origDir + linkFiles "@FB_LIBDIR@" "$Libraries" "${TargetDir}@libdir@" "${TargetDir}@FB_LIBDIR@" + +# link include files to /usr/include + linkFiles "@FB_INCDIR@" "iberror.h ibase.h ib_util.h" "${TargetDir}/usr/include" "${TargetDir}@FB_INCDIR@" + +} + + +#------------------------------------------------------------------------ +# For security reasons most files in firebird installation are +# root-owned and world-readable(executable) only (including firebird). + +# For some files RunUser and RunGroup (firebird) +# must have write access - lock and log for example. + +MakeFileFirebirdWritable() { + FileName=$1 + chown $RunUser:$RunGroup $FileName + + if [ "$RunUser" = "root" ] + # In that case we must open databases, locks, etc. to the world... + # That's a pity, but required if root RunUser choosen. + then + chmod a=rw $FileName + else + # This is good secure setting + chmod ug=rw,o= $FileName + fi +} + + +#------------------------------------------------------------------------ +# fixFilePermissions +# Change the permissions to restrict access to server programs to +# firebird group only. This is MUCH better from a safety point of +# view than installing as root user, even if it requires a little +# more work. + +fixFilePermissions() { + # Lock files + cd @FB_GUARDDIR@ + for FileName in fb_guard + do + touch $FileName + MakeFileFirebirdWritable $FileName + done + + # Log file + cd @FB_LOGDIR@ + touch firebird.log + MakeFileFirebirdWritable firebird.log + + # Security database + cd @FB_SECDBDIR@ + MakeFileFirebirdWritable $SecurityDatabase + + # make examples DB(s) writable + for i in `find @FB_SAMPLEDBDIR@ -name '*.fdb' -print` + do + MakeFileFirebirdWritable $i + done + + cd @FB_HELPDIR@ + chmod a=r help.fdb +} + + +#=== MAIN ==================================================================== + +copyFiles + +# add firebird user nofbuid=0 fbUID=`id -u firebird 2>/dev/null` if [ $? -ne 0 ]; then @@ -94,7 +412,7 @@ if which -s pw; then if [ $nofbuid -ne 0 ]; then pw useradd firebird -u $fbUID -g $fbGID -h - -s /bin/sh \ - -d $InstallFirebirdPrefix -c "Firebird Database Administrator" + -d @FB_CONFDIR@ -c "Firebird Database Administrator" fi else echo -n "unable to create user firebird - please create it manually," @@ -102,184 +420,7 @@ exit 1 fi -# Making an assumption that this program is being run in the gen directory -BuildRootDir=.. -BuiltFBDir=./firebird # Where the just build fb exists. -DestDir=$InstallFirebirdPrefix - -# The guts of the tranfer of files and other directories - -mkdir -p $DestDir -mkdir $DestDir/bin -mkdir $DestDir/examples -mkdir $DestDir/help -mkdir $DestDir/include -mkdir $DestDir/intl -mkdir $DestDir/lib -mkdir $DestDir/doc -mkdir $DestDir/doc/sql.extensions -mkdir $DestDir/UDF -#mkdir $DestDir/misc - -cp -f $BuiltFBDir/bin/fb_inet_server $DestDir/bin/fb_inet_server -cp $BuiltFBDir/bin/gbak $DestDir/bin/gbak -cp $BuiltFBDir/bin/gds_drop $DestDir/bin/gds_drop -copyIfExists $BuiltFBDir/bin/fb_lock_mgr $DestDir/bin/fb_lock_mgr -copyIfExists $BuiltFBDir/bin/fb_lock_print $DestDir/bin/fb_lock_print -copyIfExists $BuiltFBDir/bin/gds_pipe $DestDir/bin/gds_pipe -cp $BuiltFBDir/bin/gfix $DestDir/bin/gfix -cp $BuiltFBDir/bin/gpre $DestDir/bin/gpre -cp $BuiltFBDir/bin/gsec $DestDir/bin/gsec -copyIfExists $BuiltFBDir/bin/gsplit $DestDir/bin/gsplit -cp $BuiltFBDir/bin/gstat $DestDir/bin/gstat -copyIfExists $BuiltFBDir/bin/isc4.gbak $DestDir/bin/isc4.gbk -cp $BuiltFBDir/bin/isql $DestDir/bin/isql -cp $BuiltFBDir/bin/qli $DestDir/bin/qli - -#cp $BuiltFBDir/bin/CSchangeRunUser.sh $DestDir/bin -#cp $BuiltFBDir/bin/CSrestoreRootRunUser.sh $DestDir/bin -#cp $BuiltFBDir/bin/changeDBAPassword.sh $DestDir/bin - -# Copy examples only if we have them - -exampleFiles=`find $BuiltFBDir/examples/v5 -type f -print` -if [ -z "$exampleFiles" ]; then - echo "Example files have not been built!" -else - for i in $exampleFiles - do - cp $i $DestDir/examples - done -fi - -copyIfExists $BuiltFBDir/help/help.gbak $DestDir/help -cp $BuiltFBDir/help/help.fdb $DestDir/help - -#cp -r $BuildSrcDir/doc $DestDir -#cp -r $BuiltFBDir/doc $DestDir - -cp $BuiltFBDir/firebird.msg $DestDir/firebird.msg -cp $BuiltFBDir/security2.fdb $DestDir/security2.fdb.sample - - -#cp $BuiltFBDir/include/gds.f $DestDir/include -cp $BuiltFBDir/include/*.h $DestDir/include - -cp -Rf $BuiltFBDir/lib/libfbembed.so* $DestDir/lib -cp -Rf $BuiltFBDir/lib/libfbclient.so* $DestDir/lib - -#cp -f $BuiltFBDir/lib/gds.a /usr/lib/libgds.a -cp -f $BuiltFBDir/lib/libib_util.so $DestDir/lib/libib_util.so - -cp $BuiltFBDir/intl/libfbintl.so $DestDir/intl/fbintl -cp $BuiltFBDir/UDF/ib_udf.so $DestDir/UDF/ -cp $BuiltFBDir/UDF/fbudf.so $DestDir/UDF/ - -# Copy the sql-declarations into the UDF-directory -cp $BuildRootDir/src/extlib/ib_udf.sql $DestDir/UDF/ -cp $BuildRootDir/src/extlib/fbudf/fbudf.sql $DestDir/UDF/ - -# Note that this copies files from outside the build tree. -#cp $BuildRootDir/doc/*.pdf $DestDir/doc -cp $BuildRootDir/doc/README.* $DestDir/doc -cp $BuildRootDir/doc/sql.extensions/* $DestDir/doc/sql.extensions -cp $BuildRootDir/doc/WhatsNew $DestDir/WhatsNew -cp $BuildRootDir/doc/README.user $DestDir/README - -cp $BuiltFBDir/misc/firebird.conf $DestDir/firebird.conf.sample - -echo "#" >> $DestDir/aliases.conf.sample -echo "# List of known database aliases" >> $DestDir/aliases.conf.sample -echo "# ------------------------------" >> $DestDir/aliases.conf.sample -echo "#" >> $DestDir/aliases.conf.sample -echo "# Examples:" >> $DestDir/aliases.conf.sample -echo "#" >> $DestDir/aliases.conf.sample -echo "# employee = /$DestDir/examples/employee.fdb" >> $DestDir/aliases.conf.sample -echo "#" >> $DestDir/aliases.conf.sample - - -chown -R firebird:firebird $InstallFirebirdPrefix -chmod -R o= $InstallFirebirdPrefix - -# Now fix up the mess. - -# fix up directories -for i in `find $InstallFirebirdPrefix -print` -do - FileName=$i - if [ -d $FileName ]; then - chmod u=rwx,go=rx $FileName - fi -done - -# make lib ldconfig-compatible -chown -R root:wheel $InstallFirebirdPrefix/lib - -# make the following read-only -chmod -R a=r $InstallFirebirdPrefix/WhatsNew -for i in `find $InstallFirebirdPrefix/doc -type f -print` -do - chmod a=r $i -done -#chmod -R a=r $InstallFirebirdPrefix/examples/* -chmod -R a=r $InstallFirebirdPrefix/include/* -chmod -R a=r $InstallFirebirdPrefix/intl/* -#chmod -R a=r $InstallFirebirdPrefix/misc/* - -chmod -R ug=rx,o= $InstallFirebirdPrefix/UDF/* -chmod -R ug=rx,o= $InstallFirebirdPrefix/intl/fbintl -chmod -R a=rx $InstallFirebirdPrefix/lib/* - -#cd $InstallFirebirdPrefix/lib -#ln -sf libfbembed.so libgds.so -#ln -sf libfbembed.so.2 libgds.so.2 - -cd $InstallFirebirdPrefix/bin -for i in `ls` -do - chmod ug=rx,o= $i -done - -chmod a=rx isql qli - -# SUID is needed for running server programs. -for i in fb_lock_mgr gds_drop fb_inet_server -do - if [ -f $i ]; then - chmod ug=rx,o= $i - chmod ug+s $i - fi -done - - -cd $InstallFirebirdPrefix - -# Lock files - -for i in fb_guard -do - FileName=$i - touch $FileName - chmod ug=rw,o= $FileName - chown firebird:firebird $FileName -done - -touch firebird.log -chown firebird:firebird firebird.log -chmod ug=rw,o= firebird.log -chmod a=r firebird.msg README -chown root:wheel *.sample -chmod ug=r,o= *.sample - -# make databases writable by firebird only -# local database connections are not a good idea -chmod ug=rw,o= examples/*.fdb -chmod ug=rw,o= help/*.fdb - -# install the samples if they don't exist -[ -f aliases.conf ] || install -o firebird -g firebird -m 440 aliases.conf.sample aliases.conf -[ -f firebird.conf ] || install -o firebird -g firebird -m 440 firebird.conf.sample firebird.conf -[ -f security2.fdb ] || install -o firebird -g firebird -m 660 security2.fdb.sample security2.fdb +fixFilePermissions # remove any existing gds service cp /etc/services /etc/services.old @@ -294,17 +435,17 @@ gds_db 3050/tcp #Firebird Database Remote Protocol EOF cat >>/etc/inetd.conf <<EOF -gds_db stream tcp nowait firebird $InstallFirebirdPrefix/bin/fb_inet_server fb_inet_server +gds_db stream tcp nowait firebird ${TargetDir}@FB_SBINDIR@/fb_inet_server fb_inet_server EOF if [ -f /var/run/inetd.pid ]; then kill -HUP `cat /var/run/inetd.pid` fi # shared lib startup script -if [ -d $InstallPrefix/etc/rc.d ]; then +if [ -d /etc/rc.d ]; then ( - echo "#!/bin/sh"; echo "[ -d $InstallFirebirdPrefix/lib ] && /sbin/ldconfig -m $InstallFirebirdPrefix/lib" - ) > $InstallPrefix/etc/rc.d/000.firebird.sh - chmod a=rx $InstallPrefix/etc/rc.d/000.firebird.sh + echo "#!/bin/sh"; echo "[ -d @FB_LIBDIR@ ] && /sbin/ldconfig -m @FB_LIBDIR@" + ) > /etc/rc.d/000.firebird.sh + chmod a=rx /etc/rc.d/000.firebird.sh fi |