Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 42518 - FirebirdSQL 1.5 Final Released
Summary: FirebirdSQL 1.5 Final Released
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Meir Kriheli (RETIRED)
Depends on:
Blocks: 20837
  Show dependency tree
Reported: 2004-02-22 14:26 UTC by Henrik Lynggaard Hansen
Modified: 2004-05-13 14:41 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---

Build log from my amd64 system (firebird.log,18.43 KB, text/plain)
2004-02-26 13:12 UTC, Henrik Lynggaard Hansen
Log for ebuild with --with-editline removed (amd64) (firebird.log,16.28 KB, text/plain)
2004-02-27 08:52 UTC, Jean-François Gagnon Laporte
Log for ebuild with --with-editline=no (amd64) (firebird.log,32.75 KB, text/plain)
2004-03-03 17:03 UTC, Jean-François Gagnon Laporte
Diff file to patch the current ebuild (firebird-1.5.0.ebuild.diff,112 bytes, text/plain)
2004-04-13 08:16 UTC, Jean-François Gagnon Laporte

Note You need to log in before you can comment on or make changes to this bug.
Description Henrik Lynggaard Hansen 2004-02-22 14:26:55 UTC
The firebirdSQL database has released version 1.5, please add it to the ebuilds
Comment 1 Meir Kriheli (RETIRED) gentoo-dev 2004-02-24 14:28:18 UTC
One is in the works. Since it is a major change in the way it's build and installed (as well as running under a different user), an extensive testing will be needed.
Comment 2 Jean-François Gagnon Laporte 2004-02-25 12:08:22 UTC
Hi, if you ever need the ebuild to be tested on a amd64 and x86 system just let me know. We are using firebird for as backend for our software so I have some machines to spare.
Comment 3 Meir Kriheli (RETIRED) gentoo-dev 2004-02-26 07:04:10 UTC
I've added the ebuild for 1.5.0

It's masked right now under package.mask, so unmask to test. Please help with
testing so we can move it along. Right now the build is for the classic
version (inetd), if it's OK, we'll move along to the super flavor (standalone).

Many things have changed, as this is a major rewrite. 

1. Firebird now runs under it's own user/group instead of root. Please
remember to change ownership on your databases.

2. The directory has changed from /opt/interbase to /opt/firebird

3. The security db has changed from isc4.gdb to security.fdb, the ebuild
imports users/password for you (you should run the config method, see in the
output after emerging).

4. Please remember to move old UDFs from /opt/interbase/UDF to /opt/firebird/UDF


I'd apperciate a fast feedback on that, so we can move it to unstable.

as for amd64, I have no way to test it. Jean-Francois, if you can help with that, I'd appreciate it.
Comment 4 Carsten Lohrke (RETIRED) gentoo-dev 2004-02-26 11:48:19 UTC
Two issues: 

- firebird engines 1 + 2 can coexist, so they should be reside in different slots. The only problem is that both listen on port 3050 by default. An einfo sentence would be nice then.

- I don't think it's a good idea to add the current version number to distinct env.d entries. It becomes confusing with newer versions. The engine is called firebird 2, so 70firebird2 would be better imho.
Comment 5 Alexander Papaspyrou 2004-02-26 12:17:36 UTC
Comment 6 Henrik Lynggaard Hansen 2004-02-26 13:10:17 UTC
It fails for me under amd64. I only get very short into the compile. Will attach log.
Comment 7 Henrik Lynggaard Hansen 2004-02-26 13:12:19 UTC
Created attachment 26420 [details]
Build log from my amd64 system

this is the log from "emerge firebird >firebird.log 2>&1" it fails during
Comment 8 Meir Kriheli (RETIRED) gentoo-dev 2004-02-27 07:18:11 UTC

Can you remove the --with-editline from the ebuild (in src_compile) and try building again ?


regarding 1:

a) I prefer phasing out <1.5 ASAP. 1.0.3 and previous have local root expliot which they didn't care enough to fix, and said it'll be fixed in 1.5).

b) It'll cause a problem with the compatibility links (it'll need to overwrite some files of <1.5

c) 1.5 uses ODS 10.1 and <1.5 probably won't be able to open the databases.

regarding 2: Yep, you're right, that's much better. I'll modify it that way.
Comment 9 Jean-François Gagnon Laporte 2004-02-27 08:51:07 UTC
WFM for x86 on my laptop :). As for amd64, even after modifying the ebuild (removing --with-editline) it still won't compile. I will add my output in case the modification would change something in the output. Also here is the emerge info for my amd64 machine : 

