Merge pull request #18975 from mayflower/fix/remove-jdk6
jdkdistro: remove oraclejdk6, not maintained anymore
This commit is contained in:
commit
483aa6b903
@ -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
|
||||
|
@ -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;
|
||||
}
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user