Q: Is there any use for Oracle database port installation under Linux compat root ?

Adrian Penisoara ady at freebsd.ady.ro
Sun Jul 27 17:03:06 UTC 2008


On Sun, Jul 27, 2008 at 1:15 PM, Alexander Leidinger <
Alexander at leidinger.net> wrote:

> Quoting "Adrian Penisoara" <ady at freebsd.ady.ro> (Sun, 27 Jul 2008 11:22:20
> +0300):
> > Hi,
> >
> >   I am working on a FreeBSD port for Oracle's XE database package[1]
> (Linux
> > binaries) and I stumbled upon some issues related to USE_LINUX_PREFIX.
> > Before going any further trying to support (as an option) installing the
> > Oracle XE directly under the /compat/linux hierarchy (like the
> > database/linux-oracle-instantclient-* ports are doing), I have to ask ask
> > around the following:
> >
> > (1) Is there any real need/benefit to have an Oracle DB installation
> rooted
> > under /compat/linux (e.g. /compat/linux/usr/lib/oracle/xe/...) ? Side
> note:
> > in this case all shell scripts will need to be ran under
> > /compat/linux/bin/bash.
> >
> > (2) How does one deal with installing manual pages and shared files with
> > USE_LINUX_PREFIX -- do they also have to go under /compat/linux ? Using
> > ${MANPREFIX} as a template gives wrong results in this case...
> A port has to install into LINUXPREFIX, if it is an infrastructure
> port (no part has to go outside this location). It has to install into
> the default location (PREFIX/LOCALBASE), if it is an enduser port.
> That's the easy part.

 Good pointer, I was missing this bit. Thanks.

> Now the classification, what is what, is the hard part. The linux
> png/jpeg or whatever lib is for sure infrastructure. If this would land
> in the default FreeBSD lib path, rest assured it would hurt. A linux
> acroread port is an enduser application, a user will call it directly
> to work with it. It also does not come with libs in the default FreeBSD
> locations, so everything will be fine if it is installed in the default
> location.
> For the Oracle stuff I can imagine that it is a hard question. If it
> doesn't put libs into a FreeBSD lib directory (a subdirectory of a lib
> directory is ok, as it will not cause immediate problems), there are no
> immediate objections to putting it into the default FreeBSD location
> (and as the DBA as an enduser would use it, this would fit into the
> description above). But we also have the rule that nothing is allowed
> to be put into the basesystem (/usr/Y instead of /usr/local/Y). Think
> about jails where the base is mounted read-only and only additional
> programs are in a RW part.

  In the default configuration the binaries (and I mean all of them!) would
be placed under /usr/lib/oracle, since this is a hardcoded path in all
  I will also offer a "WITH_BSDHIER" option which will root the installation
into /usr/local/oracle and just make a symlink under /usr/lib. Should I
rather make this the default ? ;)

  There are no libraries (or other binaries for that fact) installed outside
the Oracle hierarchy (this is the general strategy for Oracle RDBMS products
at least). So I guess it very nicely fits into the "enduser" picture you
describe above. I'm just wandering whether a /compat/linux rooted
installation would make sense.

  I am still interested to hear opinions from Oracle DBAs/users on this
subject -- would you need this option ?

> In the end it comes down to what you are able to do and how hard the
> software is to port. Maybe it is easy to install everything into
> LINUXBASE and install a wrapper into LOCALBASE (/usr/local/bin/Y would
> be a script with #!/compat/linux/bin/bash and start whatever is needed
> to start /compat/linux/bin/Y). Maybe the installation of the software
> allows to install into /usr/local/softwarename and you can make links
> from /usr/local/bin/ to it.
> The rules for this are strong suggestions. If it is possible to do,
> do everything you can to follow the rules, if you don't know how to
> make something follow the rules, ask specific questions on ports if
> someone has in idea. If there's no idea, forget the rule and try to do
> something as close as possible to the goal of the rule (and document
> what/why).
> Bye,
> Alexander.
Thank you for your time.

More information about the freebsd-ports mailing list