Summary: | Firebird sql | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Martin Novak <mn> |
Component: | Mac OSX | Assignee: | 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
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. 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 Portage installed software -> /usr Binary-only packages -> /usr or /opt Portage musn't touch /usr/local It's in the policy doc. 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 I would prefer to see the portage firebird ebuild porting to OSX, than to see a binary ebuild added to the tree. 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. |