[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: allow "make install" as a different non-root user
From: |
Howard Chu |
Subject: |
RE: allow "make install" as a different non-root user |
Date: |
Sat, 29 Mar 2003 09:09:10 -0800 |
One of the patches I've made to my private copy accomodates this. First of
all, it always links all the *.lo objects into a single relocatable file -
ld -r -o $libname.lo $libobjs
This is then used to generate the shared library. It is also used for the
relink step. This makes relinking much much faster, and only needs write
access in the target directory.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden
> Behalf Of
> Bruno Haible
> Sent: Saturday, March 29, 2003 4:16 AM
> To: address@hidden
> Cc: Martin Mokrejs; Robert Boehne
> Subject: allow "make install" as a different non-root user
>
>
> Currently, packages that install shared libraries and
> programs depending on
> them with libtool don't comply with the GNU standards:
>
> user$ make
> user$ su bin
> bin$ make install
>
> doesn't work because during "make install", relinking needs
> write access to
> .libs.
>
> Here is a workaround: make .libs world-writable.
>
> Paul Eggert noted that this presents a security leak. The
> real fix should
> relink directly in the destination directories $(libdir) and
> $(bindir). But
> it is a major modification of libtool...
>
>
> 2001-11-03 Bruno Haible <address@hidden>
>
> * ltmain.sh: chmod 777 the .libs directory, so that
> "make install"
> succeeds.
>
> *** libtool-1.4.3/ltmain.sh 2002-10-23 04:26:24.000000000 +0200
> --- ltmain.sh 2003-02-18 21:53:41.000000000 +0100
> ***************
> *** 557,562 ****
> --- 557,564 ----
> if test $status -ne 0 && test ! -d $dir; then
> exit $status
> fi
> + $show "chmod 777 $dir"
> + $run chmod 777 $dir
> fi
> fi
> if test "$compiler_o_lo" = yes; then
> ***************
> *** 1321,1326 ****
> --- 1323,1330 ----
> if test $status -ne 0 && test ! -d $output_objdir; then
> exit $status
> fi
> + $show "chmod 777 $output_objdir"
> + $run chmod 777 $output_objdir
> fi
>
> # Determine the type of output
>
>
> _______________________________________________
> Libtool-patches mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool-patches
>