Date: Sun, 27 Jul 2008 12:15:03 +0200 From: Alexander Leidinger <Alexander@Leidinger.net> To: "Adrian Penisoara" <ady@freebsd.ady.ro> 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: <20080727121503.679bc598@deskjail> In-Reply-To: <78cb3d3f0807270122r4d2377d9gbf4e3ed5386918fa@mail.gmail.com> References: <78cb3d3f0807260841k336f20a9jce857189c55adb16@mail.gmail.com> <78cb3d3f0807270122r4d2377d9gbf4e3ed5386918fa@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. 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 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. -- Absolutely nothing in the world is friendlier than a wet dog. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080727121503.679bc598>