Author: glen                         Date: Tue Apr  1 23:46:25 2008 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- merge fixes from LINUX_2_6_22 branch

---- Files affected:
SPECS:
   uClibc.spec (1.157 -> 1.158) 

---- Diffs:

================================================================
Index: SPECS/uClibc.spec
diff -u SPECS/uClibc.spec:1.157 SPECS/uClibc.spec:1.158
--- SPECS/uClibc.spec:1.157     Tue Apr  1 21:14:54 2008
+++ SPECS/uClibc.spec   Wed Apr  2 01:46:20 2008
@@ -1,23 +1,12 @@
 # $Revision$, $Date$
-# TODO
-# - unpackaged list:
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-addr2line
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-ar
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-as
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-c++
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-cc
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-cpp
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-g++
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-gasp
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-gcc
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-ld
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-nm
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-objcopy
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-objdump
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-ranlib
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-size
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-strings
-#   /usr/x86_64-linux-uclibc/bin/x86_64-uclibc-strip
+#
+# Conditional build:
+%bcond_without shared          # don't build shared lib support
+#
+%ifarch %{x8664}
+%undefine      with_shared
+%endif
+#
 Summary:       C library optimized for size
 Summary(pl.UTF-8):     Biblioteka C zoptymalizowana na rozmiar
 Name:          uClibc
@@ -36,6 +25,7 @@
 Patch5:                %{name}-sparc.patch
 URL:           http://uclibc.org/
 BuildRequires: binutils-gasp
+BuildRequires: cpp
 BuildRequires: gcc >= 5:3.0
 BuildRequires: linux-libc-headers >= 7:2.6.24
 BuildRequires: sed >= 4.0
@@ -124,6 +114,9 @@
        s/^.*UCLIBC_HAS_RPC.*/UCLIBC_HAS_RPC=y\n# UCLIBC_HAS_FULL_RPC is not 
set\n# UCLIBC_HAS_REENTRANT_RPC is not set/;
        s/^.*UCLIBC_HAS_SYS_SIGLIST.*$/UCLIBC_HAS_SYS_SIGLIST=y/;
        
s,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)/lib",
+%if %{with shared}
+       s/^\(HAVE_SHARED\)=y/# \1 is not set/;
+%endif
        s/^.*UCLIBC_HAS_PRINTF_M_SPEC.*$/UCLIBC_HAS_PRINTF_M_SPEC=y/;
        
s/^.*UCLIBC_SUSV3_LEGACY.*$/UCLIBC_SUSV3_LEGACY=y\nUCLIBC_SUSV3_LEGACY_MACROS=y/;
        s/^.*\<DOSTRIP\>.*$/# DOSTRIP is not set/;
@@ -155,18 +148,52 @@
        CC="%{__cc}" \
        PREFIX=$RPM_BUILD_ROOT
 
+%if %{with shared}
 mv -f $RPM_BUILD_ROOT%{uclibc_root}/usr/lib/{libpthread-uclibc,libpthread}.so
 ln -sf libpthread-0.9.29.so $RPM_BUILD_ROOT%{uclibc_root}/lib/libpthread.so.0
+%endif
 
 # these links are *needed* (by stuff in bin/)
 for f in $RPM_BUILD_ROOT%{uclibc_root}/bin/*; do
-       mv -f $f $RPM_BUILD_ROOT%{_bindir}
-       ln -sf ../../bin/`basename $f` $f
+       if [ -L $f ]; then
+               l=$(readlink $f)
+               a=${l##*/}
+               d=${l%/*}
+               case "$d" in
+               %{_bindir})
+                       ln -sf ${l#%{_bindir}/} 
$RPM_BUILD_ROOT%{_bindir}/${f##*/}
+                       rm -f $f
+                       ;;
+               $a)
+                       mv -f $f $RPM_BUILD_ROOT%{_bindir}
+                       ;;
+               *)
+                       exit 1
+                       ;;
+               esac
+       else
+               a=${f#*/%{_target_cpu}-uclibc-}
+               ln -sf %{_bindir}/$(basename $f) 
$RPM_BUILD_ROOT%{uclibc_root}/usr/bin/$a
+               mv -f $f $RPM_BUILD_ROOT%{_bindir}
+       fi
 done
 
-for f in c++ cc g++ gcc ld; do
-       ln -sf /usr/bin/%{_target_cpu}-uclibc-$f \
-               $RPM_BUILD_ROOT%{uclibc_root}/usr/bin/$f
+for f in $RPM_BUILD_ROOT%{uclibc_root}/usr/bin/*; do
+       if [ -L $f ]; then
+               l=$(readlink $f)
+               case "${l%/*}" in
+               %{uclibc_root}/bin)
+                       a=${l#*/%{_target_cpu}-uclibc-}
+                       ln -sf %{_bindir}/$a $f
+                       ;;
+               %{_bindir})
+                       :
+                       ;;
+               *)
+                       exit 2
+                       ;;
+               esac
+       fi
 done
 
 rm -rf $RPM_BUILD_ROOT%{uclibc_root}/usr/include/{linux,asm*}
@@ -187,9 +214,11 @@
 %doc Changelog* DEDICATION.mjn3 MAINTAINERS README TODO
 %dir %{uclibc_root}
 %ifarch %{ix86} %{x8664} ppc sparc sparcv9
+%if %{with shared}
 %dir %{uclibc_root}/lib
 %attr(755,root,root) %{uclibc_root}/lib/*.so*
 %endif
+%endif
 
 %files devel
 %defattr(644,root,root,755)
@@ -200,10 +229,12 @@
 %dir %{uclibc_root}/usr/bin
 %attr(755,root,root) %{uclibc_root}/usr/bin/*
 %dir %{uclibc_root}/usr/lib
+%if %{with shared}
 %{uclibc_root}/usr/lib/uclibc_nonshared.a
 %ifarch %{ix86} %{x8664} ppc sparc sparcv9
 %attr(755,root,root) %{uclibc_root}/usr/lib/*.so
 %endif
+%endif
 %{uclibc_root}/usr/include
 
 %files static
@@ -216,6 +247,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.158  2008-04-01 23:46:20  glen
+- merge fixes from LINUX_2_6_22 branch
+
 Revision 1.157  2008-04-01 19:14:54  glen
 - really always disable stripping not only with %{?debug}
 - use inline sed edit
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/uClibc.spec?r1=1.157&r2=1.158&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to