Merge pull request #18975 from mayflower/fix/remove-jdk6

jdkdistro: remove oraclejdk6, not maintained anymore
This commit is contained in:
Eelco Dolstra 2016-09-27 11:54:49 +02:00 committed by GitHub
commit 483aa6b903
3 changed files with 1 additions and 363 deletions

View File

@ -1,273 +0,0 @@
#!/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/*/db/demo`
if [ ! -d $javahome ]; then
echo "${program}: unbundle directory incorrect: $undir"
echo " expecting $undir/jdk1.5.0_xx"
exit 2
else
javahome=$(dirname $(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/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/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/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

View File

@ -1,84 +0,0 @@
{ swingSupport ? true
, stdenv
, requireFile
, unzip
, makeWrapper
, xorg ? null
, installjdk ? true
, pluginSupport ? true
, installjce ? false
}:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
assert swingSupport -> xorg != null;
let
/**
* The JRE libraries are in directories that depend on the CPU.
*/
architecture =
if stdenv.system == "i686-linux" then
"i386"
else if stdenv.system == "x86_64-linux" then
"amd64"
else
abort "jdk requires i686-linux or x86_64 linux";
jce =
if installjce then
requireFile {
name = "jce_policy-6.zip";
url = http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html;
sha256 = "0qljzfxbikm8br5k7rkamibp1vkyjrf6blbxpx6hn4k46f62bhnh";
}
else
null;
in
stdenv.mkDerivation {
name =
if installjdk then "jdk-1.6.0_45b06" else "jre-1.6.0_45b06";
src =
if stdenv.system == "i686-linux" then
requireFile {
name = "jdk-6u45-linux-i586.bin";
url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
sha256 = "0mx3d2qlal5zyz1a7ld1yk2rs8pf9sjxs2jzasais3nq30jmlfym";
}
else if stdenv.system == "x86_64-linux" then
requireFile {
name = "jdk-6u45-linux-x64.bin";
url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
sha256 = "1s0j1pdr6y8c816d9i86rx4zp12nbhmas1rxksp0r53cn7m3ljbb";
}
else
abort "jdk requires i686-linux or x86_64 linux";
builder = ./dlj-bundle-builder.sh;
/**
* If jdk5 is added, make sure to use the original construct script.
* This copy removes references to kinit, klist, ktab, which seem to be
* gone in jdk6.
*/
construct = ./jdk6-construct.sh;
inherit installjdk;
buildInputs = [unzip makeWrapper];
/**
* libXt is only needed on amd64
*/
libraries =
[stdenv.cc.libc] ++
(if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt] else []);
inherit swingSupport pluginSupport architecture jce;
inherit (xorg) libX11;
mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
meta.license = stdenv.lib.licenses.unfree;
}

View File

@ -4875,8 +4875,6 @@ in
jrePlugin = jre8Plugin;
jre6Plugin = lowPrio (pkgs.jdkdistro false true);
jre7Plugin = lowPrio (pkgs.oraclejdk7distro false true);
jre8Plugin = lowPrio (pkgs.oraclejdk8distro false true);
@ -4885,10 +4883,7 @@ in
system == "i686-linux" ||
system == "x86_64-linux";
jdkdistro = installjdk: pluginSupport:
assert supportsJDK;
(if pluginSupport then appendToName "with-plugin" else x: x)
(callPackage ../development/compilers/oraclejdk/jdk6-linux.nix { });
jdkdistro = oraclejdk8distro;
oraclejdk7distro = installjdk: pluginSupport:
assert supportsJDK;