Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jul 2008 20:03:05 +0300
From:      "Adrian Penisoara" <ady@freebsd.ady.ro>
To:        "Alexander Leidinger" <Alexander@leidinger.net>
Cc:        freebsd-database@freebsd.org, freebsd-emulation@freebsd.org, rofug@rofug.ro, freebsd-ports@freebsd.org
Subject:   Re: Q: Is there any use for Oracle database port installation under Linux compat root ?
Message-ID:  <78cb3d3f0807271003q3f5ab72dr2147cf7b1a3348fc@mail.gmail.com>
In-Reply-To: <20080727121503.679bc598@deskjail>
References:  <78cb3d3f0807260841k336f20a9jce857189c55adb16@mail.gmail.com> <78cb3d3f0807270122r4d2377d9gbf4e3ed5386918fa@mail.gmail.com> <20080727121503.679bc598@deskjail>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

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

> Quoting "Adrian Penisoara" <ady@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
places.
  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.
Adrian.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?78cb3d3f0807271003q3f5ab72dr2147cf7b1a3348fc>