Gentoo Base System version
Portage 2.0.50-r1 (default-amd64-2004.0, gcc-3.3.3, glibc-2.3.2-r9, 2.6.3-gentoo-r2)
System uname: 2.6.3-gentoo-r2 x86_64 4
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.7.8
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
FEATURES="autoaddcvs ccache sandbox"
USE="X acl acpi amd64 apache2 apm arts avi berkdb crypt cups encode esd ethereal foomaticdb gdbm gif gnome gpm gtk gtk2 imlib innodb java jikes jpeg kde ldap libg++ libwww mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline samba sdl slang snmp spell ssl tcpd truetype usb xml xml2 xmms xv zlib"
Comment 10 Jean-François Gagnon Laporte 2004-02-27 08:52:05 UTC
Created attachment 26476 [details]
Log for ebuild with --with-editline removed (amd64)
Comment 11 Meir Kriheli (RETIRED) gentoo-dev 2004-03-03 16:06:07 UTC
I'd like to thank you for the output logs :-)

It still goes into editline dir and tries to build it. Can you please try with --editline=no instead ?

For users on x86, is it working OK for ya ? so it can be unmasked for testing as unstable ?
Comment 12 Jean-François Gagnon Laporte 2004-03-03 16:20:24 UTC
I think I've already mentionned it but it works for me on x86. As for amd64 I did try with the option --editline=no but it stalls even quicker than before because it isn't a recognised option. I don't think it would be useful to post the log but hey just for the sake of it :

[... cutting patches output ...]
>>> Source unpacked.
Running libtoolize ...
Putting files in AC_CONFIG_AUX_DIR, `builds/'.
Running autoconf ...
Running ./configure --prefix=/opt/firebird --editline=no ...
configure: error: unrecognized option: --editline=no
Try `./configure --help' for more information.

!!! ERROR: dev-db/firebird-1.5.0 failed.
!!! Function src_compile, Line 22, Exitcode 1
!!! couldn't run
Comment 13 Meir Kriheli (RETIRED) gentoo-dev 2004-03-03 16:42:10 UTC
I was asking x86 users beside you :-)

Anyway I've typed too fast :-( , the option to try should've been: --with-editline=no
Comment 14 Jean-François Gagnon Laporte 2004-03-03 17:01:43 UTC
Sorry ^_^. I should have though it by myself but I wasn't too sure about it. Anyway, it still doesn't compile. I will post my output after this. Is there a major thing to change to make firebird be a superserver instead of a classic server ? Since it is working for x86 and for Mr. Papaspyrou, I would be ready to test it out.
Comment 15 Jean-François Gagnon Laporte 2004-03-03 17:03:05 UTC
Created attachment 26803 [details]
Log for ebuild with --with-editline=no (amd64)
Comment 16 Alexander Papaspyrou 2004-03-04 00:12:11 UTC
Sorry, I forgot to mention that I am from the x86 league. Still, everything works fine -- I just compiled firebird on another system (x86, too) and it was ok again.
Comment 17 Carsten Lohrke (RETIRED) gentoo-dev 2004-03-05 12:24:49 UTC
Gentoo-compliant init-scripts are missing
Comment 18 Jean-François Gagnon Laporte 2004-03-05 12:40:49 UTC
[Quote mksoft] Right now the build is for the classic version (inetd) [/quote]

Since this is a inetd version, I don't know why we would need init scripts since there is already one in the /etc/xinitd.d/firebird and it uses initd. In the next version (SS server), it is supposed to run as stand alone though. Maybe I'm totally wrong :).
Comment 19 Carsten Lohrke (RETIRED) gentoo-dev 2004-03-05 15:27:43 UTC
I should learn to read... (:
Comment 20 Meir Kriheli (RETIRED) gentoo-dev 2004-03-07 02:42:05 UTC
I've started superserver support.

I'm thinking about changing the default behavior to superserver, and dropping the classic version, since I don't see any demand for it, and confuses users (as evident in this discussion).

Comments ?
Comment 21 Jean-François Gagnon Laporte 2004-03-07 06:18:29 UTC
You got my vote for the superserver version since it's what we use as backend for our software (Programmer's choice ...). I know the SS includes the same fonctionnality of the CS but with more functions. I don't know about the overhead that it gives though. Since most of the people who want to use a simple database goes to mysql and the others goes to postgresql, firebird-SS etc ... I don't see why it would cause some problems but since the CS ebuild is there and working why drop it ? The world is vast and there is probably someone who would use the CS server.
Comment 22 Meir Kriheli (RETIRED) gentoo-dev 2004-03-08 14:47:43 UTC
In that case, think I'll make superserver default, and add a local USE
flag for classic.
Comment 23 Meir Kriheli (RETIRED) gentoo-dev 2004-03-30 16:47:56 UTC
Made some changes to the ebuild, please rsync
and emerge again.

