support for jdk-7u6 component;
authorwenzelm
Thu, 16 Aug 2012 14:05:50 +0200
changeset 498403a9721d4ccae
parent 49839 45d0e40b07af
child 49841 b19ba23e70c5
support for jdk-7u6 component;
Admin/java/README
Admin/java/build
Admin/java/build_linux
Admin/java/settings
     1.1 --- a/Admin/java/README	Wed Aug 15 23:06:17 2012 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,4 +0,0 @@
     1.4 -This is JDK 1.6.0_31 for Linux and Windows from
     1.5 -http://www.oracle.com/technetwork/java/javase/downloads/index.html
     1.6 -
     1.7 -On Mac OS X the version provided by Apple is used instead.
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/Admin/java/build	Thu Aug 16 14:05:50 2012 +0200
     2.3 @@ -0,0 +1,117 @@
     2.4 +#!/usr/bin/env bash
     2.5 +
     2.6 +## diagnostics
     2.7 +
     2.8 +function fail()
     2.9 +{
    2.10 +  echo "$1" >&2
    2.11 +  exit 2
    2.12 +}
    2.13 +
    2.14 +
    2.15 +## parameters
    2.16 +
    2.17 +ARCHIVE_LINUX32="jdk-7u6-linux-i586.tar.gz"
    2.18 +ARCHIVE_LINUX64="jdk-7u6-linux-x64.tar.gz"
    2.19 +ARCHIVE_DARWIN="jdk1.7.0_06.jdk.tar.gz"
    2.20 +ARCHIVE_WINDOWS="jdk1.7.0_06.tar.gz"
    2.21 +
    2.22 +VERSION="7u6"
    2.23 +
    2.24 +
    2.25 +## variations on version
    2.26 +
    2.27 +case "$VERSION" in
    2.28 +  *u?)
    2.29 +    MAJOR="$(echo "$VERSION" | cut -du -f1)"
    2.30 +    MINOR="0$(echo "$VERSION" | cut -du -f2)"
    2.31 +    ;;
    2.32 +  *u??)
    2.33 +    MAJOR="$(echo "$VERSION" | cut -du -f1)"
    2.34 +    MINOR="$(echo "$VERSION" | cut -du -f2)"
    2.35 +    ;;
    2.36 +  *)
    2.37 +    fail "Bad version identifier: \"$VERSION\""
    2.38 +    ;;
    2.39 +esac
    2.40 +
    2.41 +FULL_VERSION="1.${MAJOR}.0_${MINOR}"
    2.42 +
    2.43 +
    2.44 +## main
    2.45 +
    2.46 +DIR="jdk-${VERSION}"
    2.47 +mkdir "$DIR" || fail "Cannot create fresh directory: \"$DIR\""
    2.48 +
    2.49 +
    2.50 +# README
    2.51 +
    2.52 +cat >> "$DIR/README" << EOF
    2.53 +This is JDK $FULL_VERSION for Linux, Mac OS X, Windows.
    2.54 +
    2.55 +See http://www.oracle.com/technetwork/java/javase/downloads/index.html
    2.56 +for the original downloads, which are covered by the Oracle Binary
    2.57 +Code License Agreement for Java SE.
    2.58 +
    2.59 +Note that Java 1.7 requires 64bit hardware on Mac OS X.
    2.60 +EOF
    2.61 +
    2.62 +
    2.63 +# settings
    2.64 +
    2.65 +mkdir "$DIR/etc"
    2.66 +cat >> "$DIR/etc/settings" << EOF
    2.67 +# -*- shell-script -*- :mode=shellscript:
    2.68 +
    2.69 +case "\${ISABELLE_PLATFORM64:-\$ISABELLE_PLATFORM32}" in
    2.70 +  x86-darwin)
    2.71 +    echo "### Java 1.7 unavailable on 32bit Macintosh!" >&2
    2.72 +    ;;
    2.73 +  x86_64-darwin)
    2.74 +    ISABELLE_JDK_HOME="\$COMPONENT/\$ISABELLE_PLATFORM64/jdk${FULL_VERSION}.jdk/Contents/Home"
    2.75 +    ;;
    2.76 +  *)
    2.77 +    ISABELLE_JDK_HOME="\$COMPONENT/\${ISABELLE_PLATFORM64:-\$ISABELLE_PLATFORM32}/jdk${FULL_VERSION}"
    2.78 +    ;;
    2.79 +esac
    2.80 +
    2.81 +if [ -n "\$ISABELLE_JDK_HOME" ]; then
    2.82 +  ISABELLE_JAVA_EXT="\${ISABELLE_JDK_HOME}/jre/lib/ext"
    2.83 +fi
    2.84 +EOF
    2.85 +
    2.86 +
    2.87 +# content
    2.88 +
    2.89 +mkdir "$DIR/x86-linux" "$DIR/x86_64-linux" "$DIR/x86_64-darwin" "$DIR/x86-cygwin"
    2.90 +
    2.91 +tar -C "$DIR/x86-linux" -xf "$ARCHIVE_LINUX32"
    2.92 +tar -C "$DIR/x86_64-linux" -xf "$ARCHIVE_LINUX64"
    2.93 +tar -C "$DIR/x86_64-darwin" -xf "$ARCHIVE_DARWIN"
    2.94 +tar -C "$DIR/x86-cygwin" -xf "$ARCHIVE_WINDOWS"
    2.95 +
    2.96 +chgrp -R isabelle "$DIR"
    2.97 +chmod -R a+r "$DIR"
    2.98 +chmod -R a+X "$DIR"
    2.99 +
   2.100 +(
   2.101 +  cd "$DIR/x86-linux/jdk${FULL_VERSION}"
   2.102 +  for FILE in $(find . -type f)
   2.103 +  do
   2.104 +    for OTHER in \
   2.105 +      "../../x86_64-linux/jdk${FULL_VERSION}/$FILE" \
   2.106 +      "../../x86_64-darwin/jdk${FULL_VERSION}.jdk/Contents/Home/$FILE" \
   2.107 +      "../../x86-cygwin/jdk${FULL_VERSION}/$FILE"
   2.108 +    do
   2.109 +      if cmp -s "$FILE" "$OTHER"
   2.110 +      then
   2.111 +        ln -f "$FILE" "$OTHER"
   2.112 +      fi
   2.113 +    done
   2.114 +  done
   2.115 +)
   2.116 +
   2.117 +
   2.118 +# create archive
   2.119 +
   2.120 +tar -cz -f "${DIR}.tar.gz" "$DIR"
     3.1 --- a/Admin/java/build_linux	Wed Aug 15 23:06:17 2012 +0200
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,106 +0,0 @@
     3.4 -#!/usr/bin/env bash
     3.5 -
     3.6 -
     3.7 -## diagnostics
     3.8 -
     3.9 -PRG="$(basename "$0")"
    3.10 -THIS="$(cd $(dirname "$0"); pwd)"
    3.11 -
    3.12 -function usage()
    3.13 -{
    3.14 -  cat <<EOF
    3.15 -
    3.16 -Usage: $PRG [VERSION]
    3.17 -
    3.18 -  Build hybrid Isabelle component for JDK on x86-linux/x86_64-linux.
    3.19 -
    3.20 -  VERSION is 7u4 for 1.7.0_04 etc.
    3.21 -EOF
    3.22 -  exit 1
    3.23 -}
    3.24 -
    3.25 -function fail()
    3.26 -{
    3.27 -  echo "$1" >&2
    3.28 -  exit 2
    3.29 -}
    3.30 -
    3.31 -
    3.32 -## process command line
    3.33 -
    3.34 -# args
    3.35 -
    3.36 -VERSION=""
    3.37 -[ "$#" -gt 0 ] && { VERSION="$1"; shift; }
    3.38 -
    3.39 -[ "$#" -gt 0 ] && usage
    3.40 -
    3.41 -case "$VERSION" in
    3.42 -  *u?)
    3.43 -    MAJOR="$(echo "$VERSION" | cut -du -f1)"
    3.44 -    MINOR="0$(echo "$VERSION" | cut -du -f2)"
    3.45 -    ;;
    3.46 -  *u??)
    3.47 -    MAJOR="$(echo "$VERSION" | cut -du -f1)"
    3.48 -    MINOR="$(echo "$VERSION" | cut -du -f2)"
    3.49 -    ;;
    3.50 -  *)
    3.51 -    fail "Bad version identifier: \"$VERSION\""
    3.52 -    ;;
    3.53 -esac
    3.54 -
    3.55 -FULL_VERSION="1.${MAJOR}.0_${MINOR}"
    3.56 -
    3.57 -
    3.58 -## main
    3.59 -
    3.60 -DIR="jdk${FULL_VERSION}_x86-linux"
    3.61 -mkdir "$DIR" || fail "Cannot create fresh directory: \"$DIR\""
    3.62 -
    3.63 -
    3.64 -# README
    3.65 -
    3.66 -cat >> "$DIR/README" << EOF
    3.67 -This is JDK $FULL_VERSION for x86-linux and x86_64-linux
    3.68 -
    3.69 -See http://www.oracle.com/technetwork/java/javase/downloads/index.html
    3.70 -for the original downloads, which are covered by the Oracle Binary
    3.71 -Code License Agreement for Java SE.
    3.72 -EOF
    3.73 -
    3.74 -
    3.75 -# settings
    3.76 -
    3.77 -mkdir "$DIR/etc"
    3.78 -cat >> "$DIR/etc/settings" << EOF
    3.79 -# -*- shell-script -*- :mode=shellscript:
    3.80 -
    3.81 -ISABELLE_JDK_HOME="\$COMPONENT/\${ISABELLE_PLATFORM64:-\$ISABELLE_PLATFORM}"
    3.82 -EOF
    3.83 -
    3.84 -
    3.85 -# content
    3.86 -
    3.87 -tar -C "$DIR" -x -f "jdk-$VERSION-linux-i586.tar.gz" || \
    3.88 -  fail "Bad archive: \"jdk-$VERSION-linux-i586.tar.gz\""
    3.89 -mv "$DIR/jdk$FULL_VERSION" "$DIR/x86-linux"
    3.90 -
    3.91 -tar -C "$DIR" -x -f "jdk-$VERSION-linux-x64.tar.gz" || \
    3.92 -  fail "Bad archive: \"jdk-$VERSION-linux-x64.tar.gz\""
    3.93 -mv "$DIR/jdk$FULL_VERSION" "$DIR/x86_64-linux"
    3.94 -
    3.95 -(
    3.96 -  cd "$DIR/x86-linux"
    3.97 -  for FILE in $(find . -type f)
    3.98 -  do
    3.99 -    if cmp -s "$FILE" "../x86_64-linux/$FILE"
   3.100 -    then
   3.101 -      ln -f "$FILE" "../x86_64-linux/$FILE"
   3.102 -    fi
   3.103 -  done
   3.104 -)
   3.105 -
   3.106 -
   3.107 -# create archive
   3.108 -
   3.109 -tar -cz -f "${DIR}.tar.gz" "$DIR" && rm -rf "$DIR"
     4.1 --- a/Admin/java/settings	Wed Aug 15 23:06:17 2012 +0200
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,10 +0,0 @@
     4.4 -# -*- shell-script -*- :mode=shellscript:
     4.5 -
     4.6 -case "$ISABELLE_PLATFORM" in
     4.7 -  *-darwin)
     4.8 -    ISABELLE_JDK_HOME="$(/usr/libexec/java_home -v 1.6)"
     4.9 -    ;;
    4.10 -  *)
    4.11 -    ISABELLE_JDK_HOME="$COMPONENT/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM}/jdk1.6.0_31"
    4.12 -    ;;
    4.13 -esac