Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 82637

Summary: Firebird sql
Product: Gentoo/Alt Reporter: Martin Novak <mn>
Component: Mac OSXAssignee: Gentoo for Mac OS X <ppc-macos>
Status: RESOLVED UPSTREAM    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---

Description Martin Novak 2005-02-19 18:13:53 UTC
Hello,

I tried to compile firebird sql from original distribution, and it was successful. Well, I had to make some changes in the build process, but anyway it seems to work. I would like to make ebuild from that, and I have some questions.

(1) Is it ok that firebird on mac when you run "make install" installs to /Library/Frameworks/Firebird.framework as the standard mac pkg installer. I don't see any problem, but I don't know if there is any guideline for things like that.

(2) I suppose that /opt directory should be replaced with /usr/local directory for custom packages under Mac

(3) If I install firebird as pkg installation, is there any way how to uninstall it? I'm sorry, I'm new in the installation system on mac, so I don't know...
Comment 1 Lina Pezzella (RETIRED) gentoo-dev 2005-02-19 21:10:47 UTC
Actually, the firebird package is already in portage, it just hasn't been porting to osx yet.
If you are particularly interested in this package, I would suggest you take a look at
/usr/portage/dev-db/firebird

Vim one of the ebuilds in that directory (the newest is always preferred if possible), and add
"~ppc-macos" to the keywords. Then try to emerge it. You may have to edit the ebuild
in order to get it to build and install properly.

As to the framework question, I will discuss it with the rest of the team and get back to you.
It is illegal to install to /opt or /usr/local, but the ebuild should take care of that if you can
get it working.

You can uninstall anything installed by portage with emerge -C package-name

Please let us know by commenting on this bug if you get firebird to build.
Comment 2 Martin Novak 2005-02-19 21:42:41 UTC
Why is it illegal to install to /opt or /usr/local? As I remember, firebird installs under /opt under Gentoo Linux. I was asking because the common dir for other software installations under mac is /usr/local, and on gentoo linux it is /opt...

About uninstallation - I didn't mean only simple emerge -C, I mean some macos installation stuff, because if we install to /Library/Frameworks, it uses macos installer for this, and we should uninstall it using emerge -C, but our uninstall method should use some macos command. Or otherwise if we install it to eg. /opt, I cannot use make install or, I will have to find some switch which overrides the installation to /opt, and do not use macos installer, or simply copy the files, but you know this is not very elegant solution, and I think that some other sw like mysql, etc will probably use macos installer when running "make install" too.

Martin
Comment 3 Ciaran McCreesh 2005-02-20 05:03:42 UTC
Portage installed software -> /usr
Binary-only packages -> /usr or /opt
Portage musn't touch /usr/local
It's in the policy doc.
Comment 4 Kito (RETIRED) gentoo-dev 2005-02-20 10:53:12 UTC
We need a (for now, local) USE="framework". Python and a few other packages  will be making use of it. Also, a wrapper for installer(1), or a little eclass, to extract and install .pkg's would be very useful as well.

I don't understand what you mean by "because if we install to /Library/Frameworks, it uses macos installer for this".... If you are building it from source, there is a 99.99% chance the Mac OS X pkg installer(1) never even comes into the picture. Read the docs and makefiles a little more, most apps that can build darwin frameworks allow you to do it conditionally, so a more traditional install to /usr is also possible.

If you ARE installing from a binary .pkg, you have 2 options.
1. Read the man pages for lsbom(1) and cpio(1) and extract the binary files from the package yourself and have the ebuild put the files where they need to be.
2. I havent tested this much but it should work, calling intsaller(1) in the ebuild with ${D} being the target. something like this in the ebuild:

export CM_BUILD=CM_BUILD
installer -verbose -pkg foobar.pkg -target ${D} || die "pkg install failed"

If that works, you can move files around as needed(i.e. out of /usr/local) in src_install
Comment 5 Lina Pezzella (RETIRED) gentoo-dev 2005-02-20 14:48:38 UTC
I would prefer to see the portage firebird ebuild porting to OSX, than to see a binary ebuild added to the tree.
Comment 6 Fabian Groffen gentoo-dev 2005-08-27 04:59:38 UTC
I have tried and succeed to get firebird sql compiling on OSX, that is I fixed
aroud 3000 lines of code by adding casts that GCC4 wants.  Submitted the patch
upstream, but came to the conclusion that the way the firebirdsql configure/make
scripts work, we're stuck with an installer for OSX which we don't want.  Hence,
I don't see a solution for getting this to work without serious hacking (and
understanding exactly what their scripts do), and as such close this bug. 
Upstream have decided that on OSX you always get an OSX installer.