diff options
author | Alex Dupre <ale@FreeBSD.org> | 2004-01-13 16:11:11 +0000 |
---|---|---|
committer | Alex Dupre <ale@FreeBSD.org> | 2004-01-13 16:11:11 +0000 |
commit | f18b6b01304df83941f96b515932897cc118a304 (patch) | |
tree | 7ede63f375b7fc26d2d877a8b79c4cd7948d2e41 /databases/firebird-server/files | |
parent | - fix *squirrelmail ports. (diff) |
- Update to 1.5 RC8. [1] [2]
- Note that libgds.so is now symlinked to libfbembed.so rather
than libfbclient.so. This restores Firebird 1.0.x shared library
compatibility and fixes PHP build. [2]
PR: ports/61276 [1], ports/61310 [2]
Submitted by: Gleb Smirnoff <glebius@cell.sick.ru> [1],
Chris Knight <chris@e-easy.com.au> (maintainer) [2]
Approved by: nork (mentor)
Notes
Notes:
svn path=/head/; revision=98080
Diffstat (limited to 'databases/firebird-server/files')
4 files changed, 142 insertions, 103 deletions
diff --git a/databases/firebird-server/files/RELNOTES b/databases/firebird-server/files/RELNOTES index 607bc697877a..3b45cce72c4b 100644 --- a/databases/firebird-server/files/RELNOTES +++ b/databases/firebird-server/files/RELNOTES @@ -1,22 +1,8 @@ -Firebird 1.0.2 FreeBSD Release Notes 05-Jan-2003 +Firebird 1.5.0 FreeBSD Release Notes 11-Jan-2004 -------------------------------------- -FB-T6.2.908 Firebird Final Release - -Welcome to the FreeBSD Firebird port! Users should note that there -was a package called `firebird-1.0.tgz' released in mid-August -2000. Unfortunately, that package was released before Firebird -version numbering conventions were established, so although the -version number would suggest that it is newer than the current -release, it is certainly not. Users of the August 1.0 package -should upgrade to 0.9_4 or later, which has fixed many bugs and -security problems, including the recently-discovered back door. - - Firebird originally required a running copy of Firebird (or -InterBase) in order to build itself. This port uses a boot kit to -overcome that, so that it does not require itself to build. -Unfortunately, the side effect of this is that if you have a lock -manager running from an already-installed version of Firebird or -InterBase, this port will not build. +FB-V1.5.0.4201 Firebird 1.5 Release Candidate 8 + + Welcome to the FreeBSD Firebird port! Firebird is installed SUID with owner and group `firebird'. This does affect where you can and cannot create databases when @@ -30,12 +16,12 @@ etc.) gives you the message "semget failed". One surefire way to do this is to build and install the port. :) If this happens, make sure that the lock manager is not running and its semaphores have been removed. The former can be accomplished with 'ps ax -|grep gds' and 'kill'; the latter with 'ipcs -s' and 'ipcrm -s'. +|grep fb' and 'kill'; the latter with 'ipcs -s' and 'ipcrm -s'. For example, after building and installing the port, you will probably go through something like this: -# isql /usr/interbase/isc4.gdb +# isql /usr/local/firebird/security.fdb Statement failed, SQLCODE = -902 operating system directive semget failed @@ -62,14 +48,47 @@ try stopping PostgreSQL: /usr/local/etc/rc.d/pgsql.sh stop -and see if that helps. +and see if that helps. Alternatively, increase the value of SEMMNS +by 48 in your kernel configuration file. This can be found by getting +the current value with 'sysctl -a | grep semmns'. You can either add +this to your kernel config, or add the following line to /boot/loader.conf: + + kern.ipc.semmns=X + +where is is the current value plus 48. If this doesn't resolve the issue, +try adding 48 again. + + Please note that RC8 has changed the libgds.so symlink to point to +libfbembed.so. This has been done to resolve compatability issues with +older versions of Firebird. The FreeBSD port of RC7 had libgds.so +pointing to libfbclient.so. libfbclient.so is a remote access-only +shared library with threaded support, which requires target applications +to link with a threaded library such as libc_r.so, libkse.so or libthr.so. + + Super Server support in Firebird 1.5 for FreeBSD is not currently +available due to the Firebird code using POSIX threads APIs not available +in FreeBSD 4.x or not yet complete in FreeBSD 5.x. This issue will become +more important once the scalability issues of Super Server have been +resolved. - Super Server support has recently been added. However, there is -anecdotal evidence that it is not as reliable nor as scalable as the -Classic Server version. For this reason, I have not included a -start up method for Super Server. For those that are interested, -traversing to /usr/interbase/misc will find the startup scripts for -the various flavours of Linux. + This installation has already inserted the necessary line to +/etc/inetd.conf so that you can connect to Firebird across the network. +However you may need to add the remote host to /etc/hosts.equiv. For +example, to allow the local machine to make connections to Firebird +using TCP, the following command needs running: + + echo localhost >> /etc/hosts.equiv + +Please note that adding machines to /etc/hosts.equiv can reduce the +security of your system. If in doubt, try connecting to Firebird with +a username and password already defined in security.fdb. For example: + +gsec +> add myuser -pass mypass +> quit +isql -u myuser -p mypass localhost:/usr/local/firebird/examples/employee.fdb + +This should reduce the need for hosts defined in /etc/hosts.equiv. Complete documentation for InterBase(tm) is available (free of charge) from http://www.interbase.com/ in PDF format. While @@ -82,5 +101,8 @@ and InterBase can be found at the following: http://www.interbase2000.org/ http://www.firebirdsql.org/ + Please also see the doc directory in the Firebird package for +documentation specific to Firebird. + Chris Knight -<chris@aims.com.au> +<chris@aims.net.au> diff --git a/databases/firebird-server/files/patch-autogen.sh b/databases/firebird-server/files/patch-autogen.sh deleted file mode 100644 index 9b7c52d77778..000000000000 --- a/databases/firebird-server/files/patch-autogen.sh +++ /dev/null @@ -1,26 +0,0 @@ ---- autogen.sh.orig Fri Apr 18 04:41:28 2003 -+++ autogen.sh Sun Aug 24 18:39:45 2003 -@@ -20,7 +20,7 @@ - ;; - esac - --VER=`libtool --version|grep ' libtool)'|sed 's/.*) \([0-9][0-9.]*\) .*/\1/'` -+VER=`libtool13 --version|grep ' libtool)'|sed 's/.*) \([0-9][0-9.]*\) .*/\1/'` - case "$VER" in - 0* | 1\.[0-2] | 1\.[0-2][a-z]* | \ - 1\.3\.[0-2] | 1\.3\.[0-2][a-z]* ) -@@ -50,12 +50,12 @@ - - # Generate configure from configure.in - echo "Running libtoolize ..." --LIBTOOL_M4=`libtoolize --copy --force --dry-run|grep 'You should add the contents of'|sed "s,^[^/]*\(/[^']*\).*$,\1,"` -+LIBTOOL_M4=`libtoolize13 --copy --force --dry-run|grep 'You should add the contents of'|sed "s,^[^/]*\(/[^']*\).*$,\1,"` - if test "x$LIBTOOL_M4" != "x"; then - rm -f aclocal.m4 - cp $LIBTOOL_M4 aclocal.m4 - fi --libtoolize --copy --force || exit 1 -+libtoolize13 --copy --force || exit 1 - - echo "Running autoconf ..." - autoconf || exit 1 diff --git a/databases/firebird-server/files/patch-src::common::classes::locks.h b/databases/firebird-server/files/patch-src::common::classes::locks.h deleted file mode 100644 index e2948dd4bbd2..000000000000 --- a/databases/firebird-server/files/patch-src::common::classes::locks.h +++ /dev/null @@ -1,49 +0,0 @@ ---- src/common/classes/locks.h.orig Sun Aug 17 14:56:47 2003 -+++ src/common/classes/locks.h Wed Nov 12 11:12:25 2003 -@@ -77,7 +77,7 @@ - - /* Process-local spinlock. Used to manage memory heaps in threaded environment. */ - // Pthreads version of the class --#ifndef SOLARIS -+#if !defined(SOLARIS) && !defined(DARWIN) && !defined(FREEBSD) - class Spinlock { - private: - pthread_spinlock_t spinlock; -@@ -100,6 +100,7 @@ - } - }; - #else -+#ifdef SOLARIS - // Who knows why Solaris 2.6 have not THIS funny spins? - //The next code is not comlpeted but let me compile //Konstantin - class Spinlock { -@@ -123,6 +124,29 @@ - system_call_failed::raise(); - } - }; -+#else // DARWIN and FREEBSD -+class Spinlock { -+private: -+ pthread_mutex_t mlock; -+public: -+ Spinlock() { -+ if (pthread_mutex_init(&mlock, 0)) -+ system_call_failed::raise(); -+ } -+ ~Spinlock() { -+ if (pthread_mutex_destroy(&mlock)) -+ system_call_failed::raise(); -+ } -+ void enter() { -+ if (pthread_mutex_lock(&mlock)) -+ system_call_failed::raise(); -+ } -+ void leave() { -+ if (pthread_mutex_unlock(&mlock)) -+ system_call_failed::raise(); -+ } -+}; -+#endif - - #endif - #endif diff --git a/databases/firebird-server/files/patch-src::install::arch-specific::freebsd::install.sh.in b/databases/firebird-server/files/patch-src::install::arch-specific::freebsd::install.sh.in new file mode 100644 index 000000000000..d0c86385ae63 --- /dev/null +++ b/databases/firebird-server/files/patch-src::install::arch-specific::freebsd::install.sh.in @@ -0,0 +1,92 @@ +--- src/install/arch-specific/freebsd/install.sh.in.orig Thu Nov 6 23:23:29 2003 ++++ src/install/arch-specific/freebsd/install.sh.in Tue Jan 13 17:36:16 2004 +@@ -59,7 +59,7 @@ + if [ -d $InstallPrefix/firebird.old ]; then + rm -rf $InstallPrefix/firebird.old + fi +- mv $InstallFirebirdPrefix $InstallPrefix/firebird.old ++ cp -Rp $InstallFirebirdPrefix $InstallPrefix/firebird.old + fi + + if [ `id -u` -ne 0 ]; then +@@ -162,7 +162,7 @@ + #cp -r $BuiltFBDir/doc $DestDir + + cp $BuiltFBDir/firebird.msg $DestDir/firebird.msg +-cp $BuiltFBDir/security.fdb $DestDir/security.fdb ++cp $BuiltFBDir/security.fdb $DestDir/security.fdb.sample + + + #cp $BuiltFBDir/include/gds.f $DestDir/include +@@ -190,19 +190,19 @@ + cp $BuildRootDir/doc/WhatsNew $DestDir/WhatsNew + cp $BuildRootDir/doc/README.user $DestDir/README + +-cp $BuiltFBDir/misc/firebird.conf $DestDir/firebird.conf ++cp $BuiltFBDir/misc/firebird.conf $DestDir/firebird.conf.sample + +-echo "#" >> $DestDir/aliases.conf +-echo "# List of known database aliases" >> $DestDir/aliases.conf +-echo "# ------------------------------" >> $DestDir/aliases.conf +-echo "#" >> $DestDir/aliases.conf +-echo "# Examples:" >> $DestDir/aliases.conf +-echo "#" >> $DestDir/aliases.conf +-echo "# employee = /$FBRootDir/examples/employee.fdb" >> $DestDir/aliases.conf +-echo "#" >> $DestDir/aliases.conf ++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 ++chown -R $fbUID:$fbGID $InstallFirebirdPrefix + chmod -R o= $InstallFirebirdPrefix + + # Now fix up the mess. +@@ -235,8 +235,8 @@ + chmod -R a=rx $InstallFirebirdPrefix/lib/* + + cd $InstallFirebirdPrefix/lib +-ln -sf libfbclient.so libgds.so +-ln -sf libfbclient.so.1 libgds.so.1 ++ln -sf libfbembed.so libgds.so ++ln -sf libfbembed.so.1 libgds.so.1 + + cd $InstallFirebirdPrefix/bin + for i in `ls` +@@ -265,19 +265,25 @@ + FileName=$i.`hostname` + touch $FileName + chmod ug=rw,o= $FileName +- chown firebird:firebird $FileName ++ chown $fbUID:$fbGID $FileName + done + +-touch firebird.log aliases.conf firebird.conf +-chown firebird:firebird firebird.log ++touch firebird.log ++chown $fbUID:$fbGID firebird.log + chmod ug=rw,o= firebird.log +-chmod a=r firebird.msg aliases.conf firebird.conf README ++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 +-chmod ug=rw,o= security.fdb ++ ++# install the samples if they don't exist ++[ -f aliases.conf ] || install -o $fbUID -g $fbGID -m 440 aliases.conf.sample aliases.conf ++[ -f firebird.conf ] || install -o $fbUID -g $fbGID -m 440 firebird.conf.sample firebird.conf ++[ -f security.fdb ] || install -o $fbUID -g $fbGID -m 660 security.fdb.sample security.fdb + + # remove any existing gds service + cp /etc/services /etc/services.old |