Author: baggins                      Date: Mon Aug 16 12:28:52 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- hack around glibc brokeness wrt static linking and nss

---- Files affected:
packages/vim:
   vim.spec (1.515 -> 1.516) 

---- Diffs:

================================================================
Index: packages/vim/vim.spec
diff -u packages/vim/vim.spec:1.515 packages/vim/vim.spec:1.516
--- packages/vim/vim.spec:1.515 Fri Jul  9 13:25:46 2010
+++ packages/vim/vim.spec       Mon Aug 16 14:28:47 2010
@@ -2,6 +2,10 @@
 # TODO
 # - evim manuals not installed if no gui is built, move to -gui packages?
 #
+# NOTE
+# - static package is not quite static, it must be linked with shared glibc
+#   because of glibc nss brokeness wrt all static linking
+#
 # Conditional build:
 %bcond_without static          # don't build static version
 %bcond_without athena          # don't build Athena Widgets-based gvim
@@ -9,7 +13,7 @@
 %bcond_without gtk             # don't build GTK+-based gvim support
 %bcond_without gnome           # don't build GNOME-based gvim support
 %bcond_without heavy           # don't build heavy (full-featured GNOME-based 
gvim/vim)
-%bcond_without gui                     # don't build any GUI
+%bcond_without gui             # don't build any GUI
 %bcond_with    perl            # with Perl interp in vim package
 %bcond_with    python          # with Python interp in vim package
 %bcond_with    ruby            # with Ruby interp in vim package
@@ -41,7 +45,7 @@
 Summary(uk.UTF-8):     Visual editor IMproved - Єдино Вірний Редактор :)
 Name:          vim
 Version:       %{ver}.%{patchlevel}
-Release:       4
+Release:       4.1
 Epoch:         4
 License:       Charityware
 Group:         Applications/Editors/Vim
@@ -763,6 +767,7 @@
 build() {
        set -x
        local target=$1
+       local shlink
        shift
 
        %{__make} distclean
@@ -787,11 +792,24 @@
                "$@"
 
        %{__make} vim
+       # Hack around glibc brokeness wrt static linking and NSS (Name Service 
Shit)
+       if [ "$target" = "vim.static" ]; then
+               echo "s| -l\([^ ]\+\)| %{_libdir}/lib\1.a|g" >>auto/link.sed
+               rm -f vim
+               %{__make} vim
+               shlink=$(ldd ./vim | grep -v "linux-vdso\|libc.so\|ld-linux.*" 
|| :)
+               if [ -n "$shlink" ]; then
+                       echo "Looks like static link failed!"
+                       echo "These libs should be linked static:"
+                       echo $shlink
+                       return 1
+               fi
+       fi
        mv -f vim bin/$target
 }
 
 %if %{with static}
-LDFLAGS="%{rpmldflags} -static"
+#LDFLAGS="%{rpmldflags} -static"
 build vim.static \
        --disable-gui \
        --without-x \
@@ -805,7 +823,7 @@
        --disable-multibyte \
        --disable-nls
 
-LDFLAGS="%{rpmldflags}"
+#LDFLAGS="%{rpmldflags}"
 %endif
 
 build vim.ncurses \
@@ -1379,6 +1397,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.516  2010/08/16 12:28:47  baggins
+- hack around glibc brokeness wrt static linking and nss
+
 Revision 1.515  2010/07/09 11:25:46  arekm
 - release 4
 
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/vim/vim.spec?r1=1.515&r2=1.516&f=u

_______________________________________________
pld-cvs-commit mailing list
pld-cvs-commit@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to