diff options
author | Joshua Nichols <nichoj@gentoo.org> | 2006-09-15 03:32:52 +0000 |
---|---|---|
committer | Joshua Nichols <nichoj@gentoo.org> | 2006-09-15 03:32:52 +0000 |
commit | 26a709adcd11d162b8a9af6d5aa2583c4317618e (patch) | |
tree | 8861354a6dbce589dd8641f7f07038efd02b2fb4 /app-emulation/emul-linux-x86-java | |
parent | forgot to remove the old one as we're the only one on this as well..stupid ma... (diff) | |
download | gentoo-2-26a709adcd11d162b8a9af6d5aa2583c4317618e.tar.gz gentoo-2-26a709adcd11d162b8a9af6d5aa2583c4317618e.tar.bz2 gentoo-2-26a709adcd11d162b8a9af6d5aa2583c4317618e.zip |
Version bump using sun-jre-bin-1.5.0.08 as a template. See bug #116981.
(Portage version: 2.1.1)
Diffstat (limited to 'app-emulation/emul-linux-x86-java')
5 files changed, 450 insertions, 1 deletions
diff --git a/app-emulation/emul-linux-x86-java/ChangeLog b/app-emulation/emul-linux-x86-java/ChangeLog index 6db9be70667f..ee66ae11330b 100644 --- a/app-emulation/emul-linux-x86-java/ChangeLog +++ b/app-emulation/emul-linux-x86-java/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-emulation/emul-linux-x86-java # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/emul-linux-x86-java/ChangeLog,v 1.11 2006/09/12 05:04:21 nichoj Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/emul-linux-x86-java/ChangeLog,v 1.12 2006/09/15 03:32:52 nichoj Exp $ + +*emul-linux-x86-java-1.5.0.08 (15 Sep 2006) + + 15 Sep 2006; Joshua Nichols <nichoj@gentoo.org> + +files/emul-linux-x86-java-1.5.env, +files/construct.sh, + +emul-linux-x86-java-1.5.0.08.ebuild: + Version bump using sun-jre-bin-1.5.0.08 as a template. See bug #116981. *emul-linux-x86-java-1.4.2.03-r2 (12 Sep 2006) diff --git a/app-emulation/emul-linux-x86-java/emul-linux-x86-java-1.5.0.08.ebuild b/app-emulation/emul-linux-x86-java/emul-linux-x86-java-1.5.0.08.ebuild new file mode 100644 index 000000000000..bf2aac917a87 --- /dev/null +++ b/app-emulation/emul-linux-x86-java/emul-linux-x86-java-1.5.0.08.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/emul-linux-x86-java/emul-linux-x86-java-1.5.0.08.ebuild,v 1.1 2006/09/15 03:32:52 nichoj Exp $ + +inherit java-vm-2 eutils + +MY_PVL=${PV%.*}_${PV##*.} +MY_PVA=${PV//./_} + +At="jdk-${MY_PVA}-dlj-linux-i586.bin" +DESCRIPTION="32bit version Sun's J2SE Development Kit" +HOMEPAGE="http://java.sun.com/j2se/1.5.0/" +SRC_URI="http://download.java.net/dlj/binaries/${At}" + +SLOT="1.5" +LICENSE="dlj-1.1" +KEYWORDS="~amd64 -*" +RESTRICT="nostrip" +IUSE="X alsa nsplugin" + +JAVA_VM_NO_GENERATION1=true + +RDEPEND="alsa? ( media-libs/alsa-lib ) + X? ( || ( ( x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + x11-libs/libXi + x11-libs/libXp + x11-libs/libXt + x11-libs/libXtst + ) + virtual/x11 + ) + )" + +JAVA_PROVIDE="jdbc-stdext jdbc-rowset" + +PACKED_JARS="lib/rt.jar lib/jsse.jar lib/charsets.jar lib/ext/localedata.jar lib/plugin.jar lib/javaws.jar lib/deploy.jar" + +# this is needed for proper operating under a PaX kernel without activated grsecurity acl +CHPAX_CONSERVATIVE_FLAGS="pemsv" + +QA_TEXTRELS_amd64="opt/${P}/lib/i386/motif21/libmawt.so + opt/${P}/lib/i386/libdeploy.so" + +src_unpack() { + if [ ! -r ${DISTDIR}/${At} ]; then + die "cannot read ${At}. Please check the permission and try again." + fi + + mkdir bundled-jdk + cd bundled-jdk + sh ${DISTDIR}/${At} --accept-license --unpack || die "Failed to unpack" + + cd .. + bash ${FILESDIR}/construct.sh bundled-jdk sun-jdk-${PV} ${P} || die "construct.sh failed" + + ${S}/bin/java -client -Xshare:dump +} + +src_install() { + local dirs="bin lib man javaws plugin" + dodir /opt/${P} + + for i in $dirs ; do + cp -pPR $i ${D}/opt/${P}/ || die "failed to copy" + done + dodoc CHANGES README THIRDPARTYLICENSEREADME.txt + dohtml Welcome.html + dodir /opt/${P}/share/ + + if use nsplugin; then + local plugin_dir="ns7-gcc29" + if has_version '>=sys-devel/gcc-3' ; then + plugin_dir="ns7" + fi + + install_mozilla_plugin /opt/${P}/plugin/i386/$plugin_dir/libjavaplugin_oji.so + fi + + # TODO Don't think we still needs these -nichoj + # create dir for system preferences + #dodir /opt/${P}/jre/.systemPrefs + # Create files used as storage for system preferences. + #touch ${D}/opt/${P}/jre/.systemPrefs/.system.lock + #chmod 644 ${D}/opt/${P}/jre/.systemPrefs/.system.lock + #touch ${D}/opt/${P}/jre/.systemPrefs/.systemRootModFile + #chmod 644 ${D}/opt/${P}/jre/.systemPrefs/.systemRootModFile + + # FIXME figure out how to handle the control pannel conflict with + # sun-jdk-bin + + # install control panel for Gnome/KDE +# sed -e "s/INSTALL_DIR\/JRE_NAME_VERSION/\/opt\/${P}\/jre/" \ +# -e "s/\(Name=Java\)/\1 Control Panel ${SLOT}/" \ +# ${D}/opt/${P}/plugin/desktop/sun_java.desktop > \ +# ${T}/sun_java-${SLOT}.desktop + +# domenu ${T}/sun_java-${SLOT}.desktop + + set_java_env +} + +pkg_postinst() { + # Set as default VM if none exists + java-vm-2_pkg_postinst + + # if chpax is on the target system, set the appropriate PaX flags + # this will not hurt the binary, it modifies only unused ELF bits + # but may confuse things like AV scanners and automatic tripwire + if has_version sys-apps/chpax + then + echo + einfo "setting up conservative PaX flags for java" + + for paxkills in "java" + do + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/bin/$paxkills + done + + # /opt/$VM/jre/bin/java_vm + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/bin/java_vm + + einfo "you should have seen lots of chpax output above now" + ewarn "make sure the grsec ACL contains those entries also" + ewarn "because enabling it will override the chpax setting" + ewarn "on the physical files - help for PaX and grsecurity" + ewarn "can be given by #gentoo-hardened + hardened@gentoo.org" + fi + + if ! use X; then + local xwarn="virtual/x11 and/or" + fi + + echo + ewarn "Some parts of Sun's JDK require ${xwarn} virtual/lpr to be installed." + ewarn "Be careful which Java libraries you attempt to use." +} diff --git a/app-emulation/emul-linux-x86-java/files/construct.sh b/app-emulation/emul-linux-x86-java/files/construct.sh new file mode 100644 index 000000000000..5f6ff7f0f161 --- /dev/null +++ b/app-emulation/emul-linux-x86-java/files/construct.sh @@ -0,0 +1,282 @@ +#!/bin/bash +# construct.sh +# example construction of JRE and JDK directories from the DLJ bundles +# +# Copyright © 2006 Sun Microsystems, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Sun, Sun Microsystems, the Sun logo and Java, Java HotSpot, +# and JVM trademarks or registered trademarks of Sun Microsystems, +# Inc. in the U.S. and other countries. + + +program=`basename $0` + +usage () { + echo "usage: ${program} path/to/unbundle-jdk path/to/linux-jdk path/to/linux-jre" +} + +getargs() { + undir=$1 + jdkdir=$2 + jredir=$3 + if [ ! -d $undir ]; then + echo "${program}: unbundle directory not found: $undir" + exit 2 + fi + # make sure javahome is the JDK + javahome=`echo $undir/*/demo` + if [ ! -d $javahome ]; then + echo "${program}: unbundle directory incorrect: $undir" + echo " expecting $undir/jdk1.5.0_xx" + exit 2 + else + javahome=`dirname $javahome` + fi + # verify JDK dir + jdkdirp=`dirname $jdkdir` + jdkbase=`basename $jdkdir` + if [ ! -d $jdkdirp ]; then + echo "${program}: parent directory for JDK does not exist: $jdkdirp" + exit 2 + fi + savedir=`pwd` + cd $jdkdirp + jdkdirp=`pwd` + cd $savedir + jdkdir=$jdkdirp/$jdkbase + # verify JRE dir + jredirp=`dirname $jredir` + jrebase=`basename $jredir` + if [ ! -d $jredirp ]; then + echo "${program}: parent directory for JRE does not exist: $jredirp" + exit 2 + fi + savedir=`pwd` + cd $jredirp + jredirp=`pwd` + cd $savedir + jredir=$jredirp/$jrebase +} + +checkfiles() { + if [ -r $jdkdir ]; then + echo "${program}: directory for JDK already exists: $jdkdir" + exit 2 + fi + if [ -r $jredir ]; then + echo "${program}: directory for JRE already exists: $jredir" + exit 2 + fi +} + +copytree() { + echo "copying over the JDK tree..." + cp -a $javahome $jdkdir +} + +linkrel() { + target=$1 + link=$2 + # make a softlink from the $link to the $target + # make this a relative link + targetb=(`echo $target | tr '/' ' '`) + linkb=(`echo $link | tr '/' ' '`) + (( n = ${#targetb[*]} )) + (( m = ${#linkb[*]} )) + c=$n # common length + if [ $m -lt $c ]; then + (( c = m )) + fi + for (( i = 0 ; i < c ; i++ )); do + if [ ${targetb[$i]} != ${linkb[$i]} ]; then + # echo components differ, stopping + break + fi + done + rel="" + for (( j = i + 1; j < m ; j++ )); do + if [ -z $rel ]; then + rel=".." + else + rel="$rel/.." + fi + done + for (( j = i; j < n ; j++ )); do + if [ -z $rel ]; then + rel=${targetb[$j]} + else + rel="$rel/${targetb[$j]}" + fi + done + ln -s $rel $link +} + +createjre() { + echo "creating JRE directory..." + # absolute link + # ln -s $jdkdir/jre $jredir + # relative link + linkrel $jdkdir/jre $jredir +} + +unpackjars() { + echo "unpacking jars..." + unpack200=$jdkdir/bin/unpack200 + if [ ! -x $unpack200 ]; then + echo "${program}: file missing $unpack200" + exit 1 + fi + cd $jdkdir + PACKED_JARS=`find . -name '*.pack'` + for i in $PACKED_JARS; do + # echo $i + jdir=`dirname $i` + jbase=`basename $i .pack` + if ! $unpack200 $jdkdir/$jdir/$jbase.pack $jdkdir/$jdir/$jbase.jar; then + echo "${program}: error unpacking $jdkdir/$jdir/$jbase.jar" + fi + if [ ! -r $jdkdir/$jdir/$jbase.jar ]; then + echo "${program}: missing $jdkdir/$jdir/$jbase.jar" + else + echo " $jdir/$jbase.jar" + # remove pack file + rm $jdkdir/$jdir/$jbase.pack + fi + done +} + +preparecds() { + # if this is a client installation... + compiler="`$jdkdir/bin/java -client -version 2>&1 | tail -n +3 | cut -d' ' -f1-4`" + if [ "X$compiler" = "XJava HotSpot(TM) Client VM" ]; then + # create the CDS archive + echo "creating the class data sharing archive..." + if ! $jdkdir/bin/java -client -Xshare:dump > /dev/null 2>&1; then + echo "returned error code $?" + fi + fi +} + +jreman () { + echo "setting up the JRE man pages..." + # note this list is slightly different for OpenSolaris bundles + jreman=/tmp/jre.man.txt +cat <<EOF > $jreman +man/ja_JP.eucJP/man1/java.1 +man/ja_JP.eucJP/man1/javaws.1 +man/ja_JP.eucJP/man1/keytool.1 +man/ja_JP.eucJP/man1/kinit.1 +man/ja_JP.eucJP/man1/klist.1 +man/ja_JP.eucJP/man1/ktab.1 +man/ja_JP.eucJP/man1/orbd.1 +man/ja_JP.eucJP/man1/pack200.1 +man/ja_JP.eucJP/man1/policytool.1 +man/ja_JP.eucJP/man1/rmid.1 +man/ja_JP.eucJP/man1/rmiregistry.1 +man/ja_JP.eucJP/man1/servertool.1 +man/ja_JP.eucJP/man1/tnameserv.1 +man/ja_JP.eucJP/man1/unpack200.1 +man/man1/java.1 +man/man1/javaws.1 +man/man1/keytool.1 +man/man1/kinit.1 +man/man1/klist.1 +man/man1/ktab.1 +man/man1/orbd.1 +man/man1/pack200.1 +man/man1/policytool.1 +man/man1/rmid.1 +man/man1/rmiregistry.1 +man/man1/servertool.1 +man/man1/tnameserv.1 +man/man1/unpack200.1 +EOF + # create jre/man directory + # mkdir $jdkdir/jre/man + # move the real JRE man pages to jre/man + # link the JDK JRE man pages to jre/man + # real JDK man pages stay where they are + for m in `cat $jreman`; do + manpath=`dirname $jdkdir/jre/$m` + mkdir -p $manpath + mv $jdkdir/$m $jdkdir/jre/$m + linkrel $jdkdir/jre/$m $jdkdir/$m + done + # link in Japanese man pages + ln -s ja_JP.eucJP $jdkdir/jre/man/ja + rm $jreman +} + +elimdups() { + echo "eliminating duplication between the JDK and JDK/jre..." + jdkcomm=/tmp/jdk.bin.comm.txt +cat <<EOF > $jdkcomm +bin/ControlPanel +bin/java +bin/javaws +bin/keytool +bin/kinit +bin/klist +bin/ktab +bin/orbd +bin/pack200 +bin/policytool +bin/rmid +bin/rmiregistry +bin/servertool +bin/tnameserv +bin/unpack200 +EOF + # note there is little point in linking these common files + # COPYRIGHT + # LICENSE + # THIRDPARTYLICENSEREADME.txt + # And this file is unique to the JDK + # README.html + # And these files are unique to the JDK/jre/ + # CHANGES + # README + # Welcome.html + for p in `cat $jdkcomm`; do + rm $jdkdir/$p + # this is a relative link + ln -s ../jre/$p $jdkdir/$p + done + rm $jdkcomm +} + +if [ $# -eq 3 ] ; then + getargs $1 $2 $3 + checkfiles + copytree + createjre + unpackjars + preparecds + jreman + elimdups +else + usage + exit 1 +fi + +exit 0 + diff --git a/app-emulation/emul-linux-x86-java/files/digest-emul-linux-x86-java-1.5.0.08 b/app-emulation/emul-linux-x86-java/files/digest-emul-linux-x86-java-1.5.0.08 new file mode 100644 index 000000000000..d00d890f6ddf --- /dev/null +++ b/app-emulation/emul-linux-x86-java/files/digest-emul-linux-x86-java-1.5.0.08 @@ -0,0 +1,3 @@ +MD5 3e2935cca24ceb54dd2181892a3d5456 jdk-1_5_0_08-dlj-linux-i586.bin 49498712 +RMD160 11c01f6391cec0476a3d96306a7bee7ec82d8425 jdk-1_5_0_08-dlj-linux-i586.bin 49498712 +SHA256 e96ebeefb5116182c01f6e3fb306d24f1b81ba6849b76b0d4705051b01647ce8 jdk-1_5_0_08-dlj-linux-i586.bin 49498712 diff --git a/app-emulation/emul-linux-x86-java/files/emul-linux-x86-java-1.5.env b/app-emulation/emul-linux-x86-java/files/emul-linux-x86-java-1.5.env new file mode 100644 index 000000000000..dcc523924e48 --- /dev/null +++ b/app-emulation/emul-linux-x86-java/files/emul-linux-x86-java-1.5.env @@ -0,0 +1,16 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/emul-linux-x86-java/files/emul-linux-x86-java-1.5.env,v 1.1 2006/09/15 03:32:52 nichoj Exp $ + +VERSION="Sun 32bit JRE @PV@" +JAVA_HOME=/opt/@P@ +JRE_HOME=/opt/@P@ +PATH="${JAVA_HOME}/bin:${JAVA_HOME}/javaws" +ROOTPATH="${JAVA_HOME}/bin:${JAVA_HOME}/javaws" +LDPATH="${JAVA_HOME}/lib/i386/:${JAVA_HOME}/lib/i386/native_threads/:${JAVA_HOME}/lib/i386/xawt/:${JAVA_HOME}/lib/i386/server/" +MANPATH="/opt/@P@/man" +PROVIDES_TYPE="JRE" +PROVIDES_VERSION="1.5" +BOOTCLASSPATH="${JAVA_HOME}/lib/rt.jar:${JAVA_HOME}/lib/i18n.jar:${JAVA_HOME}/lib/sunrsasign.jar:${JAVA_HOME}/lib/jsse.jar:${JAVA_HOME}/lib/jce.jar:${JAVA_HOME}/lib/charsets.jar" +GENERATION="2" +ENV_VARS="JAVA_HOME JRE_HOME PATH ROOTPATH LDPATH MANPATH" |