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