~ubuntu-branches/ubuntu/karmic/firebird2.1/karmic

« back to all changes in this revision

Viewing changes to builds/install/arch-specific/linux/classic/makeInstallImage.sh.in

  • Committer: Bazaar Package Importer
  • Author(s): Damyan Ivanov
  • Date: 2008-05-26 23:59:25 UTC
  • Revision ID: james.westby@ubuntu.com-20080526235925-2pnqj6nxpppoeaer
Tags: upstream-2.1.0.17798-0.ds2
ImportĀ upstreamĀ versionĀ 2.1.0.17798-0.ds2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
#  This library is part of the FirebirdSQL project
 
3
#
 
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
 
10
#  
 
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 
 
16
#  
 
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.
 
21
#  
 
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 
 
26
#  history command.
 
27
 
28
#   Created by:  Mark O'Donohue <mark.odonohue@ludwig.edu.au>
 
29
 
30
#   Contributor(s):
 
31
#  
 
32
 
33
 
34
 
 
35
# Script to copy install files from the build/transport area
 
36
 
 
37
 
 
38
# This script builds an image of the installed system into 
 
39
# the gen/buildroot directory.
 
40
 
 
41
 
 
42
# Making an assumption that this program is being run in the gen directory
 
43
BuildRootDir=..
 
44
BuiltFBDir=./firebird  # Where the just build fb exists.
 
45
 
 
46
 
 
47
TargetDir=buildroot    # Where we want to build the install image
 
48
 
 
49
RealRootDir=@prefix@   # Where it will be installed on new machine
 