The default build method changed to SuperServer,
and a local use flag, classic, was added for the
old behavior.

Now it should install /etc/init.d/firebird and

conf.d shuld hold SYSDBA and password and be readable
only to root.

Please remember to disable the old Classic from xinetd if you've
enabled it. If not already there, add localhost to
/etc/hosts.equiv (localhost.localdomain, if already there
might give you problems if localhost is not there as well).

Feedback is appreciated, since 1.5.0 should 
close a long standing security advisory.

Comment 24 Jean-François Gagnon Laporte 2004-03-31 06:58:08 UTC
It has compiled successfully on my laptop (x86). If you don't have localhost in the /etc/hosts.equiv file is says :
* Starting Firebird server...
check $FIREBIRD/firebird.log file for errors
can not start server

Even though when I restart the server it thinks it is started. I think the ebuild didn't add localhost to my hosts.equiv since I had to add it manually but it was there it worked. I have tested with a backup of our production database and all of the stuff that the programmers used with the super server functions worked.

Please note that I cannot test firebird on a amd64 anymore. I had to take my test server down since I couldn't let it in pre-production for many reasons.
Comment 25 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-01 08:14:55 UTC
Same here.

/etc/conf.d/firebird: ISC_PASSWORD=masterke?
Comment 26 Jean-François Gagnon Laporte 2004-04-01 08:19:14 UTC
Carlo wrote :
/etc/conf.d/firebird: ISC_PASSWORD=masterke?


This is because firebird is using only 8 significant bytes to read the password. A default firebird/interbase install in the good ol'days had sysdba and masterkey for the auth tokens. As you can see, masterkey equals 9bytes so the y isn't even read anyway.

Hopes this answer your question :)
Comment 27 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-01 13:28:46 UTC
Thanks Jean-Francois.
Comment 28 Meir Kriheli (RETIRED) gentoo-dev 2004-04-03 16:56:38 UTC
Jean, the ebuild.... config should add localhost to /etc/hosts.equiv.

I've modified the local use flag to inetd (as suggested in -dev).

Also added a message to disable old xined option if using it already.

Do you think we can unmask and flag it as ~x86 ?
Comment 29 Jean-François Gagnon Laporte 2004-04-03 20:02:55 UTC
I know that the ebuild is supposed to do that because i've analysed the ebuild further. I don't know why it didn't do that on my laptop though. As for putting it in ~x86, I'm going to do some stress testing monday morning just to be sure and confirm you that's it's okay. I'm going to reproduce the same steps that I did the first time to see if it's going to have the same behavior.

Thanks for working on the ebuild :)
Comment 30 Thierry Carrez (RETIRED) gentoo-dev 2004-04-13 02:55:47 UTC
Comment 31 Thierry Carrez (RETIRED) gentoo-dev 2004-04-13 02:55:47 UTC
Jean-François :

Any success in your testing ? We need this version to go stable to fix the #20837 security bug.

Comment 32 Jean-François Gagnon Laporte 2004-04-13 08:14:30 UTC
Sorry for the delays. The system is running stable right now after some stress I have come up with one of the programmers. I had delays in testing because I had to some free time and one spare programmer too hehehe. Anyway, I have corrected the problem that if localhost.localdomain was already written to hosts.equiv it WOULD NOT write localhost. That could cause some problems (i will create a new attachement to include the diff file for easy patching).

Also, I didn't included these modifications but I would suggest to warn the user to modify the default password put in the ebuild. So he must use /opt/firebird/bin/ and warn the user to modify /etc/conf.d/firebird accordingly. That would promote a better security. That's my opinion since we are in the age that sometimes even isn't secure enough ;).

I have plans to make a UML amd64 in my test system but that won't be before I stabilise my current server on amd64 so it should be pretty far. If someone could test it on a amd64 it would be great :).

