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>