50
FBRootDir=${RealRootDir#/}   # strip off leading / 
 
51
DestDir=$TargetDir/$FBRootDir
 
52
 
 
53
 
 
54
#------------------------------------------------------------------------
 
55
#  addLibs
 
56
# Add required libraries in the beginning of script.
 
57
# Place it to target directory.
 
58
 
 
59
addLibs() {
 
60
        libSdir=$1
 
61
        libScript=$2
 
62
        libTdir=$3
 
63
        libTarget=$libTdir/$libScript
 
64
 
 
65
        rm -f $libTarget
 
66
        touch $libTarget
 
67
        echo "#!/bin/sh" >>$libTarget
 
68
        for i in posixLibrary.sh classicLibrary.sh linuxLibrary.sh
 
69
        do
 
70
                echo "# $i" >>$libTarget
 
71
                cat $libSdir/$i >>$libTarget
 
72
                echo "" >>$libTarget    # avoid missing linefeed
 
73
        done
 
74
        cat $libSdir/$libScript >>$libTarget
 
75
}
 
76
 
 
77
 
 
78
#------------------------------------------------------------------------
 
79
# copyIfExists
 
80
# Copy file if it exists
 
81
#
 
82
 
 
83
copyIfExists() {
 
84
   OldFile=$1
 
85
   NewFile=$2
 
86
 
 
87
   if [ -f $OldFile ]
 
88
     then
 
89
       cp $OldFile $NewFile
 
90
   fi
 
91
 
 
92
}
 
93
 
 
94
 
 
95
#------------------------------------------------------------------------
 
96
#  copyFiles
 
97
# This function copies all the files for a classic distribution into a
 
98
# directory heirachy mirroring the installation.
 
99
 
 
100
copyFiles() {
 
101
# The guts of the tranfer of files and other directories
 
102
 
 
103
    if [ -d $TargetDir ]
 
104
      then 
 
105
        rm -fr $TargetDir
 
106
    fi 
 
107
    mkdir -p $DestDir 
 
108
    mkdir $DestDir/bin 
 
109
    mkdir $DestDir/examples 
 
110
    mkdir $DestDir/help 
 
111
    mkdir $DestDir/include 
 
112
    mkdir $DestDir/intl 
 
113
    mkdir $DestDir/lib
 
114
    mkdir $DestDir/doc 
 
115
    mkdir $DestDir/doc/sql.extensions 
 
116
    mkdir $DestDir/UDF 
 
117
    mkdir $DestDir/misc
 
118
    mkdir $DestDir/misc/upgrade
 
119
        for i in ib_udf metadata security; do
 
120
                mkdir $DestDir/misc/upgrade/$i
 
121
        done
 
122
        
 
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
 
128
 
 
129
#    mkdir -p $TargetDir/usr/sbin
 
130
    mkdir -p $TargetDir@libdir@
 
131
    mkdir -p $TargetDir/usr/include
 
132
 
 
133
    cp -f $BuiltFBDir/bin/fb_inet_server $DestDir/bin/fb_inet_server 
 
134
 
 
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 
 
151
 
 
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
 
168
 
 
169
    # Copy examples only if we have them
 
170
 
 
171
    exampleFiles=`find $BuiltFBDir/examples/README -type f -print`
 
172
    if [ -z "$exampleFiles" ]
 
173
      then
 
174
        echo "Example files have not been built!"
 
175
      else
 
176
                (cd $BuiltFBDir/examples; tar cf - .) | (cd $DestDir/examples; tar xf -)
 
177
    fi
 
178
 
 
179
    copyIfExists $BuiltFBDir/help/help.gbak $DestDir/help 
 
180
    cp $BuiltFBDir/help/help.fdb $DestDir/help 
 
181
 
 
182
    #cp -r $BuildSrcDir/doc $DestDir 
 
183
    #cp -r $BuiltFBDir/doc $DestDir 
 
184
 
 
185
    cp $BuiltFBDir/firebird.msg $DestDir/firebird.msg 
 
186
    cp $BuiltFBDir/$SecurityDatabase $DestDir/$SecurityDatabase 
 
187
 
 
188
 
 
189
#    cp $BuiltFBDir/include/gds.f $DestDir/include 
 
190
    cp $BuiltFBDir/include/*.h $DestDir/include 
 
191
 
 
192
 
 
193
    cp -df $BuiltFBDir/lib/libfbembed.so* $DestDir/lib
 
194
    cp -df $BuiltFBDir/lib/libfbclient.so* $DestDir/lib
 
195
 
 
196
#    cp -f $BuiltFBDir/lib/gds.a @libdir@/libgds.a 
 
197
    cp -f $BuiltFBDir/lib/libib_util.so $DestDir/lib/libib_util.so 
 
198
 
 
199
    cp -df $BuiltFBDir/lib/libicu*.so* $DestDir/lib/
 
200
 
 
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/
 
204
 
 
205
#       Note that the following items copy files from outside the build tree.
 
206
 
 
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/
 
211
            
 
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
 
218
    
 
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/
 
224
 
 
225
#       Misc. config files
 
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/
 
230
 
 
231
 
 
232
# Create links from @libdir@ to install area.
 
233
 
 
234
    origDir=`pwd`
 
235
    cd $DestDir/lib
 
236
    for i in libfb*.so*; do ln -s /$FBRootDir/lib/$i $origDir/$TargetDir@libdir@/$i; done
 
237
    cd $origDir
 
238
    #ln -s ../../$FBRootDir/lib/libgds.a $TargetDir@libdir@/libgds.a
 
239
    ln -s ../../$FBRootDir/lib/libib_util.so $TargetDir@libdir@/libib_util.so
 
240
 
 
241
 
 
242
 
 
243
# link include files to /usr/include 
 
244
        for i in iberror.h ibase.h ib_util.h
 
245
           do
 
246
                   ln -s ../../$FBRootDir/include/$i $TargetDir/usr/include/$i
 
247
           done
 
248
 
 
249
#    (cd $DestDir; touch firebird.log;)
 
250
 
 
251
#     chmod u=rw,go= firebird.log)
 
252
#    (cd $DestDir; chmod uga+rw examples/*.gdb)
 
253
 
 
254
#    chown -R root:root $TargetDir
 
255
    
 
256
}
 
257
 
 
258
 
 
259
 
 
260
#=== MAIN ====================================================================
 
261
 
 
262
SecurityDatabase=security2.fdb
 
263
 
 
264
copyFiles