summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/community/jre
diff options
context:
space:
mode:
authorCecil Hugh Watson <knoppmyth@gmail.com>2009-03-12 02:14:01 (GMT)
committerCecil Hugh Watson <knoppmyth@gmail.com>2009-03-12 02:14:01 (GMT)
commite6667fd4e113d9846e29685ea6b5b000836db057 (patch)
tree935d0f3112562c4042f3cf3dad536a96705a9f89 /abs/extra-testing/community/jre
parent6646ad16eda9982bf9844e614a9ab8721d5c8a43 (diff)
downloadlinhes_pkgbuild-e6667fd4e113d9846e29685ea6b5b000836db057.zip
linhes_pkgbuild-e6667fd4e113d9846e29685ea6b5b000836db057.tar.gz
linhes_pkgbuild-e6667fd4e113d9846e29685ea6b5b000836db057.tar.bz2
Updated Java.
Diffstat (limited to 'abs/extra-testing/community/jre')
-rw-r--r--abs/extra-testing/community/jre/PKGBUILD65
-rw-r--r--abs/extra-testing/community/jre/construct.sh282
2 files changed, 314 insertions, 33 deletions
diff --git a/abs/extra-testing/community/jre/PKGBUILD b/abs/extra-testing/community/jre/PKGBUILD
index b7ee08b..ca22f01 100644
--- a/abs/extra-testing/community/jre/PKGBUILD
+++ b/abs/extra-testing/community/jre/PKGBUILD
@@ -1,56 +1,55 @@
-# $Id: PKGBUILD,v 1.3 2008/12/03 02:33:37 gcarrier Exp $
-# Maintainer: Jason Chu <jason@archlinux.org>
-
+# Based on official Arch package by Jason Chu <jason@archlinux.org>
pkgname=jre
-pkgver=6u11
+pkgver=6u12
pkgrel=1
pkgdesc="Sun's java runtime environment"
arch=(i686 x86_64)
- [ "$CARCH" = "i686" ] && _arch=i586
- [ "$CARCH" = "x86_64" ] && _arch=amd64
+[ "$CARCH" = "i686" ] && _arch=i586
+[ "$CARCH" = "x86_64" ] && _arch=amd64
url="http://java.sun.com"
depends=('glibc' 'libstdc++5')
install="jre.install"
source=(http://download.java.net/dlj/binaries/jdk-$pkgver-dlj-linux-$_arch.bin
- https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh
- jre.profile)
-[ "$CARCH" = "i686" ] && md5sums=('e5eef98bc477675c66e053fc3635e645'
- '94065b612df0046d9ae758943f9f6a75'
- '50b4f5ac4129097461d246645d73a622')
-[ "$CARCH" = "x86_64" ] && md5sums=('0f687b6dbfe54e117bb0d9e090fda20b'
- '94065b612df0046d9ae758943f9f6a75'
- '50b4f5ac4129097461d246645d73a622')
+https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh
+jre.profile)
+[ "$CARCH" = "i686" ] && md5sums=('560a51cfeecc4918d01ca29abc858d52'
+'94065b612df0046d9ae758943f9f6a75'
+'50b4f5ac4129097461d246645d73a622')
+[ "$CARCH" = "x86_64" ] && md5sums=('9dce878be77b4a93337fa85b40b29069'
+'94065b612df0046d9ae758943f9f6a75'
+'50b4f5ac4129097461d246645d73a622')
replaces=('j2re')
conflicts=('j2re' 'java-runtime')
provides=('j2re' 'java-runtime')
license=('custom')
build() {
- cd $startdir/src
+ cd $startdir/src
- mkdir unbundle-jdk
- cd unbundle-jdk
+ mkdir unbundle-jdk
+ cd unbundle-jdk
- sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license
+ sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license
- cd ..
+ cd ..
- sh construct.sh unbundle-jdk linux-jdk linux-jre
+ sh construct.sh unbundle-jdk linux-jdk linux-jre
- mkdir -p $startdir/pkg/opt/java
- mv linux-jdk/jre $startdir/pkg/opt/java
+ mkdir -p $startdir/pkg/opt/java
+ mv linux-jdk/jre $startdir/pkg/opt/java
- install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh
+ install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh
- # no plugin for x86_64
- if [ "$CARCH" = "i686" ]; then
- mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
- ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so $startdir/pkg/usr/lib/mozilla/plugins
- else echo "no plugin for x86_64"
- fi
+ if [ "$CARCH" = "i686" ]; then
+ mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
+ ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so $startdir/pkg/usr/lib/mozilla/plugins
+ elif [ "$CARCH" = "x86_64" ]; then
+ mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
+ ln -s /opt/java/jre/lib/amd64/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins
+ fi
- mkdir -p $startdir/pkg/usr/share/licenses/jre
- cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre
- cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre
- cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre
+ mkdir -p $startdir/pkg/usr/share/licenses/jre
+ cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre
+ cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre
+ cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre
}
diff --git a/abs/extra-testing/community/jre/construct.sh b/abs/extra-testing/community/jre/construct.sh
new file mode 100644
index 0000000..5f6ff7f
--- /dev/null
+++ b/abs/extra-testing/community/jre/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
+