Quoting Chuck Robey <[EMAIL PROTECTED]> (from Mon, 03 Dec 2007
13:30:50 -0500):
Alexander Leidinger wrote:
Quoting Chuck Robey <[EMAIL PROTECTED]> (from Sun, 02 Dec 2007
13:23:33 -0500):
You've gotten some good suggestions, but I might add one more, I don't
think it's been mentioned. I have foound, myself in the last 2 weeks,
some FreeBSD ports putting in Linux tools, installing stuff in the
wrong places, like sticking in SYSV libraries in /usr/local/lib instead
of /compat/linux/usr/lib. I verified in that case that the Linux
If they put the libs directly in /usr/local/lib instead of
/usr/local/lib/<linux_port_specific_directory>, then it is a big
error. But if it is in a subdirectory where no FreeBSD lib resides,
it is ok (the linux browser sets LD_LIBRARY_PATH in the start
script to the right path).
Have a look how the native browser works, the private libs are not
in ldconfig either and the browser start script sets the library
path for the browser binary. At least it did this the last time I
checked...
Does that mean that all programs needing those libs must have wrapper
shells, so as ot implement the LD_LIBRARY_PATH? I know of programs
Yes. For the mozilla stuff it seems to be a design decision of them to
put the libs in a non-standard path (this is independent from the OS).
Don't shoot FreeBSD, shoot them if you don't like this.
that bomb if that's even set at all, and I think it can be a security
tool, and I just think that there is no good reason for installing
Linux libs outside of the compat tree. There isn't any good reason not
You have 2 differet issue here. One issue is that some
program(-suites) decide to put their libs into a non-standard
directory. The other one is that you should not mix libs from linux
and FreeBSD.
to use the compat tree, is there? You know, there's a local there too,
so you don't even need to be ignoring LOCALBASE, which is something I
don't care for ports to do at all.
Even if you have them in LINUXBASE, you could pick up the wrong libs
depending on the search order of the libs directories and the location
of the libs.
The big goal is, that an user should not have the need to put
/compat/linux/... into his path to start a linux program. We can do
this by putting those linux programs into LOCALBASE (easy, if they
don't install libs or hide the libs in special dirs), or by putting
them into LINUXBASE and add a wrapper script to LOCALBASE (not as
easy, as you have to have more knowledge about pkg-plist in the ports
to get the port to do the right thing).
For pure infrastructure ports (which just have linux libs), I enforce
the rule that they have to be in LINUXBASE as soon as I encounter a
port which violates this rule. For application programs I go the
relaxed way: fix the problem in case there's one and I get aware of it.
I just don't see any reason for such a obviously pathological thing to
occur. Just because it's possible to fix it, program by program, by
implementing wrapper scripts, you aren't going to tell me that's some
sort of elegant fix, so the fact that doing such a thing is justified?
I don't think that wrapper scripts are elegant in general, but our
linuxulator is a special environment and if you want that other people
with "normal" knowledge (read: no ports committer... and even _some_
ports committers would have to learn some new things to get it right)
are able to produce a linux port (there are already some special rules
to take care about with linux ports, several of them we managed to
cover behind some easy knobs), you have to come up with a compromise.
Feel free to propose other solutions, but before you propose anything,
I suggest you try to write a port which implements your solution to
get an idea how complex it is in reality.
Bye,
Alexander.
--
I've always made it a solemn practice to never
drink anything stronger than tequila before breakfast.
-- R. Nesson
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"