Author: glen Date: Wed Feb 28 01:11:12 2007 GMT Module: SPECS Tag: AC-branch ---- Log message: - RPATH fix merge from HEAD; rel 6
---- Files affected: SPECS: java-sun.spec (1.172 -> 1.172.2.1) ---- Diffs: ================================================================ Index: SPECS/java-sun.spec diff -u SPECS/java-sun.spec:1.172 SPECS/java-sun.spec:1.172.2.1 --- SPECS/java-sun.spec:1.172 Tue Jan 30 13:18:15 2007 +++ SPECS/java-sun.spec Wed Feb 28 02:11:07 2007 @@ -9,7 +9,7 @@ Summary(pl): Sun JDK - środowisko programistyczne Javy dla Linuksa Name: java-sun Version: 1.6.0 -Release: 5 +Release: 6 License: restricted, distributable Group: Development/Languages/Java Source0: http://download.java.net/dlj/binaries/jdk-%{_src_ver}-dlj-linux-i586.bin @@ -315,7 +315,7 @@ %endif # make sure all tools are available under $(JDK_HOME)/bin -for i in ControlPanel keytool kinit klist orbd policytool rmid \ +for i in ControlPanel keytool orbd policytool rmid \ rmiregistry servertool tnameserv pack200 unpack200 java javaws; do ln -sf ../jre/bin/$i $RPM_BUILD_ROOT%{javadir}/bin/$i done @@ -374,6 +374,48 @@ ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_jvmjardir}/jre ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_jvmjardir}/jsse +# modify RPATH so that javac and friends are able to work when /proc is not +# mounted and we can't append to RPATH (for example to keep previous lookup +# path) as RPATH can't be longer than original +# +# for example: +# old javac: RPATH=$ORIGIN/../lib/i386/jli:$ORIGIN/../jre/lib/i386/jli +# new javac: RPATH=/usr/lib/jvm/java-sun-1.6.0/jre/lib/i386/jli + +# silly rpath: jre/bin/unpack200: RPATH=$ORIGIN +chrpath -d $RPM_BUILD_ROOT%{jredir}/bin/unpack200 + +fixrpath() { + execlist=$(find $RPM_BUILD_ROOT%{javadir} -type f -perm +1 | xargs file | awk -F: '/ELF.*executable/{print $1}') + for f in $execlist; do + rpath=$(chrpath -l $f | awk '/RPATH=/ { gsub(/.*RPATH=/,""); gsub(/:/," "); print $0 }') + [ "$rpath" ] || continue + + # file + file=${f#$RPM_BUILD_ROOT} + origin=${file%/*} + + new= + for a in $rpath; do + t=$(echo $a | sed -e "s,\$ORIGIN,$origin,g") + # get rid of ../../ + t=$(set -e; t=$RPM_BUILD_ROOT$t; [ -d $t ] || exit 0; cd $t; pwd) + # skip inexistent paths + [ "$t" ] || continue + + t=${t#$RPM_BUILD_ROOT} + + if [[ "$new" != *$t* ]]; then + # append it now + new=${new}${new:+:}$t + fi + done + chrpath -r ${new} $f + done +} + +fixrpath + %clean rm -rf $RPM_BUILD_ROOT @@ -775,6 +817,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.172.2.1 2007/02/28 01:11:07 glen +- RPATH fix merge from HEAD; rel 6 + Revision 1.172 2007/01/30 12:18:15 glen - fix broken apt symlink; rel 5 ================================================================ ---- CVS-web: http://cvs.pld-linux.org/SPECS/java-sun.spec?r1=1.172&r2=1.172.2.1&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
