2
# This library is part of the FirebirdSQL project
4
# This library is free software; you can redistribute it and/or
5
# modify it under the terms of the GNU Lesser General Public
6
# License as published by the Free Software Foundation; either
7
# version 2.1 of the License, or (at your option) any later version.
8
# You may obtain a copy of the Licence at
9
# http://www.gnu.org/licences/lgpl.html
11
# As a special exception this file can also be included in modules
12
# with other source code as long as that source code has been
13
# released under an Open Source Initiative certificed licence.
14
# More information about OSI certification can be found at:
15
# http://www.opensource.org
17
# This module is distributed in the hope that it will be useful,
18
# but WITHOUT ANY WARRANTY; without even the implied warranty of
19
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
# GNU Lesser General Public Licence for more details.
22
# This module was created by members of the firebird development
23
# team. All individual contributions remain the Copyright (C) of
24
# those individuals and all rights are reserved. Contributors to
25
# this file are either listed below or can be obtained from a CVS
28
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
35
# Script to copy install files from the build/transport area
38
# This script builds an image of the installed system into
39
# the gen/buildroot directory.
42
# Making an assumption that this program is being run in the gen directory
44
BuiltFBDir=./firebird # Where the just build fb exists.
47
TargetDir=buildroot # Where we want to build the install image
49
RealRootDir=@prefix@ # Where it will be installed on new machine
50
FBRootDir=${RealRootDir#/} # strip off leading /
51
DestDir=$TargetDir/$FBRootDir
54
#------------------------------------------------------------------------
56
# Add required libraries in the beginning of script.
57
# Place it to target directory.
63
libTarget=$libTdir/$libScript
67
echo "#!/bin/sh" >>$libTarget
68
for i in posixLibrary.sh classicLibrary.sh linuxLibrary.sh
70
echo "# $i" >>$libTarget
71
cat $libSdir/$i >>$libTarget
72
echo "" >>$libTarget # avoid missing linefeed
74
cat $libSdir/$libScript >>$libTarget
78
#------------------------------------------------------------------------
80
# Copy file if it exists
95
#------------------------------------------------------------------------
97
# This function copies all the files for a classic distribution into a
98
# directory heirachy mirroring the installation.
101
# The guts of the tranfer of files and other directories
109
mkdir $DestDir/examples
111
mkdir $DestDir/include
115
mkdir $DestDir/doc/sql.extensions
118
mkdir $DestDir/misc/upgrade
119
for i in ib_udf metadata security; do
120
mkdir $DestDir/misc/upgrade/$i
123
# mkdir $TargetDir/etc
124
# mkdir $TargetDir/etc/init.d
125
# mkdir $TargetDir/var
126
# mkdir $TargetDir/var/adm
127
# mkdir $TargetDir/var/adm/fillup-templates
129
# mkdir -p $TargetDir/usr/sbin
130
mkdir -p $TargetDir@libdir@
131
mkdir -p $TargetDir/usr/include
133
cp -f $BuiltFBDir/bin/fb_inet_server $DestDir/bin/fb_inet_server
135
cp $BuiltFBDir/bin/gbak $DestDir/bin/gbak
136
cp $BuiltFBDir/bin/gdef $DestDir/bin/gdef
137
cp $BuiltFBDir/bin/gds_drop $DestDir/bin/gds_drop
138
copyIfExists $BuiltFBDir/bin/fb_lock_mgr $DestDir/bin/fb_lock_mgr
139
copyIfExists $BuiltFBDir/bin/fb_lock_print $DestDir/bin/fb_lock_print
140
copyIfExists $BuiltFBDir/bin/gds_pipe $DestDir/bin/gds_pipe
141
cp $BuiltFBDir/bin/gfix $DestDir/bin/gfix
142
cp $BuiltFBDir/bin/gpre $DestDir/bin/gpre
143
cp $BuiltFBDir/bin/gsec $DestDir/bin/gsec
144
cp $BuiltFBDir/bin/nbackup $DestDir/bin/nbackup
145
copyIfExists $BuiltFBDir/bin/gsplit $DestDir/bin/gsplit
146
cp $BuiltFBDir/bin/gstat $DestDir/bin/gstat
147
copyIfExists $BuiltFBDir/bin/fbsvcmgr $DestDir/bin/fbsvcmgr
148
copyIfExists $BuiltFBDir/bin/isc4.gbak $DestDir/bin/isc4.gbak
149
cp $BuiltFBDir/bin/isql $DestDir/bin/isql
150
cp $BuiltFBDir/bin/qli $DestDir/bin/qli
152
# Append libraries to scripts
153
addLibs $BuildRootDir/gen/firebird/bin changeRunUser.sh $DestDir/bin
154
addLibs $BuildRootDir/gen/firebird/bin restoreRootRunUser.sh $DestDir/bin
155
addLibs $BuildRootDir/gen/firebird/bin changeDBAPassword.sh $DestDir/bin
156
addLibs $BuiltFBDir/bin changeGdsLibraryCompatibleLink.sh $DestDir/bin
157
addLibs $BuildRootDir/gen/firebird/bin tarMainInstall.sh $BuildRootDir/gen/install/scripts
158
addLibs $BuildRootDir/gen/firebird/bin tarinstall.sh $BuildRootDir/gen/install/scripts
159
addLibs $BuildRootDir/gen/firebird/bin preinstall.sh $BuildRootDir/gen/install/scripts
160
addLibs $BuildRootDir/gen/firebird/bin postinstall.sh $BuildRootDir/gen/install/scripts
161
addLibs $BuildRootDir/gen/firebird/bin preuninstall.sh $BuildRootDir/gen/install/scripts
162
addLibs $BuildRootDir/gen/firebird/bin postuninstall.sh $BuildRootDir/gen/install/scripts
163
addLibs $BuildRootDir/gen/firebird/bin taruninstall.sh $BuildRootDir/gen/install/scripts
164
addLibs $BuildRootDir/gen/firebird/bin tarMainUninstall.sh $BuildRootDir/gen/install/scripts
165
# this scripts don't need libraries
166
cp $BuiltFBDir/bin/createAliasDB.sh $DestDir/bin
167
cp $BuiltFBDir/bin/fb_config $DestDir/bin
169
# Copy examples only if we have them
171
exampleFiles=`find $BuiltFBDir/examples/README -type f -print`
172
if [ -z "$exampleFiles" ]
174
echo "Example files have not been built!"
176
(cd $BuiltFBDir/examples; tar cf - .) | (cd $DestDir/examples; tar xf -)
179
copyIfExists $BuiltFBDir/help/help.gbak $DestDir/help
180
cp $BuiltFBDir/help/help.fdb $DestDir/help
182
#cp -r $BuildSrcDir/doc $DestDir
183
#cp -r $BuiltFBDir/doc $DestDir
185
cp $BuiltFBDir/firebird.msg $DestDir/firebird.msg
186
cp $BuiltFBDir/$SecurityDatabase $DestDir/$SecurityDatabase
189
# cp $BuiltFBDir/include/gds.f $DestDir/include
190
cp $BuiltFBDir/include/*.h $DestDir/include
193
cp -df $BuiltFBDir/lib/libfbembed.so* $DestDir/lib
194
cp -df $BuiltFBDir/lib/libfbclient.so* $DestDir/lib
196
# cp -f $BuiltFBDir/lib/gds.a @libdir@/libgds.a
197
cp -f $BuiltFBDir/lib/libib_util.so $DestDir/lib/libib_util.so
199
cp -df $BuiltFBDir/lib/libicu*.so* $DestDir/lib/
201
cp $BuiltFBDir/intl/libfbintl.so $DestDir/intl/fbintl
202
cp $BuiltFBDir/UDF/ib_udf.so $DestDir/UDF/
203
cp $BuiltFBDir/UDF/fbudf.so $DestDir/UDF/
205
# Note that the following items copy files from outside the build tree.
207
# Copy the sql-declarations into the UDF-directory
208
cp $BuildRootDir/src/extlib/ib_udf.sql $DestDir/UDF/
209
cp $BuildRootDir/src/extlib/ib_udf2.sql $DestDir/UDF/
210
cp $BuildRootDir/src/extlib/fbudf/fbudf.sql $DestDir/UDF/
212
# Copy various documentation
213
cp $BuildRootDir/doc/*.pdf $DestDir/doc
214
cp $BuildRootDir/doc/README.* $DestDir/doc
215
cp $BuildRootDir/doc/sql.extensions/README* $DestDir/doc/sql.extensions
216
cp $BuildRootDir/doc/WhatsNew $DestDir/WhatsNew
217
cp $BuildRootDir/doc/README.user $DestDir/README
219
# Copy various upgrade stuff
220
cp $BuildRootDir/src/misc/intl.sql $DestDir/misc/
221
cp $BuildRootDir/src/misc/upgrade/v2/ib_udf* $DestDir/misc/upgrade/ib_udf/
222
cp $BuildRootDir/src/misc/upgrade/v2/security_database* $DestDir/misc/upgrade/security/
223
cp $BuildRootDir/src/misc/upgrade/v2.1/metadata_charset* $DestDir/misc/upgrade/metadata/
226
cp $BuildRootDir/gen/install/misc/firebird.xinetd $DestDir/misc/
227
cp $BuildRootDir/gen/install/misc/firebird.conf $DestDir/
228
cp $BuildRootDir/gen/install/misc/aliases.conf $DestDir/
229
cp $BuildRootDir/gen/install/misc/fbintl.conf $DestDir/intl/
232
# Create links from @libdir@ to install area.
236
for i in libfb*.so*; do ln -s /$FBRootDir/lib/$i $origDir/$TargetDir@libdir@/$i; done
238
#ln -s ../../$FBRootDir/lib/libgds.a $TargetDir@libdir@/libgds.a
239
ln -s ../../$FBRootDir/lib/libib_util.so $TargetDir@libdir@/libib_util.so
243
# link include files to /usr/include
244
for i in iberror.h ibase.h ib_util.h
246
ln -s ../../$FBRootDir/include/$i $TargetDir/usr/include/$i
249
# (cd $DestDir; touch firebird.log;)
251
# chmod u=rw,go= firebird.log)
252
# (cd $DestDir; chmod uga+rw examples/*.gdb)
254
# chown -R root:root $TargetDir
260
#=== MAIN ====================================================================
262
SecurityDatabase=security2.fdb