So I give my two thumbs up for putting the ebuild on the instable branch after applying the diff file and maybe add some messages to promote a better security.

Comment 33 Jean-François Gagnon Laporte 2004-04-13 08:16:25 UTC
Created attachment 29204 [details]
Diff file to patch the current ebuild
Comment 34 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-22 09:31:11 UTC
Just to let you know:

ebuild /var/db/pkg/dev-db/firebird-1.5.0/firebird-1.5.0.ebuild config
 * added gds_db to /etc/services
gbak: ERROR: Unable to complete network request to host "localhost".
gbak: ERROR:     Failed to establish a connection.
gbak: ERROR:     Connection refused
gbak: Exiting before completion due to errors
gbak: ERROR: cannot open backup file /etc/firebird/isc4.gbk
gbak: Exiting before completion due to errors
rm: Entfernen von ,,/etc/firebird/isc4.gbk" nicht m
Comment 35 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-22 09:31:11 UTC
Just to let you know:

ebuild /var/db/pkg/dev-db/firebird-1.5.0/firebird-1.5.0.ebuild config
 * added gds_db to /etc/services
gbak: ERROR: Unable to complete network request to host "localhost".
gbak: ERROR:     Failed to establish a connection.
gbak: ERROR:     Connection refused
gbak: Exiting before completion due to errors
gbak: ERROR: cannot open backup file /etc/firebird/isc4.gbk
gbak: Exiting before completion due to errors
rm: Entfernen von ,,/etc/firebird/isc4.gbk" nicht möglich: Datei oder Verzeichnis nicht gefunden
 * Converted old isc4.gdb to security.fdb, isc4.gdb has been
 * renamed to isc4.gdb.old. if you had previous security.fdb,
 * it's backed to security.fdb.old (all under /etc/firebird).
 * If you're using UDFs, please remember to move them
 * to /opt/firebird/UDF

After changing the line "localhost.localdomain" in /etc/hosts.equiv to "localhost" everything is fine. I'm wondering which ebuild set this value.
Comment 36 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-22 15:39:42 UTC
An additional note and a question. Firebird is released under IPL, which is based on, but differs from MPL 1.1.

Now the question: Is there a good comparison available between Firebird and PostgreSQL (and others)?
Comment 37 Jean-François Gagnon Laporte 2004-04-23 07:59:04 UTC
Here's a quick and dirty comparaison of some db systems out there ...

MySql : Just want to store data in a relationnal database and want simplicity ... that the correct choice. It is not a feature rich database just for exemple there is no foreign key support. If you use the new innodb format you can have a lowfootprint and fast database but that's it.

PostgreSQL : Want features and stability ? Weeeell look no further. PostgreSQL has been in developpement for more than 10 years and as a long feature list but lacks some that others can provide.

Firebird : Direct descendant of the first open source adventure of Borland (formely Inprise). It is based on the code of Interbase 6 so it has a very good legacy like postgresql. It has also has triggers and stored procedure that postgresql still doesn't have. You can program your way to have the functionnality but it's mostly an hack. Also, firebird is highly supported and intergrated in the Delphi ide environnement since it is based on IB6.0.

Oracle : Pros : Features, Integration, Tools, Legacy, high install base etc ... wel it is Oracle !
         Cons : Be willing to shove $$$^3 to pay for the software, for the admin(s), for the servers to store the terabytes you plan to use etc It is an entreprise grade database system and should be used/considered that way. But if you have $$$ to spare ... why not if you need ALL of the bells and whistles.

DB2 : hum support and integration from IBM may ring a bell to you but performance is not really DB2's forte in the bench I have seen. But if your shop is IBM oriented you would get a good rebate for it I guess :). I don't really know this database so I can't comment on features and others things.

I hope this will help you. I'm no real expert but googling for comparaison would be a good idea. I hope this resume could help you out. Also for the bug that you have it should be corrected once the diff file I submitted has been commited.

Comment 38 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-23 10:58:50 UTC
>I hope this will help you. I'm no real expert but googling for comparaison would be a good idea.

