[uClibc]uclibc debs
David Schleef
ds at schleef.org
Mon Jul 2 22:21:49 UTC 2001
On Mon, Jul 02, 2001 at 02:24:04PM -0600, Erik Andersen wrote:
> On Thu Jun 28, 2001 at 05:59:31PM -0700, David Schleef wrote:
>
> Sorry it has taken me a while to review all your changes. As near as I can
> tell, it looks like you have done the following things. Please correct me if
> I've missed anything.
>
> 1) Renamed ROOT_PREFIX to just PREFIX (to more
> closely mimic autoconf behavor)
> 2) Decoupled DEVEL_PREFIX from PREFIX
Pretty random change, actually. I'm really trying to figure out
all the possiblities of arrangements that people want to have
upon installation. PREFIX and DEVEL_PREFIX don't seem to cut
it, there may need to be more. This just happens to work for the
case of making packages.
> fine, though I'd rather the manpages just be part of the source, not the debian
> package.
Of course. You'll also notice that the man pages suck.
> 4) Set it to always install a full copy of the target
> kernel header files
Er? It's a good idea, but I didn't actually do that. I need to
figure out how to Source-Dep on kernel headers first.
> 5) Fleshed out the mips port
Random carryover from my work tree. Ignore at will, as it doesn't
actually work.
> 6) Changed __USE_POSIX199309 to __USE_POSIX
Ignore. This was a mistake.
> 7)
> - DYNAMIC_LINKER=$(ROOT_DIR)/lib/$(UCLIBC_LDSO)
> + DYNAMIC_LINKER=/lib/$(UCLIBC_LDSO)
>
> Why? If I install to /usr/<arch>-linux-uclibc then this is broken. Also, this
> requires I be root to test/debug the C library. Bestnot to mess with this, and
> ljust leave $(PREFIX) (aka ROOT_DIR) alone.
The dynamic linker path has to be hard coded into applications. And
this location has to be standard enough to work on every system.
Going along with the age-old argument "It can't go on /usr, because
you might need to run a dynamic executable to mount /usr", it needs
to be in /lib. However, I don't see a good reason for not allowing
users to override this location, if they have a pressing desire to
be binary incompatible with the rest of the world. It would be
smarter to tell people to add a link from /lib/ld-uclibc.so.0 to
whereever. Working with shared libs effectively requires having
root privileges.
> 8) Changed names from libc.so to libuClibc.so, libresolv.so to libuClibresolv.so, etc.
>
> I'm still thinking about this one. Things like "libuClibresolv.so" look really
> ugly. And right now, the actual lib names are things like libuClibc-0.9.5.so
> and libcrypt-0.9.5.so. Do we really need to change the sonames though to
> avoid conflict? If we extrapolate this, we need to rename _all_ libraries to
> ensure no conflicts ever happen. libuClibncurses.so? libuClibssl? Ick.
It really all depends if you want to be able to put the uC-track
libraries in /lib and /usr/lib on a standard glibc system. I
was under the impression that this was a goal, but perhaps it
shouldn't be. Comparing to libc5, sharing directories is
specifically not supported.
(I'm happy to argue the point, but it's for decision making purposes
only, not because I actually believe it is the best or cleanest
solution.)
> Hmm. Here I see two potential problems, the libm.so link, and the fact that
> libm lacks a dependancy on libc.
The dependency thing is a problem I fixed along the way. It's buried
in the other changes.
dave...
More information about the uClibc
mailing list