Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 4 Apr 2013 19:04:04 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: Pending issues for next release

On Wed, Apr 03, 2013 at 09:00:00PM -0700, Isaac Dunham wrote:
> On Mon, 1 Apr 2013 19:31:44 -0400
> Rich Felker <dalias@...ifal.cx> wrote:
> 
> > Here's a quick list of open issues that we might want to take care of
> > before another release:
> >
> (snipping several interesting improvements) 
> > - switching libc.so/ld-musl.so symlink direction
> 
> Does this patch look suitable?
> I know it does work, including in the DESTDIR=./.../ case.

I can't say it's wrong, but seeing this patch reminds me why I didn't
do it before...

> diff --git a/Makefile b/Makefile
> index 997c5bb..478e698 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -118,7 +118,10 @@ tools/musl-gcc: config.mak
>  $(DESTDIR)$(bindir)/%: tools/%
>  	install -D $< $@
>  
> -$(DESTDIR)$(libdir)/%.so: lib/%.so
> +$(DESTDIR)$(libdir)/libc.so: $(DESTDIR)$(LDSO_PATHNAME)
> +	ln -sf $(LDSO_PATHNAME) $@
> +
> +$(DESTDIR)$(LDSO_PATHNAME): lib/libc.so
>  	install -D -m 755 $< $@
>  
>  $(DESTDIR)$(libdir)/%: lib/%
> @@ -127,12 +130,6 @@ $(DESTDIR)$(libdir)/%: lib/%
>  $(DESTDIR)$(includedir)/%: include/%
>  	install -D -m 644 $< $@
>  
> -$(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(syslibdir)
> -	ln -sf $(libdir)/libc.so $@ || true
> -
> -$(DESTDIR)$(syslibdir):
> -	install -d -m 755 $(DESTDIR)$(syslibdir)
> -

Unfortunately, this makes it impossible to run "make install" without
a DESTDIR unless you're root. Before, the ||true in the dynamic-linker
installation allowed you to "make install" without root as long as you
have permissions to the prefix, and the resulting install could be
used for everything except _running_ dynamic-linked programs. (Also,
if root added a single symlink for you, it would be fully functional.)

I don't want to reject the patch, because I think this change is
mostly correct, but I would like to discuss and see if there's any way
we can get back the old level of functionality while making this
change. In particular, users should be able to install musl with
--prefix=$HOME/musl and build binaries which will run on any system
with the musl loader in /lib.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.