Unfortunately not, Jean-Francois. I'm more interested in something like sql standard conformance, indexing features, constraints, nested transactions, available replication methods. I know the history of Firebird and from my point of view it is more a 'delphi legacy' thing (please don't tell the devs ;), but I'm remembering that it should be very fast with blobs and as a readonly embedded db (e.g. on cd/dvd). I searched the web, but ... even the "case studies" linked in the novices guide on the firebird project doesn't exist anymore.
Comment 39 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-24 05:59:27 UTC
Could the log file be put in /var/log and symlinked, please? I don't like to have variable data in /opt.
Comment 40 Meir Kriheli (RETIRED) gentoo-dev 2004-04-25 02:11:17 UTC
Fixed localhost check in config(). now even if
localhost/localdomain is in hosts.equiv, localhost
will be added.

config() moves firebird.log to /var/log/firebird
as carlo requested.

The ebuild is unmasked now, but still marked as ~x86.
Hoping to mark as stable soon in case no problems found.
Comment 41 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-25 05:59:03 UTC
Thanks Meir. What about the license (comment #34)?
Comment 42 Meir Kriheli (RETIRED) gentoo-dev 2004-04-25 06:27:40 UTC
I have a problem with it. Look in /usr/portage/licenses,
we already have an IPL in there (IBM Public License).

I'll ask on -dev what should be done about it.
Comment 43 Meir Kriheli (RETIRED) gentoo-dev 2004-04-26 03:23:41 UTC
The license has changed to Interbase-1.0
Comment 44 Carsten Lohrke (RETIRED) gentoo-dev 2004-04-26 15:58:30 UTC
just merged it, looks perfect now
Comment 45 Jean-François Gagnon Laporte 2004-04-30 07:20:09 UTC
Got a problem here. I have just finished build a 32bit Gentoo on my amd64 crashbox. It compiles fine and all but I got a problem with UDFs. No matter how many times do I double check my config on my laptop and on the amd64 (I even made some diff comparaison) they are configured exactly the same but on the amd64 custom UDFs doesn't work. Firebird gives me back this message :

Access to udf librairy <name of the udf> is denied by the server administrator.

All of the UDFs are readable by the firebird user. I have done the ebuild <path>/*.ebuild config thingy. In resume, I did the same thing on my laptop and on the 32bit amd64 test server. I installed this machine on a pata using a 32bit livecd so I don't there are some librairies that wouldn't make this work. Here is my emerge info if that would help : 

Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5-hardened-r3)
System uname: 2.6.5-hardened-r3 i686 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.4.10
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.8.3
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
FEATURES="autoaddcvs ccache sandbox"
USE="X acl acpi adns apache2 avi berkdb crypt cups encode ethereal foomaticdb gdbm gif gpm gtk gtk2 hardened imlib innodb jpeg kde ldap libg++ libwww mad memlimit mikmod motif mpeg mysql ncurses nls oggvorbis pam pdflib perl png python qt quicktime readline samba sasl sdl slang snmp spell ssl svga tcpd truetype x86 xml xml2 xmms xv zlib"

I'm out of ideas ... does anybody got one ?
Comment 46 Jean-François Gagnon Laporte 2004-04-30 11:20:49 UTC
I have found my problem. If anyone has saw my emerge info I was using 2.6.5-hardened-r3. Note the hardened here ...

I had activated grsecurity at it's highest level and it seems that firebird does something grsecurity doesn't like with the UDF's and block it's loading (or maybe the udf we were using). After some major troubleshooting to finally discover grub was installed on the wrong drive (I had left the sata drive there for future use ... it bumped the numbers a little) and compiling the latest stable mm-sources without grsecurity ... it work fine.

All in all, it was a kernel conflict with a too high security so it's a false alarm. Wonder why but hey at least it's working now even though I would have liked to have grsecurity. I can now say that I have been able to make it work on another x86. This isn't an x86-64 yet.

Cheers and thanks again Meir for the ebuild !
Comment 47 Tiago Freire 2004-05-06 15:49:09 UTC
I am having one problem: my Firebird tends to eat 100% cpu cycles. I am using CoLinux, though. People with real host Gentoo installations are having this problem too? I will try with my VMWare installation too, and see what happens. 
Comment 48 Jean-François Gagnon Laporte 2004-05-06 17:38:13 UTC
VM emulation tend to hog the cpu very much. You won't notice any difference if you use vmware. If you really want to use firebird in windows there is a native port already done for that. As for native, I have tested it on some machines and it only  uses some cpu when needed. So I think it is because of the vm's that it tend to hog the cpu. Where you checking the cpu usage in the vm or on your windows ?
Comment 49 Meir Kriheli (RETIRED) gentoo-dev 2004-05-13 14:41:28 UTC
Marked as stable on x86, Closing this bug.