Hi. Something went wrong. I could have noticed it earlier, but i did not re-package with the corrected CURRENT version, because i did not have the time. When i glanced through some cvs diffs i found that the CURRENT version is different from mine. And that there are other problems. The result was, that the "system" Java was used on some machines (which is a good explanation for other problems).
This time i attach the whole .spec-file. Basically i added some checks in the unpacking section, that should also catch the case when the downloaded archive is corrupted. And then there was another place that needed a check for Solaris 10. (mk) -- Matthias Kurz; Fuldastr. 3; D-28199 Bremen; VOICE +49 421 53 600 47 >> Im prämotorischen Cortex kann jeder ein Held sein. (bdw) <<
## ## j2se14.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2005 The OpenPKG Project <http://www.openpkg.org/> ## Copyright (c) 2000-2005 Ralf S. Engelschall <[EMAIL PROTECTED]> ## Copyright (c) 2000-2005 Cable & Wireless <http://www.cw.com/> ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package versions %define V_sunjava 1_4_2_07 %define V_filesys 1.4.2_07 %define V_openpkg 1.4.2.07 %define V_sunsupp 1_4_2 # package information Name: j2se14 Summary: Java 2 Platform, Standard Edition (J2SE) 1.4 URL: http://java.sun.com/j2se/ Vendor: Sun Microsystems, Inc. Packager: The OpenPKG Project Distribution: OpenPKG Class: EVAL Group: Language License: Commercial Version: %{V_openpkg} Release: 20050315 # package options %option with_demo no %option with_docs no %option with_jce no # list of sources Source0: http://java.sun.com/j2se/::/j2sdk-%{V_sunjava}-linux-i586.bin Source1: http://java.sun.com/j2se/::/j2sdk-%{V_sunjava}-solaris-sparc.sh Source2: http://java.sun.com/j2se/::/j2sdk-%{V_sunjava}-solaris-sparcv9.sh Source3: http://java.sun.com/j2se/::/j2sdk-%{V_sunjava}-solaris-i586.sh Source4: http://java.sun.com/j2se/::/j2sdk-%{V_sunsupp}-doc.zip Source5: http://java.sun.com/j2se/::/jce_policy-%{V_sunsupp}.zip Source6: rc.j2se14 %NoSource 0 %NoSource 1 %NoSource 2 %NoSource 3 %NoSource 4 %NoSource 5 # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20040130 PreReq: OpenPKG, openpkg >= 20040130 AutoReq: no AutoReqProv: no Provides: JDK, JRE Conflicts: j2se %description The premier solution for rapidly developing and deploying mission-critical, enterprise applications, J2SE provides the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications in the Java programming language. %track prog j2se14 = { version = %{V_filesys} url = http://java.sun.com/j2se/ regex = /j2se/(1\.4(\.\d+)+)/index.jsp url = http://java.sun.com/j2se/__NEWVER__/download.html regex = "J2SE v (__VER__) " } %prep %setup -q -c j2se14 -T %build %install rm -rf $RPM_BUILD_ROOT # select vendor source pkgfile="" suppfile="" docsfile="%{SOURCE j2sdk-%{V_sunsupp}-doc.zip}" cryptfile="%{SOURCE jce_policy-%{V_sunsupp}.zip}" pkgdir=%{V_filesys} case "%{l_platform -t}" in i?86-linux2.[2-6]* | i?86-freebsd[45]* ) pkgfile="%{SOURCE j2sdk-%{V_sunjava}-linux-i586.bin}" pkgdir="j2sdk%{V_filesys}" ;; sun4u-sunos5.[6-9]* | sun4u-sunos5.10 ) pkgfile="%{SOURCE j2sdk-%{V_sunjava}-solaris-sparc.sh}" suppfile="%{SOURCE j2sdk-%{V_sunjava}-solaris-sparcv9.sh}" pkgdir="j2sdk%{V_filesys}" ;; i?86-sunos5.[6-9]* | i?86-sunos5.10 ) pkgfile="%{SOURCE j2sdk-%{V_sunjava}-solaris-i586.sh}" pkgdir="j2sdk%{V_filesys}" ;; esac if [ ".$pkgfile" = . ]; then echo "Sorry, unsupported architecture '%{l_platform -t}'" 1>&2 exit 1 fi # create installation tree %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/cgi \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ $RPM_BUILD_ROOT%{l_prefix}/libexec \ $RPM_BUILD_ROOT%{l_prefix}/man/man1 \ $RPM_BUILD_ROOT%{l_prefix}/share/j2se14 # unpack vendor distribution ( umask 022 cd $RPM_BUILD_ROOT%{l_prefix}/libexec case "%{l_platform -t}" in i?86-linux2.[2-6]* | i?86-freebsd[45]* ) echo "yes" | sh $pkgfile \ >$RPM_BUILD_ROOT%{l_prefix}/share/j2se14/COPYING.32 ;; sun4u-sunos5.[6-9]* | sun4u-sunos5.10 ) echo "yes" | sh $pkgfile \ >$RPM_BUILD_ROOT%{l_prefix}/share/j2se14/COPYING.32 \ && echo "yes" | sh $suppfile \ >$RPM_BUILD_ROOT%{l_prefix}/share/j2se14/COPYING.64 ;; i?86-sunos5.[6-9]* | i?86-sunos5.10 ) echo "yes" | sh $pkgfile \ >$RPM_BUILD_ROOT%{l_prefix}/share/j2se14/COPYING.32 ;; *) false ;; esac [ $? = 0 ] || { echo -e "\nUnpacking failed !\n"; exit 1; } mv $pkgdir j2se14 ) || exit $? # fix vendor distribution ( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/bin find . -type f -print | xargs chmod u+w cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/jre/bin find . -type f -print | xargs chmod u+w case "%{l_platform -t}" in sun4u-sunos5.[6-9]* | sun4u-sunos5.10 ) cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/bin/sparcv9 find . -type f -print | xargs chmod u+w cd $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/jre/bin/sparcv9 find . -type f -print | xargs chmod u+w ;; esac ) || exit $? # optionally brand ELF binaries (FreeBSD only) case "%{l_platform -t}" in i?86-freebsd[45]* ) brandelf -t Linux \ `find $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/bin/ -type f -print` \ >/dev/null 2>&1 || true brandelf -t Linux \ `find $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/jre/bin/ -type f -print` \ >/dev/null 2>&1 || true ;; esac # move man pages to a canonical location if [ -d $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/man/man1 ]; then mv $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/man/man1/* \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/ elif [ -d $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/man/sman1 ]; then mv $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/man/sman1/* \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/ fi rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/man 2>/dev/null || true # remove man pages conflicting with Kerberos rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/kinit.1 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/klist.1 rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/ktab.1 # remove demos if unwanted %if "%{with_demo}" == "no" rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/demo 2>/dev/null || true %endif # unpack docs if wanted %if "%{with_docs}" == "yes" unzip $docsfile mv docs $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/ %endif # install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy # under confirmation of the US Export Administration Regulations (EAR) %if "%{with_jce}" == "yes" unzip $cryptfile cp jce/COPYRIGHT.html $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/JCE_COPYRIGHT.html cp jce/README.txt $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/JCE_README.txt cp -f jce/US_export_policy.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/jre/lib/security/ cp -f jce/local_policy.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/j2se14/jre/lib/security/ %endif # link developer binaries ( cd $RPM_BUILD_ROOT%{l_prefix}/bin for bin in HtmlConverter appletviewer extcheck idlj jar jarsigner \ java javac javadoc javah javap jdb keytool native2ascii orbd \ policytool rmic rmid rmiregistry serialver servertool tnameserv; do ln -s ../libexec/j2se14/bin/$bin . done ) || exit $? ( cd $RPM_BUILD_ROOT%{l_prefix}/cgi ln -s ../libexec/j2se14/bin/java-rmi.cgi java-rmi.cgi ) || exit $? # install run-command script %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.j2se14} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean rm -rf $RPM_BUILD_ROOT