--- openjdk-9-9~b94.orig/debian/JAVA_HOME +++ openjdk-9-9~b94/debian/JAVA_HOME @@ -0,0 +1,13 @@ + JAVA_HOME + +1. Legacy use of JAVA_HOME + + As of the latest versions of java-common there really should + be no need for JAVA_HOME as Java(TM) should be completely + integrated with your Debian GNU/Linux system. + + +2. Selecting OpenJDK 7 as the default Java(TM) implementation + + Please see README.alternatives for instructions on how + to make OpenJDK 7 executables and man pages the default on your system. --- openjdk-9-9~b94.orig/debian/JB-archive.applications.in +++ openjdk-9-9~b94/debian/JB-archive.applications.in @@ -0,0 +1,6 @@ +java-archive + command=/usr/bin/java -jar + name=java-archive + can_open_multiple_files=false + requires_terminal=false + mime_types=application/java-archive,application/x-java-archive,application/x-jar --- openjdk-9-9~b94.orig/debian/JB-archive.keys.in +++ openjdk-9-9~b94/debian/JB-archive.keys.in @@ -0,0 +1,18 @@ +application/java-archive + description=Java Archive + icon_filename=@basename@ + default_action_type=application + default_application_id=java-archive + short_list_application_user_additions=java-archive +application/x-java-archive + description=Java Archive + icon_filename=@basename@ + default_action_type=application + default_application_id=java-archive + short_list_application_user_additions=java-archive +application/x-jar + description=Java Archive + icon_filename=@basename@ + default_action_type=application + default_application_id=java-archive + short_list_application_user_additions=java-archive --- openjdk-9-9~b94.orig/debian/JB-archive.mime.in +++ openjdk-9-9~b94/debian/JB-archive.mime.in @@ -0,0 +1,6 @@ +application/java-archive + ext: jar +application/x-java-archive + ext: jar +application/x-jar + ext: jar --- openjdk-9-9~b94.orig/debian/JB-dbg.overrides.in +++ openjdk-9-9~b94/debian/JB-dbg.overrides.in @@ -0,0 +1,3 @@ +# this are pre-stripped binaries (fastdebug) +@basename@-dbg binary: library-in-debug-or-profile-should-not-be-stripped +@basename@-dbg binary: debug-file-with-no-debug-symbols --- openjdk-9-9~b94.orig/debian/JB-demo.menu.in +++ openjdk-9-9~b94/debian/JB-demo.menu.in @@ -0,0 +1,55 @@ +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ FileChooser Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/FileChooserDemo; /@basedir@/bin/java -jar FileChooserDemo.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" + +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ Font2DTest Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/Font2DTest; /@basedir@/bin/java -jar Font2DTest.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" + +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ Java 2D Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/Java2D; /@basedir@/bin/java -jar Java2Demo.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" + +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ SampleTree Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/SampleTree; /@basedir@/bin/java -jar SampleTree.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" + +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ Stylepad Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/Stylepad; /@basedir@/bin/java -jar Stylepad.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" + +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ SwingSet2 Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/SwingSet2; /@basedir@/bin/java -jar SwingSet2.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" + +?package(@basename@-demo):\ + needs="x11"\ + section="Applications/Programming"\ + title="@vendor@ Java @RELEASE@ TableExample Demo"\ + command="/bin/sh -c 'cd /@basedir@/demo/jfc/TableExample; /@basedir@/bin/java -jar TableExample.jar'"\ + icon="/usr/share/pixmaps/@basename@-app.xpm"\ + hints="Java2" --- openjdk-9-9~b94.orig/debian/JB-demo.overrides.in +++ openjdk-9-9~b94/debian/JB-demo.overrides.in @@ -0,0 +1,8 @@ +# jpda/examples.jar only contains source code +@basename@-demo binary: codeless-jar usr/share/doc/openjdk-7-jre-headless/demo/jpda/examples.jar + +# OpenJDK is correct despite any Debian policy +@basename@-demo binary: unknown-java-class-version + +# example jar file with sources and documentation +@basename@-demo binary: codeless-jar --- openjdk-9-9~b94.orig/debian/JB-doc.doc-base.in +++ openjdk-9-9~b94/debian/JB-doc.doc-base.in @@ -0,0 +1,11 @@ +Document: @JDK@-doc +Title: @vendor@ Java(TM) @RELEASE@ JDK, Standard Edition Documentation +Author: @vendor@ +Abstract: The Java @RELEASE@ Platform Documentation contains API specifications, + feature descriptions, developer guides, reference pages for JDK tools + and utilities, demos, and links to related information. +Section: Programming + +Format: HTML +Index: /usr/share/doc/@basename@-jre-headless/api/index.html +Files: /usr/share/doc/@basename@-jre-headless/api/*/*.html --- openjdk-9-9~b94.orig/debian/JB-fonts.defoma-hints.in +++ openjdk-9-9~b94/debian/JB-fonts.defoma-hints.in @@ -0,0 +1,187 @@ +category truetype + +# Sans + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansRegular.ttf + Family = LucidaSans + FontName = LucidaSans + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = SansSerif + Weight = Book + Width = Variable + Shape = NoSerif Upright + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansDemiBold.ttf + Family = LucidaSans + FontName = LucidaSans-Demibold + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = SansSerif + Weight = Bold + Width = Variable + Shape = NoSerif Upright + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansOblique.ttf + Family = LucidaSans + FontName = LucidaSans-Oblique + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = SansSerif + Weight = Thin + Width = Variable + Shape = NoSerif Oblique + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaSansDemiOblique.ttf + Family = LucidaSans + FontName = LucidaSans-Demibold-Oblique + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = SansSerif + Weight = Bold + Width = Variable + Shape = NoSerif Oblique + Foundry = Lucida + Priority = 15 +end + +# Serif + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightRegular.ttf + Family = LucidaBright + FontName = LucidaBright-Regular + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Roman + Weight = Book + Width = Variable + Shape = NoSerif Upright + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightItalic.ttf + Family = LucidaBright + FontName = LucidaBright-Italic + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Roman + Weight = Book + Width = Variable + Shape = NoSerif Oblique + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightDemiBold.ttf + Family = Lucida-Bright + FontName = Lucida-Bright-Demi + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Roman + Weight = Bold + Width = Variable + Shape = NoSerif Upright + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaBrightDemiItalic.ttf + Family = Lucida-Bright + FontName = Lucida-Bright-DemiItalic + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Roman + Weight = Demi + Width = Variable + Shape = NoSerif Oblique + Foundry = Lucida + Priority = 15 +end + +# Mono + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterRegular.ttf + Family = LucidaSans-Typewriter + FontName = LucidaSans-Typewriter + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Typewriter + Weight = Book + Width = Fixed + Shape = NoSerif Upright + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterOblique.ttf + Family = LucidaSans-Typewriter + FontName = LucidaSans-Typewriter-Oblique + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Typewriter + Weight = Book + Width = Fixed + Shape = NoSerif Oblique + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterBold.ttf + Family = LucidaSans-Typewriter + FontName = LucidaSans-Typewriter-Bold + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Typewriter + Weight = Bold + Width = Fixed + Shape = NoSerif Upright + Foundry = Lucida + Priority = 15 +end + +begin /usr/share/fonts/truetype/ttf-lucida/LucidaTypewriterBoldOblique.ttf + Family = LucidaSans-Typewriter + FontName = LucidaSans-Typewriter-Bold-Oblique + Encoding = Unicode + Location = English + Charset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 ISO10646-1 + UniCharset = ISO8859-1 ISO8859-2 ISO8859-7 ISO8859-9 ISO8859-15 + GeneralFamily = Typewriter + Weight = Bold + Width = Fixed + Shape = NoSerif Oblique + Foundry = Lucida + Priority = 15 +end --- openjdk-9-9~b94.orig/debian/JB-java.desktop.in +++ openjdk-9-9~b94/debian/JB-java.desktop.in @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=@vendor@ Java @RELEASE@ Runtime +Name[fi]=@vendor@ Java @RELEASE@ - ajonaikainen ympäristö +Comment=@vendor@ Java @RELEASE@ Runtime +Comment[fi]=@vendor@ Java @RELEASE@ - ajonaikainen ympäristö +Keywords=java;runtime +Exec=@java_launcher@ -jar +Terminal=false +Type=Application +Icon=@basename@ +MimeType=application/x-java-archive;application/java-archive;application/x-jar; +NoDisplay=true --- openjdk-9-9~b94.orig/debian/JB-jconsole.desktop.in +++ openjdk-9-9~b94/debian/JB-jconsole.desktop.in @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=@vendor@ Java @RELEASE@ Console +Name[fi]=@vendor@ Java @RELEASE@ - konsoli +Comment=@vendor@ Java @RELEASE@ Monitoring & Management Console +Comment[fi]=@vendor@ Java @RELEASE@ - valvonta- ja hallintakonsoli +Keywords=java;console;monitoring +Exec=/usr/bin/jconsole +Terminal=false +Type=Application +Icon=@basename@ +Categories=Application;System; --- openjdk-9-9~b94.orig/debian/JB-jdk.menu.in +++ openjdk-9-9~b94/debian/JB-jdk.menu.in @@ -0,0 +1,7 @@ +?package(@basename@-jdk):\ + needs="x11"\ + section="Applications/System/Administration"\ + title="@vendor@ Java @RELEASE@ Console"\ + command="/usr/bin/jconsole"\ + icon="/usr/share/pixmaps/@basename@.xpm"\ + hints="Java2" --- openjdk-9-9~b94.orig/debian/JB-jdk.postinst.in +++ openjdk-9-9~b94/debian/JB-jdk.postinst.in @@ -0,0 +1,75 @@ +#!/bin/sh + +set -e + +multiarch=@multiarch@ +priority=@priority@ +basedir=/@basedir@ +mandir=$basedir/man +jdiralias=@jdiralias@ +srcext=1.gz +dstext=1.gz +jdk_tools='@jdk_tools@' + +case "$1" in +configure) + # obsolete tool + if update-alternatives --list apt 2>/dev/null; then + update-alternatives --remove-all apt || true + fi + + if [ -z "$2" ]; then + update_alternatives=y + fi + if [ -n "$multiarch" ] && [ -n "$2" ]; then + for i in $jdk_tools; do + if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; then + update_alternatives=y + break + fi + done + fi + if [ "$update_alternatives" != y ] && [ $priority -gt 1060 ]; then + for i in $jre_tools; do + oldp=$(update-alternatives --query java | awk -v b=$basedir '/^Alternative:/ && $2~b {p=1} /^Priority:/ && p {print $2; exit}') + if [ -n "$oldp" ] && [ "$oldp" -le 1060 ]; then + update_alternatives=y + break + fi + done + fi + + if [ "$update_alternatives" = y ]; then + if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg --print-architecture) ]; then + priority=$(expr $priority - 1) + fi + for i in $jdk_tools; do + unset slave1 slave2 || true + if [ -e $mandir/man1/$i.$srcext ]; then + slave1="--slave \ + /usr/share/man/man1/$i.$dstext \ + $i.$dstext \ + $mandir/man1/$i.$srcext" + fi + if false && [ -e $mandir/ja/man1/$i.$srcext ]; then + slave2="--slave \ + /usr/share/man/ja/man1/$i.$dstext \ + ${i}_ja.$dstext \ + $mandir/ja/man1/$i.$srcext" + fi + update-alternatives \ + --install \ + /usr/bin/$i \ + $i \ + $basedir/bin/$i \ + $priority \ + $slave1 $slave2 + done + fi # update alternatives + + ;; +esac + +#DEBHELPER# + +exit 0 --- openjdk-9-9~b94.orig/debian/JB-jdk.prerm.in +++ openjdk-9-9~b94/debian/JB-jdk.prerm.in @@ -0,0 +1,15 @@ +#!/bin/sh -e + +set -e + +jdk_tools='@jdk_tools@' +basedir=/@basedir@ + + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then + for i in $jdk_tools; do + update-alternatives --remove $i $basedir/bin/$i + done +fi + +#DEBHELPER# --- openjdk-9-9~b94.orig/debian/JB-jre-headless.overrides.in +++ openjdk-9-9~b94/debian/JB-jre-headless.overrides.in @@ -0,0 +1,8 @@ +# empty directory by intent +@basename@-jre-headless binary: package-contains-empty-directory usr/share/binfmts/ + +# Strip libjvm.so with --strip-debug instead of --strip-unneeded. LP: #574997. +@basename@-jre-headless binary: unstripped-binary-or-object + +# Ignore the mouse cursors +@basename@-jre-headless binary: image-file-in-usr-lib --- openjdk-9-9~b94.orig/debian/JB-jre-headless.postinst.in +++ openjdk-9-9~b94/debian/JB-jre-headless.postinst.in @@ -0,0 +1,128 @@ +#!/bin/sh + +set -e + +multiarch=@multiarch@ +priority=@priority@ +basedir=/@basedir@ +mandir=$basedir/man +srcext=1.gz +dstext=1.gz +jre_tools='@jre_hl_tools@' + +case "$1" in +configure) + # fail early. java currently uses tricks to find its own shared + # libraries depending on the path of the binary. Will be changed + # in OpenJDK7 + if ! mountpoint -q /proc; then + echo >&2 "the java command requires a mounted proc fs (/proc)." + exit 1 + fi + + [ -d /etc/.java ] || mkdir -m 755 /etc/.java + [ -d /etc/.java/.systemPrefs ] || mkdir -m 755 /etc/.java/.systemPrefs + if [ ! -f /etc/.java/.systemPrefs/.system.lock ]; then + touch /etc/.java/.systemPrefs/.system.lock + chmod 644 /etc/.java/.systemPrefs/.system.lock + fi + if [ ! -f /etc/.java/.systemPrefs/.systemRootModFile ]; then + touch /etc/.java/.systemPrefs/.systemRootModFile + chmod 644 /etc/.java/.systemPrefs/.systemRootModFile + fi + + if [ -z "$2" ]; then + update_alternatives=y + fi + if [ -n "$multiarch" ] && [ -n "$2" ]; then + for i in $jre_tools; do + if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; then + update_alternatives=y + break + fi + done + fi + if [ "$update_alternatives" != y ] && [ $priority -gt 1060 ]; then + for i in $jre_tools; do + oldp=$(update-alternatives --query java | awk -v b=$basedir '/^Alternative:/ && $2~b {p=1} /^Priority:/ && p {print $2; exit}') + if [ -n "$oldp" ] && [ "$oldp" -le 1060 ]; then + update_alternatives=y + break + fi + done + fi + + if [ "$update_alternatives" = y ]; then + if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg --print-architecture) ]; then + priority=$(expr $priority - 1) + fi + for i in $jre_tools; do + unset slave1 slave2 || true + if [ -e $mandir/man1/$i.$srcext ]; then + slave1="--slave \ + /usr/share/man/man1/$i.$dstext \ + $i.$dstext \ + $mandir/man1/$i.$srcext" + fi + # disabled + if false && [ -e $mandir/ja/man1/$i.$srcext ]; then + slave2="--slave \ + /usr/share/man/ja/man1/$i.$dstext \ + ${i}_ja.$dstext \ + $mandir/ja/man1/$i.$srcext" + fi + update-alternatives \ + --install \ + /usr/bin/$i \ + $i \ + $basedir/bin/$i \ + $priority \ + $slave1 $slave2 + done + update-alternatives \ + --install /usr/bin/jexec jexec $basedir/lib/jexec $priority \ + --slave \ + /usr/share/binfmts/jar \ + jexec-binfmt \ + $basedir/lib/jar.binfmt + fi # update alternatives + + # register binfmt; ignore errors, the alternative may already be + # registered by another JRE. + if which update-binfmts >/dev/null && [ -r /usr/share/binfmts/jar ]; then + update-binfmts --package @basename@ --import jar || true + fi + + # activate class data sharing + case @archdir@ in i386|sparc) + rm -f $basedir/lib/@archdir@/client/classes.jsa + log=$(tempfile) + if ! $basedir/bin/java -client -Xshare:dump -XX:PermSize=128m > $log; then + cat >&2 $log + rm -f $log + # this may fail on some machines/configurations, just ignore it. + echo >&2 "ignoring dump failure" + #exit 1 + fi + rm -f $log + esac + case @archdir@ in amd64|i386|sparc) + rm -f $basedir/lib/@archdir@/server/classes.jsa + log=$(tempfile) + if ! $basedir/bin/java -server -Xshare:dump > $log; then + cat >&2 $log + rm -f $log + # this may fail on some machines/configurations, just ignore it. + echo >&2 "ignoring dump failure" + #exit 1 + fi + rm -f $log + esac + + ;; + +esac + +#DEBHELPER# + +exit 0 --- openjdk-9-9~b94.orig/debian/JB-jre-headless.postrm.in +++ openjdk-9-9~b94/debian/JB-jre-headless.postrm.in @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +multiarch=@multiarch@ +jdirname=@jdirname@ +etcdir=/@etcdir@ + +case "$1" in +purge) + if [ -z "$jdirname" ] || [ -z "$etcdir" ]; then + echo >&2 "$(basename $0): Internal error" + exit 1 + fi + # removals of config files in /etc is handled by dpkg + + # XXX should remove /etc/.java ??? + ;; +esac + +#DEBHELPER# --- openjdk-9-9~b94.orig/debian/JB-jre-headless.prerm.in +++ openjdk-9-9~b94/debian/JB-jre-headless.prerm.in @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +basedir=/@basedir@ +jre_tools='@jre_hl_tools@' + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then + for i in $jre_tools; do + update-alternatives --remove $i $basedir/jre/bin/$i + done + + if which update-binfmts >/dev/null; then + # try to remove and ignore the error + if [ -e /var/lib/binfmts/@basename@ ]; then + update-binfmts --package @basename@ \ + --remove jar /usr/bin/jexec || true + fi + fi + + update-alternatives --remove jexec $basedir/lib/jexec +fi + +#DEBHELPER# --- openjdk-9-9~b94.orig/debian/JB-jre-zero.overrides.in +++ openjdk-9-9~b94/debian/JB-jre-zero.overrides.in @@ -0,0 +1,2 @@ +# Strip libjvm.so with --strip-debug instead of --strip-unneeded. LP: #574997. +@basename@-jre-zero binary: unstripped-binary-or-object --- openjdk-9-9~b94.orig/debian/JB-jre.menu.in +++ openjdk-9-9~b94/debian/JB-jre.menu.in @@ -0,0 +1,7 @@ +?package(@basename@-jre):\ + needs="x11"\ + section="Applications/System/Administration"\ + title="@vendor@ Java @RELEASE@ Policy Tool"\ + command="/usr/bin/policytool"\ + icon="/usr/share/pixmaps/@basename@.xpm"\ + hints="Java2" --- openjdk-9-9~b94.orig/debian/JB-jre.overrides.in +++ openjdk-9-9~b94/debian/JB-jre.overrides.in @@ -0,0 +1,2 @@ +# these are in the -jre-headless package, -jre depends on it +@basename@-jre binary: desktop-command-not-in-package --- openjdk-9-9~b94.orig/debian/JB-jre.postinst.in +++ openjdk-9-9~b94/debian/JB-jre.postinst.in @@ -0,0 +1,71 @@ +#!/bin/sh + +set -e + +multiarch=@multiarch@ +priority=@priority@ +basedir=/@basedir@ +mandir=$basedir/man +srcext=1.gz +dstext=1.gz +jre_tools='@jre_tools@' + +case "$1" in +configure) + if [ -z "$2" ]; then + update_alternatives=y + fi + if [ -n "$multiarch" ] && [ -n "$2" ]; then + for i in $jre_tools; do + if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; then + update_alternatives=y + break + fi + done + fi + if [ "$update_alternatives" != y ] && [ $priority -gt 1060 ]; then + for i in $jre_tools; do + oldp=$(update-alternatives --query java | awk -v b=$basedir '/^Alternative:/ && $2~b {p=1} /^Priority:/ && p {print $2; exit}') + if [ -n "$oldp" ] && [ "$oldp" -le 1060 ]; then + update_alternatives=y + break + fi + done + fi + + if [ "$update_alternatives" = y ]; then + if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg --print-architecture) ]; then + priority=$(expr $priority - 1) + fi + for i in $jre_tools; do + unset slave1 slave2 || true + if [ -e $mandir/man1/$i.$srcext ]; then + slave1="--slave \ + /usr/share/man/man1/$i.$dstext \ + $i.$dstext \ + $mandir/man1/$i.$srcext" + fi + # disabled + if false && [ -e $mandir/ja/man1/$i.$srcext ]; then + slave2="--slave \ + /usr/share/man/ja/man1/$i.$dstext \ + ${i}_ja.$dstext \ + $mandir/ja/man1/$i.$srcext" + fi + update-alternatives \ + --install \ + /usr/bin/$i \ + $i \ + $basedir/bin/$i \ + $priority \ + $slave1 $slave2 + done + fi # update alternatives + + ;; + +esac + +#DEBHELPER# + +exit 0 --- openjdk-9-9~b94.orig/debian/JB-jre.prerm.in +++ openjdk-9-9~b94/debian/JB-jre.prerm.in @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +basedir=/@basedir@ +jre_tools='@jre_tools@' + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then + for i in $jre_tools; do + update-alternatives --remove $i $basedir/bin/$i + done +fi + +#DEBHELPER# --- openjdk-9-9~b94.orig/debian/JB-policytool.desktop.in +++ openjdk-9-9~b94/debian/JB-policytool.desktop.in @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=@vendor@ Java @RELEASE@ Policy Tool +Name[fi]=@vendor@ Java @RELEASE@ - käytäntötyökalu +Comment=@vendor@ Java @RELEASE@ Policy Tool +Comment[fi]=@vendor@ Java @RELEASE@ - käytäntötyökalu +Keywords=java;security;policytool +Exec=/usr/bin/policytool +Terminal=false +Type=Application +Icon=@basename@ +Categories=Settings; --- openjdk-9-9~b94.orig/debian/README.Debian +++ openjdk-9-9~b94/debian/README.Debian @@ -0,0 +1,78 @@ +openjdk-7 for Debian/Ubuntu +--------------------------- + +The OpenJDK build is configured --with-additional-vms to build with +different virtual machines. The original implementation of the hotspot +VM is only available on the amd64, i386, lpia and sparc architectures. +Other VM's are CACAO, providing a just in time compiler on several +architectures (although the VM implementation is incomplete), and Zero, +providing a byte code interpreter for every architecture. On some +architectures Zero is built with JIT support using shark (still considered +experimental). + +To use a different VM other than the default, use + + java -cacao|-zero|-shark + +or for the java tools, use + + -J-cacao|-J-zero|-J-shark. + +The zero build on the ix86 architectures is built with shark (just in time +compiler); to use the zero build without shark support, use the `-Xint' +option to operate in interpreted-only mode. + +On some architectures (currently armel and powerpc, when built against +llvm-2.6) which use ther zero vm as the default, the openjdk-7-jre-zero +package contains the shark vm. + +To change the default permanently, edit /etc/java-7-openjdk/jvm.cfg. + +The CACAO VM can be found in the icedtea-7-jre-cacao package, the Zero/Shark +VM can be found in the openjdk-7-jre-zero package (on the architectures +where the Hotspot VM is available). + +Please look for further documentation in the directory +/usr/share/doc/openjdk-7-jre/ . + +The package openjdk-7-jre-headless ships a cgi script +/usr/lib/jvm/java-7-openjdk/bin/java-rmi.cgi that you must integrate +into your webserver setup manually if you need it. It is not activated +automatically. + + +Note for non-reparenting window manager users +--------------------------------------------- + +If you are using a non-reparenting window manager, such as ratpoison, awesome +or dwm, some Java graphical applications using the AWT toolkit will only +display empty grey windows, as described in but #508650. + +There are two solutions to work around this issue: +1. mask your window manager as one of the non-reparenting ones supported by AWT, + using the wmname tool from the dwm-tools + package: + $ wmname LG3D +2. set the environment variable _JAVA_AWT_WM_NONREPARENTING: + $ export _JAVA_AWT_WM_NONREPARENTING=true + +You can automate these tasks by writing them to your ~/.xsessionrc: +$ cat >> ~/.xsessionrc < Sun, 03 May 2009 13:58:10 +0200 + -- Torsten Werner Wed, 02 Apr 2008 11:46:53 +0200 --- openjdk-9-9~b94.orig/debian/README.alternatives.in +++ openjdk-9-9~b94/debian/README.alternatives.in @@ -0,0 +1,35 @@ +Updating alternatives for JRE/JDK installations +----------------------------------------------- + +Packages providing a runtime or a development environment for the Java +language all use symlinks in the /etc/alternatives directory to enable +the system administrator to choose which programs to use for java, +javac, javah, etc. + +The update-java-alternatives script can be used to set all the JRE/JDK +alternatives: + +First, you have to decide which Java implementation to default to. + + update-java-alternatives --list + +tells about the available runtime and/or development environments. The +first column shows the names to be used in for the following examples. + +- Set all runtime tools to point to the alternatives: + + update-java-alternatives --jre --set + +- Set all runtime tools (headless only) to point to the + alternatives: + + update-java-alternatives --jre-headless --set + +- Set all runtime and development tools to point to the + alternatives: + + update-java-alternatives --set + +- Set all runtime and development tools to auto mode: + + update-java-alternatives --auto --- openjdk-9-9~b94.orig/debian/README.source +++ openjdk-9-9~b94/debian/README.source @@ -0,0 +1,78 @@ +Content of source package +========================= +"openjdk-8" is a composite source package: +- Multiple tarballs from each Oracle mercurial repositories : + corba / hotspot / jaxp / jaxws / jdk-dfsg / langtools / openjdk +- Tarball from CacaoVM . +- Tarball from JamVM . +- Debian packaging scripts and patches. + +Building a new OpenJDK-8 Debian package +=================================================== +Pre-requisites: +- Mercurial +- Bazaar + sudo aptitude install mercurial bzr + +0) Clone OpenJDK debian packaging: + bzr branch lp:~openjdk/openjdk/openjdk7 openjdk7/ + or update existing repository clone: + (cd openjdk7/; bzr pull --remember lp:~openjdk/openjdk/openjdk7) + +1) Clone IcedTea-7 HG: + hg clone http://icedtea.classpath.org/hg/icedtea7 icedtea-2.1.1/ + or update existing repository clone: + (cd icedtea7/; hg pull -u) + +2) Download OpenJDK upstream tarballs and move them to $BUILD/ + export BUILD=7u3 + mkdir -p $BUILD/ + ( + cd icedtea-2.1.1/ + sh autogen.sh && ./configure --enable-jamvm --enable-cacao + make download + ) + + mv icedtea-2.1.1/*.tar.gz $BUILD/ + ( + cd icedtea-2.1.1/ + make distclean + ) + +3) Remove files with unclear license from jdk.tar.gz: + sh openjdk7/generate-dfsg-zip.sh $BUILD/jdk.tar.gz + sh openjdk7/generate-dfsg-zip.sh $BUILD/langtools.tar.gz + +4) Check tarballs' name and version (for original directory name) + in openjdk7/generate-debian-orig.sh and package version in + openjdk7/changelog + +5) Generate "orig" directory and "orig+debian" directory + sh openjdk7/generate-debian-orig.sh + +Support for DEB_BUILD_OPTIONS +============================= +As described in Debian Policy §4.9.1, current package's debian/rules support +the standardized environment variable DEB_BUILD_OPTIONS. This variable can +contain several flags to change how a package is compiled and built. + + * nocheck: don't run mauve and jtreg test suites. + * nodocs: pass --disable-docs to IcedTea configure script, which + disable Javadoc generation. + * nostrip: debugging symbols should not be stripped from the + binary during installation + * parallel=X: package should be built using up to X parallel processes + * nobootstrap: don't use gcj to bootstrap OpenJDK but use existing OpenJDK + installed on current machine. + * noaltcacao: don't build alternative CACao VM. + * noaltzero: don't build alternative Zero VM. + * noaltshark: don't build alternative Shark VM. + * noaltjamvm: don't build alternative Jamvm VM. + +Sample usage: +DEB_BUILD_OPTIONS="parallel=5 nocheck" debuild -i"(\.hg|\.bzr)" + + Build with 5 parallel processes and don't run mauve/jtreg test suites. + +This also work with cowbuilder/pbuilder: +DEB_BUILD_OPTIONS="parallel=5 nocheck" pdebuild -i"(\.hg|\.bzr)" --logfile ../build.log --pbuilder cowbuilder --- openjdk-9-9~b94.orig/debian/accessibility-atk.properties.disabled +++ openjdk-9-9~b94/debian/accessibility-atk.properties.disabled @@ -0,0 +1,10 @@ +# +# The following line specifies the assistive technology classes +# that should be loaded into the Java VM when the AWT is initailized. +# Specify multiple classes by separating them with commas. +# Note: the line below cannot end the file (there must be at +# a minimum a blank line following it). +# +# Doesn't work, see LP: #935296 +#assistive_technologies=org.GNOME.Accessibility.AtkWrapper + --- openjdk-9-9~b94.orig/debian/accessibility-atk.properties.enabled +++ openjdk-9-9~b94/debian/accessibility-atk.properties.enabled @@ -0,0 +1,8 @@ +# +# The following line specifies the assistive technology classes +# that should be loaded into the Java VM when the AWT is initailized. +# Specify multiple classes by separating them with commas. +# Note: the line below cannot end the file (there must be at +# a minimum a blank line following it). +# +assistive_technologies=org.GNOME.Accessibility.AtkWrapper --- openjdk-9-9~b94.orig/debian/accessibility.properties +++ openjdk-9-9~b94/debian/accessibility.properties @@ -0,0 +1,9 @@ +# +# The following line specifies the assistive technology classes +# that should be loaded into the Java VM when the AWT is initialized. +# Specify multiple classes by separating them with commas. +# Note: the line below cannot end the file (there must be at +# a minimum a blank line following it). +# +assistive_technologies=org.GNOME.Accessibility.JavaBridge + --- openjdk-9-9~b94.orig/debian/buildwatch.sh +++ openjdk-9-9~b94/debian/buildwatch.sh @@ -0,0 +1,40 @@ +#! /bin/sh + +builddir=$1 + +echo $$ > buildwatch.pid + +maxwait=$(expr 180 \* 60) +wait=$maxwait +ival=$(expr 30 \* 60) +#ival=3 + +while [ $wait -gt 0 ]; do + sleep $ival + wait=$(expr $wait - $ival) + state= + if ps x | grep -v grep | egrep -qs '/cc1|jar|java|gij'; then + state="compiler/java/jar running ..." + wait=$maxwait + fi + + new_quiet=$(ls -l $builddir/openjdk*/build/*/tmp/rt-orig.jar $builddir/openjdk*/build/*/lib/tools.jar $builddir/openjdk*/build/*/lib/ct.sym 2>&1 | md5sum) + if [ "$old_quiet" != "$new_quiet" ]; then + state="assembling jar file ..." + wait=$maxwait + fi + old_quiet=$new_quiet + + new_noisy=$(ls -l $builddir/mauve-*/mauve_output* jtreg_output-* 2>&1 | md5sum) + if [ "$old_noisy" != "$new_noisy" ]; then + wait=$maxwait + elif [ -n "$state" ]; then + echo $state + fi + old_noisy=$new_noisy + + if [ ! -f buildwatch.pid ]; then + echo "buildwatch exit" + exit 0 + fi +done --- openjdk-9-9~b94.orig/debian/changelog +++ openjdk-9-9~b94/debian/changelog @@ -0,0 +1,3964 @@ +openjdk-9 (9~b94-1) experimental; urgency=medium + + * OpenJDK 9, b94. + * Update configury for sparc64 (Steven Chamberlain). Addresses: #806202. + * Fix stripping packages (use bash instead of expr substring). + + -- Matthias Klose Tue, 01 Dec 2015 11:05:27 +0100 + +openjdk-9 (9~b88-1) experimental; urgency=medium + + * OpenJDK 9, b88. + + -- Matthias Klose Sun, 25 Oct 2015 02:38:14 +0200 + +openjdk-9 (9~b87-2) wily; urgency=medium + + * Prefer openjdk-8-jdk for the build. + + -- Matthias Klose Tue, 20 Oct 2015 14:21:25 +0200 + +openjdk-9 (9~b87-1) experimental; urgency=medium + + * OpenJDK 9, b87. + * Build the client hotspot on i386. + + -- Matthias Klose Mon, 19 Oct 2015 17:58:08 +0200 + +openjdk-9 (9~b80-2) experimental; urgency=medium + + * Fix build for armel, armhf and "unknown" zero architectures. + * Fix build error on AArch64. + + -- Matthias Klose Sat, 05 Sep 2015 20:16:45 +0200 + +openjdk-9 (9~b80-1) experimental; urgency=medium + + * OpenJDK 9, b80. + * Fix installing the openjdk.desktop file when cautious-launch is available. + * Define _alpha_ / _sh_ preprocessor macros instead of alpha / sh. + * Re-enable the atk bridge for releases with a fixed atk bridge. + * Make derivatives builds the same as the parent distro. + * Add m68k support for Zero (Andreas Schwab). + + -- Matthias Klose Fri, 04 Sep 2015 19:27:56 +0200 + +openjdk-9 (9~b74-1) experimental; urgency=medium + + * OpenJDK 9, b74. + * Fix jdk build on x32. + * JDK-8073754, increase stack size limits on powerpc and ppc64. + * Configure --with-boot-jdk-jvmargs="-XX:ThreadStackSize=2240" on + powerpc and ppc64. + + -- Matthias Klose Mon, 27 Jul 2015 20:43:48 +0200 + +openjdk-9 (9~b71-1) experimental; urgency=medium + + * OpenJDK 9, b71. + * openjdk-9-jre: Recommend the real libgconf2-4 and libgnome2-0 packages. + Addresses: #786594. + + -- Matthias Klose Mon, 06 Jul 2015 17:29:39 +0200 + +openjdk-9 (9~b68-4) experimental; urgency=medium + + * Fix 32bit detection for the build jdk; try to build again for mips + and mipsel (James Cowgill). + * openjdk-jre-headless: Add dependency on the package containing the + mountpoint binary. + + -- Matthias Klose Mon, 22 Jun 2015 22:09:17 +0200 + +openjdk-9 (9~b68-3) experimental; urgency=medium + + * Enable bootcycle zero builds everywhere. + * Re-enable running the testsuite. + + -- Matthias Klose Thu, 18 Jun 2015 23:55:33 +0200 + +openjdk-9 (9~b68-2) experimental; urgency=medium + + * Fix 8080684, PPC64 little-endian build. + * Fix installation of zero based builds. + + -- Matthias Klose Wed, 17 Jun 2015 19:03:31 +0200 + +openjdk-9 (9~b68-1) experimental; urgency=medium + + * OpenJDK 9, b68. + * Fix the build on AArch64 (Ed Nevill). + + -- Matthias Klose Tue, 16 Jun 2015 11:39:02 +0200 + +openjdk-9 (9~b64-1) experimental; urgency=medium + + * OpenJDK 9, b64. + * Fix build error in zero. + + -- Matthias Klose Mon, 18 May 2015 17:30:20 +0200 + +openjdk-8 (8u45-b14-2) unstable; urgency=medium + + * Fix JamVM with 8u45. Closes: #766284. + + -- Matthias Klose Sun, 10 May 2015 19:28:41 +0200 + +openjdk-8 (8u45-b14-1) unstable; urgency=medium + + * Update to 8u45-b14. + * Update AArch64 to (post) 8u45-b14. + * Make libnss3-dev installable on precise (Thorsten Glaser). LP: #1411630. + * Only install the openjdk-java.desktop file when using cautious-launcher. + + -- Matthias Klose Sun, 19 Apr 2015 16:31:44 +0200 + +openjdk-8 (8u40-b27-1) unstable; urgency=medium + + * Update to 8u40-b27. + * Update AArch64 to (post) 8u40-b25. + * Fix libjavajpeg build using the system jpeg library. Closes: #760926. + + -- Matthias Klose Tue, 17 Mar 2015 01:19:45 +0100 + +openjdk-8 (8u40~b22-1ubuntu1) vivid; urgency=medium + + * Update AArch64 to 8u40-b22. + * Update the alpha float patch. + * Fix JDK-8067330, ZERO_ARCHDEF incorrectly defined for PPC/PPC64 + architectures. + * Fix JDK-8067331, Zero: Atomic::xchg and Atomic::xchg_ptr need + full memory barrier. + * Build using OpenJDK-8. + + -- Matthias Klose Tue, 27 Jan 2015 14:59:00 +0100 + +openjdk-8 (8u40~b22-1) unstable; urgency=medium + + * Update to 8u40-b22. + * Fix build on mips64 and mips64el. Closes: #776295. + * Don't strip libjvm.so to prevent rejection by ftp-master (work around, + but no fix in the archive). Addresses: #775760. + * Fix jamvm to work with recent security updates. Closes: #766284. + + -- Matthias Klose Mon, 26 Jan 2015 16:59:37 +0100 + +openjdk-8 (8u40~b21-1) unstable; urgency=medium + + * Update to 8u40-b21. + + -- Matthias Klose Thu, 15 Jan 2015 12:14:18 +0100 + +openjdk-8 (8u40~b10-1) unstable; urgency=medium + + * Fix libjpeg runtime dependency. + + -- Matthias Klose Thu, 16 Oct 2014 08:38:13 +0200 + +openjdk-8 (8u40~b09-1) unstable; urgency=medium + + * Update to 8u40-b09. + * Update the AArch64 hotspot to 8u40-b09. + * Allow to build for Ubuntu 12.04 LTS. + * Change B-D to libjpeg-dev to finish the transition to libjpeg-turbo + (Ondřej Surý). Closes: #763490. + * Backport the fix for 8017773 OpenJDK returns incorrect TrueType + font metrics. Closes: #762323. + * Depend on libnss3 instead of libnss3-1d for recent releases. + Addresses: #760122. + + -- Matthias Klose Tue, 14 Oct 2014 12:39:18 +0200 + +openjdk-8 (8u40~b04-2) unstable; urgency=medium + + * Remove AArch64 patch applied upstream. + * Update the kfresbsd jdk patch, still not forwarded upstream. + + -- Matthias Klose Tue, 09 Sep 2014 17:08:32 +0200 + +openjdk-8 (8u40~b04-1) experimental; urgency=medium + + * Update to 8u40-b04. + * Backport 8050942, implement template interpreter for ppc64le. + * Build-depend on systemtap-sdt-dev. + + -- Matthias Klose Wed, 03 Sep 2014 21:11:27 +0200 + +openjdk-8 (8u20-b26-1) experimental; urgency=medium + + * 8u20 build 26 is the final 8u20 release. + * Update the AArch64 hotspot. + * Fix applying the kfreebsd patch for JamVM. + * x32 build fixes. + * Allow openjdk-8-jdk as an alternative build dependency. + * Adjust timeouts for jtreg runs. + + -- Matthias Klose Wed, 20 Aug 2014 10:34:55 +0200 + +openjdk-8 (8u20~b26-1) experimental; urgency=medium + + * Update to 8u20-b26. + * Update to JamVM 2.0.0. + * Update to IcedTea-Sound 1.0.1. + * Update toplevel configury to recognize zero archs alpha, mips*, + m68k, sh4. + * Update kfreebsd-support patches (Steven Chamberlain). + * Fix an uninitialized memory issue in adlc (Fridrich Strba). + * Move libjavagtk into the -jre package. + * Use the system libpcsclite library. + * Fix typo, ignoring boot cycle builds (Emmanuel Bourg). + * Derive the update version and the build number from the package + version (Emmanuel Bourg). + * Call quilt with --quiltrc -. Closes: #755710. + * openjdk-8-jdk: Fix src.zip symlink. Closes: #755869. + + -- Matthias Klose Thu, 31 Jul 2014 19:51:35 +0200 + +openjdk-8 (8u20~b20-2) experimental; urgency=medium + + * Work around OpenJDK's build system which is not robust enough + to accept commas in *FLAGS. + * Pass extra flags for non-hotspot builds. + * Fix the zero build on i386. + * Don't add extra symlinks for the jni_{md,jawt}.h header files. + + -- Matthias Klose Fri, 11 Jul 2014 20:30:54 +0200 + +openjdk-8 (8u20~b20-1) experimental; urgency=medium + + * Initial OpenJDK 8 packaging, based on 8u20-b20. + * Fix hotspot build system for GNU make 4.0 (Emmanuel Bourg). + * Drop rhino (build) dependencies (Emmanuel Bourg). + * Add java8 provides (Emmanuel Bourg). + * Add IcedTea patches to build with external jpeg, png and lcms + libraries (Emmanuel Bourg). + * Add keywords to the desktop files (Emmanuel Bourg). + * Remove the suggested dependency on sun-java6-fonts ((Emmanuel Bourg). + * Build hotspot on ppc64 and ppc64el. + * Add the IcedTea Sound tarball. + * Don't strip files when building the images. + * Update patches to pass the extra flags to the libsig and libsaproc builds. + * Use dh_strip's knowledge about build ids when available. + + -- Matthias Klose Wed, 09 Jul 2014 20:11:18 +0200 + +openjdk-7 (7u55-2.4.7-2) unstable; urgency=medium + + * Fix the quoting of configure flags for the zero build. + * Update the java-access-bridge-security patch (Raphael Geissert). + * Don't hard code the compiler names in the AArch64 hotspot build. + * Build using GCC 4.9 where available. + * Add MIPS64(el) support (Yunqiang Su). Closes: #746207. + * Suggest fonts-indic instead of ttf-indic-fonts. Closes: #747694. + + -- Matthias Klose Fri, 16 May 2014 19:12:42 +0200 + +openjdk-7 (7u55-2.4.7-1) unstable; urgency=high + + * IcedTea7 2.4.7 release. + * Security fixes + - S8023046: Enhance splashscreen support. + - S8025005: Enhance CORBA initializations. + - S8025010, CVE-2014-2412: Enhance AWT contexts. + - S8025030, CVE-2014-2414: Enhance stream handling. + - S8025152, CVE-2014-0458: Enhance activation set up. + - S8026067: Enhance signed jar verification. + - S8026163, CVE-2014-2427: Enhance media provisioning. + - S8026188, CVE-2014-2423: Enhance envelope factory. + - S8026200: Enhance RowSet Factory. + - S8026716, CVE-2014-2402: (aio) Enhance asynchronous channel handling. + - S8026736, CVE-2014-2398: Enhance Javadoc pages. + - S8026797, CVE-2014-0451: Enhance data transfers. + - S8026801, CVE-2014-0452: Enhance endpoint addressing. + - S8027766, CVE-2014-0453: Enhance RSA processing. + - S8027775: Enhance ICU code. + - S8027841, CVE-2014-0429: Enhance pixel manipulations. + - S8028385: Enhance RowSet Factory. + - S8029282, CVE-2014-2403: Enhance CharInfo set up. + - S8029286: Enhance subject delegation. + - S8029699: Update Poller demo. + - S8029730: Improve audio device additions. + - S8029735: Enhance service mgmt natives. + - S8029740, CVE-2014-0446: Enhance handling of loggers. + - S8029745, CVE-2014-0454: Enhance algorithm checking. + - S8029750: Enhance LCMS color processing (LCMS 2 only). + - S8029760, CVE-2013-6629: Enhance AWT image libraries (in-tree libjpeg). + - S8029844, CVE-2014-0455: Enhance argument validation. + - S8029854, CVE-2014-2421: Enhance JPEG decodings. + - S8029858, CVE-2014-0456: Enhance array copies. + - S8030731, CVE-2014-0460: Improve name service robustness. + - S8031330: Refactor ObjectFactory. + - S8031335, CVE-2014-0459: Better color profiling. + - S8031352, CVE-2013-6954: Enhance PNG handling (in-tree libpng). + - S8031394, CVE-2014-0457: (sl) Fix exception handling in ServiceLoader. + - S8031395: Enhance LDAP processing. + - S8032686, CVE-2014-2413: Issues with method invoke. + - S8033618, CVE-2014-1876: Correct logging output. + - S8034926, CVE-2014-2397: Attribute classes properly. + - S8036794, CVE-2014-0461: Manage JavaScript instances. + * AArch64 fixes. + + -- Matthias Klose Wed, 16 Apr 2014 15:37:40 +0200 + +openjdk-7 (7u51-2.4.6-1) unstable; urgency=medium + + * IcedTea7 2.4.6 release. + * Explicitly use AC_MAINTAINER_MODE and automake-1.11 to create the + debian .orig tarball. Addresses: #740289. + * Apply patch from upstream to fix bold fonts in Swing applications using + GTK L&F (Ryan Tandy). LP: #937200. + * Explicitly build-depend on libkrb5-dev. + * On AArch64 don't use the hotsport backport for the zero build. + + -- Matthias Klose Tue, 01 Apr 2014 09:25:19 +0200 + +openjdk-7 (7u51-2.4.6~pre1-1) unstable; urgency=medium + + * IcedTea7 2.4.6 prerelease. + * Fix icedtea-web build failure on kfreebsd-* (unable to find + sun.security.util.SecurityConstants). Steven Chamberlain. Closes: #739032. + * Update the AArch64 Hotspot. + + -- Matthias Klose Thu, 27 Mar 2014 17:24:45 +0100 + +openjdk-7 (7u51-2.4.5-2) unstable; urgency=medium + + * Update the KFreeBSD patch (Steven Chamberlain). Closes: #736291. + + -- Matthias Klose Tue, 04 Feb 2014 13:28:10 +0100 + +openjdk-7 (7u51-2.4.5-1) unstable; urgency=medium + + * IcedTea7 2.4.5 release. + * Build Hotspot client and server vms for AArch64. + + -- Matthias Klose Fri, 31 Jan 2014 06:13:20 -0500 + +openjdk-7 (7u51-2.4.4-1) unstable; urgency=medium + + * IcedTea7 2.4.4 release. + * Security fixes + - S6727821: Enhance JAAS Configuration. + - S7068126, CVE-2014-0373: Enhance SNMP statuses. + - S8010935: Better XML handling. + - S8011786, CVE-2014-0368: Better applet networking. + - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be + on restricted package list. + - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code. + - S8022904: Enhance JDBC Parsers. + - S8022927: Input validation for byte/endian conversions. + - S8022935: Enhance Apache resolver classes. + - S8022945: Enhance JNDI implementation classes. + - S8023057: Enhance start up image display. + - S8023069, CVE-2014-0411: Enhance TLS connections. + - S8023245, CVE-2014-0423: Enhance Beans decoding. + - S8023301: Enhance generic classes. + - S8023338: Update jarsigner to encourage timestamping. + - S8023672: Enhance jar file validation. + - S8024302: Clarify jar verifications. + - S8024306, CVE-2014-0416: Enhance Subject consistency. + - S8024530: Enhance font process resilience. + - S8024867: Enhance logging start up. + - S8025014: Enhance Security Policy. + - S8025018, CVE-2014-0376: Enhance JAX-P set up. + - S8025026, CVE-2013-5878: Enhance canonicalization. + - S8025034, CVE-2013-5907: Improve layout lookups. + - S8025448: Enhance listening events. + - S8025758, CVE-2014-0422: Enhance Naming management. + - S8025767, CVE-2014-0428: Enhance IIOP Streams. + - S8026172: Enhance UI Management. + - S8026176: Enhance document printing. + - S8026193, CVE-2013-5884: Enhance CORBA stub factories. + - S8026204: Enhance auth login contexts. + - S8026417, CVE-2013-5910: Enhance XML canonicalization. + - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all + platforms. + - S8027201, CVE-2014-0376: Enhance JAX-P set up. + - S8029507, CVE-2013-5893: Enhance JVM method processing. + - S8029533: REGRESSION: closed/java/lang/invoke/8008140/Test8008140.java + fails agains. + * Remove alpha from stage1_gcj_archs. + * Use the langtools and jdk tarballs as provided by IcedTea. + * Hotspot is dead on sparc. Build the zero interpreter as the default. + * Blindly update the KF***BSD patches. + + -- Matthias Klose Wed, 15 Jan 2014 10:34:34 +0100 + +openjdk-7 (7u45-2.4.3-5) unstable; urgency=medium + + * Run the jtreg tests on powerpcspe, tested by Roland Stigge. + * Fix zero builds on 64k page kernel configs. + * Fix more IcedTea bits to build on x32. + + -- Matthias Klose Sat, 11 Jan 2014 13:55:34 +0100 + +openjdk-7 (7u45-2.4.3-4) unstable; urgency=low + + * Re-enable running the testsuite on powerpc. + * Run the testsuite on AArch64. + * Fix IcedTea bits to build on x32. + + -- Matthias Klose Sun, 22 Dec 2013 21:20:10 +0100 + +openjdk-7 (7u45-2.4.3-3) unstable; urgency=low + + * Don't build on s390 anymore. + * Update hotspot-mips-align patch (Aurelien Jarno). Closes: #732528). + * Build for ppc64el. + * Try to build zero on x32. + * Configure with --enable-zero on sparc and sparc64. + + -- Matthias Klose Fri, 20 Dec 2013 14:42:38 +0100 + +openjdk-7 (7u45-2.4.3-2.3) unstable; urgency=medium + + * Disable bootstrap build on alpha. Closes: #719671. + * Disable running the jdk jtreg tests on the hotspot architectures. + Hanging on the buildds. + * Re-enable the jexec patch, program logic confused by running jexec + outside the assumed java home. Closes: #731961. + * Don't apply the s390 patches on s390x. s390 is successfully dead. + * Fix zero builds on little endian architectures, taken from the trunk. + + -- Matthias Klose Thu, 12 Dec 2013 18:24:44 +0100 + +openjdk-7 (7u45-2.4.3-1) unstable; urgency=medium + + * IcedTea7 2.4.3 release. + * Security fixes: + - S8006900, CVE-2013-3829: Add new date/time capability. + - S8008589: Better MBean permission validation. + - S8011071, CVE-2013-5780: Better crypto provider handling. + - S8011081, CVE-2013-5772: Improve jhat. + - S8011157, CVE-2013-5814: Improve CORBA portablility. + - S8012071, CVE-2013-5790: Better Building of Beans. + - S8012147: Improve tool support. + - S8012277: CVE-2013-5849: Improve AWT DataFlavor. + - S8012425, CVE-2013-5802: Transform TransformerFactory. + - S8013503, CVE-2013-5851: Improve stream factories. + - S8013506: Better Pack200 data handling. + - S8013510, CVE-2013-5809: Augment image writing code. + - S8013514: Improve stability of cmap class. + - S8013739, CVE-2013-5817: Better LDAP resource management. + - S8013744, CVE-2013-5783: Better tabling for AWT. + - S8014085: Better serialization support in JMX classes. + - S8014093, CVE-2013-5782: Improve parsing of images. + - S8014098: Better profile validation. + - S8014102, CVE-2013-5778: Improve image conversion. + - S8014341, CVE-2013-5803: Better service from Kerberos servers. + - S8014349, CVE-2013-5840: (cl) Class.getDeclaredClass problematic + in some class loader configurations. + - S8014530, CVE-2013-5825: Better digital signature processing. + - S8014534: Better profiling support. + - S8014987, CVE-2013-5842: Augment serialization handling. + - S8015614: Update build settings. + - S8015731: Subject java.security.auth.subject to improvements. + - S8015743, CVE-2013-5774: Address internet addresses. + - S8016256: Make finalization final. + - S8016653, CVE-2013-5804: javadoc should ignore ignoreable characters + in names. + - S8016675, CVE-2013-5797: Make Javadoc pages more robust. + - S8017196, CVE-2013-5850: Ensure Proxies are handled appropriately. + - S8017287, CVE-2013-5829: Better resource disposal. + - S8017291, CVE-2013-5830: Cast Proxies Aside. + - S8017298, CVE-2013-4002: Better XML support. + - S8017300, CVE-2013-5784: Improve Interface Implementation. + - S8017505, CVE-2013-5820: Better Client Service. + - S8019292: Better Attribute Value Exceptions. + - S8019617: Better view of objects. + - S8020293: JVM crash. + - S8021275, CVE-2013-5805: Better screening for ScreenMenu. + - S8021282, CVE-2013-5806: Better recycling of object instances. + - S8021286: Improve MacOS resourcing. + - S8021290, CVE-2013-5823: Better signature validation. + - S8022931, CVE-2013-5800: Enhance Kerberos exceptions. + - S8022940: Enhance CORBA translations. + - S8023683: Enhance class file parsing. + * Fix build failure on mips* (Aurelien Jarno). Closes: #729448). + * Run autoreconf. Closes: #724083. + * Merge the -jre-lib package into -jre-headless. Simplifies the packaging + and the savings were not as big as wanted, because the rt.jar is still + architecture dependant. Closes: #641049, #722510. + + -- Matthias Klose Sun, 08 Dec 2013 23:22:06 +0100 + +openjdk-7 (7u25-2.3.12-4ubuntu3) saucy; urgency=low + + * Apply missing patch to fix arm64/AArch64 detection. + + -- Matthias Klose Fri, 11 Oct 2013 17:51:33 +0200 + +openjdk-7 (7u25-2.3.12-4ubuntu2) saucy; urgency=low + + * openjdk-jre-headless: Loosen the dependency on -jre-lib. + + -- Matthias Klose Wed, 09 Oct 2013 16:29:15 +0200 + +openjdk-7 (7u25-2.3.12-4ubuntu1) saucy; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Fri, 16 Aug 2013 12:09:47 +0200 + +openjdk-7 (7u25-2.3.12-4) unstable; urgency=low + + * Add the hotspot patches for AArch64, which apparently were not + included in the IcedTea release by intent. + * Don't interpret arm64 as an ARM architecture, but as AArch64. So + much for Debian calling this port arm64 ... + * Use host macros instead of build macros for corba and hotspot config. + * Re-add multiarch library directories to the default library path. + Closes: #712567. + * Enable the two-stage build on alpha. Closes: #719671. + * Build for powerpcspe (Roland Stigge). Closes: #712686. + * Recommend fonts-dejavu-extra instead of ttf-dejavu-extra for current + releases. Closes: #718839. + + -- Matthias Klose Thu, 15 Aug 2013 21:26:51 +0200 + +openjdk-7 (7u25-2.3.12-3) unstable; urgency=low + + * Fix kFreeBSD builds (Thanks to Christoph Egger for his help). + + -- Damien Raude-Morvan Mon, 12 Aug 2013 00:39:41 +0200 + +openjdk-7 (7u25-2.3.12-2) unstable; urgency=low + + [ Matthias Klose ] + * Regenerate the hotspot-s390 patch. + + [ Damien Raude-Morvan ] + * Update kfreebsd patches. + + -- Matthias Klose Sat, 03 Aug 2013 20:22:41 +0200 + +openjdk-7 (7u25-2.3.12-1) unstable; urgency=low + + * IcedTea7 2.3.12 release. + * Don't build with pulseaudio on arm64. + * Disable bootstraped build on s390 and sparc. + + -- Matthias Klose Fri, 02 Aug 2013 15:55:01 +0200 + +openjdk-7 (7u25-2.3.10-2ubuntu1) saucy; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Mon, 15 Jul 2013 23:59:45 +0200 + +openjdk-7 (7u25-2.3.10-2) unstable; urgency=low + + [ Matthias Klose ] + * Fix gcj-jdk build dependency on ia64 and s390. + * Build zero on arm64. + + [ Gianfranco Costamagna ] + * Fix build failure on kfreebsd (Closes: #714528) + + -- Matthias Klose Sun, 30 Jun 2013 17:12:28 +0200 + +openjdk-7 (7u25-2.3.10-1) unstable; urgency=high + + * IcedTea7 2.3.10 release. + * Security fixes + * S6741606, CVE-2013-2407: Integrate Apache Santuario. + * S7158805, CVE-2013-2445: Better rewriting of nested subroutine calls. + * S7170730, CVE-2013-2451: Improve Windows network stack support. + * S8000638, CVE-2013-2450: Improve deserialization. + * S8000642, CVE-2013-2446: Better handling of objects for transportation. + * S8001032: Restrict object access. + * S8001033, CVE-2013-2452: Refactor network address handling in virtual + machine identifiers. + * S8001034, CVE-2013-1500: Memory management improvements. + * S8001038, CVE-2013-2444: Resourcefully handle resources. + * S8001043: Clarify definition restrictions. + * S8001308: Update display of applet windows. + * S8001309: Better handling of annotation interfaces. + * S8001318, CVE-2013-2447: Socket.getLocalAddress not consistent with + InetAddress.getLocalHost. + * S8001330, CVE-2013-2443: Improve on checking order (non-Zero builds only). + * S8003703, CVE-2013-2412: Update RMI connection dialog box. + * S8004288, CVE-2013-2449: (fs) Files.probeContentType problems. + * S8004584: Augment applet contextualization. + * S8005007: Better glyph processing. + * S8006328, CVE-2013-2448: Improve robustness of sound classes. + * S8006611: Improve scripting. + * S8007467: Improve robustness of JMX internal APIs. + * S8007471: Improve MBean notifications. + * S8007812, CVE-2013-2455: (reflect) Class.getEnclosingMethod problematic for some classes. + * S8007925: Improve cmsStageAllocLabV2ToV4curves. + * S8007926: Improve cmsPipelineDup. + * S8007927: Improve cmsAllocProfileSequenceDescription. + * S8007929: Improve CurvesAlloc. + * S8008120, CVE-2013-2457: Improve JMX class checking. + * S8008124, CVE-2013-2453: Better compliance testing. + * S8008128: Better API coherence for JMX. + * S8008132, CVE-2013-2456: Better serialization support. + * S8008585: Better JMX data handling. + * S8008593: Better URLClassLoader resource management. + * S8008603: Improve provision of JMX providers. + * S8008607: Better input checking in JMX. + * S8008611: Better handling of annotations in JMX. + * S8008615: Improve robustness of JMX internal APIs. + * S8008623: Better handling of MBeanServers. + * S8008744, CVE-2013-2407: Rework part of fix for JDK-6741606. + * S8008982: Adjust JMX for underlying interface changes. + * S8009004: Better implementation of RMI connections. + * S8009008: Better manage management-api. + * S8009013: Better handling of T2K glyphs. + * S8009034: Improve resulting notifications in JMX. + * S8009038: Improve JMX notification support. + * S8009057, CVE-2013-2448: Improve MIDI event handling. + * S8009067: Improve storing keys in KeyStore. + * S8009071, CVE-2013-2459: Improve shape handling. + * S8009235: Improve handling of TSA data. + * S8009424, CVE-2013-2458: Adapt Nashorn to JSR-292 implementation change. + * S8009554, CVE-2013-2454: Improve SerialJavaObject.getFields. + * S8009654: Improve stability of cmsnamed. + * S8010209, CVE-2013-2460: Better provision of factories. + * S8011243, CVE-2013-2470: Improve ImagingLib. + * S8011248, CVE-2013-2471: Better Component Rasters. + * S8011253, CVE-2013-2472: Better Short Component Rasters. + * S8011257, CVE-2013-2473: Better Byte Component Rasters. + * S8012375, CVE-2013-1571: Improve Javadoc framing. + * S8012421: Better positioning of PairPositioning. + * S8012438, CVE-2013-2463: Better image validation. + * S8012597, CVE-2013-2465: Better image channel verification. + * S8012601, CVE-2013-2469: Better validation of image layouts. + * S8014281, CVE-2013-2461: Better checking of XML signature. + * S8015997: Additional improvement in Javadoc framing. + * Breaks icedtea-netx (<< 1.4-2). + + -- Matthias Klose Fri, 28 Jun 2013 16:55:32 +0200 + +openjdk-7 (7u21-2.3.9-5) unstable; urgency=low + + * Update kFreeBSD support (Guido Guenther). Closes: #708818. + * Stop building the transitional cacao package for sid. + + -- Matthias Klose Sat, 18 May 2013 20:13:33 +0200 + +openjdk-7 (7u21-2.3.9-4) unstable; urgency=high + + * Build the transitional cacao package for sid as well. Apparently + some buildds are not updated to list wheezy as the code name for + the current distribution. + + -- Matthias Klose Thu, 02 May 2013 03:27:44 +0200 + +openjdk-7 (7u21-2.3.9-3) unstable; urgency=high + + * Disable the cacao build again, causing build failures on i386 and s390. + * Build a transitional cacao jre package instead. + + -- Matthias Klose Tue, 30 Apr 2013 00:27:05 +0200 + +openjdk-7 (7u21-2.3.9-2) unstable; urgency=high + + * On ia64, use gcj-4.7 for the bootstrap build. + * Drop the cacao jre from recommends to suggests. + * Re-enable cacao, was enabled in the 2.1.x series. + + -- Matthias Klose Sat, 27 Apr 2013 01:17:16 +0200 + +openjdk-7 (7u21-2.3.9-1) unstable; urgency=high + + * IcedTea7 2.3.9 release. + * Security fixes: + - S6657673, CVE-2013-1518: Issues with JAXP. + - S7200507: Refactor Introspector internals. + - S8000724, CVE-2013-2417: Improve networking serialization. + - S8001031, CVE-2013-2419: Better font processing. + - S8001040, CVE-2013-1537: Rework RMI model. + - S8001322: Refactor deserialization. + - S8001329, CVE-2013-1557: Augment RMI logging. + - S8003335: Better handling of Finalizer thread. + - S8003445: Adjust JAX-WS to focus on API. + - S8003543, CVE-2013-2415: Improve processing of MTOM attachments. + - S8004261: Improve input validation. + - S8004336, CVE-2013-2431: Better handling of method handle intrinsic frames. + - S8004986, CVE-2013-2383: Better handling of glyph table. + - S8004987, CVE-2013-2384: Improve font layout. + - S8004994, CVE-2013-1569: Improve checking of glyph table. + - S8005432: Update access to JAX-WS. + - S8005943: (process) Improved Runtime.exec. + - S8006309: More reliable control panel operation. + - S8006435, CVE-2013-2424: Improvements in JMX. + - S8006790: Improve checking for windows. + - S8006795: Improve font warning messages. + - S8007406: Improve accessibility of AccessBridge. + - S8007617, CVE-2013-2420: Better validation of images. + - S8007667, CVE-2013-2430: Better image reading. + - S8007918, CVE-2013-2429: Better image writing. + - S8008140: Better method handle resolution. + - S8009049, CVE-2013-2436: Better method handle binding. + - S8009063, CVE-2013-2426: Improve reliability of ConcurrentHashMap. + - S8009305, CVE-2013-0401: Improve AWT data transfer. + - S8009677, CVE-2013-2423: Better setting of setters. + - S8009699, CVE-2013-2421: Methodhandle lookup. + - S8009814, CVE-2013-1488: Better driver management. + - S8009857, CVE-2013-2422: Problem with plugin. + * Backports: + - S7130662: GTK file dialog crashes with a NPE. + * Bug fixes + - PR1363: Fedora 19 / rawhide FTBFS SIGILL. + - PR1401: Fix Zero build on 2.3.8. + - Fix offset problem in ICU LETableReference. + - Change -Werror fix to preserve OpenJDK default. + - PR1303: Correct #ifdef to #if. + - PR1404: Failure to bootstrap with ecj 4.2. + + -- Matthias Klose Mon, 22 Apr 2013 03:27:08 +0200 + +openjdk-7 (7u17-2.3.8-2) experimental; urgency=low + + * Remove Torsten Werner as uploader. + + -- Matthias Klose Mon, 01 Apr 2013 00:39:58 +0200 + +openjdk-7 (7u17-2.3.8-1ubuntu1) raring; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Sun, 31 Mar 2013 20:10:05 +0200 + +openjdk-7 (7u17-2.3.8-1) experimental; urgency=low + + * IcedTea7 2.3.8 release. + * Security fixes: + - S8007014, CVE-2013-0809: Improve image handling. + - S8007675, CVE-2013-1493: Improve color conversion. + * Backports: + - S8002344: Krb5LoginModule config class does not return proper KDC list + from DNS. + - S8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c. + - S8006179: JSR292 MethodHandles lookup with interface using findVirtual(). + - S8006882: Proxy generated classes in sun.proxy package breaks JMockit. + * Bug fixes: + - PR1303: Correct #ifdef to #if. + - PR1340: Simplify the rhino class rewriter to avoid use of concurrency. + - Revert 7017193 and add the missing free call, until a better fix is ready. + + -- Matthias Klose Sun, 31 Mar 2013 14:31:11 +0200 + +openjdk-7 (7u15-2.3.7-1ubuntu2) raring; urgency=low + + * Security fixes: + - S8007014, CVE-2013-0809: Improve image handling + - S8007675, CVE-2013-1493: Improve color conversion + - debian/rules: updated to add 8007014.patch and 8007675.patch + + -- Jamie Strandboge Wed, 06 Mar 2013 14:12:03 -0600 + +openjdk-7 (7u15-2.3.7-1ubuntu1) raring; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Wed, 20 Feb 2013 23:59:54 +0100 + +openjdk-7 (7u15-2.3.7-1) experimental; urgency=low + + * IcedTea7 2.3.7 release. + * Security fixes: + - S8004937, CVE-2013-1484: Improve proxy construction. + - S8006439, CVE-2013-1485: Improve MethodHandles coverage. + - S8006446, CVE-2013-1486: Restrict MBeanServer access. + - S8006777, CVE-2013-0169: Improve TLS handling of invalid messages. + - S8007688: Blacklist known bad certificate. + * Backports: + - S8007393: Possible race condition after JDK-6664509. + - S8007611: logging behavior in applet changed. + * For zero builds, use the same hotspot version as in 2.1.6. + * Reenable bootstrap builds, except for alpha. + * Explicitly disable building on mips/mipsel. Not supported by the + Debian OpenJDK maintainers, the Debian mips porters, or the Debian + Java team. + + -- Matthias Klose Wed, 20 Feb 2013 23:33:58 +0100 + +openjdk-7 (7u13-2.3.6-1) experimental; urgency=low + + * IcedTea7 2.3.6 release. + - Disable bootstrap builds, currently broken in IcedTea. + * Security fixes: + - S6563318, CVE-2013-0424: RMI data sanitization. + - S6664509, CVE-2013-0425: Add logging context. + - S6664528, CVE-2013-0426: Find log level matching its name or value given + at construction time. + - S6776941: CVE-2013-0427: Improve thread pool shutdown. + - S7141694, CVE-2013-0429: Improving CORBA internals. + - S7173145: Improve in-memory representation of splashscreens. + - S7186945: Unpack200 improvement. + - S7186946: Refine unpacker resource usage. + - S7186948: Improve Swing data validation. + - S7186952, CVE-2013-0432: Improve clipboard access. + - S7186954: Improve connection performance. + - S7186957: Improve Pack200 data validation. + - S7192392, CVE-2013-0443: Better validation of client keys. + - S7192393, CVE-2013-0440: Better Checking of order of TLS Messages. + - S7192977, CVE-2013-0442: Issue in toolkit thread. + - S7197546, CVE-2013-0428: (proxy) Reflect about creating reflective proxies. + - S7200491: Tighten up JTable layout code. + - S7200500: Launcher better input validation. + - S7201064: Better dialogue checking. + - S7201066, CVE-2013-0441: Change modifiers on unused fields. + - S7201068, CVE-2013-0435: Better handling of UI elements. + - S7201070: Serialization to conform to protocol. + - S7201071, CVE-2013-0433: InetSocketAddress serialization issue. + - S8000210: Improve JarFile code quality. + - S8000537, CVE-2013-0450: Contextualize RequiredModelMBean class. + - S8000540, CVE-2013-1475: Improve IIOP type reuse management. + - S8000631, CVE-2013-1476: Restrict access to class constructor. + - S8001235, CVE-2013-0434: Improve JAXP HTTP handling. + - S8001242: Improve RMI HTTP conformance. + - S8001307: Modify ACC_SUPER behavior. + - S8001972, CVE-2013-1478: Improve image processing. + - S8002325, CVE-2013-1480: Improve management of images. + * Fix font suggestion for indic fonts in wheezy. + * Fix fontconfig definitions for japanese and korean fonts, fixing + compilation of the fontconfig file. + * Add Built-Using: rhino attribute for the -lib package. + * Don't use concurrent features to rewrite the rhino jar file. + * Enable class data sharing for the hotspot server VM. + + -- Matthias Klose Tue, 12 Feb 2013 20:59:48 +0100 + +openjdk-7 (7u9-2.3.4-1) experimental; urgency=low + + * IcedTea7 2.3.4 release. + * Security fixes + - S8004933, CVE-2012-3174: Improve MethodHandle interaction with libraries. + - S8006017, CVE-2013-0422: Improve lookup resolutions. + - S8006125: Update MethodHandles library interactions. + * Bug fixes + - S7197906: BlockOffsetArray::power_to_cards_back() needs to handle > 32 bit + shifts. + - G422525: Fix building with PaX enabled kernels. + + [ Matthias Klose ] + * Loosen OpenGL dependency. Closes: #695028. + * Fix error parsing drop files parameter from pcmanfm (Alberto Fernández + Martínez). Closes: #695992. + + [ Thorsten Glaser ] + * debian/rules: Use gcj-4.6-jdk for m68k builds. + * d/patches/text-relocations.patch: build with -fPIC on all archs. + + -- Matthias Klose Tue, 15 Jan 2013 23:38:48 +0100 + +openjdk-7 (7u9-2.3.3-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Wed, 17 Oct 2012 15:16:51 +0200 + +openjdk-7 (7u9-2.3.3-0ubuntu1) quantal-security; urgency=low + + * IcedTea7 2.3.3 release. + * Security fixes + - S6631398, CVE-2012-3216: FilePermission improved path checking. + - S7093490: adjust package access in rmiregistry. + - S7143535, CVE-2012-5068: ScriptEngine corrected permissions. + - S7158796, CVE-2012-5070: Tighten properties checking in EnvHelp. + - S7158807: Revise stack management with volatile call sites. + - S7163198, CVE-2012-5076: Tightened package accessibility. + - S7167656, CVE-2012-5077: Multiple Seeders are being created. + - S7169884, CVE-2012-5073: LogManager checks do not work correctly for + sub-types. + - S7169887, CVE-2012-5074: Tightened package accessibility. + - S7169888, CVE-2012-5075: Narrowing resource definitions in JMX RMI + connector. + - S7172522, CVE-2012-5072: Improve DomainCombiner checking. + - S7186286, CVE-2012-5081: TLS implementation to better adhere to RFC. + - S7189103, CVE-2012-5069: Executors needs to maintain state. + - S7189490: More improvements to DomainCombiner checking. + - S7189567, CVE-2012-5085: java net obselete protocol. + - S7192975, CVE-2012-5071: Issue with JMX reflection. + - S7195194, CVE-2012-5084: Better data validation for Swing. + - S7195549, CVE-2012-5087: Better bean object persistence. + - S7195917, CVE-2012-5086: XMLDecoder parsing at close-time should be + improved. + - S7195919, CVE-2012-5979: (sl) ServiceLoader can throw CCE without + needing to create instance. + - S7196190, CVE-2012-5088: Improve method of handling MethodHandles. + - S7198296, CVE-2012-5089: Refactor classloader usage. + - S7158800: Improve storage of symbol tables. + - S7158801: Improve VM CompileOnly option. + - S7158804: Improve config file parsing. + - S7198606, CVE-2012-4416: Improve VM optimization. + + -- Matthias Klose Wed, 17 Oct 2012 13:27:47 +0200 + +openjdk-7 (7u7-2.3.2a-1ubuntu1) quantal; urgency=low + + * Build a transitional icedtea-7-jre-cacao package to ease upgrades. + + -- Matthias Klose Wed, 19 Sep 2012 17:42:39 +0200 + +openjdk-7 (7u7-2.3.2a-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sat, 15 Sep 2012 22:20:06 +0200 + +openjdk-7 (7u7-2.3.2a-0ubuntu1) quantal; urgency=low + + * Repackage the source to drop the cacao tarball (and packaging files). + * Depend again on system provided tzdata-java and restore the zi + symlink on upgrade. LP: #1050404. + * libgnome2-0, libgnomevfs2-0, libgconf2-4 are not prepared for multiarch. + Don't depend on these so that openjdk-7 can be installed as a multiarch + package. + + -- Matthias Klose Sat, 15 Sep 2012 17:01:12 +0200 + +openjdk-7 (7u7-2.3.2-1ubuntu2) quantal; urgency=low + + * Make the avian VM a known runtime. + + -- Matthias Klose Wed, 05 Sep 2012 11:58:35 +0200 + +openjdk-7 (7u7-2.3.2-1ubuntu1) quantal; urgency=low + + * Fix 32bit hotspot build, don't set maximal heap space lower than + minimal heap space for the docs build. + * d/p/sane-library-paths.patch, d/p/ant-diagnostics.diff, + d/p/fix-race-cond-print.diff, d/p/gcc-hotspot-opt-O[02].diff, + d/p/gcc-mtune-generic.diff, d/p/openjdk-6986968.diff: Remove, not used. + * Remove unused shark/llvm-3.0 patches. + * d/p/zero-only-use-floating-point-if-floating-poi.patch: Remove, applied + upstream. + * Don't explicitly build with -march=i586 on i386 architectures. + * Re-apply zero-missing-headers.diff. + * Disable cacao builds, needs update for 7u7. + * For Ubuntu quantal, set priorities for alternatives higher than for + OpenJDK 6. + * Call update-alternatives when the existing priority for the alternative + is lower than the current one. + * Configure with --disable-downloading. + * Pass -avoid-version to libtool to create a JamVM libjvm.so without SONAME + version numbers to match the Hotspot Server/Client libjvm.so. LP: #850433. + * Revert the following change: Move libgnome2-0, libgnomevfs2-0, libgconf2-4 + from Depends of JRE package to Recommends (#661465). + The proper fix is to create a -jdk-headless package, or not depending on + these gnome packages at all (e.g. using XDG libraries). + + -- Matthias Klose Tue, 04 Sep 2012 12:08:31 +0200 + +openjdk-7 (7u7-2.3.2-1) experimental; urgency=low + + * New upstream IcedTea7 2.3.2 release. + * Security fixes: + - CVE-2012-4681: Reintroduce PackageAccessible checks removed in 6788531. + - S7079902, CVE-2012-1711: Refine CORBA data models. + - S7143606, CVE-2012-1717: File.createTempFile should be improved + for temporary files created by the platform. + - S7143614, CVE-2012-1716: SynthLookAndFeel stability improvement. + - S7143617, CVE-2012-1713: Improve fontmanager layout lookup operations. + - S7143851, CVE-2012-1719: Improve IIOP stub and tie generation in RMIC. + - S7143872, CVE-2012-1718: Improve certificate extension processing. + - S7152811, CVE-2012-1723: Issues in client compiler. + - S7157609, CVE-2012-1724: Issues with loop. + - S7160757, CVE-2012-1725: Problem with hotspot/runtime_classfile. + - S7165628, CVE-2012-1726: Issues with java.lang.invoke.MethodHandles.Lookup. + * Bump version to 7u7 (OpenJDK), 2.3.2 (IcedTea). Closes: #685276. + * d/p/icedtea7-forest-jdk_7104625-XEvent_wrap_logging_calls_with_if.patch, + d/p/hotspot-sparc.diff: Remove, integrated upstream. + * d/p/{deb-multiarch,fix_extra_flags,hotspot-no-werror}.diff: + Add variants for hotspot and zero builds. + * d/p/default-jvm-cfg.diff, d/p/icedtea-4953367.patch, + d/p/icedtea-patch.diff, d/p/icedtea-pretend-memory.diff, + d/p/libpcsclite-dlopen.diff, d/p/nonreparenting-wm.diff: + Update for 2.3.2. + * Remove build support for Ubuntu releases earlier than hardy. + * d/update-shasum.sh: Only update the shasums of the -dfsg tarballs. + * Don't apply shark patches (not built anyway). + + -- Matthias Klose Sat, 01 Sep 2012 11:46:50 +0200 + +openjdk-7 (7u3-2.1.7-1) unstable; urgency=high + + * IcedTea7 2.1.7 release: + * Security fixes: + - S8007014, CVE-2013-0809: Improve image handling. + - S8007675, CVE-2013-1493: Improve color conversion. + * Backports: + - S8002344: Krb5LoginModule config class does not return proper KDC list + from DNS. + - S8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c. + - S8006179: JSR292 MethodHandles lookup with interface using findVirtual(). + - S8006882: Proxy generated classes in sun.proxy package breaks JMockit. + * Bug fixes: + - PR1303: Correct #ifdef to #if + - Stop libraries being stripped in the OpenJDK build. + - PR1340: Simplify the rhino class rewriter to avoid use of concurrency. + - Revert 7017193 and add the missing free call, until a better fix is ready. + + -- Matthias Klose Sat, 30 Mar 2013 11:31:12 +0100 + +openjdk-7 (7u3-2.1.6-1) unstable; urgency=high + + * IcedTea7 2.1.5 release: + * Security fixes: + - S6563318, CVE-2013-0424: RMI data sanitization. + - S6664509, CVE-2013-0425: Add logging context. + - S6664528, CVE-2013-0426: Find log level matching its name or value + given at construction time. + - S6776941: CVE-2013-0427: Improve thread pool shutdown. + - S7141694, CVE-2013-0429: Improving CORBA internals. + - S7173145: Improve in-memory representation of splashscreens. + - S7186945: Unpack200 improvement. + - S7186946: Refine unpacker resource usage. + - S7186948: Improve Swing data validation. + - S7186952, CVE-2013-0432: Improve clipboard access. + - S7186954: Improve connection performance. + - S7186957: Improve Pack200 data validation. + - S7192392, CVE-2013-0443: Better validation of client keys. + - S7192393, CVE-2013-0440: Better Checking of order of TLS Messages. + - S7192977, CVE-2013-0442: Issue in toolkit thread. + - S7197546, CVE-2013-0428: (proxy) Reflect about creating reflective + proxies. + - S7200491: Tighten up JTable layout code. + - S7200493, CVE-2013-0444: Improve cache handling. + - S7200499: Better data validation for options. + - S7200500: Launcher better input validation. + - S7201064: Better dialogue checking. + - S7201066, CVE-2013-0441: Change modifiers on unused fields. + - S7201068, CVE-2013-0435: Better handling of UI elements. + - S7201070: Serialization to conform to protocol. + - S7201071, CVE-2013-0433: InetSocketAddress serialization issue. + - S8000210: Improve JarFile code quality. + - S8000537, CVE-2013-0450: Contextualize RequiredModelMBean class. + - S8000539, CVE-2013-0431: Introspect JMX data handling. + - S8000540, CVE-2013-1475: Improve IIOP type reuse management. + - S8000631, CVE-2013-1476: Restrict access to class constructor. + - S8001235, CVE-2013-0434: Improve JAXP HTTP handling. + - S8001242: Improve RMI HTTP conformance. + - S8001307: Modify ACC_SUPER behavior. + - S8001972, CVE-2013-1478: Improve image processing. + - S8002325, CVE-2013-1480: Improve management of images. + * Backports: + - S7054590: (JSR-292) MethodHandleProxies.asInterfaceInstance() + accepts private/protected nested interfaces. + - S7175616: Port fix for TimeZone from JDK 8 to JDK 7. + - S8002068: Build broken: corba code changes unable to use new + JDK 7 classes. + - S8004341: Two JCK tests fails with 7u11 b06. + - S8005615: Java Logger fails to load tomcat logger implementation (JULI). + * IcedTea7 2.1.6 release: + * Security fixes: + - S8004937, CVE-2013-1484: Improve proxy construction. + - S8006439, CVE-2013-1485: Improve MethodHandles coverage. + - S8006446, CVE-2013-1486: Restrict MBeanServer access. + - S8006777, CVE-2013-0169: Improve TLS handling of invalid messages. + - S8007688: Blacklist known bad certificate. + * Backports: + - S7123519: problems with certification path. + - S8007393: Possible race condition after JDK-6664509. + - S8007611: logging behavior in applet changed. + * Fix font suggestion for indic fonts in wheezy. + * Fix fontconfig definitions for japanese and korean fonts, fixing + compilation of the fontconfig file. + * Add Built-Using: rhino attribute for the -lib package. + * Don't use concurrent features to rewrite the rhino jar file. + * Enable class data sharing for the hotspot server VM. + * Enable bootstrap builds for alpha. + * Explicitly disable building on mips/mipsel. Not supported by the + Debian OpenJDK maintainers, the Debian mips porters, or the Debian + Java team. + + -- Matthias Klose Thu, 21 Feb 2013 03:38:13 +0100 + +openjdk-7 (7u3-2.1.4-1) unstable; urgency=low + + * IcedTea7 2.1.4 release. + * Security fixes + - S8004933, CVE-2012-3174: Improve MethodHandle interaction with libraries + - S8006017, CVE-2013-0422: Improve lookup resolutions + - S8006125: Update MethodHandles library interactions + * Loosen OpenGL dependency. Closes: #695028. + * Fix error parsing drop files parameter from pcmanfm (Alberto Fernández + Martínez). Closes: #695992. + + -- Matthias Klose Wed, 16 Jan 2013 11:46:20 +0100 + +openjdk-7 (7u3-2.1.3-1) unstable; urgency=low + + * IcedTea7 2.1.3 release. + * Security fixes + - S6631398, CVE-2012-3216: FilePermission improved path checking. + - S7093490: adjust package access in rmiregistry. + - S7143535, CVE-2012-5068: ScriptEngine corrected permissions. + - S7158796, CVE-2012-5070: Tighten properties checking in EnvHelp. + - S7158807: Revise stack management with volatile call sites. + - S7163198, CVE-2012-5076: Tightened package accessibility. + - S7167656, CVE-2012-5077: Multiple Seeders are being created. + - S7169884, CVE-2012-5073: LogManager checks do not work correctly for + sub-types. + - S7169887, CVE-2012-5074: Tightened package accessibility. + - S7169888, CVE-2012-5075: Narrowing resource definitions in JMX RMI + connector. + - S7172522, CVE-2012-5072: Improve DomainCombiner checking. + - S7186286, CVE-2012-5081: TLS implementation to better adhere to RFC. + - S7189103, CVE-2012-5069: Executors needs to maintain state. + - S7189490: More improvements to DomainCombiner checking. + - S7189567, CVE-2012-5085: java net obselete protocol. + - S7192975, CVE-2012-5071: Issue with JMX reflection. + - S7195194, CVE-2012-5084: Better data validation for Swing. + - S7195549, CVE-2012-5087: Better bean object persistence. + - S7195917, CVE-2012-5086: XMLDecoder parsing at close-time should be + improved. + - S7195919, CVE-2012-5979: (sl) ServiceLoader can throw CCE without + needing to create instance. + - S7196190, CVE-2012-5088: Improve method of handling MethodHandles. + - S7198296, CVE-2012-5089: Refactor classloader usage. + - S7158801: Improve VM CompileOnly option. + - S7158804: Improve config file parsing. + - S7198606, CVE-2012-4416: Improve VM optimization. + * Backports + - S7175845: "jar uf" changes file permissions unexpectedly. + - S7177216: native2ascii changes file permissions of input file. + - S7106773: 512 bits RSA key cannot work with SHA384 and SHA512. + - S7158800: Improve storage of symbol tables. + + -- Matthias Klose Wed, 17 Oct 2012 16:03:47 +0200 + +openjdk-7 (7u3-2.1.2-2ubuntu1) precise-security; urgency=low + + * Make the avian VM a known runtime. + + -- Matthias Klose Sat, 08 Sep 2012 16:01:31 +0200 + +openjdk-7 (7u3-2.1.2-2) unstable; urgency=high + + * Pass -avoid-version to libtool to create a JamVM libjvm.so without SONAME + version numbers to match the Hotspot Server/Client libjvm.so. LP: #850433. + + -- Matthias Klose Tue, 04 Sep 2012 17:55:43 +0200 + +openjdk-7 (7u3-2.1.2-1) unstable; urgency=high + + * IcedTea7 2.1.2 release. + * Security fixes + - CVE-2012-4681, S7162473: Reintroduce PackageAccessible checks removed + in 6788531. + - S7162476, CVE-2012-1682: XMLDecoder security issue via ClassFinder. + - S7194567, CVE-2012-3136: Improve long term persistence of java.beans + objects. + - S7163201, CVE-2012-0547: Simplify toolkit internals references. + * d/p/hotspot-sparc.diff: Remove, integrated upstream. + * Stop running the mauve tests. + + -- Matthias Klose Mon, 03 Sep 2012 23:17:11 +0200 + +openjdk-7 (7~u3-2.1.1-3) unstable; urgency=low + + * d/rules: Ensure we don't remove -02 (default) when -03 is disabled + (fix jamvm FTBFS on armhf without -02). + * d/patches/gcc-jdk-opt-O0.diff, d/patches/gcc-jdk-opt-O2.diff, + d/patches/gcc-no-hardening.diff, d/patches/gcc-opt-O2.diff: removed. + + -- Damien Raude-Morvan Wed, 25 Jul 2012 21:18:15 +0200 + +openjdk-7 (7~u3-2.1.1-2) unstable; urgency=low + + * d/rules: On Debian Wheezy/Sid bump Build-Depends on libnss3-dev + (>= 2:3.13.4) and Depends on libnss3 (>= 2:3.13.4) (ie. with epoch). + (Closes: #679465). + * d/control: Suggests icedtea-7-plugin instead of icedtea6-plugin + (Closes: #680284). + * d/patches/7130140-MouseEvent-systemout.diff: Remove "MEvent. CASE!" from + console output. (Closes: #679036). + * Disable -O3 compile: cause wrong Math.* computations. + (Closes: #679292 and Closes: #678228). LP: #1044857. + * debian/patches/FreetypeFontScaler_getFontMetricsNative.diff: + Fix "OpenJDK returns the text height greater than font size". + (Closes: #657854) + + -- Damien Raude-Morvan Sat, 30 Jun 2012 18:17:51 +0200 + +openjdk-7 (7~u3-2.1.1-1) unstable; urgency=medium + + * New upstream release with security fixes (Closes: #677486): + - S7079902, CVE-2012-1711: Refine CORBA data models + - S7110720: Issue with vm config file loadingIssue with + vm config file loading + - S7143606, CVE-2012-1717: File.createTempFile should be improved + for temporary files created by the platform. + - S7143614, CVE-2012-1716: SynthLookAndFeel stability improvement + - S7143617, CVE-2012-1713: Improve fontmanager layout lookup operations + - S7143851, CVE-2012-1719: Improve IIOP stub and tie generation in RMIC + - S7143872, CVE-2012-1718: Improve certificate extension processing + - S7145239: Finetune package definition restriction + - S7152811, CVE-2012-1723: Issues in client compiler + - S7157609, CVE-2012-1724: Issues with loop + - S7160677: missing else in fix for 7152811 + - S7160757, CVE-2012-1725: Problem with hotspot/runtime_classfile + - S7165628, CVE-2012-1726: Issues with + java.lang.invoke.MethodHandles.Lookup + * Patches merged upstream: + - debian/patches/arm-thumb-fix.diff + - debian/patches/gcc-4.7.diff + + [ James Page ] + * Cherry picked patch from openjdk-6 to fix handling of + ICC profiles (LP: #888123, #888129) (Closes: #676351). + + [ Damien Raude-Morvan ] + * Move libgnome2-0, libgnomevfs2-0, libgconf2-4 from Depends of JRE package + to Recommends (Closes: #661465). + * New jni_md_h_JNIEXPORT_visibility.patch to allow JNIEXPORT definition + to work with -fvisibility=hidden. (Closes: #670896). + + -- Damien Raude-Morvan Mon, 11 Jun 2012 21:01:10 +0200 + +openjdk-7 (7~u3-2.1.1~pre1-2) unstable; urgency=low + + * Don't mark the -demo package as Multi-Arch same. Closes: #670038. + * Build using gcc-4.4 on mips, mipsel. + * Build again with older gcj version on s390 (4.6). + + -- Matthias Klose Thu, 03 May 2012 10:44:20 +0200 + +openjdk-7 (7~u3-2.1.1~pre1-1ubuntu3) precise-proposed; urgency=low + + * Default to the ARM assembler interpreter instead to JamVM on + ARM. LP: #993380. + + -- Matthias Klose Wed, 02 May 2012 17:58:20 +0200 + +openjdk-7 (7~u3-2.1.1~pre1-1ubuntu2) precise; urgency=low + + * Use the /usr/bin path for the policytool desktop file. LP: #980205. + Closes: #670037. + + -- Matthias Klose Thu, 12 Apr 2012 23:29:06 +0200 + +openjdk-7 (7~u3-2.1.1~pre1-1ubuntu1) precise; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Wed, 11 Apr 2012 07:21:41 +0200 + +openjdk-7 (7~u3-2.1.1~pre1-1) unstable; urgency=low + + * Update from the IcedTea7-2.1 release branch (20110410). + * Install desktop files again, using the common /usr/bin/java + interpreter name. + * Build-depend on libpng-dev for newer releases. Closes: #662452. + * Let dlopen handle finding the libpcsclite library. LP: #898689. + * Build-depend on fonts-ipafont-mincho, fixing a build failure in the + fontconfig compiler (find out why it breaks ...). + * Build using gcc-4.7/gcj-4.7 for sid/wheezy, fix build failure. + * Remove `-icedtea' suffix from the release identification. + * Fix arm thumb build, update taken from IcedTea6. + + -- Matthias Klose Tue, 10 Apr 2012 14:11:09 +0200 + +openjdk-7 (7~u3-2.1-4) unstable; urgency=low + + [ Matthias Klose ] + * Don't install the binary fontconfig file. LP: #964303. + + [ Damien Raude-Morvan ] + * Remove libxp-dev check in configure.ac, it's not needed anymore + (Closes: #657260) and so drop build dependency on libxp-dev. + * Fix FTBFS with glib 2.32 by adding explicit dependency gthread-2.0.pc + (Closes: #665666). + * Use libpng-dev instead of libpng12-dev for wheezy/sid (Closes: #662453). + + -- Damien Raude-Morvan Mon, 09 Apr 2012 00:21:20 +0200 + +openjdk-7 (7~u3-2.1-3) unstable; urgency=low + + * d/rules,Makefile.am: Improve handling of dpkg-buildflags: don't overwrite + CFLAGS of hotspot but use EXTRA_* flags into icedtea and openjdk Makefile. + (Closes: #661695). + * d/rules: Build everything with -03 opt level (jamvm, cacao and jdk) + * d/patches/kfreebsd-support-*.diff: Refresh kfreebsd patches and + fix FTBFS on k-i386 (ie. at least on a sid VM). + * Backport S7104625 as d/patches/icedtea7-forest-jdk_7104625*.patch + to check for logging to prevent wasted CPU (Closes: #651423). + + -- Damien Raude-Morvan Tue, 06 Mar 2012 01:09:09 +0100 + +openjdk-7 (7~u3-2.1-2) unstable; urgency=low + + [ Matthias Klose ] + * Use NanumMyeongjo as the preferred korean font. LP: #792471. + * Fix crash in java.net.NetworkInterface.getNetworkInterfaces() when + ifr_ifindex exceeds 255. LP: #925218. S7078386. + * Use IPAfont as the preferred japanesse font. Closes: #646054. + * Build using gcj on alpha and armel. Closes: #655750. + + [ Damien Raude-Morvan ] + * d/patches/sparc-stubgenerator.diff: Fix FTBFS on sparc on + stubGenerator_sparc.cpp by using explicit class typedef + (Closes: #660871). + * d/patches/fix_extra_flags.diff: Improve support for hardened build, + also send flags to jdk build and send -Wl,-z,relro during hotspot link. + * Bump Standards-Version to 3.9.3: no changes needed. + * d/control: Don't use nonexistent dlopenjl:Recommends substvar, + replaced by dlopenhl:Recommends. + * d/*.{prerm,postrm}: Use set -e inside script instead of sh -e shebang. + * Cleanup lintian-overrides. + + -- Damien Raude-Morvan Wed, 29 Feb 2012 00:52:49 +0100 + +openjdk-7 (7~u3-2.1-1ubuntu2) precise; urgency=low + + * Make sure that the nss.cfg doesn't mention any library path. + LP: #939361, #939419. + * Disable the accessibility wrapper, doesn't work yet. LP: #935296. + + -- Matthias Klose Fri, 24 Feb 2012 15:10:12 +0100 + +openjdk-7 (7~u3-2.1-1ubuntu1) precise; urgency=low + + [ Damien Raude-Morvan ] + * d/patches/jexec.diff: Dropped, uneeded and not compatible with multi-arch. + * d/rules: Use dpkg-buildflags to enable hardened build. + (Closes: #660021). + + [ Matthias Klose ] + * Merge r522 from openjdk6: + - Make upgrades from non-multiarch to multiarch builds more silent. + - Fix order of grant decls in java.policy. + - Make doc files multi-arch installable. + - JB-archive.applications.in: Use /usr/bin/java by default. Maybe + should be moved to the default-jdk package. + * Explicitly look for the gthread-2.0 pkgconfig module. + + -- Matthias Klose Wed, 22 Feb 2012 14:07:16 +0100 + +openjdk-7 (7~u3-2.1-1) unstable; urgency=low + + * Update icedtea7 2.1 (OpenJDK7 ~u3 release): + - Check for logging to prevent wasted CPU (Closes: #651423). + * Fix following security issues: + - S7082299, CVE-2011-3571: Fix in AtomicReferenceArray + - S7088367, CVE-2011-3563: Fix issues in java sound + - S7110683, CVE-2012-0502: Issues with some KeyboardFocusManager method + - S7110687, CVE-2012-0503: Issues with TimeZone class + - S7110700, CVE-2012-0505: Enhance exception throwing mechanism in + ObjectStreamClass + - S7110704, CVE-2012-0506: Issues with some method in corba + - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object + - S7118283, CVE-2012-0501: Better input parameter checking in zip file + processing + - S7126960, CVE-2011-5035: Add property to limit number of request headers + to the HTTP Server + + [ Matthias Klose ] + * openjdk-7-jre-lib: Mark as Multi-Arch: foreign. + + [ Damien Raude-Morvan ] + * Merge r501-521 from openjdk6: + - Fix plugin name in jinfo file. + - Fix build flags for cppInterpreter_arm.o. + - Use java-atk-wrapper instead of java-access-bridge for accessibility. + - Make the java.policy file multi-arch installable. + - Don't install desktop and menu files for multiarch builds. + Needs a better solution. + - Don't install an alternative for the deprecated apt tool. + - Make the upgrade from a non-multiarch installation location more + robust; don't depend on version numbers, but check the path of the + alternatives. + - Disable test for armel and powerpc (broken on buildd) + * d/rules: Make symbolic links to src.zip on /usr/lib/jvm/java-7-openjdk-amd64 + like openjdk-6-jdk (Closes: #649618). + * d/rules: Pass -n to gzip when compressing manpages to be Multi-Arch: same safe. + * d/rules: Add build-arch/build-indep target. + * d/rules: Re-enable Cacao VM! + * d/{rules,control}: Only rhino 1.7R3 is supported by openjdk7, update B-D. + * d/patches/hotspot-s390.diff: Update for latest Hotspot. + * d/patches/icedtea-patch.diff: Move nssLibraryDirectory handling to d/rules. + * d/rules: Remove --with-*-drop-zip options, as code drops are embedded. + * d/patches/hsx23-zero.patch, patches/shark-compiler-fixes.patch: + Fix FTBFS for Zero under Hotspot >= v22. + * d/patches/kfreebsd-*: Refreshed. + * d/control: Make openjdk-7-source:all package binNMU-able by using + Depends ">=" on openjdk-7-jre (ie. src.zip won't change). + + -- Damien Raude-Morvan Wed, 15 Feb 2012 20:55:52 +0100 + +openjdk-7 (7~b147-2.0-1) unstable; urgency=low + + * New upstream IcedTea7 release. + - S7000600, CVE-2011-3547: InputStream skip() information leak. + - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor. + - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow. + - S7032417, CVE-2011-3552: excessive default UDP socket limit under + SecurityManager. + - S7046794, CVE-2011-3553: JAX-WS stack-traces information leak. + - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting + engine. + - S7055902, CVE-2011-3521: IIOP deserialization code execution. + - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error + checks. + - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack + against SSL/TLS (BEAST). + - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer. + - S7077466, CVE-2011-3556: RMI DGC server remote code execution. + - S7083012, CVE-2011-3557: RMI registry privileged code execution. + - S7096936, CVE-2011-3560: missing checkSetFactory calls in + HttpsURLConnection. + + [ Matthias Klose ] + * Merge debian packaging r501 from openjdk-6: + - Tighten inter-package dependencies for Debian builds. Closes: #641240. + * Build-depend on wdiff. + + -- Damien Raude-Morvan Sat, 01 Oct 2011 10:53:15 +0200 + +openjdk-7 (7~b147-2.0~pre6-2) unstable; urgency=low + + * d/rules: Fix java.policy to include jre/lib/ext/* files (instead of + non-existant ext/*). It'll restore privilegied access from sunpkcs11.jar + to sun.* code. + * d/patches/s390_hotspot_fix.diff: Update to fix FTBFS on s390. + + -- Damien Raude-Morvan Sat, 01 Oct 2011 10:53:15 +0200 + +openjdk-7 (7~b147-2.0~pre6-1) unstable; urgency=low + + * Update to IcedTea7 (20110928). + + [ Matthias Klose ] + * Merge debian packaging r496 from openjdk-6: + - Fix dangling java-1.7.0-openjdk symlink for non-multiarch builds. + + [ Damien Raude-Morvan ] + * d/rules: --disable-compile-against-syscalls for kFreeBSD (since there is + no epoll support). + * Update patches: + - d/patches/sun-awt-buildsystem.diff: Drop, merged upstream. + - d/patches/icedtea-override-redirect-compiz.patch: Refresh. + - d/patches/s390_hotspot_fix.diff: Extracted (instead of direct patch). + * Add Build-Depends on libattr1-dev. + + -- Damien Raude-Morvan Wed, 28 Sep 2011 17:19:33 +0200 + +openjdk-7 (7~b147-2.0~pre5-1) unstable; urgency=low + + * Update to IcedTea7 (20110914). + - d/patches/jdk-no-mapfile.diff: Drop, merged in icedtea7-forest + (for real this time). + - d/patches/sun-awt-buildsystem.diff: Fix icedtea7-forest awt build. + * d/patches/kfreebsd-support-jdk.diff: Refresh. + * d/patches/icedtea-patch.diff: Remove usage of nssLibraryDirectory because + while it works for nss3, it fails for softokn3 (since the latter is + in nss/ subdirectory). Without this parameter, openjdk-7 will rely on + default ld.so behavior. (Closes: #637337, #638008) + In openjdk-6, nssLibraryDirectory was not used to load softokn3 (Secmod). + * d/control: openjdk-7-jre Provides java7-runtime, openjdk-7-jre-headless + Provides java7-runtime-headless and openjdk-7-jdk Provides java7-jdk. + (Closes: #641668). + + -- Damien Raude-Morvan Mon, 19 Sep 2011 16:33:15 +0200 + +openjdk-7 (7~b147-2.0~pre4-1) unstable; urgency=low + + * Update to IcedTea7 (20110906): + - JamVM: support for armhf and other various fixes. + * Upload to unstable. + * Regenerate control file for debian unstable. + * Makefile.am: Force JAVA_HOME for ant call to --with-jdk-home value (without + this, it defaults to existing JAVA_HOME env or /usr/bin/java link) + + -- Damien Raude-Morvan Mon, 05 Sep 2011 23:50:43 +0200 + +openjdk-7 (7~b147-2.0~pre3-3ubuntu2) oneiric; urgency=low + + * Merge debian packaging r491 from openjdk-6: + - Move the -lib files into a different location so that the java-7-openjdk + name can be used as a symlink. + - Symlink the jre/cmm directory, instead of the files inside. Closes: #639883. + + -- Matthias Klose Thu, 01 Sep 2011 21:08:45 +0200 + +openjdk-7 (7~b147-2.0~pre3-3ubuntu1) oneiric; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Sun, 28 Aug 2011 23:42:18 +0200 + +openjdk-7 (7~b147-2.0~pre3-3) experimental; urgency=low + + * Merge debian packaging r485:489 from openjdk-6: + - Build using GCC-4.4 on sparc and sparc64. + - Enable testsuite runs in s390x. + * Merge debian packaging r490 from openjdk-6: + - Set plugin name for the jinfo file. Closes: #638548, + - Disable the mauve testsuite on i386. + - Make the installation multiarch aware. + + -- Matthias Klose Sun, 28 Aug 2011 20:42:54 +0200 + +openjdk-7 (7~b147-2.0~pre3-2) experimental; urgency=low + + * d/patches/jdk-no-mapfile.diff: Re-add was not merged into + current (e46d527097f1) revision but latter. + + -- Damien Raude-Morvan Mon, 22 Aug 2011 00:11:33 +0200 + +openjdk-7 (7~b147-2.0~pre3-1) experimental; urgency=low + + * Update to IcedTea7 (20110821): + - JamVM updates. + - S7070134,S7044738,S7068051,S7073913: Fix random segfaults + and related invalid results from loop unroll optimization. + - d/patches/jdk-no-mapfile.diff: Drop, merged in icedtea7-forest. + + [ Matthias Klose ] + * Build using GCC-4.4 on mips/mipsel. Closes: #628620. + * Merge debian packaging r482:485 from openjdk-6: + - Call dbus-launch --exit-with-session in testsuite. Closes: #612394. + - Build for s390x using Zero. + + [ Damien Raude-Morvan ] + * d/patches/kfreebsd-support-hotspot.diff: Add workaround + to handle #637378. + * d/generate-dfsg-zip.sh: Update to also handle langtools.tar.gz. + Closes: #623693. + + -- Damien Raude-Morvan Sun, 21 Aug 2011 20:08:50 +0200 + +openjdk-7 (7~b147-2.0~pre2-3) experimental; urgency=low + + * d/patches/kfreebsd-support-hotspot.diff: Fix access to CPU registry under + kfreebsd-amd64. + + -- Damien Raude-Morvan Sun, 07 Aug 2011 12:22:47 +0200 + +openjdk-7 (7~b147-2.0~pre2-2) experimental; urgency=low + + * d/patches/kfreebsd-support-jamvm.diff: Add support for kfreebsd-amd64. + * d/patches/kfreebsd-support-hotspot.diff: Small fixes for Hotspot on + kfreebsd-i386. + * Split d/patches/hotspot-s390.diff and zero-missing-headers.diff. + * Re-add missing changes from last upload: + - patches/use-idx_t.patch: Edit upstream patch to avoid FTBFS on s390. + - Makefile.{am,im}: Force bootclasspath (useful when building from + openjdk-6). + + -- Damien Raude-Morvan Sat, 06 Aug 2011 23:50:58 +0200 + +openjdk-7 (7~b147-2.0~pre2-1) experimental; urgency=low + + * Update to icedtea7-forest snapshot (20110804): + - d/patches/pr753.diff: drop, merged in icedtea7-forest. + - d/patches/pr757.diff: drop, merged in icedtea7-forest. + - d/patches/zero-jsr292-fixes.diff: drop, merged in icedtea7-forest. + - d/patches/no-compiler-path.diff: drop, now handled correctly icedtea7's + configure and openjdk's Makefile (by CC and CXX environment variables). + - Updated JamVM to the 2011-08-01 revision. + + [ Damien Raude-Morvan ] + * d/patches/zero-fpu-control-is-noop.diff: Remove ShouldNotCallThis from + os_linux_zero.cpp (fix crash under i386). + * d/rules: Enable support for GNU/kFreeBSD arch: + - d/patches/kfreebsd-support-*: Update with latest fixes. + - d/patches/kfreebsd-sync-issues.diff: hack to force some wait + until we fix sync issues. + - d/rules: Enable shark for GNU/kFreeBSD. + * d/rules: Use DEB_HOST_ARCH_CPU for jvmarch/archdir. Thanks to + Jérémie Koenig for patch. + * d/patches/jexec.diff: Update for openjdk-7. + * d/JB-jdk.overrides.in: Fix override for new Lintian 2.5.0 path handling. + * d/icedtea-7-jre-jamvm.overrides: As for others libjvm.so, we use + --strip-debug instead of --strip-unneeded. + * d/source.lintian-overrides: Drop, not used anymore in openjdk-7. + + [ Matthias Klose ] + * Merge debian packaging r472:482 from openjdk-6: + - openjdk-6-jre-headless: Depend on icedtea-6-jre-jamvm, if it's + the default VM. + - Use gcj-4.4 as the stage1 java VM on mips and mipsel. + - Make JamVM the default VM on Ubuntu oneiric/ARM. + + -- Matthias Klose Thu, 04 Aug 2011 11:38:01 +0200 + +openjdk-7 (7~b147-2.0~pre1-1) experimental; urgency=low + + * New b147 code drop (OpenJDK7 RC1). + + [ Matthias Klose ] + * Fix build on sparc64. + * Recognize 32bit user space on sparc. + * Build shark using llvm-2.9. + + [ Damien Raude-Morvan ] + * d/patches/zero-jsr292-fixes.diff: Fixes on Zero/Shark for JSR 292 support + from Chris Phillips . + * d/generate-dfsg-zip.sh: Update for OpenJDK7 as a first step to get #623693 + fixed. + * d/patches/kfreebsd-*: WiP patches for GNU/kFreeBSD support + (not yet enabled by default). + + -- Matthias Klose Sun, 17 Jul 2011 16:08:51 +0200 + +openjdk-7 (7~b143-2.0~pre1-2) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Tue, 12 Jul 2011 14:30:01 +0200 + +openjdk-7 (7~b143-2.0~pre1-1ubuntu1) oneiric; urgency=low + + * Fix zero builds on non-ix86 architectures. + * Fix build on sparc. + * Build using jpeg8. + + -- Matthias Klose Tue, 12 Jul 2011 14:25:24 +0200 + +openjdk-7 (7~b143-2.0~pre1-1) experimental; urgency=low + + [ Damien Raude-Morvan ] + * New b143 code drop. + * Drop d/patches/7031385.diff: Merged upstream. + * Drop d/patches/jamvm-oj7.patch: Merged upstream. + * Manpages are now ja_JP.UTF-8 instead of ja_JP.eucJP + + [ Matthias Klose ] + * Apply fix for IcedTea issue #753, #757. + * Update s390 hotspot build fixes. + * Re-enable zero on i386. + + -- Matthias Klose Sun, 10 Jul 2011 14:28:17 +0200 + +openjdk-7 (7~b136-2.0~pre1-2) experimental; urgency=low + + * Disable zero on i386. + + -- Matthias Klose Sun, 29 May 2011 12:37:03 +0200 + +openjdk-7 (7~b136-2.0~pre1-1ubuntu1) oneiric; urgency=low + + * Upload to oneiric. + + -- Matthias Klose Sun, 29 May 2011 07:59:01 +0200 + +openjdk-7 (7~b136-2.0~pre1-1) experimental; urgency=low + + [ Matthias Klose ] + * Fix non-bootstrap builds. + * Merge debian packaging r469:472 from openjdk-6. + * Run jtreg tests using JamVM too. + * Don't run the jtreg tests with the NSS security provider enabled. + * Update JamVM to 20110528. + * Re-enable the zero build, keep the shark builds disabled. + + [ Damien Raude-Morvan ] + * Only apply jamvm-oj7.patch when jamvm build in enabled. + + -- Matthias Klose Sat, 28 May 2011 17:17:23 +0200 + +openjdk-7 (7~b136-1.14+debian1-1) experimental; urgency=low + + * New upstream release: Icedtea 1.14. + - debian/patches/jamvm-oj7.patch: support new instruction + (JVM_FindClassFromBootLoader) in JamVM. + - Makefile.am: Fix some missing depends between + patch and extract targets. + * debian/patches/nonreparenting-wm.diff: Update. + * Replace B-D on libxalan2-java by xsltproc for bootstrapping JMVTI. + * Don't use GCJ_SUFFIX=4.6 for sid/wheezy/oneiric as GCJ version + is not homogeneous between arch. + * Enable JamVM support: + - d/control: Add B-D on libtool. + + -- Damien Raude-Morvan Thu, 26 May 2011 23:03:56 +0200 + +openjdk-7 (7~b136-1.14~pre0-4) experimental; urgency=low + + * Re-add build dependency on fastjar. + * Fix dependency on liblcms2-2. + + -- Matthias Klose Sun, 08 May 2011 10:21:21 +0200 + +openjdk-7 (7~b136-1.14~pre0-3) experimental; urgency=low + + * Fix liblcms dependency for -jre-headless package. + + -- Damien Raude-Morvan Sat, 07 May 2011 17:20:15 +0200 + +openjdk-7 (7~b136-1.14~pre0-2ubuntu2) oneiric; urgency=low + + * Re-add build dependency on fastjar. + + -- Matthias Klose Sun, 08 May 2011 02:51:47 +0200 + +openjdk-7 (7~b136-1.14~pre0-2) experimental; urgency=low + + * Fix build failure on i386 with GCC 4.6. + + -- Matthias Klose Fri, 06 May 2011 17:10:00 +0200 + +openjdk-7 (7~b136-1.14~pre0-1) experimental; urgency=low + + [ Damien Raude-Morvan ] + * New b136 code drop: + - d/rules: Use jaxp-1_4_5-dev1.zip as jaxp-drop-zip. + - d/patches/icedtea-pretend-memory.diff: Refreshed. + + [ Matthias Klose ] + * Fix -jre-lib dependency on -jre. Closes: #624846. + * Add lcms configury. + + -- Matthias Klose Thu, 05 May 2011 21:08:55 +0200 + +openjdk-7 (7~b130-1.14~pre0-2) experimental; urgency=low + + * Remove obsolete conflicts. Closes: #624090. + * Add copyright for the rewriter class. Addresses part of #623693. + * Lower priorities for the alternatives below these of OpenJDK 6, + as long as OpenJDK 7 is not yet released. + * Don't build HotSpot with -Werror on architectures other than amd64 + and i386. + + -- Matthias Klose Wed, 27 Apr 2011 23:03:45 +0200 + +openjdk-7 (7~b130-1.14~pre0-1) experimental; urgency=low + + * New b130 code drop. + * Merge debian packaging r464:469 from openjdk-6. + * Do not bump the epoch, package was never uploaded to any official + repository. + + -- Matthias Klose Wed, 20 Apr 2011 21:46:32 +0200 + +openjdk-7 (1:7~b129-1.14~pre0-1) experimental; urgency=low + + * New b129 code drop. + * Bump epoch to 1 and use ~ to indicate that's not openjdk-7 final relaase. + + -- Damien Raude-Morvan Mon, 14 Feb 2011 00:34:45 +0100 + +openjdk-7 (7b128-1.14~pre0-1) UNRELEASED; urgency=low + + * New b128 code drop. + * Exclude "release" file for dh_install. + + -- Damien Raude-Morvan Mon, 07 Feb 2011 23:45:13 +0100 + +openjdk-7 (7b126-1.14~pre0-1) UNRELEASED; urgency=low + + * Merge debian packaging r446:464 from openjdk-6 + but keep the following changes : + - Replace DISABLE_PRECOMPILED_HEADER=1 by USE_PRECOMPILED_HEADER=0 + - Use "ant, ant-optionnal" for all distrel + - Drop "with_hotspot" variable (only one hotspot supported by IcedTea7) + - Drop --enable-xrender (not supported by IcedTea7) + * New b125 code drop: + - d/rules: Use new archives by --with-*-src-zip + * Refresh patches: + - d/patches/shebang.diff: Year updated + - d/patches/ld-symbolic-functions.diff and + d/patches/no-compiler-path.diff: Changed corba generic Makefiles. + - d/patches/default-jvm-cfg.diff and d/patches/set-exec-name.diff: + Upstream merged "solaris" and "linux" java.c and java_md.c + * Drop patches: + - d/patches/too-many-args-ftbfs.diff (merged upstream) + - d/patches/sparc.diff (merges upstream) + - d/patches/hotspot-include-fixes.diff (includeDB dropped upstream) + + -- Damien Raude-Morvan Mon, 24 Jan 2011 00:18:38 +0100 + +openjdk-7 (7b106~pre1-0lucid2) lucid; urgency=low + + * Build for lucid. + + -- Matthias Klose Thu, 09 Sep 2010 15:32:13 +0200 + +openjdk-7 (7b106~pre1-0ubuntu2) maverick; urgency=low + + * Build openjdk-7 snapshot (7b106) + * Symlink timezone data. + * Disable shark builds, currently broken in 7b106. + + -- Matthias Klose Tue, 07 Sep 2010 04:56:48 +0200 + +openjdk-7 (7b89-1.13-0ubuntu1) maverick; urgency=low + + * Update to the IcedTea 1.13 release. + * openjdk-7-jre: Recommend ttf-dejavu-extra. LP: #569396. + + -- Matthias Klose Fri, 30 Jul 2010 01:19:45 +0200 + +openjdk-7 (7b89~pre1-0lucid3) lucid; urgency=low + + * Include docs in the -doc package. LP: #600834. + * Update from the IcedTea6 trunk. + - Plugin and netx fixes. + - Don't link the plugin against the libxul libraries. Closes: #576361. + - More plugin cpu usage fixes. Closes: #584335, #587049. + - Plugin: fixes AppletContext.getApplets(). + * Fix Vcs-Bzr location. Closes: #530883. + * Search for unversioned llvm-config tool. + * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641. + * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font. + LP: #472845. + * Strip libjvm.so with --strip-debug instead of --strip-unneeded. + LP: #574997. + * Fix inter-package dependencies. + + -- Matthias Klose Thu, 15 Jul 2010 18:12:17 +0200 + +openjdk-7 (7b89~pre1-0lucid1) lucid; urgency=low + + [ Damien Raude-Morvan ] + * Merge debian packaging r403:430 from openjdk-6. + * Add myself to Uploaders. + * Build openjdk-7 snapshot (7b89) + * Use ant+ant-optional (IcedTea7 support ant 1.8). + * Merge debian packaging r431:436 from openjdk-6. + + [ Matthias Klose ] + * Merge debian packaging r430:445 from openjdk-6. + * Update debian patches to 7b89. + * Reenable the two stage build. + * Reenable building cacao. + * Reenable building zero. + + -- Matthias Klose Tue, 13 Jul 2010 10:32:11 +0200 + +openjdk-7 (7b77-0ubuntu1~ppa1) lucid; urgency=low + + * Build openjdk-7 snapshot (7b77). + * Merge debian packaging r391:403 from openjdk-6. + + -- Matthias Klose Mon, 21 Dec 2009 16:58:34 +0100 + +openjdk-7 (7b72-0ubuntu1~ppa1) karmic; urgency=low + + * Build openjdk-7 snapshot (7b72). + * Merge debian packaging r371:391 from openjdk-6. + * Disable the zero build for now. + + -- Matthias Klose Sat, 03 Oct 2009 16:35:27 +0200 + +openjdk-7 (7b66-0ubuntu1~ppa1) karmic; urgency=low + + * Build openjdk-7 snapshot (7b66). + * Merge debian packaging r362:371 from openjdk-6. + + -- Matthias Klose Thu, 06 Aug 2009 12:40:00 +0200 + +openjdk-7 (7b59-0ubuntu1) karmic; urgency=low + + * Reenable the build of zero. + * Reapply fontconfig patch. + * Apply icedtea-cacao-no-mmap-first-page patch. + + -- Matthias Klose Fri, 29 May 2009 10:19:26 +0200 + +openjdk-7 (7b59-0ubuntu1~ppa1) karmic; urgency=low + + * Build openjdk-7 snapshot (7b59). + * Merge debian packaging r205:362 from openjdk-6. + + -- Matthias Klose Wed, 27 May 2009 12:09:16 +0200 + +openjdk-7 (7b40-0ubuntu2) jaunty; urgency=low + + * Add build dependency on libxrender-dev. + * Don't use fastjar on ia64, working around a build failure. + * Add configury for shark builds. + + -- Matthias Klose Thu, 04 Dec 2008 16:26:15 +0100 + +openjdk-7 (7b40-0ubuntu1) jaunty; urgency=low + + * Build openjdk-7 snapshot (7b40). + * Update packaging for openjdk-7. + + -- Matthias Klose Tue, 02 Dec 2008 14:27:03 +0100 + +openjdk-6 (6b22-1.10.1-0ubuntu1) natty; urgency=low + + * IcedTea6 1.10.1 release. + + -- Matthias Klose Tue, 05 Apr 2011 12:20:36 +0200 + +openjdk-6 (6b22-1.10.1~pre1-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sat, 26 Mar 2011 10:43:49 +0100 + +openjdk-6 (6b22-1.10.1~pre1-0ubuntu1) natty; urgency=low + + * Update from the IcedTea6-1.10 release branch (20110325). + * Add multiarch directories to the default library path. LP: #737603. + + -- Matthias Klose Fri, 25 Mar 2011 16:33:57 +0100 + +openjdk-6 (6b22-1.10-3) experimental; urgency=low + + * Fix JamVM build on mips/mipsel (Robert Lougher). + * Re-enable the JamVM build on mips/mipsel. + + -- Matthias Klose Sun, 06 Mar 2011 15:01:54 +0100 + +openjdk-6 (6b22-1.10-2) experimental; urgency=low + + * Mention that IcedTea is copyrigh GPLv2 + "CLASSPATH" EXCEPTION. + Closes: #611269. + * Don't run the jdk checks for the alternate builds (hotspot and + langtools checks are still run). + * Disable the JamVM build on mips/mipsel. + + -- Matthias Klose Sat, 05 Mar 2011 16:13:40 +0100 + +openjdk-6 (6b22-1.10-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Fri, 04 Mar 2011 16:12:50 +0100 + +openjdk-6 (6b22-1.10-0ubuntu2) natty; urgency=low + + * Disable the jdk tests with the Shark, JamVM and Cacao VMs. + + -- Matthias Klose Fri, 04 Mar 2011 15:32:50 +0100 + +openjdk-6 (6b22-1.10-0ubuntu1) natty; urgency=low + + * IcedTea6 1.10 release. + + -- Matthias Klose Thu, 03 Mar 2011 09:32:19 +0100 + +openjdk-6 (6b21~pre3-0ubuntu1) natty; urgency=low + + * Update from the IcedTea6 trunk (20110224). + * icedtea-6-jre-jamvm: Build JamVM as an alternative VM, + start with `java -jamvm'. + + -- Matthias Klose Thu, 24 Feb 2011 02:45:56 +0100 + +openjdk-6 (6b21~pre2-0ubuntu1) natty; urgency=low + + * Update from the IcedTea6 trunk (20110217). + * Update hotspot hs20 (not yet enabled). + * Add ppc64 packaging bits. + + -- Matthias Klose Fri, 18 Feb 2011 15:55:41 +0100 + +openjdk-6 (6b21~pre1-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sat, 22 Jan 2011 15:34:21 +0100 + +openjdk-6 (6b21~pre1-0ubuntu1) natty; urgency=low + + * Update to 6b21. + + -- Matthias Klose Sat, 22 Jan 2011 14:28:28 +0100 + +openjdk-6 (6b20-1.10~pre3-0ubuntu4) natty; urgency=low + + * Fix shark build on powerpc. + + -- Matthias Klose Fri, 24 Dec 2010 11:06:32 +0100 + +openjdk-6 (6b20-1.10~pre3-0ubuntu3) natty; urgency=low + + * Update from the IcedTea6 trunk (20101223). + + -- Matthias Klose Thu, 23 Dec 2010 14:27:17 +0100 + +openjdk-6 (6b20-1.10~pre3-0ubuntu1) natty; urgency=low + + * Update from the IcedTea6 trunk (20101126). + * Update hotspot hs19. + * Fix build failures on ia64, s390 and sparc64. + + -- Matthias Klose Fri, 26 Nov 2010 16:38:16 +0100 + +openjdk-6 (6b20-1.10~pre2-0ubuntu7~ppa1) natty; urgency=low + + * Reenable shark on amd64, but build using llvm-2.7. + + -- Matthias Klose Thu, 21 Oct 2010 23:59:30 +0200 + +openjdk-6 (6b20-1.10~pre2-0ubuntu5) natty; urgency=low + + * Don't try to set up an alternative for javaws + + -- Matthias Klose Thu, 21 Oct 2010 17:38:48 +0200 + +openjdk-6 (6b20-1.10~pre2-0ubuntu3) natty; urgency=low + + * Stop building zero/shark on amd64. Fails the self tests. + + -- Matthias Klose Thu, 21 Oct 2010 13:49:56 +0200 + +openjdk-6 (6b20-1.10~pre2-0ubuntu2) natty; urgency=low + + * Don't include OpenJDK's javaws either. + * openjdk-6-jre: Recommend icedtea-netx. + + -- Matthias Klose Thu, 21 Oct 2010 08:34:07 +0200 + +openjdk-6 (6b20-1.10~pre2-0ubuntu1) natty; urgency=low + + * Update from the IcedTea6 trunk (20101020). + * Remove the plugin and javaws from the packaging, removed upstream. + + -- Matthias Klose Wed, 20 Oct 2010 17:45:09 +0200 + +openjdk-6 (6b20-1.10~pre1-0ubuntu2) natty; urgency=low + + * Build with hotspot 19. + + -- Matthias Klose Thu, 14 Oct 2010 11:28:38 +0200 + +openjdk-6 (6b20-1.10~pre1-0ubuntu1) natty; urgency=low + + * Snapshot, taken from the IcedTea6 trunk (20101013). + + -- Matthias Klose Wed, 13 Oct 2010 08:36:44 +0200 + +openjdk-6 (6b20-1.9.2-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Wed, 24 Nov 2010 05:29:43 +0100 + +openjdk-6 (6b20-1.9.2-0ubuntu1) maverick-security; urgency=low + + * IcedTea6 1.9.2 release. + - CVE-2010-3860: Fix IcedTea System property information leak via + public static. + * Build using Hotspot hs19. + * Start metacity using dbus-launch, when running the testsuite. LP: #632594. + + -- Matthias Klose Sun, 21 Nov 2010 18:30:39 +0100 + +openjdk-6 (6b20-1.9.1-1ubuntu3) maverick-security; urgency=low + + * Move all japanese man pages belonging to the jre into the -jre package. + Closes: #600765. + * Add -jdk replaces for -jre and -jre-headless. Closes: #600809. + + -- Matthias Klose Wed, 20 Oct 2010 12:51:34 +0200 + +openjdk-6 (6b20-1.9.1-1ubuntu1) maverick-security; urgency=low + + * Fix upgrade to symlinked timezone data. Closes: #600359. + * Move all japanese man pages belonging to the jre into the -jre package. + Closes: #600765. + + -- Matthias Klose Mon, 18 Oct 2010 16:07:48 +0200 + +openjdk-6 (6b20-1.9.1-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Tue, 12 Oct 2010 15:07:35 +0200 + +openjdk-6 (6b20-1.9.1-0ubuntu1) maverick-security; urgency=low + + * IcedTea6 1.9.1 release. + - Security updates: + - S6914943, CVE-2009-3555: TLS: MITM attacks via session renegotiation. + - S6559775, CVE-2010-3568: OpenJDK Deserialization Race condition. + - S6891766, CVE-2010-3554: OpenJDK corba reflection vulnerabilities. + - S6925710, CVE-2010-3562: OpenJDK IndexColorModel double-free. + - S6938813, CVE-2010-3557: OpenJDK Swing mutable static. + - S6957564, CVE-2010-3548: OpenJDK DNS server IP address information + leak. + - S6958060, CVE-2010-3564: OpenJDK kerberos vulnerability. + - S6963023, CVE-2010-3565: OpenJDK JPEG writeImage remote code execution. + - S6963489, CVE-2010-3566: OpenJDK ICC Profile remote code execution. + - S6966692, CVE-2010-3569: OpenJDK Serialization inconsistencies. + - S6622002, CVE-2010-3553: UIDefault.ProxyLazyValue has unsafe + reflection usage. + - S6623943: javax.swing.TimerQueue's thread occasionally fails to start. + - S6925672, CVE-2010-3561: Privileged ServerSocket.accept allows + receiving connections from any host. + - S6952017, CVE-2010-3549: HttpURLConnection chunked encoding issue + (Http request splitting). + - S6952603, CVE-2010-3551: NetworkInterface reveals local network + address to untrusted code. + - S6961084, CVE-2010-3541: limit setting of some request headers in + HttpURLConnection. + - S6963285, CVE-2010-3567: Crash in ICU Opentype layout engine due to + mismatch in character counts. + - S6980004, CVE-2010-3573: limit HTTP request cookie headers in + HttpURLConnection. + - S6981426, CVE-2010-3574: limit use of TRACE method in + HttpURLConnection. + - Plugin fixes. + - Backports from newer IcedTea releases. + + -- Matthias Klose Tue, 12 Oct 2010 12:13:40 +0200 + +openjdk-6 (6b20-1.9-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Tue, 07 Sep 2010 21:19:21 +0200 + +openjdk-6 (6b20-1.9-0ubuntu1) maverick; urgency=low + + * IcedTea6 1.9 release. + + -- Matthias Klose Tue, 07 Sep 2010 18:13:20 +0200 + +openjdk-6 (6b20~pre2-0ubuntu2) maverick; urgency=low + + * Update from the IcedTea6 trunk. + * Really let the build fail on armel. + + -- Matthias Klose Fri, 30 Jul 2010 16:55:38 +0200 + +openjdk-6 (6b20~pre2-0ubuntu1) maverick; urgency=high + + * Update from the IcedTea6 trunk. + - (CVE-2010-2783): IcedTea 'Extended JNLP Services' arbitrary file access. + - (CVE-2010-2548): IcedTea incomplete property access check for unsigned + applications + * openjdk-6-jre: Recommend ttf-dejavu-extra. LP: #569396. + * Explicitely fail the build on armel. The ARM assembler interpreter is + disabled and would a 3-5x performance regression compared to the current + 6b18 armel binaries in the archive. + + -- Matthias Klose Thu, 29 Jul 2010 00:10:53 +0200 + +openjdk-6 (6b20~pre1-2) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Thu, 15 Jul 2010 13:55:02 +0200 + +openjdk-6 (6b20~pre1-1ubuntu1) maverick; urgency=low + + * Include docs in the -doc package. LP: #600834. + * Update from the IcedTea6 trunk. + - Plugin and netx fixes. + - Don't link the plugin against the libxul libraries. Closes: #576361. + - More plugin cpu usage fixes. Closes: #584335, #587049. + - Plugin: fixes AppletContext.getApplets(). + * Fix Vcs-Bzr location. Closes: #530883. + * Search for unversioned llvm-config tool. + * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641. + * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font. + LP: #472845. + * Strip libjvm.so with --strip-debug instead of --strip-unneeded. + LP: #574997. + + -- Matthias Klose Thu, 15 Jul 2010 12:40:10 +0200 + +openjdk-6 (6b20~pre1-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Mon, 28 Jun 2010 00:50:58 +0200 + +openjdk-6 (6b20~pre1-0ubuntu2) maverick; urgency=low + + * Shark & CACAO build fixes. + + -- Matthias Klose Fri, 25 Jun 2010 02:27:10 +0200 + +openjdk-6 (6b20~pre1-0ubuntu1) maverick; urgency=low + + * Update to 6b20 code drop. + + -- Matthias Klose Wed, 14 Apr 2010 02:53:37 +0200 + +openjdk-6 (6b18-1.8-4) unstable; urgency=low + + * Update from the 1.8 branch. + - Plugin and netx fixes. + - Don't link the plugin against the libxul libraries. Closes: #576361. + - More plugin cpu usage fixes. Closes: #584335, #587049. + - Plugin: fixes AppletContext.getApplets(). + - Fix race conditions in plugin initialization code that were causing + hangs when loading multiple applets in parallel. + * Fix Vcs-Bzr location. Closes: #530883. + * Search for unversioned llvm-config tool. + * Don't set XFILESEARCHPATH and NLSPATH on startup. LP: #586641. + * Fix chinese font metrics and prefer using 'WenQuanYi Micro Hei' font. + LP: #472845. + * Strip libjvm.so with --strip-debug instead of --strip-unneeded. + LP: #574997. + * Don't turn on the ARM assembler interpreter when building the shark + VM. + + -- Matthias Klose Thu, 15 Jul 2010 00:40:13 +0200 + +openjdk-6 (6b18-1.8-3) unstable; urgency=low + + * Update from the 1.8 branch. + - Plugin fixes. LP: #597714. + * Add powerpcspe build fixes (Sebastian Andrzej Siewior). Closes: #586359. + * Work around build failure on buildds configured with low ARG_MAX + (Giovanni Mascellani). Closes: #575254. + + -- Matthias Klose Sun, 27 Jun 2010 10:16:27 +0200 + +openjdk-6 (6b18-1.8-2ubuntu3) maverick; urgency=low + + * Update from the 1.8 branch. + - Plugin fixes. LP: #597714. + * Add powerpcspe build fixes (Sebastian Andrzej Siewior). Closes: #586359. + * Work around build failure on buildds configured with low ARG_MAX + (Giovanni Mascellani). Closes: #575254. + + -- Matthias Klose Sun, 27 Jun 2010 10:16:27 +0200 + +openjdk-6 (6b18-1.8-2ubuntu2) maverick; urgency=low + + * Search for unversioned llvm-config tool. + + -- Matthias Klose Sun, 02 May 2010 12:03:01 +0200 + +openjdk-6 (6b18-1.8-2ubuntu1) maverick; urgency=low + + * Upload to maverick. + + -- Matthias Klose Sun, 02 May 2010 11:23:16 +0200 + +openjdk-6 (6b18-1.8-2) unstable; urgency=low + + * Update from the 1.8 branch. + - Fix build on Hitachi SH. Closes: #575346. + - Shark and Zero fixes. + * Build shark using llvm-2.7. + * Don't use shark to run the test harness when testing the shark build. + * README.Debian: Add paragraph about debugging the IcedTea NPPlugin. + + -- Matthias Klose Sat, 01 May 2010 12:35:19 +0200 + +openjdk-6 (6b18-1.8-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Wed, 14 Apr 2010 02:53:37 +0200 + +openjdk-6 (6b18-1.8-0ubuntu1) lucid; urgency=low + + * Update IcedTea6 to the icedtea6-1.8 release. + * Fix builds on Ubuntu/dapper and Debian/lenny. + * On hppa, configure --without-rhino --disable-plugin. + * Fix Hitachi SH configury. Closes: #575346. + * Start a window manager when running the tests. Prefer metacity, + as more tests pass with it. + * Let XToolkit.isTraySupported() return true, if Compiz is running. + Works around sun#6438179. LP: #300948. + * Make /jre/lib/security/nss.cfg a config file. + * Fail in the configuration of the packages, if /proc is not mounted. + java currently uses tricks to find its own shared libraries depending + on the path of the binary. Will be changed in OpenJDK7. Closes: #576453. + * Fix PR icedtea/469, testsuite failures with the NSS based security + provider. LP: #556549. + * Do not pass LD_LIBRARY_PATH from the plugin to the java process. + While libnss3.so gets loaded from /usr/lib, the dependent libraries + are loaded from MOZILLA_FIVE_HOME (See #561216 for the wrong firefox + config). LP: #561124. + Closes as well: LP: #551328, #554909, #560829, #549010, #553452. + * Always build shark with hs14. + + -- Matthias Klose Wed, 14 Apr 2010 01:53:33 +0200 + +openjdk-6 (6b18~pre4-1ubuntu1) lucid; urgency=low + + * Build-depend on xulrunner-1.9.2-dev instead of xulrunner-dev, + unexpectedly demoted to universe. + * icedtea6-plugin: Hardcode dependency on xulrunner-1.9.2. No way + to do better? See #552780. + * Fix builds on Ubuntu hardy. + + -- Matthias Klose Wed, 31 Mar 2010 22:21:49 +0200 + +openjdk-6 (6b18~pre4-1) unstable; urgency=high + + * Upload to unstable. + + -- Matthias Klose Wed, 31 Mar 2010 16:35:18 +0200 + +openjdk-6 (6b18~pre4-0ubuntu2) lucid; urgency=low + + * Fix typo in NPPlugin code. LP: #552287. + + -- Matthias Klose Wed, 31 Mar 2010 10:41:11 +0200 + +openjdk-6 (6b18~pre4-0ubuntu1) lucid; urgency=low + + [ Matthias Klose ] + * Update IcedTea6 form the 1.8 branch. + * SECURITY UPDATE: multiple upstream vulnerabilities. Upstream fixes: + - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299). + - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors + if run with -Xcomp (6894807). + - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability + (6899653). + - (CVE-2010-0082): Loader-constraint table allows arrays instead of + only the base-classes (6626217). + - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret + network addresses (6893954) [ZDI-CAN-603]. + - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390). + - (CVE-2010-0091): Unsigned applet can retrieve the dragged information + before drop action occurs (6887703). + - (CVE-2010-0088): Inflater/Deflater clone issues (6745393). + - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains + (6633872). + - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR + error (6888149). + - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should + enforce stricter checks (6893947) [ZDI-CAN-588]. + - (CVE-2010-0093): System.arraycopy unable to reference elements + beyond Integer.MAX_VALUE bytes (6892265). + - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation + Vulnerability (6904691). + - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823). + - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability + (6914866). + - (CVE-2009-3555): TLS: MITM attacks via session renegotiation. + - 6639665: ThreadGroup finalizer allows creation of false root + ThreadGroups. + - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly. + encoded CommonName OIDs. + - 6910590: Application can modify command array in ProcessBuilder. + - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability. + - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? + - 6898739: TLS renegotiation issue. + + [ Torsten Werner ] + * Switch off IPV6_V6ONLY for IN6_IS_ADDR_UNSPECIFIED addresses, too. + (Closes: #575163) + + -- Matthias Klose Wed, 31 Mar 2010 02:34:04 +0200 + +openjdk-6 (6b18~pre3-1) unstable; urgency=low + + [ Matthias Klose ] + * Update IcedTea build infrastructure (20100321). + * Update support for SH4 (Nobuhiro Iwamatsu). + * Handle renaming of the plugin name. + + [ Torsten Werner ] + * Improve patch for IPv4 mapped IPv6 addresses even more. + (Closes: #573742) + + -- Matthias Klose Sun, 21 Mar 2010 22:52:12 +0100 + +openjdk-6 (6b18~pre2-1ubuntu2) lucid; urgency=low + + * Fix build failure on ARM. + + -- Matthias Klose Fri, 12 Mar 2010 15:19:13 +0100 + +openjdk-6 (6b18~pre2-1ubuntu1) lucid; urgency=low + + * Upload to lucid. + + -- Matthias Klose Wed, 10 Mar 2010 23:34:57 +0100 + +openjdk-6 (6b18~pre2-1) unstable; urgency=low + + * Update IcedTea build infrastructure (20100310). + * Disable building the plugin the plugin on alpha (borked xulrunner + packaging using binary indep packages). + * Use a two stage build on alpha. + * Add note about the reparenting WM workaround. Closes: #573026. + * Prefer Sazanami instead of Kochi for Japanese fonts (Hideki Yamane). + Closes: #572511. + * openjdk-6-doc: Don't compress package-list files. Closes: #567899. + + -- Matthias Klose Wed, 10 Mar 2010 11:19:19 +0100 + +openjdk-6 (6b18~pre1-4) unstable; urgency=low + + * Improve patch for IPv4 mapped IPv6 addresses. + + -- Torsten Werner Sun, 07 Mar 2010 01:14:36 +0100 + +openjdk-6 (6b18~pre1-3) unstable; urgency=low + + * Add a patch for improved handling of IPv4 mapped IPv6 addresses. + (Closes: #560056, #561930, #563699, #563946) + + -- Torsten Werner Tue, 02 Mar 2010 23:46:57 +0100 + +openjdk-6 (6b18~pre1-2) unstable; urgency=low + + * Change Build-Depends: ant1.7-optional because of a bus error in gij. + + -- Torsten Werner Mon, 01 Mar 2010 07:17:16 +0100 + +openjdk-6 (6b18~pre1-1ubuntu1) lucid; urgency=low + + * Ignore error code running ant -diagnostics. + * Build-depend on ant-optional. + * Disable the cacao build on armel, fails to build with the non + bootstrap build. + + -- Matthias Klose Sat, 20 Feb 2010 15:36:06 +0100 + +openjdk-6 (6b18~pre1-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Fri, 19 Feb 2010 21:52:32 +0100 + +openjdk-6 (6b18~pre1-0ubuntu1) lucid; urgency=low + + * New Openjdk6 b18 source code drop. + * Use mangled copy of rhino. Closes: #512970. LP: #255149. + + -- Matthias Klose Fri, 19 Feb 2010 18:17:23 +0100 + +openjdk-6 (6b17-1.7-1ubuntu1) lucid; urgency=low + + * ARM Thumb2 updates. + * Test build using Hotspt hs14 on ix86. + + -- Matthias Klose Sun, 31 Jan 2010 21:56:59 +0100 + +openjdk-6 (6b18~pre1-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Fri, 19 Feb 2010 21:52:32 +0100 + +openjdk-6 (6b18~pre1-0ubuntu1) lucid; urgency=low + + * New Openjdk6 b18 source code drop. + * Use mangled copy of rhino. Closes: #512970. LP: #255149. + + -- Matthias Klose Fri, 19 Feb 2010 18:17:23 +0100 + +openjdk-6 (6b17-1.7-1ubuntu1) lucid; urgency=low + + * ARM Thumb2 updates. + * Test build using Hotspt hs14 on ix86. + + -- Matthias Klose Sun, 31 Jan 2010 21:56:59 +0100 + +openjdk-6 (6b17-1.7-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Wed, 27 Jan 2010 23:44:47 +0100 + +openjdk-6 (6b17-1.7-0ubuntu1) lucid; urgency=low + + * IcedTea6 1.7 release. + * Don't try to load libjpeg7; still building with libjpeg62. Closes: #563999. + * Run the testsuite on sh4. + * Ubuntu only: Implement an execute bit checker for the Non-Exec Policy + - debian/JB-java.desktop.in: update mime handler to use new launcher. + * armel: Apply the thumb2 patches from the trunk, plus proposed patches + for the trunk. + + -- Matthias Klose Wed, 27 Jan 2010 22:48:24 +0100 + +openjdk-6 (6b17-0ubuntu1) lucid; urgency=low + + * Build from the IcedTea6-1.7 branch. + * Don't build the plugin on sparc64. + * Enable the NPPlugin. + * Add support for SH4 (Nobuhiro Iwamatsu). + * Fix crash in the ARM assembler interpreter (Edward Nevill). + + -- Matthias Klose Wed, 06 Jan 2010 15:52:50 +0100 + +openjdk-6 (6b17~pre3-1ubuntu2) lucid; urgency=low + + * Update IcedTea build infrastructure (20091224). + * Explicitely build-depend on x11-xkb-utils (xkbcomp is needed by + xvfb-run). + + -- Matthias Klose Thu, 24 Dec 2009 12:43:00 +0100 + +openjdk-6 (6b17~pre3-1ubuntu1) lucid; urgency=low + + * Upload to lucid. + + -- Matthias Klose Fri, 18 Dec 2009 10:40:05 +0100 + +openjdk-6 (6b17~pre3-1) unstable; urgency=low + + * Update IcedTea build infrastructure (20091218). + * Install docs into the openjdk-6-jre-headless directory instead of + openjdk-6-jre. + + -- Matthias Klose Fri, 18 Dec 2009 10:00:08 +0100 + +openjdk-6 (6b17~pre2-1ubuntu1) lucid; urgency=low + + * Update IcedTea build infrastructure (20091215). + * Fix cacao build on armel with current optimization defaults. + + -- Matthias Klose Tue, 15 Dec 2009 16:41:12 +0100 + +openjdk-6 (6b17~pre2-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Mon, 09 Nov 2009 21:50:52 +0100 + +openjdk-6 (6b17~pre2-0ubuntu3) lucid; urgency=low + + * Security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak + (6631533). + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445). + - (CVE-2009-3881) resurrected classloaders can still have children + (6636650). + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) + (6657026). + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138). + - (CVE-2009-3880) UI logging information leakage (6664512). + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057). + - (CVE-2009-3884) zoneinfo file existence information leak (6824265). + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062). + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968). + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack + vulnerabilities (6863503). + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser + denial of service (6864911). + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357). + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643. + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358). + * Update IcedTea build infrastructure (20091109). + * Use hs16 on armel. + + -- Matthias Klose Mon, 09 Nov 2009 17:48:43 +0100 + +openjdk-6 (6b17~pre2-0ubuntu2) lucid; urgency=low + + * Don't use hs16 on armel and sparc. + + -- Matthias Klose Mon, 02 Nov 2009 15:33:00 +0100 + +openjdk-6 (6b17~pre2-0ubuntu1) lucid; urgency=low + + * New code drop (b17). + * Bump hotspot to hs16. + * Update IcedTea build infrastructure (20091031). + * Set priority of default -jre and -jdk packages to optional. + * Fix binary-all to binary-any dependencies. Closes: #550680. + + -- Matthias Klose Sat, 31 Oct 2009 19:30:54 +0100 + +openjdk-6 (6b16-1.6.1-2) unstable; urgency=medium + + * Build-depend on xulrunner-dev (>= 1.9.1.3-3). + + -- Matthias Klose Sun, 11 Oct 2009 21:34:48 +0200 + +openjdk-6 (6b16-1.6.1-1ubuntu3) karmic; urgency=low + + [Matthias Klose] + * On armel and powerpc, build an additional VM using shark in the + openjdk-6-jre-zero package (java -shark ). Requires llvm-2.6. + * Hide the desktop menu entry for WebStart. LP: #222180. + * Don't provide java-virtual-machine anymore. + + [Edward Nevill] + * Avoid stack overflows in the arm interpreter. + + -- Matthias Klose Thu, 08 Oct 2009 12:41:46 +0200 + +openjdk-6 (6b16-1.6.1-1ubuntu2) karmic; urgency=low + + * Support PKCS11 cryptography via NSS, now allowing import of all + certificates from ca-certificates. + * Remove Michael Koch from uploaders, request by himself. + * Add the doc dir symlink for openjdk-6-jre-zero when the package + is built with shark support. + + -- Matthias Klose Mon, 28 Sep 2009 21:55:08 +0200 + +openjdk-6 (6b16-1.6.1-1ubuntu1) karmic; urgency=low + + * Fix dependency on the java bridge packages. + * debian/rules: Conditionalize stuff so that the recent release + is never mentioned. + * Remove obsolete patches in debian/patches. + * Rebuild on armel to fix up libffi for the soft float abi. + * For jaunty builds, fix IcedTeaPlugin failure to start with xulrunner 1.9.1 + (LP: #359407). + - debian/patches/icedtea-plugin-use-runtime-nsIProcess-IID.diff: Add. + - debian/rules: Apply it for jaunty builds. + * Use pulseaudio as default serviceprovider for + javax.sound.midi.MidiSystem and javax.sound.sampled.AudioSystem. + LP: #407299. + + -- Matthias Klose Sat, 26 Sep 2009 16:01:48 +0200 + +openjdk-6 (6b16-1.6.1-1) unstable; urgency=low + + * Upload to Debian unstable. + + -- Matthias Klose Tue, 15 Sep 2009 02:17:03 +0200 + +openjdk-6 (6b16-1.6.1-0ubuntu1) karmic; urgency=low + + * Update IcedTea6 to the 1.6.1 release. + * Work around GCC PR target/41327, build the JDK on s390 with -O2. + + -- Matthias Klose Thu, 10 Sep 2009 01:55:08 +0200 + +openjdk-6 (6b16-1.6-1) unstable; urgency=low + + * Update IcedTea6 to the 1.6 release. + * Fix GCC build dependencies. + + -- Matthias Klose Wed, 09 Sep 2009 22:18:38 +0200 + +openjdk-6 (6b16-1.6~pre2-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Fri, 28 Aug 2009 19:04:31 +0200 + +openjdk-6 (6b16-1.6~pre2-0ubuntu1) karmic; urgency=low + + * Update IcedTea from the 1.6 release branch: + - Fix buffer overflow in debugger's socket handler (Kees Cook). + https://bugs.openjdk.java.net/show_bug.cgi?id=100103. LP: #409736. + - plugin fixes. + * Move the pulseaudio recommendation to a suggestion, don't build-depend + on pulseaudio. Closes: #539394. LP: #361408. + * Build for armv6 (on armel). + + [ Kees Cook ] + * debian/rules: Re-enable fortification and stack protector + (LP: #330713). + * Adding stack markings to the x86 assembly for not using executable + stack. LP: #419018. + + -- Matthias Klose Fri, 28 Aug 2009 18:51:34 +0200 + +openjdk-6 (6b16-1.6~pre1-0ubuntu1) karmic; urgency=low + + * Test build (icedtea6-1.6 release branch). + + -- Matthias Klose Fri, 21 Aug 2009 19:44:42 +0200 + +openjdk-6 (6b16~pre5-0ubuntu2) karmic; urgency=low + + * Add explicit build dependency on libgtk2.0-dev. + + -- Matthias Klose Thu, 06 Aug 2009 11:39:14 +0200 + +openjdk-6 (6b16~pre5-0ubuntu1) karmic; urgency=low + + * Bump hotspot to hs14b16. + * Update IcedTea build infrastructure (20090805). + * patches/java-access-bridge-security.patch: Update. + * Build-depend on xulrunner-dev instead of xulrunner-1.9-dev on karmic. + * Don't recommend the jck fonts anymore, just suggest them; the appropriate + fonts are installed as dependencies of the language packs. + + -- Matthias Klose Thu, 06 Aug 2009 10:27:09 +0200 + +openjdk-6 (6b16~pre4-0ubuntu7) karmic; urgency=low + + * Build using GCC-4.4 on sparc as well, require 4.4.1. + + -- Matthias Klose Thu, 23 Jul 2009 18:23:14 +0200 + +openjdk-6 (6b16~pre4-0ubuntu6) karmic; urgency=low + + * Fix build failure building the zero VM. + + -- Matthias Klose Thu, 16 Jul 2009 09:49:36 -0400 + +openjdk-6 (6b16~pre4-0ubuntu5) karmic; urgency=low + + [Matthias Klose] + * Update IcedTea build infrastructure (20090715). + * Tighten build dependency on llvm-dev. + + [Edward Nevill] + * Add armv4 compatibility. + + -- Matthias Klose Wed, 15 Jul 2009 15:40:44 -0400 + +openjdk-6 (6b16~pre4-0ubuntu4) karmic; urgency=low + + [Edward Nevill] + * Added Bytecode Interpreter Generator. + * Added ARM templates for above. + * Removed old optimised ARM assebler. + * Added -g0 because of problems with ld linking -g. + * Changed alignment to 64 now that as bug is fixed. + + [Matthias Klose] + * Update IcedTea build infrastructure (20090710). + * Let the -jre package depend on the access-bridge package, not the + -jre-headless package. LP: #395074. + * Suggested by Ed Nevill: + - Pass -timeout:3 when running the jtreg testsuite on zero architectures. + - Pass -Xmx256M -vmoption:-Xmx256M on armel for the jtreg testsuite run. + * Tighten build dependency on llvm-dev. + + -- Matthias Klose Fri, 03 Jul 2009 18:32:50 +0200 + +openjdk-6 (6b16~pre4-0ubuntu3) karmic; urgency=low + + * Update zero-port-opt patch on armel. + + -- Matthias Klose Wed, 24 Jun 2009 10:48:48 +0200 + +openjdk-6 (6b16~pre4-0ubuntu2) karmic; urgency=low + + * Update IcedTea build infrastructure (20090623). + * Reapply the zero-port-opt patch on armel. + * Do not use the IPA Mona font family by default. Closes: #521233. + * Build cacao with -fno-strict-aliasing. + + -- Matthias Klose Tue, 23 Jun 2009 16:23:38 +0200 + +openjdk-6 (6b16-4) unstable; urgency=medium + + * Build the zero binary package when building with shark. + * Build-depend on cpio. Closes: #532963. + + -- Matthias Klose Tue, 16 Jun 2009 07:52:19 +0200 + +openjdk-6 (6b16-3) unstable; urgency=low + + * Update IcedTea build infrastructure (20090612). + * Install the libaccess-bridge-java* symlinks again. + * Build zero on ix86 architectures with JIT support (shark). To use the zero + build without shark, use the `-Xint' option to operate in interpreted-only + mode. + + -- Matthias Klose Fri, 12 Jun 2009 17:31:34 +0200 + +openjdk-6 (6b16-2) unstable; urgency=low + + * Don't install libaccess-bridge-java* symlinks until + libaccess-bridge-java-jni is available on all architectures. + * Add missing build dependency on cacao-source. + + -- Matthias Klose Mon, 18 May 2009 14:02:59 +0200 + +openjdk-6 (6b16-1) unstable; urgency=low + + * Upload to unstable, based in 6b16 and IcedTea 1.5. + + -- Matthias Klose Sun, 17 May 2009 23:02:46 +0200 + +openjdk-6 (6b16~pre3-0ubuntu1) karmic; urgency=low + + * Update to hotspot hs14b15. + * Provide symlink for libjava-access-bridge-jni.so. LP: #375347. + + -- Matthias Klose Fri, 15 May 2009 00:41:24 +0200 + +openjdk-6 (6b16~pre2-0ubuntu3) karmic; urgency=low + + * Update IcedTea build infrastructure (20090513). + * Fix build failure when xvfb-run doesn't work, trying to access a + non-existing directory. + + -- Matthias Klose Wed, 13 May 2009 23:01:23 +0200 + +openjdk-6 (6b16~pre2-0ubuntu2) karmic; urgency=low + + * Add libffi-dev as architecture independent build dependency. + + -- Matthias Klose Mon, 11 May 2009 08:41:42 +0200 + +openjdk-6 (6b16~pre2-0ubuntu1) karmic; urgency=low + + * Update to re-tagged code drop (b16). + * Update IcedTea build infrastructure (20090510). + * Remove patches integrated in IcedTea. + * Remove GCJ Web Plugin support. + * Remove build infrastructure to build additional VM's, integrated + in IcedTea. + * Stop building the openjdk-6-source-files package. + * README.Debian: Document using the different VM's. + * Use GCC-4.3 on sparc, ICE with GCC-4.4. + * Fix problem with the ARM assembler interpreter, when executing a 'new' + bytecode with a double on the top of the stack (Edward Nevill). + * Run the testsuite for the zero build on ix86 architectures. + + -- Matthias Klose Sun, 10 May 2009 23:37:42 +0200 + +openjdk-6 (6b16~pre1-0ubuntu1) karmic; urgency=low + + * New code drop (b16). + * Update IcedTea build infrastructure (20090429). + * Merge changes from 6b14-1.4.1. + * Fix section names (using the java section). + * Remove all UTF-8 sequence definitions from the font configuration. + + -- Matthias Klose Wed, 29 Apr 2009 11:33:07 +0200 + +openjdk-6 (6b14-1.4.1-0ubuntu9) jaunty; urgency=low + + * Reenable the testsuite (revert the change in last upload). + * Apply fix for the ARM bytecode interpreter (Edward Nevill). + + -- Matthias Klose Sat, 18 Apr 2009 11:24:27 +0200 + +openjdk-6 (6b14-1.4.1-0ubuntu7) jaunty; urgency=low + + * Don't use some indian fonts with diverging font metrics for the + latin-1.UTF-8 encoding. LP: #289784. + * Disable running the testsuite for this build (no code changes compared + to the previous upload). + + -- Matthias Klose Tue, 14 Apr 2009 11:46:25 +0200 + +openjdk-6 (6b14-1.4.1-0ubuntu6) jaunty; urgency=low + + * Fix native2ascii jdk test case, which let the jdk testsuite fail. + + -- Matthias Klose Fri, 10 Apr 2009 11:58:44 +0200 + +openjdk-6 (6b14-1.4.1-0ubuntu5) jaunty; urgency=low + + [Matthias Klose] + * Update to the final CACAO 0.99.4 release. + * Security Vulnerability Fixes for OpenJDK: + - 6522586: Enforce limits on Font creation. + - 6536193: flaw in UTF8XmlOutput. + - 6610888: Potential use of cleared of incorrect acc in JMX Monitor. + - 6610896: JMX Monitor handles thread groups incorrectly. + - 6630639: lightweight HttpServer leaks file descriptors on no-data + connections. + - 6632886: Font.createFont can be persuaded to leak temporary files. + - 6636360: compiler/6595044/Main.java test fails with 64bit java on + solaris-sparcv9 with SIGSEGV. + - 6652463: MediaSize constructors allow to redefine the mapping of + standard MediaSizeName values. + - 6652929: Font.createFont(int,File) trusts File.getPath. + - 6656633: getNotificationInfo methods static mutable (findbugs). + - 6658158: Mutable statics in SAAJ (findbugs). + - 6658163: txw2.DatatypeWriter.BUILDIN is a mutable static (findbugs). + - 6691246: Thread context class loader can be set using JMX remote + ClientNotifForwarded. + - 6717680: LdapCtx does not close the connection if initialization fails. + - 6721651: Security problem with out-of-the-box management. + - 6737315: LDAP serialized data vulnerability. + - 6792554: Java JAR Pack200 header checks are insufficent. + - 6804996: JWS PNG Decoding Integer Overflow [V-flrhat2ln8]. + - 6804997: JWS GIF Decoding Heap Corruption [V-r687oxuocp]. + - 6804998: JRE GIF Decoding Heap Corruption [V-y6g5jlm8e1]. + * Add security patch for the lcms library. + * Add accessibility patches java-access-bridge-security.patch and + accessible-toolkit.patch. + * Merge fixes for testsuite failures from the IcedTea6 branch. + * Merge the proxy support for the plugin from the IcedTea6 branch. + * Merge http://icedtea.classpath.org/hg/release/icedtea6-1.4.1/rev/546ef0cdee06 + (TJ). LP: #344705. + * Add a Xb-Npp-Description for the IcedTea plugin. LP: #272010. + + [Edward Nevill] + * Put VFP back in - selects VFP / novfp autmatically + * More assembler optimisations + + -- Matthias Klose Thu, 09 Apr 2009 14:14:12 +0200 + +openjdk-6 (6b14-1.4.1-0ubuntu4) jaunty; urgency=low + + * Disable the additional zero JVM on sparc. + * patches/hotspot/default/icedtea-includedb.patch: Add missing include in + openjdk/hotspot/src/share/vm/includeDB_core. + * Fix build failure of the zero VM on lpia with a fixed GCC. + + -- Matthias Klose Fri, 13 Mar 2009 16:39:27 +0100 + +openjdk-6 (6b14-1.4.1-0ubuntu3) jaunty; urgency=low + + * Build the Zero/Shark VM as an additional JVM (call as `java -zero'). + + -- Matthias Klose Sat, 07 Mar 2009 20:54:28 +0100 + +openjdk-6 (6b14-1.4.1-0ubuntu2) jaunty; urgency=low + + * Fix zero-port-opt patching (build failure on armel). + + -- Matthias Klose Thu, 05 Mar 2009 18:19:18 +0100 + +openjdk-6 (6b14-1.4.1-0ubuntu1) jaunty; urgency=low + + * Update IcedTea to the 1.4.1 release. + * Build the Cacao VM as an additional JVM (call as `java -cacao'). + * Build in separate build directory. + + -- Matthias Klose Thu, 05 Mar 2009 15:16:02 +0100 + +openjdk-6 (6b14-1.5~pre1-5) unstable; urgency=low + + * Fix build failure on armel. + * Require the final cacao-0.99.4 release. + * Add /usr/lib/jni to the library path. Closes: #517338. + + -- Matthias Klose Tue, 17 Mar 2009 09:37:20 +0100 + +openjdk-6 (6b14-1.5~pre1-4) unstable; urgency=low + + * Disable the additional zero JVM on sparc. + * Fix casts in hotspot on s390. Closes: #518823. + * Add special flags for javac on s390 to work around a VM problem with bad + code generation during inlining. + * Run the testsuites for the default VM on all architectures. + * Update IcedTea (20090314). + + -- Matthias Klose Sat, 14 Mar 2009 18:29:49 +0100 + +openjdk-6 (6b14-1.5~pre1-3) unstable; urgency=low + + * Don't configure the additional zero JVM with --enable-shark, currently + fails to build. + * Don't build the JDK when building the additional zero JVM. + + -- Matthias Klose Sat, 07 Mar 2009 21:11:16 +0100 + +openjdk-6 (6b14-1.5~pre1-2) experimental; urgency=low + + * Build the Zero/Shark VM as an additional JVM (call as `java -zero'). + + -- Matthias Klose Fri, 06 Mar 2009 11:16:07 +0100 + +openjdk-6 (6b14-1.5~pre1-0ubuntu1) jaunty; urgency=low + + * Update hotspot to 14.0-b10. + * Update IcedTea (20090305). + * Build the Cacao VM as an additional JVM (call as `java -cacao'). + * Build in separate build directory. + + -- Matthias Klose Thu, 05 Mar 2009 15:16:02 +0100 + +openjdk-6 (6b14-0ubuntu17) jaunty; urgency=low + + [ Edward Nevill ] + * Remove VFP from asm loop + * Disble the mauve testsuite for armel. + + [Matthias Klose] + * Update IcedTea (20090302). + + -- Matthias Klose Mon, 02 Mar 2009 16:18:01 +0100 + +openjdk-6 (6b14-0ubuntu16) jaunty; urgency=low + + * Regenerate auto files. + + -- Matthias Klose Wed, 18 Feb 2009 15:20:10 +0100 + +openjdk-6 (6b14-0ubuntu15) jaunty; urgency=low + + [ Edward Nevill ] + * Added ARM assembler interpreter loop + * mauve and jtreg removed again for alpha release + + [Matthias Klose] + * Update IcedTea (20090218). + + -- Matthias Klose Wed, 18 Feb 2009 13:35:02 +0100 + +openjdk-6 (6b14-0ubuntu14) jaunty; urgency=low + + * Configure with --disable-nio2 on armel as well. + + -- Matthias Klose Fri, 13 Feb 2009 10:13:55 +0100 + +openjdk-6 (6b14-0ubuntu13) jaunty; urgency=low + + * Really configure with --disable-nio2. + + -- Matthias Klose Thu, 12 Feb 2009 17:26:43 +0100 + +openjdk-6 (6b14-0ubuntu12) jaunty; urgency=low + + * Configure with --disable-nio2. + * Run mauve and jtreg testsuites on armel. + + -- Matthias Klose Wed, 11 Feb 2009 13:00:15 +0100 + +openjdk-6 (6b14-0ubuntu11) jaunty; urgency=low + + [Edward Nevill] + * Performance improvements for the zero build (currently applied + on armel only). + + [Matthias Klose] + * Update IcedTea (20090210). + + -- Matthias Klose Tue, 10 Feb 2009 15:29:22 +0100 + +openjdk-6 (6b14-0ubuntu10) jaunty; urgency=low + + * Explicitely remove PulseAudioMuteControl.java. + + -- Matthias Klose Mon, 26 Jan 2009 22:09:21 +0100 + +openjdk-6 (6b14-0ubuntu9.1) jaunty; urgency=low + + * Test build. + + -- Matthias Klose Sun, 25 Jan 2009 17:03:51 +0100 + +openjdk-6 (6b14-0ubuntu9) jaunty; urgency=low + + * Update IcedTea build infrastructure (20090125). + * Run the jtreg testsuite for cacao builds, save all test logs. + + -- Matthias Klose Sun, 25 Jan 2009 15:40:52 +0100 + +openjdk-6 (6b14-0ubuntu8) jaunty; urgency=low + + * Fix merge error, don't apply patches twice. + + -- Matthias Klose Mon, 19 Jan 2009 01:15:19 +0100 + +openjdk-6 (6b14-0ubuntu7) jaunty; urgency=low + + * debian/rules: Call dh_desktop. LP: #309999. + * Add dependency on libjpeg62 for the -headless package. LP: #318383. + * Test some jtreg tests which fail in samevm mode in a separate VM. + * Build all with -fno-stack-protector -U_FORTIFY_SOURCE. + * Include jtr files of failed tests in the -jdk package. + + -- Matthias Klose Mon, 19 Jan 2009 00:23:22 +0100 + +openjdk-6 (6b14-0ubuntu6) jaunty; urgency=low + + * The -source package now contains all source files. Closes: #504568. + * The 6b14 build fixes the following security related issues (sun bug number, + CVE, description): + - 6588160, CVE-2008-5348: jaas krb5 client leaks OS-level UDP sockets. + - 6497740, CVE-2009-5349: Limit the size of RSA public keys. + - 6484091, CVE-2008-5350: FileSystemView leaks directory info. + - 4486841, CVE-2008-5351: UTF-8 decoder needed adhere to Unicode 3.0.1 + fixes. + - 6755943, CVE-2008-5352: JAR decompression should enforce stricter header + checks. + - 6734167, CVE-2008-5353: Calendar.readObject allows elevation of + privileges. + - 6733959, CVE-2008-5354: Insufficient checks for "Main-Class" manifest + entry in JAR files + - 6751322, CVE-2008-5356: Sun Java JRE TrueType Font Parsing Heap Overflow. + - 6733336, CVE-2008-5357: Crash on malformed font. + - 6766136, CVE-2008-5358: corrupted gif image may cause crash in java + splashscreen library. + - 6726779, CVE-2008-5359: ConvolveOp on USHORT raster can cause the JVM + crash. + - 6721753, CVE-2008-5360: File.createTempFile produces guessable file names. + - 6592792: Add com.sun.xml.internal to the "package.access" property in + $JAVA_HOME/lib/security/java.security. + * Regenerate the control file. + + -- Matthias Klose Tue, 13 Jan 2009 15:04:36 +0100 + +openjdk-6 (6b14-0ubuntu2~ppa1) intrepid; urgency=low + + * Upload to the OpenJDK PPA for intrepid. + + -- Matthias Klose Tue, 13 Jan 2009 13:28:38 +0100 + +openjdk-6 (6b14-0ubuntu5) jaunty; urgency=low + + * Update IcedTea build infrastructure (20090113). + * Rebuild with updated nss/nspr packages. + * Update debug patches. + * debian/patches/nonreparenting-wm.diff: If the _JAVA_AWT_WM_NONREPARENTING + environment variable is set, disable all workarounds causing blank windows + in non-reparentizing window managers (Bernhard R. Link). Closes: #508650. + * Fix location of plugin for Debian. Closes: #505726. + * Let the -jdk package provide java-compiler. Closes: #507641. + + -- Matthias Klose Tue, 13 Jan 2009 10:18:44 +0100 + +openjdk-6 (6b14-0ubuntu4) jaunty; urgency=low + + * Use a default jvm.cfg not only for java, but for all jdk tools. + LP: #288616. + * Update IcedTea build infrastructure (20081223). + + -- Matthias Klose Tue, 23 Dec 2008 09:24:23 +0100 + +openjdk-6 (6b14-0ubuntu3) jaunty; urgency=low + + * Update IcedTea build infrastructure (20081217). + * Add support for PARISC. + * Use a default jvm.cfg if the jvm.cfg doesn't yet exist after unpacking + the runtime package. LP: #288616. + + -- Matthias Klose Wed, 17 Dec 2008 09:58:26 +0100 + +openjdk-6 (6b14~pre1-0ubuntu2) jaunty; urgency=low + + * Install hotspot tarball in -source-files package. + * Fix build failure on sparc. + + -- Matthias Klose Fri, 05 Dec 2008 09:43:51 +0100 + +openjdk-6 (6b14~pre1-0ubuntu1) jaunty; urgency=low + + * New code drop (b14). + * Update IcedTea build infrastructure (20081204). + + -- Matthias Klose Thu, 04 Dec 2008 11:40:56 +0100 + +openjdk-6 (6b13~pre2-0ubuntu2) jaunty; urgency=low + + * Update IcedTea build infrastructure (20081203). + - Fix build failures on zero based architectures. + * Add build dependency on libxrender-dev. + * Don't use fastjar on ia64, working around a build failure. + + -- Matthias Klose Wed, 03 Dec 2008 18:43:23 +0100 + +openjdk-6 (6b13~pre2-0ubuntu1) jaunty; urgency=low + + * Update IcedTea build infrastructure (20081202). + - Add Dec 3 OpenJDK security patches + * Build with --with-hotspot-build, update patches for this config. + + -- Matthias Klose Wed, 03 Dec 2008 01:05:54 +0100 + +openjdk-6 (6b13~pre1-0ubuntu4) jaunty; urgency=low + + * Update IcedTea build infrastructure (20081122). + - Fixes for the IcedTeaPlugin. LP: #300254. + + -- Matthias Klose Sat, 22 Nov 2008 10:42:10 +0100 + +openjdk-6 (6b13~pre1-0ubuntu3) jaunty; urgency=low + + * Fix versioned conflict on icedtea-gcjwebplugin. LP: #284299. + * Update IcedTea build infrastructure (20081121). + - Fixes for the IcedTeaPlugin. + * Configure with pulseaudio in jaunty. + + -- Matthias Klose Fri, 21 Nov 2008 07:46:10 +0100 + +openjdk-6 (6b13~pre1-0ubuntu2) jaunty; urgency=low + + * Update IcedTea build infrastructure (20081117). + * Use openjdk-6 as stage1 compiler on armel for a faster build. + + -- Matthias Klose Mon, 17 Nov 2008 18:43:17 +0100 + +openjdk-6 (6b13~pre1-0ubuntu1) jaunty; urgency=low + + * New code drop (b13). + - In the langtools area, besides a few miscellaneous bug fixes (6760834, + 6725036, 6657499), all the langtools regression tests now pass out of + the box (6728697, 6707027) and if using the most recent version of + jtreg, the langtools regression tests can be run in the much faster + "same vm" mode of jtreg, enabled with the -s option (6749967, 6748541, + 6748546, 6748601, 6759775, 6759795, 6759796, 6759996, 6760805, 6760930). + - Gervill update, including applying a patch from IcedTea (6758986, + 6748247, 6748251). + - Publishing a few dozen additional existing regression tests as open + source (6601457, 6759433, 6740185). + - JMX and monitoring fixes (6651382, 6616825, 6756202, 6754672). + - Man page updates (6757036, 6392810, 6504867, 6326773). + - Assorted other fixes (6746055, 6621697, 6756569, 6356642, 6761678). + * Update IcedTea build infrastructure (20081111). + - Fix freeze in midi app, LP: #275672. + - Fixes in the IcedTeaPlugin: LP: #282570, LP: #282570, LP: #285729, + LP: #291377, LP: #37330, LP: #239533. + - Fix vertical text metrics with freetype scaler. LP: #289784. + * Build-depend on ecj-gcj instead of ecj on architectures using + gij/gcj as the bootstrap system. + * Fixed in 6b12: Stack overflow running Kea. LP: #244731. + + -- Matthias Klose Tue, 11 Nov 2008 12:39:16 +0100 + +openjdk-6 (6b12-1~exp1) experimental; urgency=low + + * Update IcedTea build infrastructure (20081025). + + -- Matthias Klose Sat, 25 Oct 2008 23:35:14 +0200 + +openjdk-6 (6b12-0ubuntu6) intrepid; urgency=low + + * Make the dependency on ca-certificates-java unversioned. + * Merge from IcedTea: + - plugin/icedtea/netscape/javascript/JSObject.java: Make + long constructor public. + + -- Matthias Klose Fri, 24 Oct 2008 23:06:32 +0200 + +openjdk-6 (6b12-0ubuntu5) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081024). + - Add --pkgversion= configure option. + - IcedTeaPlugin fixes. + - Fix xjc regressions. + * openjdk-jre-headless: Depend on ca-certificates-java. + * Configure with --pkgversion= to encode the package + version in the -version output and in vm dumps. + * cacao: Handle VM options Xverify:all and Xverify:none. + + -- Matthias Klose Fri, 24 Oct 2008 13:39:29 +0200 + +openjdk-6 (6b12-0) experimental; urgency=low + + * Upload to experimental. + * Pretend the availability of at least 384MB RAM; better swap on the + buildds than failing the build. + + -- Matthias Klose Sun, 19 Oct 2008 11:15:28 +0200 + +openjdk-6 (6b12-0ubuntu4) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081019). + - plugin fix (Make applet size factors doubles instead of ints). + * Don't fail the build when the jtreg summary is missing. + * openjdk-6-source-files: Fix priority and section of the binary package. + * Fix section of the plugin package. + + -- Matthias Klose Sun, 19 Oct 2008 09:29:03 +0200 + +openjdk-6 (6b12-0ubuntu3) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081018). + - Fix LiveConnect issues in the web plugin. LP: #282762. + - Fail the build, if patches don't apply. + * Show xvfb and xauth failures in the build log, when running the testsuites. + * Kill processes which still hang after running the testsuite. Closes: #493339. + * Run the testsuite in parallel, reducing build time. + * openjdk-headless: Depend instead of recommending tzdata-java. + + -- Matthias Klose Sat, 18 Oct 2008 17:15:14 +0200 + +openjdk-6 (6b12-0ubuntu2) intrepid; urgency=low + + * icedtea6-plugin: Versioned conflict with icedtea-gcjwebplugin. LP: #184299. + * Don't configure --with-alt-jar=/usr/bin/fastjar on hotspot archs + and cacao builds. Working around a problem generating rt.jar. Manually + add the netscape/javascript files in zero builds. + * Update IcedTea build infrastructure (20081017). + - configury updates. + - IcedTeaPlugin update. + * openjdk-6-jdk: Suggest visualvm. + * Remove cacao patches found in cacao 0.99.4~20081012. + + -- Matthias Klose Fri, 17 Oct 2008 13:25:45 +0200 + +openjdk-6 (6b12-0ubuntu1) intrepid; urgency=low + + * Update IcedTea to the 1.3.0 release. + * Apply upstream patch to fix upstream issue 6758986. + + -- Matthias Klose Wed, 15 Oct 2008 19:49:05 +0000 + +openjdk-6 (6b12~pre2-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sun, 12 Oct 2008 11:16:03 +0000 + +openjdk-6 (6b12~pre2-0ubuntu3) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081015). + * Add netscape/javascript class files to rt.jar. LP: #282762. + * Be more verbose in the icedtea6-plugin package description. + * Fix some lintian warnings. + + -- Matthias Klose Wed, 15 Oct 2008 12:45:59 +0200 + +openjdk-6 (6b12~pre2-0ubuntu2) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081012). + * When building as cacao, build a cacao-oj6-plugin package. + * When building as cacao, run the testsuite on amd64, i386, sparc. + * Add finnish translations to the desktop files (Timo Jyrinki). + Closes: #494354. + * Fix font paths (Rob Gom). Closes: #495988. + * Reenable running the testsuite. + * Fix pulse-java build failure on amd64. + + -- Matthias Klose Sun, 12 Oct 2008 13:05:49 +0200 + +openjdk-6 (6b12~pre2-0ubuntu1) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081011). + * debian/copyright: Add copyright notice for pulseaudio sound files. + * Add support to build with pulseaudio support. + + -- Matthias Klose Sat, 11 Oct 2008 15:44:50 +0200 + +openjdk-6 (6b12~pre1-0ubuntu5) intrepid; urgency=low + + * Move the plugin from the -jre package into the -plugin package. + + -- Matthias Klose Fri, 10 Oct 2008 06:55:34 +0000 + +openjdk-6 (6b12~pre1-0ubuntu4) intrepid; urgency=low + + * Update IcedTea build infrastructure (20081009). + * Configure with --enable-liveconnect, build an icedtea6-plugin package. + Thanks to Deepak Bhole. + LP: #207064, #195783, #199680, #202762, #220241, #242263, #242496, + #242496, #250292, #269885, #274356, #274360, #259313. + * Build an icedtea6-plugin package. + * Merge changes from 6b11-9 packaging. + * Build a openjdk-6-source-files packages (used as a build dependency + of cacao-oj6). + * Build depend on cacao-source for cacao-oj6 builds. + + -- Matthias Klose Thu, 09 Oct 2008 15:04:27 +0200 + +openjdk-6 (6b12~pre1-0ubuntu3) intrepid; urgency=low + + * Update IcedTea build infrastructure (20080915). + * Reapply: openjdk-6-jre-headless: Make libnss-mdns a suggestion + instead of a recommendation. LP: #261847. + * Build-depend against fixed fastjar. LP: #267177. + + -- Matthias Klose Mon, 15 Sep 2008 20:16:51 +0200 + +openjdk-6 (6b12~pre1-0ubuntu2) intrepid; urgency=low + + * Update the icedtea-hotspot patch to b12, fixing build failures + on zero archs (ia64, powerpc). + + -- Matthias Klose Sat, 13 Sep 2008 11:48:44 +0200 + +openjdk-6 (6b12~pre1-0ubuntu1) intrepid; urgency=low + + * New code drop (b12). + * Update IcedTea build infrastructure (20080912). + + -- Matthias Klose Sat, 13 Sep 2008 00:41:42 +0200 + +openjdk-6 (6b11-6) unstable; urgency=low + + * Set minimum heap size independent of available memory for cacao builds. + * Link the wrapper tools with -rdynamic for cacao builds. + * Update cacao based builds: + - Update cacao to 0.99.3, remove patches applied upstream. + - Fix build failures on mipsel-linux. + * Allow setting of the bootstrap compiler per architecture. + * Configure --with-alt-jar set to fastjar to speed up builds. + * Update IcedTea build infrastructure (20080815), remove local patches + integrated in IcedTea. + - Make use of unsigned/signed types explicit. + - Fix PR icedtea/184, adding support for returning floats and doubles + for zero builds. + - Fix Fix PR icedtea/181, class type checks. + + -- Matthias Klose Fri, 15 Aug 2008 16:59:48 +0000 + +openjdk-6 (6b11-5) unstable; urgency=low + + * debian/rules (stamps/mauve-build): Configure with --host and --build. + * openjdk-6-jdk: Recommend libxt-dev (jawt_md.h header includes). + * Fix build issues on s390 (size_t is unsigned long). + + -- Matthias Klose Sun, 03 Aug 2008 20:05:44 +0200 + +openjdk-6 (6b11-4) unstable; urgency=low + + * Update IcedTea build infrastructure (20080801). + - Fix typo, causing build failure on mipsel. + + -- Matthias Klose Fri, 01 Aug 2008 01:25:51 +0200 + +openjdk-6 (6b11-3) unstable; urgency=low + + * Include the name of the VM used in the package description. + * Update IcedTea build infrastructure (20080731). + * Build for alpha, arm, mips and mipsel. + * Switch from libcupsys2(-dev) to libcups2(-dev) for newer releases. + (Closes: #492384) + * Add symlinks for header files found in JAVA_HOME/include/linux in + JAVA_HOME/include. + * openjdk-6-jre: Don' recommend lesstif2 anymore. + + -- Matthias Klose Thu, 31 Jul 2008 17:16:59 +0200 + +openjdk-6 (6b11-2ubuntu1) intrepid; urgency=low + + * xvfb seems to be broken when running with intrepid and an intrepid kernel. + Nevertheless, run xvfb-run -s "-extension GLX" on the buildds (hardy kernels). + * Stop the buildwatch process after the testsuite finishes. + + -- Matthias Klose Fri, 25 Jul 2008 12:33:44 +0200 + +openjdk-6 (6b11-2) unstable; urgency=low + + * Update IcedTea build infrastructure (20080724). + * debian/buildwatch.sh: Track long building files with no visible output. + * Fix build failure when not running the mauve testsuite. + * Disable running the testsuite for cacao builds (leaving processes around). + * Don't set a soversion for the cacao libjvm. + * Configure with --host and --build. + * Call xvfb-run with -s "-extension GLX". + + -- Matthias Klose Thu, 24 Jul 2008 22:25:30 +0200 + +openjdk-6 (6b11-1ubuntu2) intrepid; urgency=low + + * Update IcedTea build infrastructure (20080724). + * debian/buildwatch.sh: Track long building files with no visible output. + * Fix build failure when not running the mauve testsuite. + * Disable running the testsuite for cacao builds (leaving processes around). + * Don't set a soversion for the cacao libjvm. + * Configure with --host and --build. + + -- Matthias Klose Thu, 24 Jul 2008 17:58:53 +0200 + +openjdk-6 (6b11-1ubuntu1) intrepid; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Wed, 23 Jul 2008 00:42:16 +0200 + +openjdk-6 (6b11-1) unstable; urgency=low + + * New code drop (b11). + * Update IcedTea build infrastructure (20080721). + * debian/generate-dfsg.sh: Update for b11. + * debian/patches/const_strings.patch, debian/patches/issue-6659207.diff: + Remove, applied upstream. + * debian/generate-debian-orig.sh: Fix /proc check. + * debian/control.in: Loosen dependency of -jre-lib on -jre. + * Support `nodocs' in DEB_BUILD_OPTIONS. + * Remove build-dependency on lesstif2-dev. + * Bootstrap using gcj on all archs; the 6b10dfsg-2 packages are broken. + * Run the jtreg harness in a virtual X environment. + * Install javazic.jar in the jre-lib package. + * Don't run the testsuite on arm; the build already takes days; only + run the testsuite on hotspot archs and powerpc. + + -- Matthias Klose Wed, 23 Jul 2008 00:28:12 +0200 + +openjdk-6 (6b10dfsg-2) unstable; urgency=low + + * Update IcedTea build infrastructure (20080714). + * On arm configure cacao builds with --enable-softfloat. + * Don't run the mauve testsuite for cacao builds (hangs the test runner + process). + * Don't configure cacao builds with --enable/-disable-zero. + * Don't remove alternatives on upgrade. + * debian/copyright: Add license for NanoXML. + * Do recommends ttf-indic-fonts instead of ttf-indic-fonts-core for + lenny and sid. Closes: #490619. + * Ignore errors when registering the jar binfmt. The alternative may + already be registered by another JVM. Closes: #490594. + * openjdk-6-jre-headless: Depend on ttf-dejavu-core instead of ttf-dejavu. + * On amd64, i386 and sparc, bootstrap using openjdk. + + -- Matthias Klose Mon, 14 Jul 2008 19:41:19 +0200 + +openjdk-6 (6b10dfsg-1ubuntu2) intrepid; urgency=low + + * Update IcedTea build infrastructure (20080702). + - Do not configure --with-shark by default. + - Update license headers from jdk7. + * Start debian/buildwatch.sh for armel and sparc builds as well. + * Allow configuration with --with-cacao. + + -- Matthias Klose Mon, 30 Jun 2008 13:30:06 +0200 + +openjdk-6 (6b10dfsg-1ubuntu1) intrepid; urgency=low + + * The rebuilt upstream tarball now has GPL-compatible free software licenses + and documented copyrights and licenses. LP: #238569. + * Fixed name of the xulrunner-1.9-javaplugin.so in the .jinfo file. + LP: #226911. + * Ignore errors during activation of class data sharing. Closes: #490617, + #490672. + + -- Matthias Klose Mon, 30 Jun 2008 13:30:06 +0200 + +openjdk-6 (6b10dfsg-1) unstable; urgency=low + + * Rebuild the upstream tar ball: + - Remove the jscheme jar files. + - Apply the patch from Iris Clark (Sun) for the copyright headers + (http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=141#c4). + - Remove jdk/src/share/classes/java/lang/instrument/package.html. + - Upload to main. + * Update IcedTea build infrastructure (20080628). + * Build an openjdk-6-dbg package. + * patches/gcc-mtune-generic.diff: Fix typo. + * openjdk-6-jre: Depend on ttf-dejavu. + * debian/copyright: Add two more copyright holders, not directly + mentioned in the third party readme. + Replace Apache 2.0 license with pointer to common-licenses. + * Fix more lintian warnings. + * debian/sun_java_app.xpm: Downsize icon to 32x32 pixels. + * Build-depend/depend on rhino. + + -- Matthias Klose Sun, 29 Jun 2008 17:42:51 +0200 + +openjdk-6 (6b10-1) unstable; urgency=low + + * New code drop (b10). + - Still some non-compliant license headers found in + openjdk/corba/src/share/classes/com/sun/tools/corba/se/idl. + - Upload to non-free. + * Update IcedTea build infrastructure (20080603). + * In fontconfig.properties, fix Korean font names and add paths to the Luxi + fonts for Motif. Add fonts for Indic languages. + * Install compilefontconfig.jar in openjdk-6-jre-lib package. + * Run the testsuites of hotspot, langtools and jdk. + * Include the jscheme-5.0 sources in the tarball, mention the jscheme + licenses in debian/copyright. + * Use the certificates provided by the ca-certificates-java package. + * More fontconfig updates (Arne Goetje). + * Fix some lintian warnings. + * Correct build-dependency for openjdk based bootstraps. + + -- Matthias Klose Wed, 04 Jun 2008 01:46:52 +0200 + +openjdk-6 (6b09-1~pre1) unstable; urgency=low + + [ Matthias Klose ] + * New code drop (b09). + * Update IcedTea build infrastructure (20080528). + - Add missing color profiles. LP: #225174. + - Moved system properties defined in hotspot to TrustManagerFactoryImpl. + LP: #224455. + * 6636469_v4.diff: Remove, committed in IcedTea. + * debian/control: Update Vcs-* attributes. + * debian/JB-jre-headless.p*.in: Fix update-binfmts calls. + * Compress the man pages, fixing the slave symlinks of the alternatives. + * javaws.desktop: Add `%u' to the Exec key, remove -viewer option. + * openjdk-6-jre-headless: Recommends libnss-mdns. + * openjdk-6-jre-headless: Warn about unmounted /proc file system. + * debian/JB-jre.mime.in: Remove the -viewer option from command (Tan Rui + Boon). + * Add a `docs' symlink pointing to /usr/share/doc/openjdk-6. LP: #218405. + * Set maintainer to the team list. + * Add copyright notices for patches and generated files. + * Add helper scripts to modify upstream tarball and generate the debian + tarball. + * Fix names for browser alternatives in jinfo file, set browser_plugin_dirs + unconditionally. + * Recommend the ttf-wqy-zenhei font instead of ttf-arphic-uming, if the + latter is available in Truetype Collection (TTC) format only, add the + fontconfig changes as a patch. + * Make the cjk font packages configurable in the control file. + * Use GCC-4.3 on all platforms where available. + * Install a config file swing.properties, allowing a user to change + the default look and feel. LP: #229112. + * When trying to determine the executable name reading /proc/self/exe, + discard known prefixes used for unionfs mounts. LP: #224110. + * Explicitely configure with --disable-zero on hotspot architectures. + * Add fix for issue 6659207, access violation in CompilerThread0. + Addresses #478560. Needs checking: LP: #229207. + * Disable building the docs on ia64, powerpc and sparc, we don't build + architecture independent packages on these architectures. + * Explicitely configure --with-parallel-jobs, needed by the updated IcedTea. + * Backport the linux-sparc patches, enable building on sparc. LP: #154080. + * Don't use an absolute path calling the compiler. + * Replace the OpenJDK version in desktop and menu files. + * Install menu files. + * Install openjdk-6-java.desktop in -jre, instead of -jre-headless. + + -- Matthias Klose Wed, 14 May 2008 08:49:54 +0200 + +openjdk-6 (6b08-1) unstable; urgency=low + + [ Torsten Werner ] + * first upload to Debian (Closes: #452750) + * Regenerate debian/control. + * Switch to bzip2 package compression in Debian but leave lzma compression + in Ubuntu. + * Temporarily downgrade Depends: tzdata-java to Recommends until the package + becomes available in Debian. + * Add myself to Uploaders. + * Do not install extras license file in openjdk-6-jre-lib. + * Add patch shebang.diff to fix a lintian warning. + * Install openjdk-6-java.desktop into the correct binary package. + * Improve some package descriptions. + * Remove some empty directories from binary packages. + * Install README.Debian in every binary package and give it some useful + content. + * Install java-rmi.cgi in package openjdk-6-jre-headless and mention it in + README.Debian. + * Install /usr/bin/jexec via update-alternatives. + * Downgrade Depends: java-common (>= 0.28). + * Add patch jexec.diff to make the jexec binary executable without + specifying an absolute path. + * Add Build-Depends: xauth and xfonts-base for mauve. + * Update and install the lintian override files. + * Replace all occurences of binary:Version and source:Version by + Source-Version to be compatible with Ubuntu release 6.06. + * Remove Conflicts: gcjwebplugin. + + [ Michael Koch ] + * Fixed Vcs-Bzr and Vcs-Browser fields. + * Removed Encoding entry from all debian/*.desktop.in files. + + [ Matthias Klose ] + * Make Java Full Screen Exclusive Mode work again with Xorg Server 1.3 + and above (Dan Munckton). LP: #154613 (Java bug 6636469). + * Configure with --enable-zero on all archs except amd64, i386, lpia. + * Update IcedTea build infrastructure. + * Handle binary files in updates of the build infrastructure. + * Enable bootstrap/normal builds per architecture. + * javaws-wrapper.sh: Use readlink --canonicalize. LP: #211515. + * binfmt-support: Handle /usr/share/binfmts/jar as a slave symlink of + the jexec alternative, install the binfmt file in the jre libdir. + Use the jexec alternative in the binfmt file. + * JB-jre-headless.postinst.in: Remove sun-java6 specific chunks. + * Differentiate between the openjdk version required as dependency and + as build dependency. + + -- Torsten Werner Wed, 09 Apr 2008 10:12:55 +0200 + +openjdk-6 (6b08-0ubuntu1) hardy; urgency=low + + * New code drop (b08). + * Update IcedTea build infrastructure. + * Move binfmt-support references from -jre to -jre-headless package. + * Don't fail on purge, if /var/lib/binfmts/openjdk-6 is missing. LP: #206721. + * Only use the basename for icons in desktop files. LP: #207413. + * Install javaws(1). LP: #191297. + * Install a wrapper script for javaws, which calls `javaws -viewer' if no + arguments are given (or else starting javaws from the desktop menu + would not do anything). + * debian/JB-web-start.applications.in: Remove the -viewer option from command. + + -- Matthias Klose Fri, 28 Mar 2008 16:10:32 +0000 + +openjdk-6 (6b07-0ubuntu1) hardy; urgency=low + + * New code drop (b07). + * Update IcedTea build infrastructure. + * debian/copyright: Update to OpenJDK Trademark Notice v1.1. + + -- Matthias Klose Sat, 22 Mar 2008 22:41:42 +0100 + +openjdk-6 (6b06-0ubuntu12) hardy; urgency=low + + * Update icon locations in menu files. + * openjdk-6-jre-headless: Provide java-virtual-machine. LP: #189953. + * openjdk-6-jre-headless: Add a conflict to gcjwebplugin; for openjdk + use the icetea-gcjwebplugin, for gij the java-gcj-compat-plugin. + + -- Matthias Klose Sat, 22 Mar 2008 20:12:41 +0100 + +openjdk-6 (6b06-0ubuntu11) hardy; urgency=low + + * Update IcedTea to 20080319. + * Move rt.jar into the openjdk-6-jre-headless package; sun/awt/X11 + class files differ between amd64 and i386. + * Install all desktop files in /usr/share/applications. + + -- Matthias Klose Wed, 19 Mar 2008 23:53:36 +0100 + +openjdk-6 (6b06-0ubuntu10) hardy; urgency=low + + * Remove print-lsb-release.patch, forwarded to IcedTea. + * Fix IcedTea configure to detect libffi without pkg-config. + + -- Matthias Klose Wed, 12 Mar 2008 20:28:55 +0100 + +openjdk-6 (6b06-0ubuntu9) hardy; urgency=low + + * Build-depend on libffi4-dev on architectures other than amd64, i386, lpia. + * Install icons in /usr/share/pixmaps, not /usr/share/icons. + * debian/rules: Call dh_icons. + + -- Matthias Klose Wed, 12 Mar 2008 11:34:44 +0100 + +openjdk-6 (6b06-0ubuntu8) hardy; urgency=low + + * Tighten dependency on java-common. + * debian/copyright: Include trademark notice. + * debian/control: Mention IcedTea in the package descriptions. + * Update IcedTea to 20080311. + + -- Matthias Klose Tue, 11 Mar 2008 21:39:27 +0100 + +openjdk-6 (6b06-0ubuntu7) hardy; urgency=low + + * Build-depend on unzip. + + -- Matthias Klose Fri, 07 Mar 2008 16:47:43 +0100 + +openjdk-6 (6b06-0ubuntu6) hardy; urgency=low + + * Build-depend on zip. + + -- Matthias Klose Fri, 07 Mar 2008 16:16:52 +0100 + +openjdk-6 (6b06-0ubuntu5) hardy; urgency=low + + * debian/mauve_tests: javax.swing.text.html.HTML.ElementTagAttributeTest, + removed, tries to access the network. + * debian/README.alternatives.in: Update for --jre-headless. + * debian/rules: Fix paths for OpenJDK based bootstrap. + * Compress packages using lzma. + * Drop build dependency on zip, unzip. + * Fix build infrastructure to bootstrap with OpenJDK instead of ecj. + * Do not build the gcjwebplugin from the OpenJDK source. + + -- Matthias Klose Fri, 07 Mar 2008 13:53:15 +0100 + +openjdk-6 (6b06-0ubuntu4) hardy; urgency=low + + * Don't register a java-rmi.cgi alternative in /usr/bin. + + -- Matthias Klose Thu, 06 Mar 2008 17:59:35 +0100 + +openjdk-6 (6b06-0ubuntu3) hardy; urgency=low + + * Split out a openjdk-6-jre-headless package, depend on java-common, + supporting update-java-alternatives --jre-headless. + * Make openjdk-6-jre-headless and openjdk-6-jre architecture any. + * New package openjdk-6-jre-lib (arch all). + * Remove openjdk-6-bin package. + * debian/patches/openjdk-ubuntu-branding.patch: New patch. + * Install images/cursors/cursors.properties as a config file. + * Do not compress demos and examples in the -demo package. + * openjdk-6-jre: Add dependency on libxinerama1. + * Update IcedTea to 20080305. + * Don't generate cacerts ourself, but depend on ca-certificates, + fix location of javax.net.ssl.trustStore property. + * Build-depend on mauve and xvfb; run some mauve tests (the list of + tests taken from the Fedora package). + * Keep a backup of the `generated' directory; some files are regenerated + differently, increasing the size of the diff. + + -- Matthias Klose Thu, 06 Mar 2008 10:05:39 +0100 + +openjdk-6 (6b06-0ubuntu2) hardy; urgency=low + + * Re-add gawk and pkg-config as build dependencies. + + -- Matthias Klose Tue, 04 Mar 2008 12:20:21 +0100 + +openjdk-6 (6b06-0ubuntu1) hardy; urgency=low + + * New code drop (b06). + * Remove java-access-bridge tarball, use an externally built package. + * Update IcedTea to 20080304. + * Don't use any compiler flags from the environment. + + -- Matthias Klose Tue, 04 Mar 2008 09:16:59 +0100 + +openjdk-6 (6b05-0ubuntu1) hardy; urgency=low + + * First public OpenJDK upstream code drop (b05). + * Depend on tzdata-java. + + -- Matthias Klose Fri, 29 Feb 2008 19:05:42 +0100 + +icedtea-java7 (7~b24-1.5+20080118-2) UNRELEASED; urgency=low + + * Fix removal of alternatives. + + -- Matthias Klose Sat, 26 Jan 2008 18:41:40 +0100 + +icedtea-java7 (7~b24-1.5+20080118-1) hardy; urgency=low + + * Fix installation of the plugin for firefox-3.0. + + -- Matthias Klose Sat, 19 Jan 2008 15:10:18 +0100 + +icedtea-java7 (7~b24-1.5+20080118-1~ppa1) hardy; urgency=low + + * Update IcedTea to 20080118. + * Fix another build failure when gcc version != gcj version. + * Use the versioned compiler to build the corba parts. + * Register plugin for firefox-3.0. + * Build using GCC-4.3. + + -- Matthias Klose Fri, 18 Jan 2008 21:15:08 +0100 + +icedtea-java7 (7~b24-1.5-2) UNRELEASED; urgency=low + + * First upload to Debian. Closes: #452750. + * debian/control.in: + - Moved package from universe/devel section to devel. + - Put icedtea-java7-doc into doc section. + - Added Homepage field and removed Homepage pseudo field from + descriptions. + - Updated Standards-Version to 3.7.3. + * debian/rules: + - Check if Makefile exists before called clean in clean target. + * debian/copyright: Converted to UTF-8. + + -- Michael Koch Sat, 05 Jan 2008 13:34:46 -0100 + +icedtea-java7 (7~b24-1.5-1) hardy; urgency=low + + * Update to IcedTea-1.5. + * debian/patches/ssp-interpreter.diff: Use bash to call the ssp script, + backslash handling differs betweend dash and bash. + + -- Matthias Klose Fri, 04 Jan 2008 09:58:27 +0100 + +icedtea-java7 (7~b24-1.5~20071214-1) hardy; urgency=low + + * New upstream snapshot (b24). + * Update java-access-bridge to 1.21.1. + * On powerpc keep the build alive using buildwatch script. + * Do not install menu entries for javaws, ControlPanel. LP: #155553, #156673. + * README.alternatives: Fix example. LP: #157063. + + -- Matthias Klose Fri, 14 Dec 2007 11:09:22 +0100 + +icedtea-java7 (7~b23-1.5~20071124-4) hardy; urgency=low + + * Allow libungif4-dev as alternative build dependency. + * On powerpc keep the build alive using buildwatch script. + * Always build the plugin using libxul-dev. + + -- Matthias Klose Mon, 10 Dec 2007 15:20:16 +0100 + +icedtea-java7 (7~b23-1.5~20071124-3) hardy; urgency=low + + * Lower optimization to -O2 for building the jdk on amd64. + * Reenable parallel build. + * Link using -Bsymbolic-functions. + * debian/patches/arguments.patch, debian/patches/const_strings.patch: + New patches (Arnaud Vandyck). + + -- Matthias Klose Thu, 29 Nov 2007 18:50:41 +0100 + +icedtea-java7 (7~b23-1.5~20071124-2) hardy; urgency=low + + * Bootstrap using ecj/gcj. + * Build using g++-4.1 on i386, lpia, powerpc. + + -- Matthias Klose Wed, 28 Nov 2007 14:46:48 +0000 + +icedtea-java7 (7~b23-1.5~20071124-1) hardy; urgency=low + + * New upstream snapshot (b23). + + -- Matthias Klose Tue, 27 Nov 2007 15:48:08 +0100 + +icedtea-java7 (7~b22-1.5~20071018-0ubuntu3) hardy; urgency=low + + * Revert the previous change, require 7~b22 versions again. + + -- Matthias Klose Sat, 20 Oct 2007 14:33:26 +0000 + +icedtea-java7 (7~b22-1.5~20071018-0ubuntu2) hardy; urgency=low + + * Loosen dependencies to 7~b21, until package is built on all archs. + + -- Matthias Klose Sat, 20 Oct 2007 07:48:36 +0000 + +icedtea-java7 (7~b22-1.5~20071018-0ubuntu1) hardy; urgency=low + + * New upstream snapshot (b22). + * Don't use parallel builds to make the build log better comparable. + + -- Matthias Klose Fri, 19 Oct 2007 19:49:51 +0200 + +icedtea-java7 (7~b21-1.4+20071007-0ubuntu5) gutsy; urgency=low + + * Update icedtea to vcs 20071012 (1.4 release), checked that the plugin + works on amd64. + * debian/copyright: Update "License Headers" section. + + -- Matthias Klose Sun, 14 Oct 2007 19:55:12 +0200 + +icedtea-java7 (7~b21-1.4+20071007-0ubuntu4) gutsy; urgency=low + + * Bootstrapping trigger upload for final step of bootstrapping i386, amd64, + lpia. + + -- LaMont Jones Wed, 10 Oct 2007 22:04:25 -0600 + +icedtea-java7 (7~b21-1.4+20071007-0ubuntu3) gutsy; urgency=low + + * Add build dependency on bzip2. + + -- Matthias Klose Wed, 10 Oct 2007 09:00:40 +0000 + +icedtea-java7 (7~b21-1.4+20071007-0ubuntu2) gutsy; urgency=low + + * Add build dependency on ant. + + -- Matthias Klose Wed, 10 Oct 2007 06:33:14 +0000 + +icedtea-java7 (7~b21-1.4+20071007-0ubuntu1) gutsy; urgency=low + + * Update icedtea to vcs 20071007. + * Update java-access-bridge to 1.20.0. + * Add build-dependency on libxinerama-dev. + * Add Xb-Npp-xxx tags for the -plugin package. + * Name the plugin "GCJ Web Browser Plugin (using IcedTea)", GCJ now + "Great Cool Java" (according to Michael Koch). + * Compress binary-indep packages using bzip2. + + -- Matthias Klose Sun, 7 Oct 2007 23:43:28 +0200 + +icedtea-java7 (7~b21-1.4+20071002-0ubuntu2) gutsy; urgency=low + + * Rebuild using icedtea 7~b21. + + -- Matthias Klose Tue, 02 Oct 2007 19:45:21 +0200 + +icedtea-java7 (7~b21-1.4+20071002-0ubuntu1) gutsy; urgency=low + + * New upstream snapshot (b21). + * Correctly unregister the executable binary format in the -bin package. + * Assemble the debian/copyright file. + + -- Matthias Klose Tue, 2 Oct 2007 09:59:37 +0200 + +icedtea-java7 (7~b19-1.3+20070905-0ubuntu1) gutsy; urgency=low + + * New upstream snapshot (b19). + * Build using g++-4.2 on amd64, using g++-4.1 on i386 and lpia. + * Build without -Werror, upstream source is not yet warning clean. + * Support DEB_BUILD_OPTIONS=parallel=. + * Add build dependency on wget. + * Add font suggestions. + * Changed font configuration to fix CJK font support (Arne Goetje). + * Fix location of the plugin, when registering the plugin alternatives. + + -- Matthias Klose Thu, 6 Sep 2007 00:46:40 +0200 + +icedtea-java7 (7~b18-1.2+20070822-0ubuntu2) gutsy; urgency=low + + * Create browser plugin directories. + * Build-depend on liblcms1-dev. + * Recommend packages with dlopened libraries: liblcms1, lesstif2, libcupsys2, + libgtk2.0-0, libgnome2-0, libgnomevfs2-0, libgconf2-4, libxrandr2, + libgl1-mesa-glx. + + -- Matthias Klose Tue, 21 Aug 2007 17:21:00 +0200 + +icedtea-java7 (7~b18-1.2+20070822-0ubuntu1) gutsy; urgency=low + + * New upstream version. + * Include java-access-bridge. + * Build -doc, -plugin packages. + * Register alternatives, priority 1060. + + -- Matthias Klose Tue, 21 Aug 2007 17:21:00 +0200 + +icedtea-java7 (7~b17-1.2+20070808-1) gutsy; urgency=low + + * Initial release, discard the initial packaging based on cdbs. + * Base the packaging on the sun-javaX packages. + + -- Matthias Klose Wed, 08 Aug 2007 15:55:39 +0200 + +icedtea (7~b16-20070724-1) UNRELEASED; urgency=low + + * Update upstream tarball to 7~b16, update icedtea to 20070724. + * debian/control: Build-depend on libfreetype6-dev. + * debian/rules: Configure --with-jar=/usr/bin/fastjar. + * Build using gcj-4.2. + + -- Matthias Klose Tue, 24 Jul 2007 11:24:55 +0200 + +icedtea (7~b14-20070704-1) unstable; urgency=low + + * Initial version. + + -- Michael Koch Wed, 04 Jul 2007 08:25:31 -0100 + --- openjdk-9-9~b94.orig/debian/compat +++ openjdk-9-9~b94/debian/compat @@ -0,0 +1 @@ +5 --- openjdk-9-9~b94.orig/debian/control +++ openjdk-9-9~b94/debian/control @@ -0,0 +1,161 @@ +Source: openjdk-9 +Section: java +Priority: optional +Maintainer: OpenJDK Team +Uploaders: Matthias Klose +Build-Depends: debhelper (>= 5), quilt, m4, lsb-release, zip, unzip, + sharutils, gawk, cpio, pkg-config, procps, time, wdiff, fastjar (>= 2:0.96-0ubuntu2), + autoconf, automake, autotools-dev, ant, ant-optional, + g++-5 [amd64 i386 arm64 ppc64 ppc64el kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el], g++-4.9 [!amd64 !i386 !arm64 !ppc64 !ppc64el !kfreebsd-amd64 !kfreebsd-i386], g++-4.9 [arm64], + openjdk-8-jdk | openjdk-9-jdk, + libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, libasound2-dev, liblcms2-dev, libfreetype6-dev (>= 2.2.1), libgtk2.0-dev, libxinerama-dev, libkrb5-dev, xsltproc, libpcsclite-dev, + libffi-dev, + zlib1g-dev, libattr1-dev, libpng-dev, libjpeg-dev, libgif-dev, systemtap-sdt-dev, + libnss3-dev (>= 2:3.17.1), + mauve, jtreg, xvfb, xauth, xfonts-base, libgl1-mesa-dri [!x32], twm | metacity, twm | dbus-x11, x11-xkb-utils, +Standards-Version: 3.9.6 +Homepage: http://openjdk.java.net/ +Vcs-Bzr: http://bazaar.launchpad.net/~openjdk/openjdk/openjdk9 +Vcs-Browser: https://code.launchpad.net/~openjdk/openjdk/openjdk9 + +Package: openjdk-9-jdk +Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +Multi-Arch: same +Pre-Depends: ${dpkg:Depends} +Depends: openjdk-9-jre (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Recommends: libxt-dev +Suggests: openjdk-9-demo, openjdk-9-source, visualvm +Provides: java-sdk, java2-sdk, java5-sdk, java6-sdk, + java7-jdk, java8-jdk, java-compiler +Description: OpenJDK Development Kit (JDK) + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-jre-headless +Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +Multi-Arch: same +Pre-Depends: ${dpkg:Depends}, ${multiarch:Depends} +Depends: ${jredefault:Depends}, ${cacert:Depends}, + ${jcommon:Depends}, ${dlopenhl:Depends}, + ${mountpoint:Depends}, + ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dlopenhl:Recommends}, ${jamvm:Recommends} +Suggests: ${cacao:Recommends}, ${jamvm:Suggests}, + libnss-mdns, + fonts-dejavu-extra, + fonts-ipafont-gothic, fonts-ipafont-mincho, ttf-wqy-microhei | ttf-wqy-zenhei, fonts-indic, +Provides: java-runtime-headless, java2-runtime-headless, + java5-runtime-headless, java6-runtime-headless, + java7-runtime-headless, java8-runtime-headless, + ${defaultvm:Provides}, ${jvm:Provides} +Description: OpenJDK Java runtime, using ${vm:Name} (headless) + Minimal Java runtime - needed for executing non GUI Java programs, + using ${vm:Name}. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-jre +Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +Multi-Arch: same +Pre-Depends: ${dpkg:Depends} +Depends: openjdk-9-jre-headless (= ${binary:Version}), + ${xandsound:Depends}, + ${dlopenjre:Depends}, ${dep:bridge}, + ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dlopenjre:Recommends}, fonts-dejavu-extra +Suggests: icedtea-8-plugin, ${pkg:pulseaudio} +Replaces: openjdk-9-jre-headless (<< 8u20~b20-3) +Provides: java-runtime, java2-runtime, + java5-runtime, java6-runtime, + java7-runtime, java8-runtime +Description: OpenJDK Java runtime, using ${vm:Name} + Full Java runtime environment - needed for executing Java GUI and Webstart + programs, using ${vm:Name}. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-demo +Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: openjdk-9-jre (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: Java runtime based on OpenJDK (demos and examples) + OpenJDK Java runtime + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-source +Architecture: all +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: openjdk-9-jre (>= ${source:Version}), + openjdk-9-jdk (>= ${binary:Version}), + ${misc:Depends} +Replaces: openjdk-8-jdk (<< 8u20~b26-1~) +Description: OpenJDK Development Kit (JDK) source files + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + This package contains the Java programming language source files + (src.zip) for all classes that make up the Java core API. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-doc +Section: doc +Pre-Depends: ${dpkg:Depends} +Architecture: all +Priority: extra +Depends: ${misc:Depends} +Suggests: openjdk-9-jdk +Description: OpenJDK Development Kit (JDK) documentation + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + This package contains the API documentation. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-dbg +Architecture: alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +Multi-Arch: same +Priority: extra +Section: debug +Pre-Depends: ${dpkg:Depends} +Depends: openjdk-9-jre-headless (= ${binary:Version}), + ${misc:Depends} +Recommends: openjdk-9-jre (= ${binary:Version}) +Suggests: openjdk-9-jdk (= ${binary:Version}) +Description: Java runtime based on OpenJDK (debugging symbols) + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + This package contains the debugging symbols. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: openjdk-9-jre-zero +Architecture: amd64 i386 arm64 ppc64 ppc64el kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: openjdk-9-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: ${zerovm:Provides} +Description: Alternative JVM for OpenJDK, using Zero/Shark + The package provides an alternative runtime using the Zero VM and the + Shark Just In Time Compiler (JIT). Built on architectures in addition + to the Hotspot VM as a debugging aid for those architectures which don't + have a Hotspot VM. + . + The VM is started with the option `-zero'. See the README.Debian for details. --- openjdk-9-9~b94.orig/debian/control.cacao-jre +++ openjdk-9-9~b94/debian/control.cacao-jre @@ -0,0 +1,15 @@ + +Package: openjdk-8-jre-cacao +Architecture: @cacao_archs@ +Multi-Arch: same +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: icedtea6-jre-cacao +Description: Alternative JVM for OpenJDK, using Cacao + The package provides an alternative runtime using the Cacao VM and the + Cacao Just In Time Compiler (JIT). This is a somewhat faster alternative + than the Zero port on architectures like alpha, armel, m68k, mips, mipsel, + powerpc and s390. + . + The VM is started with the option `-cacao'. See the README.Debian for details. --- openjdk-9-9~b94.orig/debian/control.in +++ openjdk-9-9~b94/debian/control.in @@ -0,0 +1,146 @@ +Source: @basename@ +Section: java +Priority: optional +Maintainer: OpenJDK Team +Uploaders: Matthias Klose +Build-Depends: debhelper (>= 5), quilt, m4, lsb-release, zip, unzip, + sharutils, gawk, cpio, pkg-config, procps, time, wdiff, @bd_fastjar@ + @bd_autotools@ @bd_ant@ @bd_cacao@ @bd_jamvm@ + @bd_gcc@ + @bd_bootstrap@ + @bd_openjdk@ + @bd_zero@ @bd_shark@ + @bd_syslibs@ @bd_pulsejava@ @bd_systemtap@ + @bd_nss@ + @bd_mauve@ @bd_jtreg@ @bd_xvfb@ +Standards-Version: 3.9.6 +Homepage: http://openjdk.java.net/ +Vcs-Bzr: http://bazaar.launchpad.net/~openjdk/openjdk/openjdk9 +Vcs-Browser: https://code.launchpad.net/~openjdk/openjdk/openjdk9 + +Package: @basename@-jdk +Architecture: @any_archs@ +Multi-Arch: same +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Recommends: libxt-dev +Suggests: @basename@-demo, @basename@-source, visualvm +Provides: java-sdk, java2-sdk, java5-sdk, java6-sdk, + java7-jdk, java8-jdk, java-compiler +Description: OpenJDK Development Kit (JDK) + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: @basename@-jre-headless +Architecture: @any_archs@ +Multi-Arch: same +Pre-Depends: ${dpkg:Depends}, ${multiarch:Depends} +Depends: ${jredefault:Depends}, ${cacert:Depends}, + ${jcommon:Depends}, ${dlopenhl:Depends}, + ${mountpoint:Depends}, + ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dlopenhl:Recommends}, ${jamvm:Recommends} +Suggests: ${cacao:Recommends}, ${jamvm:Suggests}, + libnss-mdns, + @core_fonts@, + @cjk_fonts@ +Provides: java-runtime-headless, java2-runtime-headless, + java5-runtime-headless, java6-runtime-headless, + java7-runtime-headless, java8-runtime-headless, + ${defaultvm:Provides}, ${jvm:Provides} +Description: OpenJDK Java runtime, using ${vm:Name} (headless) + Minimal Java runtime - needed for executing non GUI Java programs, + using ${vm:Name}. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: @basename@-jre +Architecture: @any_archs@ +Multi-Arch: same +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre-headless (= ${binary:Version}), + ${xandsound:Depends}, + ${dlopenjre:Depends}, ${dep:bridge}, + ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dlopenjre:Recommends}, @core_fonts@ +Suggests: icedtea-8-plugin, ${pkg:pulseaudio} +Replaces: @basename@-jre-headless (<< 8u20~b20-3) +Provides: java-runtime, java2-runtime, + java5-runtime, java6-runtime, + java7-runtime, java8-runtime +Description: OpenJDK Java runtime, using ${vm:Name} + Full Java runtime environment - needed for executing Java GUI and Webstart + programs, using ${vm:Name}. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: @basename@-demo +Architecture: @any_archs@ +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Description: Java runtime based on OpenJDK (demos and examples) + OpenJDK Java runtime + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: @basename@-source +Architecture: all +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre (>= ${source:Version}), + @basename@-jdk (>= ${binary:Version}), + ${misc:Depends} +Replaces: openjdk-8-jdk (<< 8u20~b26-1~) +Description: OpenJDK Development Kit (JDK) source files + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + This package contains the Java programming language source files + (src.zip) for all classes that make up the Java core API. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: @basename@-doc +Section: doc +Pre-Depends: ${dpkg:Depends} +Architecture: all +Priority: extra +Depends: ${misc:Depends} +Suggests: @basename@-jdk +Description: OpenJDK Development Kit (JDK) documentation + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + This package contains the API documentation. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. + +Package: @basename@-dbg +Architecture: @any_archs@ +Multi-Arch: same +Priority: extra +Section: debug +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre-headless (= ${binary:Version}), + ${misc:Depends} +Recommends: @basename@-jre (= ${binary:Version}) +Suggests: @basename@-jdk (= ${binary:Version}) +Description: Java runtime based on OpenJDK (debugging symbols) + OpenJDK is a development environment for building applications, + applets, and components using the Java programming language. + . + This package contains the debugging symbols. + . + The packages are built using the IcedTea build support and patches + from the IcedTea project. --- openjdk-9-9~b94.orig/debian/control.jamvm-jre +++ openjdk-9-9~b94/debian/control.jamvm-jre @@ -0,0 +1,13 @@ + +Package: openjdk-8-jre-jamvm +Architecture: @jamvm_archs@ +Multi-Arch: same +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Alternative JVM for OpenJDK, using JamVM + The package provides an alternative runtime using the JamVM. This is a + somewhat faster alternative than the Zero port on architectures like armel, + mips, mipsel, powerpc. + . + The VM is started with the option `-jamvm'. See the README.Debian for details. --- openjdk-9-9~b94.orig/debian/control.zero-jre +++ openjdk-9-9~b94/debian/control.zero-jre @@ -0,0 +1,15 @@ + +Package: @basename@-jre-zero +Architecture: @altzero_archs@ +Multi-Arch: same +Priority: extra +Pre-Depends: ${dpkg:Depends} +Depends: @basename@-jre-headless (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: ${zerovm:Provides} +Description: Alternative JVM for OpenJDK, using Zero/Shark + The package provides an alternative runtime using the Zero VM and the + Shark Just In Time Compiler (JIT). Built on architectures in addition + to the Hotspot VM as a debugging aid for those architectures which don't + have a Hotspot VM. + . + The VM is started with the option `-zero'. See the README.Debian for details. --- openjdk-9-9~b94.orig/debian/copyright +++ openjdk-9-9~b94/debian/copyright @@ -0,0 +1,3636 @@ +This package was debianized by Matthias Klose on +Wed, 08 Aug 2007 15:55:39 +0200. + +It was downloaded from + http://download.java.net/openjdk/jdk7/ + http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/ + +------------------------------------------------------------------------------ +Upstream Authors: + +OpenJDK: + Sun Microsystems, Inc. + Oracle and/or its affiliates. + +IcedTea Sound (see AUTHORS for a current list): + Andrew John Hughes + Ioana Ivan + Matthias Klose + Denis Lila + Omair Majid + Xerxes Rånby + Marc Schoenefeld + Joshua Sumali + Jon VanAlten + +Java Access Bridge: + Bill Haneman + Louise Miller + Gergõ Érdi + Laszlo (Laca) Peter + Jeff Cai + George Kraft IV + Padraig O'Briain + Darren Kenny + +Packaging: + Matthias Klose + +------------------------------------------------------------------------------ +Copyright: + +OpenJDK: + Copyright © 1996-2007 Sun Microsystems, Inc. + Copyright © 1996-2014 Oracle and/or its affiliates. + For third party copyrights see below (copies from the third party readme). + Portions Copyright © 1993-2014 IBM Corp. + Portions Copyright © 1997 Eastman Kodak Company. + Portions Copyright © 1999-2005 The Apache Software Foundation. + +IcedTea Sound: + Portions Copyright © 2008-2014 Red Hat, Inc. + +Java Access Bridge: + Portions Copyright © 2002-2007 Bill Haneman + Portions Copyright © 2002-2007 Louise Miller + Portions Copyright © 2002-2007 Gergõ Érdi + Portions Copyright © 2002-2007 Laszlo (Laca) Peter + Portions Copyright © 2002-2007 Jeff Cai + Portions Copyright © 2002-2007 George Kraft IV + Portions Copyright © 2002-2007 Padraig O'Briain + Portions Copyright © 2002-2007 Darren Kenny + +Packaging: + Copyright © 2007-2014 Canonical Ltd. + +------------------------------------------------------------------------------ +License: + +NOTE: the combined work which includes the upstream components below +carries forward the OpenJDK Assembly Exception (text included below). + +Packaging: + 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. + +IcedTea Sound: + IcedTea is licensed under the GPL v2. See `/usr/share/common-licenses/GPL-2'. + The exception is: "CLASSPATH" EXCEPTION TO THE GPL. + + The sound files (pulseaudio/testsounds/*.wav) were taken from the KDE Project + (www.kde.org). A copy of them can be obtained from + http://websvn.kde.org/branches/KDE/4.0/kdeartwork/sounds/ . They are licensed + by the copyright holders as GPLv2. + +OpenJDK: + OpenJDK is licensed under the GPL v2 with exceptions, + see `/usr/share/common-licenses/GPL-2'. + The exceptions are: + - "CLASSPATH" EXCEPTION TO THE GPL + - OPENJDK ASSEMBLY EXCEPTION + Various third party code in OpenJDK is licensed under different licenses. + See below (THIRD_PARTY_README). + +Java Access Bridge: + Java Access Bridge is licensed under the LGPL v2. + See `/usr/share/common-licenses/LGPL-2'. + +A Note About License Headers +---------------------------- + +Some sources downloaded from openjdk.java.net do not display the GPL +license header. Instances are: + + - The files in openjdk/j2se/src/share/classes/javax/xml/stream/ seem to + comprise the BEA-StAX source code + + http://ftpna2.bea.com/pub/downloads/jsr173.jar + + with some Sun-specific modifications. We're assuming that Sun is + bundling BEA-StAX under the terms of the Apache License 2.0 and + that the modifications are owned by Sun. + + - We are assuming that these files are owned by Sun: + openjdk/j2se/src/share/classes/**/resources/*.properties + +The downloaded sources include a script that inserts proprietary +license headers into the source files it generates. The script +itself is GPL'd so we patched them to emit the GPL header. The +file is: + openjdk/j2se/make/java/nio/genExceptions.sh + +------------------------------------------------------------------------------ +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Sun Microsystems, Inc. are subject to +the following clarification and special exception to the GPL, but only where +Sun has expressly included in the particular source file's header the words +"Sun designates this particular file as subject to the "Classpath" exception +as provided by Sun in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. + +------------------------------------------------------------------------------ +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Sun at openjdk.java.net and +openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the +GNU General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Sun gives you permission to link this + OpenJDK Code with certain code licensed by Sun as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Sun. + +As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to +build an executable that includes those portions of necessary code that Sun +could not provide under GPL2 (or that Sun has provided under GPL2 with the +Classpath exception). If you modify or add to the OpenJDK code, that new +GPL2 code may still be combined with Designated Exception Modules if the +new code is made subject to this exception by its copyright holder. + +------------------------------------------------------------------------------ +OpenJDK Trademark Notice +Version 1.1, 2008/3/10 + +OpenJDK (the "Name") is a trademark of Sun Microsystems, Inc. (the "Owner"). +Owner permits any person obtaining a copy of this software (the "Software") +which is based on original software retrieved from one of the following +websites: http://download.java.net/openjdk, http://hg.openjdk.java.net/jdk6, +or http://openjdk.java.net (each a "Website", with the original software made +available by the Owner on a Website being known as the "Website Software") to +use the Name in package names and version strings of the Software subject to +the following conditions: + + - The Software is a substantially complete implementation of the OpenJDK + development kit or runtime environment code made available by Owner on a + Website, and the vast majority of the Software code is identical to the + upstream Website Software; + + - No permission is hereby granted to use the Name in any other manner, + unless such use constitutes "fair use." + + - The Owner makes no warranties of any kind respecting the Name and all + representations and warranties, including any implied warranty of + merchantability, fitness for a particular purpose or non-infringement + are hereby disclaimed; and + + - This notice and the following legend are included in all copies of the + Software or portions of it: + + OpenJDK is a trademark or registered trademark of Sun Microsystems, + Inc. in the United States and other countries. + +The Name may also be used in connection with descriptions of the Software that +constitute "fair use," such as "derived from the OpenJDK code base" or "based +on the OpenJDK source code." + +Owner intends to revise this Notice as necessary in order to meet the needs of +the OpenJDK Community. Please send questions or comments about this Notice to +Sun Microsystems at openjdk-tm@sun.com. Revisions to this Notice will be +announced on the public mailing list announce@openjdk.java.net, to which you +may subscribe by visiting http://mail.openjdk.java.net. The latest version of +this Notice may be found at http://openjdk.java.net/legal. + +------------------------------------------------------------------------------ + +The contents of the jdk/src/share/native/sun/security/ec/impl/ directory are +licensed under the LGPL-2.1. See `/usr/share/common-licenses/LGPL-2-1'. + +------------------------------------------------------------------------------ +The following licenses for third party code are taken from +openjdk/THIRD_PARTY_README +------------------------------------------------------------------------------ + +DO NOT TRANSLATE OR LOCALIZE. +----------------------------- + +%% This notice is provided with respect to ASM Bytecode Manipulation +Framework v5.0, which may be included with JRE 8, and JDK 8, and +OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2000-2011 France Télécom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to BSDiff v4.3, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright 2003-2005 Colin Percival +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted providing that the following conditions +are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to CodeViewer 1.0, which may be +included with JDK 8. + +--- begin of LICENSE --- + +Copyright 1999 by CoolServlets.com. + +Any errors or suggested improvements to this class can be reported as +instructed on CoolServlets.com. We hope you enjoy this program... your +comments will encourage further development! This software is distributed +under the terms of the BSD License. Redistribution and use in source and +binary forms, with or without modification, are permitted provided that the +following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +Neither name of CoolServlets.com nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Cryptix AES 3.2.0, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Cryptix General License + +Copyright (c) 1995-2005 The Cryptix Foundation Limited. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND +CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to CUP Parser Generator for +Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both the +copyright notice and this permission notice and warranty disclaimer appear in +supporting documentation, and that the names of the authors or their +employers not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. + +The authors and their employers disclaim all warranties with regard to +this software, including all implied warranties of merchantability and fitness. +In no event shall the authors or their employers be liable for any special, +indirect or consequential damages or any damages whatsoever resulting from +loss of use, data or profits, whether in an action of contract, negligence or +other tortious action, arising out of or in connection with the use or +performance of this software. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Document Object Model (DOM) Level 2 +& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +W3C SOFTWARE NOTICE AND LICENSE + +http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +This work (and included software, documentation such as READMEs, or other +related items) is being provided by the copyright holders under the following +license. By obtaining, using and/or copying this work, you (the licensee) +agree that you have read, understood, and will comply with the following terms +and conditions. + +Permission to copy, modify, and distribute this software and its +documentation, with or without modification, for any purpose and without fee +or royalty is hereby granted, provided that you include the following on ALL +copies of the software and documentation or portions thereof, including +modifications: + + 1.The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. + + 2.Any pre-existing intellectual property disclaimers, notices, or terms and + conditions. If none exist, the W3C Software Short Notice should be included + (hypertext is preferred, text is permitted) within the body of any + redistributed or derivative code. + + 3.Notice of any changes or modifications to the files, including the date + changes were made. (We recommend you provide URIs to the location from + which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS +MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR +PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY +THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL +OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR +DOCUMENTATION. The name and trademarks of copyright holders may NOT be used +in advertising or publicity pertaining to the software without specific, +written prior permission. Title to copyright in this software and any +associated documentation will at all times remain with copyright holders. + +____________________________________ + +This formulation of W3C's notice and license became active on December 31 +2002. This version removes the copyright ownership notice such that this +license can be used with materials other than those owned by the W3C, reflects +that ERCIM is now a host of the W3C, includes references to this specific +dated version of the license, and removes the ambiguous grant of "use". +Otherwise, this version is the same as the previous version and is written so +as to preserve the Free Software Foundation's assessment of GPL compatibility +and OSI's certification under the Open Source Definition. Please see our +Copyright FAQ for common questions about using materials from our site, +including specific terms and conditions for packages like libwww, Amaya, and +Jigsaw. Other questions about this notice can be directed to +site-policy@w3.org. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Dynalink v0.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2009-2013, Attila Szegedi + +All rights reserved.Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met:* Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. * Redistributions in +binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other +materials provided with the distribution. * Neither the name of Attila +Szegedi nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Elliptic Curve Cryptography, which +may be included with JRE 8, JDK 8, and OpenJDK 8. + +You are receiving a copy of the Elliptic Curve Cryptography library in source +form with the JDK 8 and OpenJDK 8 source distributions, and as object code in +the JRE 8 & JDK 8 runtimes. + +In the case of the JRE 8 & JDK 8 runtimes, the terms of the Oracle license do +NOT apply to the Elliptic Curve Cryptography library; it is licensed under the +following license, separately from Oracle's JDK & JRE. If you do not wish to +install the Elliptic Curve Cryptography library, you may delete the library +named libsunec.so (on Solaris and Linux systems) or sunec.dll (on Windows +systems) from the JRE bin directory reserved for native libraries. + + +--- begin of LICENSE --- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to ECMAScript Language +Specification ECMA-262 Edition 5.1 which may be included with +JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright notice +Copyright © 2011 Ecma International +Ecma International +Rue du Rhone 114 +CH-1204 Geneva +Tel: +41 22 849 6000 +Fax: +41 22 849 6001 +Web: http://www.ecma-international.org + +This document and possible translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or assist +in its implementation may be prepared, copied, published, and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this section are included on all such copies and derivative +works. However, this document itself may not be modified in any way, including +by removing the copyright notice or references to Ecma International, except as +needed for the purpose of developing any document or deliverable produced by +Ecma International (in which case the rules applied to copyrights must be +followed) or as required to translate it into languages other than English. The +limited permissions granted above are perpetual and will not be revoked by Ecma +International or its successors or assigns. This document and the information +contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY +WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE." Software License + +All Software contained in this document ("Software)" is protected by copyright +and is being made available under the "BSD License", included below. This +Software may be subject to third party rights (rights from parties other than +Ecma International), including patent rights, and no licenses under such third +party rights are granted under this license even if the third party concerned is +a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS +AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR +INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO +IMPLEMENT ECMA INTERNATIONAL STANDARDS*. Redistribution and use in source and +binary forms, with or without modification, are permitted provided that the +following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +3. Neither the name of the authors nor Ecma International may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. +--- end of LICENSE --- + +%% This notice is provided with respect to Dynalink library which is included +with the Nashorn technology. + +--- begin of LICENSE --- +Copyright (c) 2009-2013, Attila Szegedi + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of the copyright holder nor the names of + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--- end of LICENSE --- + +%% This notice is provided with respect to Joni library which is included +with the Nashorn technology. + +--- begin of LICENSE --- +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to FontConfig 2.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8 source distributions on +Linux and Solaris. + +--- begin of LICENSE --- + +Copyright © 2001,2003 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that the +above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +the name of Keith Packard not be used in advertising or publicity pertaining +to distribution of the software without specific, written prior permission. +Keith Packard makes no representations about the suitability of this software +for any purpose. It is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEITH +PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to IAIK PKCS#11 Wrapper, +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +IAIK PKCS#11 Wrapper License + +Copyright (c) 2002 Graz University of Technology. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. The end-user documentation included with the redistribution, if any, must + include the following acknowledgment: + + "This product includes software developed by IAIK of Graz University of + Technology." + + Alternately, this acknowledgment may appear in the software itself, if and + wherever such third-party acknowledgments normally appear. + +4. The names "Graz University of Technology" and "IAIK of Graz University of + Technology" must not be used to endorse or promote products derived from this + software without prior written permission. + +5. Products derived from this software may not be called "IAIK PKCS Wrapper", + nor may "IAIK" appear in their name, without prior written permission of + Graz University of Technology. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which +may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 1995-2010 International Business Machines Corporation and others + +All rights reserved. + +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, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +provided that the above copyright notice(s) and this permission notice appear +in all copies of the Software and that both the above copyright notice(s) and +this permission notice appear in supporting documentation. + +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 OF THIRD PARTY RIGHTS. IN +NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE +LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization of the copyright holder. +All trademarks and registered trademarks mentioned herein are the property of +their respective owners. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to IJG JPEG 6b, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +This software is copyright (C) 1991-1998, Thomas G. Lane. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to Joni v1.1.9, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to JOpt-Simple v3.0, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + Copyright (c) 2004-2009 Paul R. Holser, Jr. + + 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. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to Kerberos functionality, which +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + (C) Copyright IBM Corp. 1999 All Rights Reserved. + Copyright 1997 The Open Group Research Institute. All rights reserved. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Kerberos functionality from +FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + Copyright (C) 1998 by the FundsXpress, INC. + + All rights reserved. + + Export of this software from the United States of America may require + a specific license from the United States Government. It is the + responsibility of any person or organization contemplating export to + obtain such a license before exporting. + + WITHIN THAT CONSTRAINT, permission to use, copy, modify, and + distribute this software and its documentation for any purpose and + without fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright notice and + this permission notice appear in supporting documentation, and that + the name of FundsXpress. not be used in advertising or publicity pertaining + to distribution of the software without specific, written prior + permission. FundsXpress makes no representations about the suitability of + this software for any purpose. It is provided "as is" without express + or implied warranty. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Kronos OpenGL headers, which may be +included with JDK 8 and OpenJDK 8 source distributions. + +--- begin of LICENSE --- + + Copyright (c) 2007 The Khronos Group Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and/or associated documentation files (the "Materials"), to + deal in the Materials without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Materials, and to permit persons to whom the Materials are + 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 Materials. + + THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS IN THE + MATERIALS. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% Portions Copyright Eastman Kodak Company 1992 + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to libpng 1.5.4, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +This copy of the libpng notices is provided for your convenience. In case of +any discrepancy between this copy and the notices in the file png.h that is +included in the libpng distribution, the latter shall prevail. + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: + +If you modify libpng you may insert additional notices immediately following +this sentence. + +This code is released under the libpng license. + +libpng versions 1.2.6, August 15, 2004, through 1.5.4, July 7, 2011, are +Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are +distributed according to the same disclaimer and license as libpng-1.2.5 +with the following individual added to the list of Contributing Authors + + Cosmin Truta + +libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are +Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are +distributed according to the same disclaimer and license as libpng-1.0.6 +with the following individuals added to the list of Contributing Authors + + Simon-Pierre Cadieux + Eric S. Raymond + Gilles Vollant + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are +distributed according to the same disclaimer and license as libpng-0.96, +with the following individuals added to the list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996, 1997 Andreas Dilger +Distributed according to the same disclaimer and license as libpng-0.88, +with the following individuals added to the list of Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing Authors +and Group 42, Inc. disclaim all warranties, expressed or implied, +including, without limitation, the warranties of merchantability and of +fitness for any purpose. The Contributing Authors and Group 42, Inc. +assume no liability for direct, indirect, incidental, special, exemplary, +or consequential damages, which may result from the use of the PNG +Reference Library, even if advised of the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + +1. The origin of this source code must not be misrepresented. + +2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + +3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, without +fee, and encourage the use of this source code as a component to +supporting the PNG file format in commercial products. If you use this +source code in a product, acknowledgment is not required but would be +appreciated. + + +A "png_get_copyright" function is available, for convenient use in "about" +boxes and the like: + + printf("%s",png_get_copyright(NULL)); + +Also, the PNG logo (in PNG format, of course) is supplied in the +files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). + +Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a +certification mark of the Open Source Initiative. + +Glenn Randers-Pehrson +glennrp at users.sourceforge.net +July 7, 2011 + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to libungif 4.1.3, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Little CMS 2.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Little CMS +Copyright (c) 1998-2011 Marti Maria Saguer + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% Lucida is a registered trademark or trademark of Bigelow & Holmes in the +U.S. and other countries. + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Mesa 3D Graphics Library v4.1, +which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions. + +--- begin of LICENSE --- + + Mesa 3-D graphics library + Version: 4.1 + + Copyright (C) 1999-2002 Brian Paul All Rights Reserved. + + 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 + BRIAN PAUL 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Mozilla Network Security +Services (NSS), which is supplied with the JDK test suite in the OpenJDK +source code repository. It is licensed under Mozilla Public License (MPL), +version 2.0. + +The NSS libraries are supplied in executable form, built from unmodified +NSS source code labeled with the "NSS_3.13.1_RTM" release tag. + +The NSS source code is available in the OpenJDK source code repository at: + jdk/test/sun/security/pkcs11/nss/src + +The NSS libraries are available in the OpenJDK source code repository at: + jdk/test/sun/security/pkcs11/nss/lib + +--- begin of LICENSE --- + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1, +which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. + +--- begin of LICENSE --- + +Copyright (c) 1999-2004 David Corcoran +Copyright (c) 1999-2004 Ludovic Rousseau +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by: + David Corcoran + http://www.linuxnet.com (MUSCLE) +4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +Changes to this license can be made only by the copyright author with +explicit written consent. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to PorterStemmer v4, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +See: http://tartarus.org/~martin/PorterStemmer + +The software is completely free for any purpose, unless notes at the head of +the program text indicates otherwise (which is rare). In any case, the notes +about licensing are never more restrictive than the BSD License. + +In every case where the software is not written by me (Martin Porter), this +licensing arrangement has been endorsed by the contributor, and it is +therefore unnecessary to ask the contributor again to confirm it. + +I have not asked any contributors (or their employers, if they have them) for +proofs that they have the right to distribute their software in this way. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Relax NG Object/Parser v.20050510, +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) Kohsuke Kawaguchi + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to RelaxNGCC v1.12, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2000-2003 Daisuke Okajima and Kohsuke Kawaguchi. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. The end-user documentation included with the redistribution, if any, must + include the following acknowledgment: + + "This product includes software developed by Daisuke Okajima + and Kohsuke Kawaguchi (http://relaxngcc.sf.net/)." + +Alternately, this acknowledgment may appear in the software itself, if and +wherever such third-party acknowledgments normally appear. + +4. The names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission. For + written permission, please contact the copyright holders. + +5. Products derived from this software may not be called "RELAXNGCC", nor may + "RELAXNGCC" appear in their name, without prior written permission of the + copyright holders. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE APACHE +SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to SAX 2.0.1, which may be included +with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + SAX is free! + + In fact, it's not possible to own a license to SAX, since it's been placed in + the public domain. + + No Warranty + + Because SAX is released to the public domain, there is no warranty for the + design or for the software implementation, to the extent permitted by + applicable law. Except when otherwise stated in writing the copyright holders + and/or other parties provide SAX "as is" without warranty of any kind, either + expressed or implied, including, but not limited to, the implied warranties + of merchantability and fitness for a particular purpose. The entire risk as + to the quality and performance of SAX is with you. Should SAX prove + defective, you assume the cost of all necessary servicing, repair or + correction. + + In no event unless required by applicable law or agreed to in writing will + any copyright holder, or any other party who may modify and/or redistribute + SAX, be liable to you for damages, including any general, special, incidental + or consequential damages arising out of the use or inability to use SAX + (including but not limited to loss of data or data being rendered inaccurate + or losses sustained by you or third parties or a failure of the SAX to + operate with any other programs), even if such holder or other party has been + advised of the possibility of such damages. + + Copyright Disclaimers + + This page includes statements to that effect by David Megginson, who would + have been able to claim copyright for the original work. SAX 1.0 + + Version 1.0 of the Simple API for XML (SAX), created collectively by the + membership of the XML-DEV mailing list, is hereby released into the public + domain. + + No one owns SAX: you may use it freely in both commercial and non-commercial + applications, bundle it with your software distribution, include it on a + CD-ROM, list the source code in a book, mirror the documentation at your own + web site, or use it in any other way you see fit. + + David Megginson, sax@megginson.com + 1998-05-11 + + SAX 2.0 + + I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and + release all of the SAX 2.0 source code, compiled code, and documentation + contained in this distribution into the Public Domain. SAX comes with NO + WARRANTY or guarantee of fitness for any purpose. + + David Megginson, david@megginson.com + 2000-05-05 + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to SoftFloat version 2b, which may be +included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM. + +--- begin of LICENSE --- + +Use of any of this software is governed by the terms of the license below: + +SoftFloat was written by me, John R. Hauser. This work was made possible in +part by the International Computer Science Institute, located at Suite 600, +1947 Center Street, Berkeley, California 94704. Funding was partially +provided by the National Science Foundation under grant MIP-9311980. The +original version of this code was written as part of a project to build +a fixed-point vector processor in collaboration with the University of +California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek. + +THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort +has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT +TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO +PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL +LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO +FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER +SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, +COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE +SOFTWARE. + +Derivative works are acceptable, even for commercial purposes, provided +that the minimal documentation requirements stated in the source code are +satisfied. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Sparkle 1.5, +which may be included with JRE 8 on Mac OS X. + +--- begin of LICENSE --- + +Copyright (c) 2012 Sparkle.org and Andy Matuschak + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% Portions licensed from Taligent, Inc. + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Thai Dictionary, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (C) 1982 The Royal Institute, Thai Royal Government. + +Copyright (C) 1998 National Electronics and Computer Technology Center, +National Science and Technology Development Agency, +Ministry of Science Technology and Environment, +Thai Royal Government. + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1 +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Unicode Terms of Use + +For the general privacy policy governing access to this site, see the Unicode +Privacy Policy. For trademark usage, see the Unicode® Consortium Name and +Trademark Usage Policy. + +A. Unicode Copyright. + 1. Copyright © 1991-2013 Unicode, Inc. All rights reserved. + + 2. Certain documents and files on this website contain a legend indicating + that "Modification is permitted." Any person is hereby authorized, + without fee, to modify such documents and files to create derivative + works conforming to the Unicode® Standard, subject to Terms and + Conditions herein. + + 3. Any person is hereby authorized, without fee, to view, use, reproduce, + and distribute all documents and files solely for informational + purposes in the creation of products supporting the Unicode Standard, + subject to the Terms and Conditions herein. + + 4. Further specifications of rights and restrictions pertaining to the use + of the particular set of data files known as the "Unicode Character + Database" can be found in Exhibit 1. + + 5. Each version of the Unicode Standard has further specifications of + rights and restrictions of use. For the book editions (Unicode 5.0 and + earlier), these are found on the back of the title page. The online + code charts carry specific restrictions. All other files, including + online documentation of the core specification for Unicode 6.0 and + later, are covered under these general Terms of Use. + + 6. No license is granted to "mirror" the Unicode website where a fee is + charged for access to the "mirror" site. + + 7. Modification is not permitted with respect to this document. All copies + of this document must be verbatim. + +B. Restricted Rights Legend. Any technical data or software which is licensed + to the United States of America, its agencies and/or instrumentalities + under this Agreement is commercial technical data or commercial computer + software developed exclusively at private expense as defined in FAR 2.101, + or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, + duplication, or disclosure by the Government is subject to restrictions as + set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov + 1995) and this Agreement. For Software, in accordance with FAR 12-212 or + DFARS 227-7202, as applicable, use, duplication or disclosure by the + Government is subject to the restrictions set forth in this Agreement. + +C. Warranties and Disclaimers. + 1. This publication and/or website may include technical or typographical + errors or other inaccuracies . Changes are periodically added to the + information herein; these changes will be incorporated in new editions + of the publication and/or website. Unicode may make improvements and/or + changes in the product(s) and/or program(s) described in this + publication and/or website at any time. + + 2. If this file has been purchased on magnetic or optical media from + Unicode, Inc. the sole and exclusive remedy for any claim will be + exchange of the defective media within ninety (90) days of original + purchase. + + 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS + PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, + OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. + UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR + OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH + ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. + +D. Waiver of Damages. In no event shall Unicode or its licensors be liable for + any special, incidental, indirect or consequential damages of any kind, or + any damages whatsoever, whether or not Unicode was advised of the + possibility of the damage, including, without limitation, those resulting + from the following: loss of use, data or profits, in connection with the + use, modification or distribution of this information or its derivatives. + +E.Trademarks & Logos. + 1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, + Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of + Unicode, Inc. Use of the information and materials found on this + website indicates your acknowledgement of Unicode, Inc.’s exclusive + worldwide rights in the Unicode Word Mark, the Unicode Logo, and the + Unicode trade names. + + 2. The Unicode Consortium Name and Trademark Usage Policy (“Trademark + Policy”) are incorporated herein by reference and you agree to abide by + the provisions of the Trademark Policy, which may be changed from time + to time in the sole discretion of Unicode, Inc. + + 3. All third party trademarks referenced herein are the property of their + respective owners. + +Miscellaneous. + 1. Jurisdiction and Venue. This server is operated from a location in the + State of California, United States of America. Unicode makes no + representation that the materials are appropriate for use in other + locations. If you access this server from other locations, you are + responsible for compliance with local laws. This Agreement, all use of + this site and any claims and damages resulting from use of this site are + governed solely by the laws of the State of California without regard to + any principles which would apply the laws of a different jurisdiction. + The user agrees that any disputes regarding this site shall be resolved + solely in the courts located in Santa Clara County, California. The user + agrees said courts have personal jurisdiction and agree to waive any + right to transfer the dispute to any other forum. + + 2. Modification by Unicode. Unicode shall have the right to modify this + Agreement at any time by posting it to this site. The user may not + assign any part of this Agreement without Unicode’s prior written + consent. + + 3. Taxes. The user agrees to pay any taxes arising from access to this + website or use of the information herein, except for those based on + Unicode’s net income. + + 4. Severability. If any provision of this Agreement is declared invalid or + unenforceable, the remaining provisions of this Agreement shall remain + in effect. + + 5. Entire Agreement. This Agreement constitutes the entire agreement + between the parties. + +EXHIBIT 1 +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, and +http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF +online code charts under the directory http://www.unicode.org/Public/. +Software includes any source code published in the Unicode Standard or under +the directories http://www.unicode.org/Public/, +http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. + +NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, +INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA +FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO +BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT +AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR +SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the +Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the Unicode data files and any associated documentation (the "Data Files") +or Unicode software and any associated documentation (the "Software") to deal +in the Data Files or Software without restriction, including without +limitation the rights to use, copy, modify, merge, publish, distribute, and/or +sell copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that (a) the above +copyright notice(s) and this permission notice appear with all copies of the +Data Files or Software, (b) both the above copyright notice(s) and this +permission notice appear in associated documentation, and (c) there is clear +notice in each modified Data File or in the Software as well as in the +documentation associated with the Data File(s) or Software that the data or +software has been modified. + +THE DATA FILES AND SOFTWARE ARE 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 OF THIRD +PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN +THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE +DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in these Data Files or Software without prior written authorization of the +copyright holder. + +Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United +States and other countries. All third party trademarks referenced herein are +the property of their respective owners. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to UPX v3.01, which may be included +with JRE 8 on Windows. + +--- begin of LICENSE --- + +Use of any of this software is governed by the terms of the license below: + + + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar + http://wildsau.idv.uni-linz.ac.at/mfx/upx.html + http://www.nexus.hu/upx + http://upx.tsx.org + + +PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN +TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION. + + +ABSTRACT +======== + + UPX and UCL are copyrighted software distributed under the terms + of the GNU General Public License (hereinafter the "GPL"). + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + As a special exception we grant the free usage of UPX for all + executables, including commercial programs. + See below for details and restrictions. + + +COPYRIGHT +========= + + UPX and UCL are copyrighted software. All rights remain with the authors. + + UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + UPX is Copyright (C) 1996-2000 Laszlo Molnar + + UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + + +GNU GENERAL PUBLIC LICENSE +========================== + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + UPX and UCL are distributed in the hope that they will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + + +SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES +============================================ + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special + permission to freely use and distribute all UPX compressed programs + (including commercial ones), subject to the following restrictions: + + 1. You must compress your program with a completely unmodified UPX + version; either with our precompiled version, or (at your option) + with a self compiled version of the unmodified UPX sources as + distributed by us. + 2. This also implies that the UPX stub must be completely unmodfied, i.e. + the stub imbedded in your compressed program must be byte-identical + to the stub that is produced by the official unmodified UPX version. + 3. The decompressor and any other code from the stub must exclusively get + used by the unmodified UPX stub for decompressing your program at + program startup. No portion of the stub may get read, copied, + called or otherwise get used or accessed by your program. + + +ANNOTATIONS +=========== + + - You can use a modified UPX version or modified UPX stub only for + programs that are compatible with the GNU General Public License. + + - We grant you special permission to freely use and distribute all UPX + compressed programs. But any modification of the UPX stub (such as, + but not limited to, removing our copyright string or making your + program non-decompressible) will immediately revoke your right to + use and distribute a UPX compressed program. + + - UPX is not a software protection tool; by requiring that you use + the unmodified UPX version for your proprietary programs we + make sure that any user can decompress your program. This protects + both you and your users as nobody can hide malicious code - + any program that cannot be decompressed is highly suspicious + by definition. + + - You can integrate all or part of UPX and UCL into projects that + are compatible with the GNU GPL, but obviously you cannot grant + any special exceptions beyond the GPL for our code in your project. + + - We want to actively support manufacturers of virus scanners and + similar security software. Please contact us if you would like to + incorporate parts of UPX or UCL into such a product. + + + +Markus F.X.J. Oberhumer Laszlo Molnar +markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu + +Linz, Austria, 25 Feb 2000 + +Additional License(s) + +The UPX license file is at http://upx.sourceforge.net/upx-license.html. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Xfree86-VidMode Extension 1.0, +which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. + +--- begin of LICENSE --- + +Version 1.1 of XFree86 ProjectLicence. + +Copyright (C) 1994-2004 The XFree86 Project, Inc. All rights reserved. + +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, sublicence, 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: + + 1. Redistributions of source code must retain the above copyright + notice,this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution, and in the same place + and form as other copyright, license and disclaimer information. + + 3. The end-user documentation included with the redistribution, if any,must + include the following acknowledgment: "This product includes + software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and + its contributors", in the same place and form as other third-party + acknowledgments. Alternately, this acknowledgment may appear in the software + itself, in the same form and location as other such third-party + acknowledgments. + + 4. Except as contained in this notice, the name of The XFree86 Project,Inc + shall not be used in advertising or otherwise to promote the sale, use + or other dealings in this Software without prior written authorization from + The XFree86 Project, Inc. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to X Window System 6.8.2, which may be +included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. + +--- begin of LICENSE --- + + Licenses +The X.Org Foundation March 2004 + +1. Introduction + +The X.org Foundation X Window System distribution is a compilation of code and +documentation from many sources. This document is intended primarily as a +guide to the licenses used in the distribution: you must check each file +and/or package for precise redistribution terms. None-the-less, this summary +may be useful to many users. No software incorporating the XFree86 1.1 license +has been incorporated. + +This document is based on the compilation from XFree86. + +2. XFree86 License + +XFree86 code without an explicit copyright is covered by the following +copyright/license: + +Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved. + +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 +XFREE86 PROJECT 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. + +Except as contained in this notice, the name of the XFree86 Project shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the XFree86 Project. + +3. Other Licenses + +Portions of code are covered by the following licenses/copyrights. See +individual files for the copyright dates. + +3.1. X/MIT Copyrights + +3.1.1. X Consortium + +Copyright (C) X Consortium + +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 X +CONSORTIUM 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. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from the X Consortium. + +X Window System is a trademark of X Consortium, Inc. + +3.1.2. The Open Group + +Copyright The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that the +above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from The Open Group. 3.2. +Berkeley-based copyrights: + +o +3.2.1. General + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. 3.2.2. UCB/LBL + +Copyright (c) 1993 The Regents of the University of California. All rights +reserved. + +This software was developed by the Computer Systems Engineering group at +Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to +Berkeley. + +All advertising materials mentioning features or use of this software must +display the following acknowledgement: This product includes software +developed by the University of California, Lawrence Berkeley Laboratory. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: This product includes software + developed by the University of California, Berkeley and its contributors. + + 4. Neither the name of the University nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3.2.3. The +NetBSD Foundation, Inc. + +Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation by Ben +Collver + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: This product includes software + developed by the NetBSD Foundation, Inc. and its contributors. + + 4. Neither the name of The NetBSD Foundation nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS ``AS +IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3.2.4. Theodore +Ts'o. + +Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights +reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + and the entire permission notice in its entirety, including the disclaimer + of warranties. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. he name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. 3.2.5. Theo de Raadt and Damien Miller + +Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c) +2001-2002 Damien Miller. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. 3.2.6. Todd C. Miller + +Copyright (c) 1998 Todd C. Miller + +Permission to use, copy, modify, and distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright +notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 3.2.7. Thomas +Winischhofer + +Copyright (C) 2001-2004 Thomas Winischhofer + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. 3.3. NVIDIA Corp + +Copyright (c) 1996 NVIDIA, Corp. All rights reserved. + +NOTICE TO USER: The source code is copyrighted under U.S. and international +laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as design +patents pending on the design and interface of the NV chips. Users and +possessors of this source code are hereby granted a nonexclusive, royalty-free +copyright and design patent license to use this code in individual and +commercial software. + +Any use of this source code must include, in the user documentation and +internal comments to the code, notices to the end user as follows: + +Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S. and +foreign countries. + +NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE +CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED +WARRANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE +FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. 3.4. GLX Public +License + +GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License") + +Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby +grants permission to Recipient (defined below), under Recipient's copyrights +in the Original Software (defined below), to use, copy, modify, merge, +publish, distribute, sublicense and/or sell copies of Subject Software +(defined below), and to permit persons to whom the Subject Software is +furnished in accordance with this License to do the same, subject to all of +the following terms and conditions, which Recipient accepts by engaging in any +such use, copying, modifying, merging, publishing, distributing, sublicensing +or selling: + +1. Definitions. + + (a) "Original Software" means source code of computer software code which + is described in Exhibit A as Original Software. + + (b) "Modifications" means any addition to or deletion from the substance + or structure of either the Original Software or any previous + Modifications. When Subject Software is released as a series of files, a + Modification means (i) any addition to or deletion from the contents of a + file containing Original Software or previous Modifications and (ii) any + new file that contains any part of the Original Code or previous + Modifications. + + (c) "Subject Software" means the Original Software or Modifications or the + combination of the Original Software and Modifications, or portions of any + of the foregoing. + + (d) "Recipient" means an individual or a legal entity exercising rights + under, and complying with all of the terms of, this License. For legal + entities, "Recipient" includes any entity which controls, is controlled + by, or is under common control with Recipient. For purposes of this + definition, "control" of an entity means (a) the power, direct or + indirect, to direct or manage such entity, or (b) ownership of fifty + percent (50%) or more of the outstanding shares or beneficial ownership of + such entity. + +2. Redistribution of Source Code Subject to These Terms. Redistributions of +Subject Software in source code form must retain the notice set forth in +Exhibit A, below, in every file. A copy of this License must be included in +any documentation for such Subject Software where the recipients' rights +relating to Subject Software are described. Recipient may distribute the +source code version of Subject Software under a license of Recipient's choice, +which may contain terms different from this License, provided that (i) +Recipient is in compliance with the terms of this License, and (ii) the +license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13 of +this License, which terms may not be modified or superseded by any other terms +of such license. If Recipient distributes the source code version under a +different license Recipient must make it absolutely clear that any terms which +differ from this License are offered by Recipient alone, not by SGI. Recipient +hereby agrees to indemnify SGI for any liability incurred by SGI as a result +of any such terms Recipient offers. + +3. Redistribution in Executable Form. The notice set forth in Exhibit A must +be conspicuously included in any notice in an executable version of Subject +Software, related documentation or collateral in which Recipient describes the +user's rights relating to the Subject Software. Recipient may distribute the +executable version of Subject Software under a license of Recipient's choice, +which may contain terms different from this License, provided that (i) +Recipient is in compliance with the terms of this License, and (ii) the +license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of +this License, which terms may not be modified or superseded by any other terms +of such license. If Recipient distributes the executable version under a +different license Recipient must make it absolutely clear that any terms which +differ from this License are offered by Recipient alone, not by SGI. Recipient +hereby agrees to indemnify SGI for any liability incurred by SGI as a result +of any such terms Recipient offers. + +4. Termination. This License and the rights granted hereunder will terminate +automatically if Recipient fails to comply with terms herein and fails to cure +such breach within 30 days of the breach. Any sublicense to the Subject +Software which is properly granted shall survive any termination of this +License absent termination by the terms of such sublicense. Provisions which, +by their nature, must remain in effect beyond the termination of this License +shall survive. + +5. No Trademark Rights. This License does not grant any rights to use any +trade name, trademark or service mark whatsoever. No trade name, trademark or +service mark of SGI may be used to endorse or promote products derived from +the Subject Software without prior written permission of SGI. + +6. No Other Rights. This License does not grant any rights with respect to the +OpenGL API or to any software or hardware implementation thereof or to any +other software whatsoever, nor shall any other rights or licenses not +expressly granted hereunder arise by implication, estoppel or otherwise with +respect to the Subject Software. Title to and ownership of the Original +Software at all times remains with SGI. All rights in the Original Software +not expressly granted under this License are reserved. + +7. Compliance with Laws; Non-Infringement. Recipient shall comply with all +applicable laws and regulations in connection with use and distribution of the +Subject Software, including but not limited to, all export and import control +laws and regulations of the U.S. government and other countries. Recipient may +not distribute Subject Software that (i) in any way infringes (directly or +contributorily) the rights (including patent, copyright, trade secret, +trademark or other intellectual property rights of any kind) of any other +person or entity or (ii) breaches any representation or warranty, express, +implied or statutory, which under any applicable law it might be deemed to +have been distributed. + +8. Claims of Infringement. If Recipient at any time has knowledge of any one +or more third party claims that reproduction, modification, use, distribution, +import or sale of Subject Software (including particular functionality or code +incorporated in Subject Software) infringes the third party's intellectual +property rights, Recipient must place in a well-identified web page bearing +the title "LEGAL" a description of each such claim and a description of the +party making each such claim in sufficient detail that a user of the Subject +Software will know whom to contact regarding the claim. Also, upon gaining +such knowledge of any such claim, Recipient must conspicuously include the URL +for such web page in the Exhibit A notice required under Sections 2 and 3, +above, and in the text of any related documentation, license agreement or +collateral in which Recipient describes end user's rights relating to the +Subject Software. If Recipient obtains such knowledge after it makes Subject +Software available to any other person or entity, Recipient shall take other +steps (such as notifying appropriate mailing lists or newsgroups) reasonably +calculated to inform those who received the Subject Software that new +knowledge has been obtained. + +9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, +WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT +LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, +MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO +RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE +PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY +SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN +ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED +HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, +WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), +CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY +CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER +COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF +THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY +TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO +THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT +ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO +THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT. + +11. Indemnity. Recipient shall be solely responsible for damages arising, +directly or indirectly, out of its utilization of rights under this License. +Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from +and against any loss, liability, damages, costs or expenses (including the +payment of reasonable attorneys fees) arising out of Recipient's use, +modification, reproduction and distribution of the Subject Software or out of +any representation or warranty made by Recipient. + +12. U.S. Government End Users. The Subject Software is a "commercial item" +consisting of "commercial computer software" as such terms are defined in +title 48 of the Code of Federal Regulations and all U.S. Government End Users +acquire only the rights set forth in this License and are subject to the terms +of this License. + +13. Miscellaneous. This License represents the complete agreement concerning +subject matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed so as to achieve as nearly as +possible the same economic effect as the original provision and the remainder +of this License will remain in effect. This License shall be governed by and +construed in accordance with the laws of the United States and the State of +California as applied to agreements entered into and to be performed entirely +within California between California residents. Any litigation relating to +this License shall be subject to the exclusive jurisdiction of the Federal +Courts of the Northern District of California (or, absent subject matter +jurisdiction in such courts, the courts of the State of California), with +venue lying exclusively in Santa Clara County, California, with the losing +party responsible for costs, including without limitation, court costs and +reasonable attorneys fees and expenses. The application of the United Nations +Convention on Contracts for the International Sale of Goods is expressly +excluded. Any law or regulation which provides that the language of a contract +shall be construed against the drafter shall not apply to this License. + +Exhibit A + +The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and 13 +of the GLX Public License Version 1.0 (the "License"). You may not use this +file except in compliance with those sections of the License. You may obtain a +copy of the License at Silicon Graphics, Inc., attn: Legal Services, 2011 N. +Shoreline Blvd., Mountain View, CA 94043 or at +http://www.sgi.com/software/opensource/glx/license.html. + +Software distributed under the License is distributed on an "AS IS" basis. ALL +WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON- +INFRINGEMENT. See the License for the specific language governing rights and +limitations under the License. + +The Original Software is GLX version 1.2 source code, released February, 1999. +The developer of the Original Software is Silicon Graphics, Inc. Those +portions of the Subject Software created by Silicon Graphics, Inc. are +Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved. 3.5. CID +Font Code Public License + +CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License") + +Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI") +hereby grants permission to Recipient (defined below), under SGI's copyrights +in the Original Software (defined below), to use, copy, modify, merge, +publish, distribute, sublicense and/or sell copies of Subject Software +(defined below) in both source code and executable form, and to permit persons +to whom the Subject Software is furnished in accordance with this License to +do the same, subject to all of the following terms and conditions, which +Recipient accepts by engaging in any such use, copying, modifying, merging, +publication, distributing, sublicensing or selling: + +1. Definitions. + + a. "Original Software" means source code of computer software code that is + described in Exhibit A as Original Software. + + b. "Modifications" means any addition to or deletion from the substance or + structure of either the Original Software or any previous Modifications. + When Subject Software is released as a series of files, a Modification + means (i) any addition to or deletion from the contents of a file + containing Original Software or previous Modifications and (ii) any new + file that contains any part of the Original Code or previous + Modifications. + + c. "Subject Software" means the Original Software or Modifications or the + combination of the Original Software and Modifications, or portions of any + of the foregoing. + + d. "Recipient" means an individual or a legal entity exercising rights + under the terms of this License. For legal entities, "Recipient" includes + any entity that controls, is controlled by, or is under common control + with Recipient. For purposes of this definition, "control" of an entity + means (i) the power, direct or indirect, to direct or manage such entity, + or (ii) ownership of fifty percent (50%) or more of the outstanding shares + or beneficial ownership of such entity. + + e. "Required Notice" means the notice set forth in Exhibit A to this + License. + + f. "Accompanying Technology" means any software or other technology that + is not a Modification and that is distributed or made publicly available + by Recipient with the Subject Software. Separate software files that do + not contain any Original Software or any previous Modification shall not + be deemed a Modification, even if such software files are aggregated as + part of a product, or in any medium of storage, with any file that does + contain Original Software or any previous Modification. + +2. License Terms. All distribution of the Subject Software must be made +subject to the terms of this License. A copy of this License and the Required +Notice must be included in any documentation for Subject Software where +Recipient's rights relating to Subject Software and/or any Accompanying +Technology are described. Distributions of Subject Software in source code +form must also include the Required Notice in every file distributed. In +addition, a ReadMe file entitled "Important Legal Notice" must be distributed +with each distribution of one or more files that incorporate Subject Software. +That file must be included with distributions made in both source code and +executable form. A copy of the License and the Required Notice must be +included in that file. Recipient may distribute Accompanying Technology under +a license of Recipient's choice, which may contain terms different from this +License, provided that (i) Recipient is in compliance with the terms of this +License, (ii) such other license terms do not modify or supersede the terms of +this License as applicable to the Subject Software, (iii) Recipient hereby +indemnifies SGI for any liability incurred by SGI as a result of the +distribution of Accompanying Technology or the use of other license terms. + +3. Termination. This License and the rights granted hereunder will terminate +automatically if Recipient fails to comply with terms herein and fails to cure +such breach within 30 days of the breach. Any sublicense to the Subject +Software that is properly granted shall survive any termination of this +License absent termination by the terms of such sublicense. Provisions which, +by their nature, must remain in effect beyond the termination of this License +shall survive. + +4. Trademark Rights. This License does not grant any rights to use any trade +name, trademark or service mark whatsoever. No trade name, trademark or +service mark of SGI may be used to endorse or promote products derived from or +incorporating any Subject Software without prior written permission of SGI. + +5. No Other Rights. No rights or licenses not expressly granted hereunder +shall arise by implication, estoppel or otherwise. Title to and ownership of +the Original Software at all times remains with SGI. All rights in the +Original Software not expressly granted under this License are reserved. + +6. Compliance with Laws; Non-Infringement. Recipient shall comply with all +applicable laws and regulations in connection with use and distribution of the +Subject Software, including but not limited to, all export and import control +laws and regulations of the U.S. government and other countries. Recipient may +not distribute Subject Software that (i) in any way infringes (directly or +contributorily) the rights (including patent, copyright, trade secret, +trademark or other intellectual property rights of any kind) of any other +person or entity, or (ii) breaches any representation or warranty, express, +implied or statutory, which under any applicable law it might be deemed to +have been distributed. + +7. Claims of Infringement. If Recipient at any time has knowledge of any one +or more third party claims that reproduction, modification, use, distribution, +import or sale of Subject Software (including particular functionality or code +incorporated in Subject Software) infringes the third party's intellectual +property rights, Recipient must place in a well-identified web page bearing +the title "LEGAL" a description of each such claim and a description of the +party making each such claim in sufficient detail that a user of the Subject +Software will know whom to contact regarding the claim. Also, upon gaining +such knowledge of any such claim, Recipient must conspicuously include the URL +for such web page in the Required Notice, and in the text of any related +documentation, license agreement or collateral in which Recipient describes +end user's rights relating to the Subject Software. If Recipient obtains such +knowledge after it makes Subject Software available to any other person or +entity, Recipient shall take other steps (such as notifying appropriate +mailing lists or newsgroups) reasonably calculated to provide such knowledge +to those who received the Subject Software. + +8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, +WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT +LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, +MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO +RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE +PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY +SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN +ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED +HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, +WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), +CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR 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 SUBJECT SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT +ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND +LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED. + +10. Indemnity. Recipient shall be solely responsible for damages arising, +directly or indirectly, out of its utilization of rights under this License. +Recipient will defend, indemnify and hold SGI and its successors and assigns +harmless from and against any loss, liability, damages, costs or expenses +(including the payment of reasonable attorneys fees) arising out of +(Recipient's use, modification, reproduction and distribution of the Subject +Software or out of any representation or warranty made by Recipient. + +11. U.S. Government End Users. The Subject Software is a "commercial item" +consisting of "commercial computer software" as such terms are defined in +title 48 of the Code of Federal Regulations and all U.S. Government End Users +acquire only the rights set forth in this License and are subject to the terms +of this License. + +12. Miscellaneous. This License represents the complete agreement concerning +subject matter hereof. If any provision of this License is held to be +unenforceable by any judicial or administrative authority having proper +jurisdiction with respect thereto, such provision shall be reformed so as to +achieve as nearly as possible the same economic effect as the original +provision and the remainder of this License will remain in effect. This +License shall be governed by and construed in accordance with the laws of the +United States and the State of California as applied to agreements entered +into and to be performed entirely within California between California +residents. Any litigation relating to this License shall be subject to the +exclusive jurisdiction of the Federal Courts of the Northern District of +California (or, absent subject matter jurisdiction in such courts, the courts +of the State of California), with venue lying exclusively in Santa Clara +County, California, with the losing party responsible for costs, including +without limitation, court costs and reasonable attorneys fees and expenses. +The application of the United Nations Convention on Contracts for the +International Sale of Goods is expressly excluded. Any law or regulation that +provides that the language of a contract shall be construed against the +drafter shall not apply to this License. + +Exhibit A + +Copyright (c) 1994-1999 Silicon Graphics, Inc. + +The contents of this file are subject to the CID Font Code Public License +Version 1.0 (the "License"). You may not use this file except in compliance +with the License. You may obtain a copy of the License at Silicon Graphics, +Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043 +or at http://www.sgi.com/software/opensource/cid/license.html + +Software distributed under the License is distributed on an "AS IS" basis. ALL +WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF +NON-INFRINGEMENT. See the License for the specific language governing rights +and limitations under the License. + +The Original Software (as defined in the License) is CID font code that was +developed by Silicon Graphics, Inc. Those portions of the Subject Software (as +defined in the License) that were created by Silicon Graphics, Inc. are +Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved. + +[NOTE: When using this text in connection with Subject Software delivered +solely in object code form, Recipient may replace the words "this file" with +"this software" in both the first and second sentences.] 3.6. Bitstream Vera +Fonts Copyright + +The fonts have a generous copyright, allowing derivative works (as long as +"Bitstream" or "Vera" are not in the names), and full redistribution (so long +as they are not *sold* by themselves). They can be be bundled, redistributed +and sold with any software. + +The fonts are distributed under the following copyright: + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a +trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated documentation +files (the "Font Software"), to reproduce and distribute the Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit persons to +whom the Font Software is furnished to do so, subject to the following +conditions: + +The above copyright and trademark notices and this permission notice shall be +included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular the +designs of glyphs or characters in the Fonts may be modified and additional +glyphs or characters may be added to the Fonts, only if the fonts are renamed +to names not containing either the words "Bitstream" or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream Vera" +names. + +The Font Software may be sold as part of a larger software package but no copy +of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, +SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO +USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome Foundation, +and Bitstream Inc., shall not be used in advertising or otherwise to promote +the sale, use or other dealings in this Font Software without prior written +authorization from the Gnome Foundation or Bitstream Inc., respectively. For +further information, contact: fonts at gnome dot org. 3.7. Bigelow & Holmes +Inc and URW++ GmbH Luxi font license + +Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction +code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a +registered trademark of Bigelow & Holmes Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of these Fonts and associated documentation files (the "Font Software"), to +deal in the Font Software, including without limitation the rights to use, +copy, merge, publish, distribute, sublicense, and/or sell copies of the Font +Software, and to permit persons to whom the Font Software is furnished to do +so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice shall be +included in all copies of one or more of the Font Software. + +The Font Software may not be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may not be modified nor may +additional glyphs or characters be added to the Fonts. This License becomes +null and void when the Fonts or Font Software have been modified. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++ +GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY +GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR +INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT +SOFTWARE. + +Except as contained in this notice, the names of Bigelow & Holmes Inc. and +URW++ GmbH. shall not be used in advertising or otherwise to promote the sale, +use or other dealings in this Font Software without prior written +authorization from Bigelow & Holmes Inc. and URW++ GmbH. + +For further information, contact: + +info@urwpp.de or design@bigelowandholmes.com + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to zlib v1.2.5, which may be included +with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + version 1.2.5, July 18th, 2005 + + Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to the following which may be +included with JRE 8, JDK 8, and OpenJDK 8, except where noted: + + Apache Commons Math 2.2 + Apache Derby 10.10.1.2 [included with JDK 8] + Apache Jakarta BCEL 5.2 + Apache Jakarta Regexp 1.4 + Apache Santuario XML Security for Java 1.5.4 + Apache Xalan-Java 2.7.1 + Apache Xerces Java 2.10.0 + Apache XML Resolver 1.1 + Dynalink 0.5 + +These components are licensed under the Apache License, Version 2.0. +See /usr/share/common-licenses/Apache-2.0 + +------------------------------------------------------------------------------- + + +=============================================================================== + +JAMVM: + + Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010 + Robert Lougher . + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2, + or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +On Debian systems a full copy of the GNU General Public License, GPL, can be +found in the file /usr/share/common-licenses/GPL-2. --- openjdk-9-9~b94.orig/debian/copyright.cacao +++ openjdk-9-9~b94/debian/copyright.cacao @@ -0,0 +1,356 @@ + +=============================================================================== +CACAO +=============================================================================== + +This package was debianized by Stephan Michels on +Sat, 12 Nov 2005 22:07:41 +0100. + +It was downloaded from http://www.cacaojvm.org/ + +Copyright Holder: CACAO Project + Copyright (C) 1996-2008 Verein zur Foerderung der freien virtuellen Maschine CACAO + Portions Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel, + C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring, + E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, + J. Wenninger, Institut f. Computersprachen - TU Wien + +License: + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +On Debian systems a full copy of the GNU General Public License, GPL, can be +found in the file /usr/share/common-licenses/GPL-2. + + +CACAO uses code from other free software projects. Only code licensed +under a GPL compatible license can be merged in. You can find the +licenses of third party sources in their respective sources. + + +* src/mm/boehm-gc + +Merged in the Boehm-Weiser garbage collector from +http://www.hpl.hp.com/personal/Hans_Boehm/gc/. + +Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers +Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved. +Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved. +Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved. +Portions Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved. + +The file linux_threads.c is also +Copyright (c) 1998 by Fergus Henderson. All rights reserved. + +The files Makefile.am, and configure.in are +Copyright (c) 2001 by Red Hat Inc. All rights reserved. + +Several files supporting GNU-style builds are copyrighted by the Free +Software Foundation, and carry a different license from that given +below. + +THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED +OR IMPLIED. ANY USE IS AT YOUR OWN RISK. + +Permission is hereby granted to use or copy this program +for any purpose, provided the above notices are retained on all copies. +Permission to modify the code and to distribute modified code is granted, +provided the above notices are retained, and a notice that the code was +modified is included with the above copyright notice. + +A few of the files needed to use the GNU-style build procedure come with +slightly different licenses, though they are all similar in spirit. A few +are GPL'ed, but with an exception that should cover all uses in the +collector. (If you are concerned about such things, I recommend you look +at the notice in config.guess or ltmain.sh.) + +The files copyrighted by Hewlett-Packard Company have the notice: + + * 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. + +* src/fdlibm + +fdlimb contains general algorithms useful for runtimes and compilers to +support strict double and float mathematical operations. + +fdlibm files carry the following notices: + + Copyright (c) 1991 by AT&T. + + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire notice + is included in all copies of any software which is or includes a copy + or modification of this software and in all copies of the supporting + documentation for such software. + + THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY + REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY + OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + + Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + + Developed at SunPro, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +The upstream for fdlibm is libgcj (http://gcc.gnu.org/java/), they sync +again with the 'real' upstream (http://www.netlib.org/fdlibm/readme). + + +* src/threads/green/{locks.[ch],threadio.[ch],threads.[ch]} + +This files are taken from Kaffe.org VM available at +http://www.kaffe.org/. Kaffe's license.terms file is located in the +top directory of the source code. The current license of Kaffe is the +same as of CACAO, GPL Version 2. + + +* src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c} + +Print i386 instructions for GDB, the GNU debugger. +Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ + + +* src/vm/jit/{i386,x86_64}/dis-asm.h + +Interface between the opcode library and its callers. + +Copyright 2001, 2002 Free Software Foundation, Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, +Boston, MA 02110-1301 USA + +Written by Cygnus Support, 1993. + +The opcode library (libopcodes.a) provides instruction decoders for +a large variety of instruction sets, callable with an identical +interface, for making instruction-processing programs more independent +of the instruction set being processed. + + +* src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c} + +Copyright 1994, 1995, 2000, 2001, 2002 Free Software Foundation, Inc. +Written by Ian Lance Taylor, Cygnus Support + +This file is part of GDB, GAS, and the GNU binutils. + +GDB, GAS, and the GNU binutils are free software; you can redistribute +them and/or modify them under the terms of the GNU General Public +License as published by the Free Software Foundation; either version +2, or (at your option) any later version. + +GDB, GAS, and the GNU binutils are distributed in the hope that they +will be useful, but WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See +the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this file; see the file COPYING. If not, write to the Free +Software Foundation, Inc., 51 Franklin St, Fifth Floor, +Boston, MA 02110-1301 USA. + + +* src/lib/classes/* + +GNU Classpath is licensed under the terms of the GNU General Public +License with the following clarification and special exception: + + "Linking this library statically or dynamically with other modules + is making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give + you permission to link this library with independent modules to + produce an executable, regardless of the license terms of these + independent modules, and to copy and distribute the resulting + executable under terms of your choice, provided that you also meet, + for each linked independent module, the terms and conditions of the + license of that module. An independent module is a module which is + not derived from or based on this library. If you modify this library, + you may extend this exception to your version of the library, but you + are not obligated to do so. If you do not wish to do so, delete this + exception statement from your version." + +See license.terms for the text of the GNU General Public License. + +More information on GNU Classpath is available from +http://www.gnu.org/software/classpath/classpath.html. + + +* m4/{iconv.m4,lib-ld.m4,lib-link.m4,lib-prefix.m4} + +Copyright (C) 1996-2003 Free Software Foundation, Inc. +This file is free software, distributed under the terms of the GNU +General Public License. As a special exception to the GNU General +Public License, this file may be distributed as part of a program +that contains a configuration script generated by Autoconf, under +the same distribution terms as the rest of that program. + + +* src/toolbox/avl.[ch] + +libavl - library for manipulation of binary trees. +Copyright (C) 1998-2002 Free Software Foundation, Inc. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +02110-1301 USA. + +The author may be contacted at on the Internet, or +write to Ben Pfaff, Stanford University, Computer Science Dept., 353 +Serra Mall, Stanford CA 94305, USA. + + +* src/vm/unzip.[ch] + +Copyright (C) 1998 Gilles Vollant + +This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g + WinZip, InfoZip tools and compatible. +Encryption and multi volume ZipFile (span) are not supported. +Old compressions used by old PKZip 1.x are not supported + +THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE +CAN CHANGE IN FUTURE VERSION !! +I WAIT FEEDBACK at mail info@winimage.com +Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution + +Condition of use and distribution are the same than zlib : + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + + +src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/armcc + + * Copyright (c) 2007 by NEC LE-IT: All rights reserved. + * A transcription of ARMv6 atomic operations for the ARM Realview Toolchain. + * This code works with armcc from RVDS 3.1 + * This is based on work in gcc/arm.h by + * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved. + * Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved. + * Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved. + * + * + * + * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED + * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. + * + * Permission is hereby granted to use or copy this program + * for any purpose, provided the above notices are retained on all copies. + * Permission to modify the code and to distribute modified code is granted, + * provided the above notices are retained, and a notice that the code was + * modified is included with the above copyright notice. + +src/mm/boehm-gc/include/private + + Copyright (c) 2004-2005 Andrei Polushin + + 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. + +contrib/vmlog: + +/* Copyright (C) 2006 Edwin Steiner */ +/* 2007 Peter Molnar */ + +/* This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +Some of the build files are + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. --- openjdk-9-9~b94.orig/debian/excludelist.jdk.jtx +++ openjdk-9-9~b94/debian/excludelist.jdk.jtx @@ -0,0 +1,205 @@ +# Fail to compile +javax/imageio/metadata/DOML3Node.java +javax/swing/border/Test4856008.java + +# Failed due to java.lang.UnsatisfiedLinkError: sun.java2d.opengl.OGLContext.getOGLIdString()Ljava/lang/String +java/awt/FullScreen/BufferStrategyExceptionTest/BufferStrategyExceptionTest.java +sun/java2d/DirectX/AcceleratedScaleTest/AcceleratedScaleTest.java +sun/java2d/DirectX/AccelPaintsTest/AccelPaintsTest.java +sun/java2d/DirectX/OverriddenInsetsTest/OverriddenInsetsTest.java +sun/java2d/DirectX/StrikeDisposalCrashTest/StrikeDisposalCrashTest.java +sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java +sun/java2d/OpenGL/GradientPaints.java +sun/java2d/pipe/MutableColorTest/MutableColorTest.java +sun/java2d/SunGraphics2D/DrawImageBilinear.java +sun/java2d/SunGraphics2D/PolyVertTest.java +sun/java2d/SunGraphics2D/SimplePrimQuality.java + +# Failed due to connection refused +#sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java + +# Failed due to network unreachable +#java/net/ipv6tests/TcpTest.java + +# Failed due to java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR +sun/security/pkcs11/KeyAgreement/TestDH.java + +# Failed with exit code 1 +sun/nio/cs/Test4200310.sh +sun/tools/jrunscript/jrunscriptTest.sh + +# Unexpected exit from test [exit code: 0] +java/awt/Graphics/DrawImageBG/SystemBgColorTest.java +javax/swing/JInternalFrame/6725409/bug6725409.java + +# Test error +java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html + +# Access denied (java.awt.AWTPermission createRobot) +java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html + +# java.lang.RuntimeException: Test failed. +java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html +java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html + +# java.lang.RuntimeException: The test was not completed +java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html + +# java.lang.AssertionError: Some tests failed +tools/launcher/VersionCheck.java + +# `main' threw exception: java.lang.ClassNotFoundException: javax/crypto/SunJCE_c +java/lang/reflect/Generics/Probe.java + +# `main' threw exception: java.lang.Exception: Factory.createProvider: Should error with non-void probes +com/sun/tracing/BasicFunctionality.java + +# `main' threw exception: java.lang.Exception: Test failed: jdwp doesn't like -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n,timeout=0,mutf8=y,quiet=y,stdalloc=y,strict=n +com/sun/jdi/OptionTest.java + +# `main' threw exception: java.lang.RuntimeException: Date/Number formatting/parsing error. +java/text/Format/DateFormat/Bug4823811.java + +# java.lang.RuntimeException: Outline was not detected +java/awt/font/Rotate/TranslatedOutlineTest.java + +# java.lang.RuntimeException: Ratio of blue to red is too great: 0.13329928498467825 +java/awt/Graphics2D/DrawString/RotTransText.java + +# java.lang.RuntimeException: Step 1: Error: can't bring a focus on Frame by clicking on it +java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java + +# java.lang.RuntimeException: Test failed - exec got IO exception +sun/tools/jhat/HatHeapDump1Test.java + +# java.lang.RuntimeException: Native2ascii could not be written. broken. +# native2ascii can write to source dir. Test should ensure location is unwritable. +sun/tools/native2ascii/NativeErrors.java + +# java.lang.RuntimeException: Test failed at 0-0 rgb=0xffb7c7d5 +sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java + +# java.lang.RuntimeException: TestFAILED: some of the testcases are failed +java/awt/xembed/server/RunTestXEmbed.java + +# java.lang.RuntimeException: initCause of Exception not thrown +java/awt/print/PrinterJob/ExceptionTest.java + +# `main' threw exception: java.lang.RuntimeException: java.lang.RuntimeException: Invalid result of the ColorConvertOp for ColorSpace:CS_LINEAR_RGB Data type:TYPE_BYTE. Golden image:BufferedImage@7b2be1bd: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@7df17e77 transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 256 height = 256 #numDataElements 3 dataOff[0] = 2 +sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java + +# `main' threw exception: java.lang.RuntimeException: java.lang.RuntimeException: Invalid result of the ColorConvertOp for ColorSpace:CS_LINEAR_RGB Image type:TYPE_INT_ARGB. Golden image:LRGB.png +sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java +sun/java2d/cmm/ColorConvertOp/MTColConvTest.java + +# java.lang.StackOverflowError +java/beans/XMLEncoder/javax_swing_tree_TreePath.java + +# sun.awt.SunToolkit$OperationTimedOut +java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html +java/awt/Choice/UnfocusableToplevel/UnfocusableToplevel.java +java/awt/Component/F10TopToplevel/F10TopToplevel.html +java/awt/Component/isLightweightCrash/StubPeerCrash.java +java/awt/Container/isRemoveNotifyNeeded/JInternalFrameTest.java +java/awt/Dialog/CrashXCheckJni/CrashXCheckJni.java +java/awt/Dialog/DialogOverflowSizeTest/DialogSizeOverflowTest.java +java/awt/dnd/Button2DragTest/Button2DragTest.html +java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html +java/awt/event/HierarchyEvent/AncestorResized/AncestorResized.java +java/awt/event/KeyEvent/CorrectTime/CorrectTime.java +java/awt/event/MouseEvent/EventTimeInFuture/EventTimeInFuture.java +java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html +java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html +java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java +java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_1.java +java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html +java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html +java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java +java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion.java +java/awt/EventQueue/6638195/bug6638195.java +java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html +java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java +java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusSetVisibleTest.java +java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusToFrontTest.java +java/awt/Focus/ChoiceFocus/ChoiceFocus.java +java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java +java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java +java/awt/Focus/ContainerFocusAutoTransferTest/ContainerFocusAutoTransferTest.java +java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html +java/awt/Focus/FrameJumpingToMouse/FrameJumpingToMouse.java +java/awt/Focus/FrameMinimizeTest/FrameMinimizeTest.java +java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java +java/awt/Focus/InputVerifierTest3/InputVerifierTest3.java +java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html +java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java +java/awt/Focus/NonFocusableResizableTooSmall/NonFocusableResizableTooSmall.java +java/awt/Focus/RequestFocusAndHideTest/RequestFocusAndHideTest.java +java/awt/Focus/RequestOnCompWithNullParent/RequestOnCompWithNullParent1.java +java/awt/Focus/RestoreFocusOnDisabledComponentTest/RestoreFocusOnDisabledComponentTest.java +java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java +java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html +java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java +java/awt/Focus/TypeAhead/TestFocusFreeze.java +java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html +java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java +java/awt/Frame/DynamicLayout/DynamicLayout.java +java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java +java/awt/Frame/ShownOffScreenOnWin98/ShownOffScreenOnWin98Test.java +java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java +java/awt/grab/EmbeddedFrameTest1/EmbeddedFrameTest1.java +java/awt/grab/GrabOnUnfocusableToplevel/GrabOnUnfocusableToplevel.java +java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java +java/awt/Insets/CombinedTestApp1.java +java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html +java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html +java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html +java/awt/List/ActionAfterRemove/ActionAfterRemove.java +java/awt/List/SetBackgroundTest/SetBackgroundTest.java +java/awt/List/SingleModeDeselect/SingleModeDeselect.java +java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java +java/awt/Mixing/LWPopupMenu.java +java/awt/Mixing/MixingOnDialog.java +java/awt/Mixing/OpaqueTest.java +java/awt/Mixing/OverlappingButtons.java +java/awt/Mixing/Validating.java +java/awt/Mixing/ValidBounds.java +java/awt/Modal/LWModalTest/LWModalTest.java +java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java +java/awt/Modal/NpeOnClose/NpeOnCloseTest.java +java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html +java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html +java/awt/MouseAdapter/MouseAdapterUnitTest/MouseAdapterUnitTest.java +java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java +java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html +java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html +java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java +java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java +java/awt/Window/GrabSequence/GrabSequence.java +javax/swing/border/Test4856008.java +javax/swing/JColorChooser/Test6541987.java +javax/swing/JComboBox/6607130/bug6607130.java +javax/swing/JInternalFrame/6647340/bug6647340.java +javax/swing/JPopupMenu/6691503/bug6691503.java + +# Errors +# Invalid key: cte_test +closed/com/sun/org/apache/xml/internal/utils/Test.java +# Can't find source file: DisplayModeChanger.java +java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java +# java interrupted! (timed out?) +java/awt/PrintJob/EdgeTest/EdgeTest.java +java/awt/PrintJob/MultipleEnd/MultipleEnd.java +sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java +# java.lang.IllegalAccessException: Class com.sun.javatest.regtest.MainWrapper$MainThread can not access a member of class NotBound with modifiers "public static" +java/nio/channels/DatagramChannel/NotBound.java + +# Something fishy going on here... +java/awt/FontClass/CreateFont/fileaccess/FontFile.java +java/awt/FontClass/CreateFont/DeleteFont.sh +java/awt/FontClass/CreateFont/bigfont.html + +# This test cannot be compiled because it's base class +# LocaleTestFmwk is deleted during the "liberation" phase +# of build process (this class has questionable licence). +java/util/Locale/LocaleEnhanceTest.java + --- openjdk-9-9~b94.orig/debian/excludelist.langtools.jtx +++ openjdk-9-9~b94/debian/excludelist.langtools.jtx @@ -0,0 +1,29 @@ +# Compilation passed unexpectedly +tools/javac/annotations/6359949/T6359949a.java +tools/javac/annotations/neg/OverrideNo.java +tools/javac/OverrideChecks/Private.java + +# java.lang.AssertionError: T6392782$CountNodes: expected: 384 found: 372 +tools/javac/api/T6392782.java + +# Output does not match reference file: T6384542.out, line 7 +tools/javac/enum/6384542/T6384542.java + +# An exception has occurred in the compiler (1.7.0_0-internal) +#java.lang.AssertionError: T? +# at com.sun.tools.javac.code.Types.containedBy(Types.java:719) +# at com.sun.tools.javac.code.Types$8.visitWildcardType(Types.java:819) +# at com.sun.tools.javac.code.Types$8.visitWildcardType(Types.java:771) +tools/javac/generics/wildcards/6651719/T6651719b.java + +# exit code 1 +tools/javac/Paths/Diagnostics.sh + +# `main' threw exception: java.lang.Exception: 1 errors found +tools/javac/VersionOpt.java + +# `main' threw exception: java.lang.Error: 40/211 test cases passed +tools/javap/ListTest.java + +# `main' threw exception: java.lang.Error: 64/256 test cases passed +tools/javap/OptionTest.java --- openjdk-9-9~b94.orig/debian/font.properties.ja +++ openjdk-9-9~b94/debian/font.properties.ja @@ -0,0 +1,197 @@ +# @(#)font.properties.ja.linux 1.7 02/03/07 +# +# Copyright 2002 Sun Microsystems, Inc. All rights reserved. +# + +# Component Font Mappings +# +serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1 +serif.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +serif.italic.0=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1 +serif.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +serif.bold.0=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1 +serif.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +serif.bolditalic.0=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1 +serif.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +# Missing Glyph Character +# +default.char=274f + +# Component Font Character Encodings +# +fontcharset.serif.0=sun.io.CharToByteISO8859_1 +fontcharset.serif.1=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.sansserif.0=sun.io.CharToByteISO8859_1 +fontcharset.sansserif.1=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.monospaced.0=sun.io.CharToByteISO8859_1 +fontcharset.monospaced.1=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.dialog.0=sun.io.CharToByteISO8859_1 +fontcharset.dialog.1=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1 +fontcharset.dialoginput.1=sun.awt.motif.CharToByteX11JIS0208 + +# Exclusion Ranges +# + +# XFontSet Information +# +fontset.serif.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.serif.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.serif.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.serif.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.default=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 --- openjdk-9-9~b94.orig/debian/font.properties.ja.wgy_zenhai +++ openjdk-9-9~b94/debian/font.properties.ja.wgy_zenhai @@ -0,0 +1,244 @@ +# @(#)font.properties.ja.linux 1.7 02/03/07 +# +# Copyright 2002 Sun Microsystems, Inc. All rights reserved. +# + +# Component Font Mappings +# +serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1 +serif.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +serif.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +serif.italic.0=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1 +serif.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +serif.italic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +serif.bold.0=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1 +serif.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +serif.bold.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +serif.bolditalic.0=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1 +serif.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +serif.bolditalic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +sansserif.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +sansserif.italic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +sansserif.bold.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +sansserif.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +sansserif.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +sansserif.bolditalic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +monospaced.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +monospaced.italic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +monospaced.bold.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +monospaced.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +monospaced.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +monospaced.bolditalic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialog.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.italic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialog.italic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.bold.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialog.bold.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialog.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1 +dialog.bolditalic.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialog.bolditalic.2=-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialoginput.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.italic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialoginput.italic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.bold.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialoginput.bold.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +dialoginput.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1 +dialoginput.bolditalic.1=-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 +dialoginput.bolditalic.2=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +# Missing Glyph Character +# +default.char=274f + +# Component Font Character Encodings +# +fontcharset.serif.0=sun.io.CharToByteISO8859_1 +fontcharset.serif.1=sun.awt.motif.CharToByteX11JIS0208 +fontcharset.serif.2=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.sansserif.0=sun.io.CharToByteISO8859_1 +fontcharset.sansserif.1=sun.awt.motif.CharToByteX11JIS0208 +fontcharset.sansserif.2=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.monospaced.0=sun.io.CharToByteISO8859_1 +fontcharset.monospaced.1=sun.awt.motif.CharToByteX11JIS0208 +fontcharset.monospaced.2=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.dialog.0=sun.io.CharToByteISO8859_1 +fontcharset.dialog.1=sun.awt.motif.CharToByteX11JIS0208 +fontcharset.dialog.2=sun.awt.motif.CharToByteX11JIS0208 + +fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1 +fontcharset.dialoginput.1=sun.awt.motif.CharToByteX11JIS0208 +fontcharset.dialoginput.2=sun.awt.motif.CharToByteX11JIS0208 + +# Exclusion Ranges +# + +# XFontSet Information +# +fontset.serif.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.serif.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.serif.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.serif.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.sansserif.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.monospaced.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialog.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.italic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.bold=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.bolditalic=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.dialoginput.plain=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + +fontset.default=\ +-sony-fixed-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0,\ +-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\ +-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0,\ +-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 + --- openjdk-9-9~b94.orig/debian/generate-debian-orig.sh +++ openjdk-9-9~b94/debian/generate-debian-orig.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +tarballs="corba.tar.gz hotspot.tar.gz jaxp.tar.gz jaxws.tar.gz jdk.tar.gz langtools.tar.gz openjdk.tar.gz" +# AArch64 hotspot +aarch64_hsname=f50993b6c38d +tarballs="$tarballs $aarch64_hsname.tar.gz" +jamvmtb=jamvm-ac22c9948434e528ece451642b4ebde40953ee7e.tar.gz +cacaotb=cacao-e215e36be9fc.tar.gz +tarballdir=7u55 +version=7u55-2.4.7 +base=openjdk-7 +pkgdir=$base-$version +origtar=${base}_${version}.orig.tar.gz + +icedtea_checkout=icedtea7-2.4.7 +debian_checkout=openjdk7 + +if [ -d $pkgdir ]; then + echo directory $pkgdir already exists + exit 1 +fi + +if [ -d $pkgdir.orig ]; then + echo directory $pkgdir.orig already exists + exit 1 +fi + +if [ -f $origtar ]; then + echo "Using existing $origtar" + tar xf $origtar + if [ -d $pkgdir.orig ]; then + mv $pkgdir.orig $pkgdir + fi + tar -c -f - -C $icedtea_checkout . | tar -x -f - -C $pkgdir + rm -rf $pkgdir/.hg +else + echo "Creating new $pkgdir.orig/" + rm -rf $pkgdir.orig + mkdir -p $pkgdir.orig + case "$base" in + openjdk*) + for i in $tarballs; do + cp -p $tarballdir/$i $pkgdir.orig/ + done + if [ -n "$cacaotb" ]; then + cp -p $tarballdir/$cacaotb $pkgdir.orig/ + fi + cp -p $tarballdir/$jamvmtb $pkgdir.orig/ + ;; + esac + tar -c -f - -C $icedtea_checkout . | tar -x -f - -C $pkgdir.orig + ( + cd $pkgdir.orig + sh autogen.sh + rm -rf autom4te.cache + ) + cp -a $pkgdir.orig $pkgdir + rm -rf $pkgdir.orig/.hg +fi + +echo "Build debian diff in $pkgdir/" +cp -a $debian_checkout $pkgdir/debian +( + cd $pkgdir + #bash debian/update-shasum.sh + #bash debian/update-hgrev.sh + ls + patch -p1 < debian/patches/icedtea-patch.diff + sh autogen.sh + rm -rf autom4te.cache + echo "aarch64 http://openjdk.linaro.org/hotspot $aarch64_hsname $(sha256sum $aarch64_hsname.tar.gz) $aarch64_hsname.tar.gz" >> hotspot.map +) --- openjdk-9-9~b94.orig/debian/generate-dfsg-zip.sh +++ openjdk-9-9~b94/debian/generate-dfsg-zip.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +if [ ! -f "$1" ]; then + echo "does not exist: $1" + exit 1 +fi + +jdkdir=$(tar tf $1 | head -1 | sed 's,/.*,,') +echo $jdkdir + +dist=$(lsb_release -is) + +echo "not needed anymore. 2.4.4 has both jdk and langtools cleaned up" +exit 1 + +# Untar openjdk source zip. +rm -rf openjdk +case "$1" in + *.zip) unzip -q -x $1 ;; + *.tar*) tar xf $1;; +esac + +case "$1" in + *jdk*) + echo "Cleanup jdk tarball..." + # Remove J2DBench sources, some of which have questionable license + # headers. + rm -rf \ + $jdkdir/src/share/demo/java2d/J2DBench + + # binary files + rm -f \ + $jdkdir/test/sun/net/idn/*.spp + + rm -rf \ + $jdkdir/test/sun/security/pkcs11/nss/lib/* + + rm -f \ + $jdkdir/test/java/util/Locale/data/deflocale.sh \ + $jdkdir/test/java/util/Locale/data/deflocale.rhel5 \ + $jdkdir/test/java/util/Locale/data/deflocale.rhel5.fmtasdefault \ + $jdkdir/test/java/util/Locale/data/deflocale.sol10.fmtasdefault \ + $jdkdir/test/java/util/Locale/data/deflocale.win7 \ + $jdkdir/test/java/util/Locale/data/deflocale.win7.fmtasdefault +;; + + *langtools*) + echo "Cleanup langtools tarball..." + rm -rf $jdkdir/test/tools/javac/T5090006/broken.jar +;; + +esac + +# Create new zip with new name. + +NEW_ZIP=$(echo $1 | sed -e 's/\.tar.gz/-dfsg.tar.gz/;s/\.zip/-dfsg.tar.gz/') +GZIP=-9v tar -cz -f $NEW_ZIP $jdkdir + +# Remove old unzipped openjdk dir. +rm -rf $jdkdir --- openjdk-9-9~b94.orig/debian/jvm.cfg-default +++ openjdk-9-9~b94/debian/jvm.cfg-default @@ -0,0 +1,5 @@ +# jvm.cfg-default - default jvm configuration which is used if no jvm.cfg +# is found. After unpacking the file jvm.cfg doesn't exist yet (config file), +# in this case use this file instead, so that the VM can be used before +# configuration of the runtime package. +-server KNOWN --- openjdk-9-9~b94.orig/debian/mauve_tests +++ openjdk-9-9~b94/debian/mauve_tests @@ -0,0 +1,2570 @@ +javax.xml.xpath.XPath +javax.xml.parsers.DocumentBuilder.PR27864 +javax.xml.parsers.DocumentBuilder.parseSimpleXML +javax.crypto.spec.TestOfPBEKeySpec +javax.crypto.spec.TestOfSecretKeySpec +javax.accessibility.AccessibleContext.getAccessibleRelationSet +javax.imageio.plugins.jpeg.TestJPEGImageReadParam +javax.imageio.plugins.jpeg.TestJPEGHuffmanTable +javax.imageio.plugins.jpeg.TestJPEGQTable +javax.imageio.stream.IIOByteBuffer.setOffset +javax.imageio.stream.IIOByteBuffer.setLength +javax.imageio.stream.IIOByteBuffer.setData +javax.imageio.spi.ServiceRegistry.getServiceProviderByClass +javax.imageio.spi.ServiceRegistry.deregisterAll +javax.imageio.spi.ServiceRegistry.getCategories +javax.imageio.spi.ServiceRegistry.lookupProviders +javax.imageio.spi.ServiceRegistry.registerServiceProvider +javax.imageio.spi.IIOServiceProvider.getVersion +javax.imageio.spi.IIOServiceProvider.getVendorName +javax.imageio.spi.ImageOutputStreamSpi.ImageOutputStreamSpi +javax.imageio.spi.ImageOutputStreamSpi.needsCacheFile +javax.imageio.spi.ImageOutputStreamSpi.canUseCacheFile +javax.imageio.spi.ImageReaderWriterSpi.getNativeImageMetadataFormatName +javax.imageio.spi.ImageReaderWriterSpi.getFileSuffixes +javax.imageio.spi.ImageReaderWriterSpi.getExtraImageMetadataFormatNames +javax.imageio.spi.ImageReaderWriterSpi.getPluginClassName +javax.imageio.spi.ImageReaderWriterSpi.getNativeStreamMetadataFormatName +javax.imageio.spi.ImageReaderWriterSpi.getExtraStreamMetadataFormatNames +javax.imageio.spi.ImageReaderWriterSpi.getMIMETypes +javax.imageio.spi.ImageReaderWriterSpi.isStandardImageMetadataFormatSupported +javax.imageio.spi.ImageReaderWriterSpi.getFormatNames +javax.imageio.spi.ImageReaderWriterSpi.isStandardStreamMetadataFormatSupported +javax.imageio.spi.ImageInputStreamSpi.ImageInputStreamSpi +javax.imageio.spi.ImageInputStreamSpi.needsCacheFile +javax.imageio.spi.ImageInputStreamSpi.canUseCacheFile +javax.imageio.spi.ImageTranscoderSpi.ImageTranscoderSpi +javax.imageio.spi.IIORegistry.getDefaultInstance +javax.naming.CompoundName.simple +javax.naming.directory.BasicAttribute.Enumerate +javax.naming.CompositeName.composite +javax.management.ObjectName.apply +javax.management.ObjectName.Parsing +javax.management.ObjectName.ParsingJDK6 +javax.management.ObjectName.applyJDK6 +javax.management.openmbean.ArrayType.IsValue +javax.management.openmbean.ArrayType.Constructor2 +javax.management.openmbean.ArrayType.Equals +javax.management.openmbean.ArrayType.IsPrimitiveArray +javax.management.openmbean.ArrayType.GetArrayType +javax.management.openmbean.ArrayType.HashCode +javax.management.openmbean.ArrayType.GetPrimitiveArrayType +javax.management.openmbean.ArrayType.Constructor1 +javax.management.openmbean.CompositeDataInvocationHandler.Test +javax.management.MBeanServerPermission.Constructor +javax.security.auth.login.TestOfPR25202 +javax.print.SimpleDoc.constructor +javax.print.SimpleDoc.getStreamForBytes +javax.print.SimpleDoc.getAttributes +javax.print.SimpleDoc.getReaderForText +javax.print.DocFlavor.parseMimeType +javax.print.attribute.TextSyntax.constructors +javax.print.attribute.ResolutionSyntax.simple +javax.print.attribute.EnumSyntax.serialize +javax.print.attribute.EnumSyntax.equals +javax.print.attribute.AttributeSetUtilities.simple +javax.print.attribute.Size2DSyntax.simple +javax.print.attribute.SetOfIntegerSyntax.Simple +javax.print.attribute.HashAttributeSet.populatedSet +javax.print.attribute.HashAttributeSet.nullTests +javax.print.attribute.HashAttributeSet.emptySet +javax.print.attribute.standard.MediaSize.userClass +javax.swing.JWindow.isRootPaneCheckingEnabled +javax.swing.JSplitPane.setComponent +javax.swing.JSplitPane.setResizeWeight +javax.swing.JSplitPane.getDividerLocation +javax.swing.JSplitPane.getInputMap +javax.swing.JSplitPane.getActionMap +javax.swing.JSplitPane.paramString +javax.swing.JSplitPane.Constructor +javax.swing.JOptionPane.getInputMap +javax.swing.JTabbedPane.getInputMap +javax.swing.JTabbedPane.Mnemonic +javax.swing.JTabbedPane.remove +javax.swing.JToggleButton.constructor +javax.swing.JToggleButton.actionEvent +javax.swing.JToggleButton.isFocusable +javax.swing.JToggleButton.uidelegate +javax.swing.JToggleButton.getActionCommand +javax.swing.JToggleButton.model +javax.swing.JToggleButton.click +javax.swing.text.View.getResizeWeight +javax.swing.text.View.getMaximumSpan +javax.swing.text.View.getMinimumSpan +javax.swing.text.View.getAlignment +javax.swing.text.GapContent.getString +javax.swing.text.GapContent.GapContentTest +javax.swing.text.GapContent.length +javax.swing.text.GapContent.constructors +javax.swing.text.GapContent.insertString +javax.swing.text.GapContent.getChars +javax.swing.text.GapContent.PositionTest +javax.swing.text.GapContent.remove +javax.swing.text.ElementIterator.ElementIteratorTest +javax.swing.text.AbstractDocument.BranchElement.getStartOffset +javax.swing.text.AbstractDocument.BranchElement.getElementIndexNullPointer +javax.swing.text.AbstractDocument.BranchElement.BranchElementTest +javax.swing.text.AbstractDocument.BranchElement.getElementIndex +javax.swing.text.AbstractDocument.LeafElement.getStartOffset +javax.swing.text.AbstractDocument.getDocumentProperties +javax.swing.text.AbstractDocument.ElementChange2 +javax.swing.text.AbstractDocument.AbstractDocumentTest +javax.swing.text.AbstractDocument.ElementChange +javax.swing.text.AbstractDocument.filterTest +javax.swing.text.MaskFormatter.MaskFormatterTest +javax.swing.text.DefaultFormatter.getValueClass +javax.swing.text.PlainDocument.getRootElements +javax.swing.text.PlainDocument.getDocumentProperties +javax.swing.text.PlainDocument.removeJoinesLines +javax.swing.text.PlainDocument.multipleLeafs +javax.swing.text.PlainDocument.getText +javax.swing.text.PlainDocument.getLength +javax.swing.text.PlainDocument.createPosition +javax.swing.text.PlainDocument.insertUpdate +javax.swing.text.PlainDocument.insertString +javax.swing.text.PlainDocument.PlainDocumentTest +javax.swing.text.AttributeSet.isEqual +javax.swing.text.Segment.clone +javax.swing.text.Segment.first +javax.swing.text.Segment.setIndex +javax.swing.text.Segment.last +javax.swing.text.Segment.getIndex +javax.swing.text.Segment.current +javax.swing.text.Segment.next +javax.swing.text.Segment.isPartialReturn +javax.swing.text.Segment.getEndIndex +javax.swing.text.Segment.setPartialReturn +javax.swing.text.Segment.getBeginIndex +javax.swing.text.Segment.constructors +javax.swing.text.Segment.toString +javax.swing.text.Segment.previous +javax.swing.text.TextAction.augmentList +javax.swing.text.TabSet.getTab +javax.swing.text.TabSet.constructor +javax.swing.text.TabSet.getTabCount +javax.swing.text.TabSet.getTabIndex +javax.swing.text.TabSet.getTabIndexAfter +javax.swing.text.TabSet.equals +javax.swing.text.TabSet.toString +javax.swing.text.html.HTML.HTML_Test +javax.swing.text.html.HTMLDocument.FindById +javax.swing.text.html.parser.Entity.Entity_Test +javax.swing.text.html.parser.TagElement.TagElement_Test +javax.swing.text.html.parser.AttributeList.AttributeList_test +javax.swing.text.html.parser.Element.Element_Test +javax.swing.text.html.parser.ParserDelegator.Entities +javax.swing.text.html.parser.ParserDelegator.Text4 +javax.swing.text.html.parser.ParserDelegator.randomTables +javax.swing.text.html.parser.ParserDelegator.SimpleParsing +javax.swing.text.html.parser.ParserDelegator.Text3 +javax.swing.text.html.parser.ParserDelegator.Text +javax.swing.text.html.parser.ParserDelegator.eolnNorification +javax.swing.text.html.parser.ParserDelegator.tokenLocations +javax.swing.text.html.parser.DTD.DTD_test +javax.swing.text.BoxView.spans +javax.swing.text.StyleConstants.setTabSet +javax.swing.text.StyleConstants.setUnderline +javax.swing.text.StyleConstants.getLeftIndent +javax.swing.text.StyleConstants.getIcon +javax.swing.text.StyleConstants.setFontFamily +javax.swing.text.StyleConstants.isBold +javax.swing.text.StyleConstants.setLineSpacing +javax.swing.text.StyleConstants.isSubscript +javax.swing.text.StyleConstants.setItalic +javax.swing.text.StyleConstants.getFontSize +javax.swing.text.StyleConstants.setComponent +javax.swing.text.StyleConstants.setBidiLevel +javax.swing.text.StyleConstants.getForeground +javax.swing.text.StyleConstants.setSuperscript +javax.swing.text.StyleConstants.getSpaceAbove +javax.swing.text.StyleConstants.getLineSpacing +javax.swing.text.StyleConstants.setSpaceBelow +javax.swing.text.StyleConstants.setBackground +javax.swing.text.StyleConstants.getRightIndent +javax.swing.text.StyleConstants.getFirstLineIndent +javax.swing.text.StyleConstants.isItalic +javax.swing.text.StyleConstants.getTabSet +javax.swing.text.StyleConstants.setIcon +javax.swing.text.StyleConstants.isUnderline +javax.swing.text.StyleConstants.setBold +javax.swing.text.StyleConstants.setAlignment +javax.swing.text.StyleConstants.setSubscript +javax.swing.text.StyleConstants.setRightIndent +javax.swing.text.StyleConstants.isSuperscript +javax.swing.text.StyleConstants.getSpaceBelow +javax.swing.text.StyleConstants.setFontSize +javax.swing.text.StyleConstants.getFontFamily +javax.swing.text.StyleConstants.constants +javax.swing.text.StyleConstants.setStrikeThrough +javax.swing.text.StyleConstants.setForeground +javax.swing.text.StyleConstants.getAlignment +javax.swing.text.StyleConstants.setLeftIndent +javax.swing.text.StyleConstants.getBackground +javax.swing.text.StyleConstants.getComponent +javax.swing.text.StyleConstants.getBidiLevel +javax.swing.text.StyleConstants.setFirstLineIndent +javax.swing.text.StyleConstants.setSpaceAbove +javax.swing.text.StyleConstants.isStrikeThrough +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure3 +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure1 +javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument6 +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure7 +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure2 +javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument1 +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure4 +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure6 +javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument3 +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure5 +javax.swing.text.DefaultStyledDocument.ElementBuffer.insert +javax.swing.text.DefaultStyledDocument.ElementBuffer.ElementStructure8 +javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument2 +javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument5 +javax.swing.text.DefaultStyledDocument.ElementBuffer.StyledDocument4 +javax.swing.text.DefaultStyledDocument.Insert +javax.swing.text.DefaultStyledDocument.insertString +javax.swing.text.DefaultStyledDocument.Create +javax.swing.text.SimpleAttributeSet.removeAttributesOnlyIfMatch +javax.swing.text.SimpleAttributeSet.clone +javax.swing.text.SimpleAttributeSet.EMPTY +javax.swing.text.SimpleAttributeSet.containsAttributes +javax.swing.text.SimpleAttributeSet.containsChecksParent +javax.swing.text.SimpleAttributeSet.containsAttribute +javax.swing.text.SimpleAttributeSet.getResolveParent +javax.swing.text.SimpleAttributeSet.removeAttribute +javax.swing.text.SimpleAttributeSet.copyAttributes +javax.swing.text.SimpleAttributeSet.equals +javax.swing.text.SimpleAttributeSet.removeAttributes +javax.swing.text.SimpleAttributeSet.getAttribute +javax.swing.text.SimpleAttributeSet.isEqual +javax.swing.text.SimpleAttributeSet.getAttributeCount +javax.swing.text.SimpleAttributeSet.constructors +javax.swing.text.SimpleAttributeSet.isDefined +javax.swing.text.SimpleAttributeSet.addAttribute +javax.swing.text.SimpleAttributeSet.getAttributeNames +javax.swing.text.SimpleAttributeSet.setResolveParent +javax.swing.text.SimpleAttributeSet.isEmpty +javax.swing.text.SimpleAttributeSet.addAttributes +javax.swing.text.SimpleAttributeSet.nullValue +javax.swing.text.ZoneView.getMaximumZoneSize +javax.swing.text.ZoneView.createZone +javax.swing.text.ZoneView.constructor +javax.swing.text.ZoneView.zoneWasLoaded +javax.swing.text.ZoneView.isZoneLoaded +javax.swing.text.ZoneView.loadChildren +javax.swing.text.ZoneView.setMaxZonesLoaded +javax.swing.text.ZoneView.unloadZone +javax.swing.text.ZoneView.setMaximumZoneSize +javax.swing.text.FlowView.FlowStrategy.adjustRow +javax.swing.text.FlowView.getFlowAxis +javax.swing.text.InternationalFormatter.InternationalFormatterTest +javax.swing.text.Utilities.getNextWord +javax.swing.text.Utilities.getBreakLocation +javax.swing.text.Utilities.getPreviousWord +javax.swing.text.Utilities.getWordStart +javax.swing.text.Utilities.getTabbedTextOffset +javax.swing.text.TabStop.constructors +javax.swing.text.TabStop.toString +javax.swing.text.StringContent.insertUndo +javax.swing.text.StringContent.BadLocationExceptionTest +javax.swing.text.StringContent.stickyPosition +javax.swing.text.StringContent.length +javax.swing.text.StringContent.removeUndo +javax.swing.text.StringContent.constructors +javax.swing.text.StringContent.insertString +javax.swing.text.StringContent.StringContentTest +javax.swing.text.StyledEditorKit.createInputAttributesTest +javax.swing.text.StyleContext.NamedStyleInit +javax.swing.text.StyleContext.NamedStyleSetResolveParent +javax.swing.text.StyleContext.addStyle +javax.swing.text.StyleContext.addAttribute +javax.swing.JScrollBar.getAccessibleContext +javax.swing.JScrollBar.getInputMap +javax.swing.JScrollBar.constructors +javax.swing.JScrollBar.getActionMap +javax.swing.JScrollBar.paramString +javax.swing.plaf.basic.BasicButtonUI.getTextShiftOffset +javax.swing.plaf.basic.BasicButtonUI.getPropertyPrefix +javax.swing.plaf.basic.BasicButtonUI.defaultTextIconGap +javax.swing.plaf.basic.BasicButtonUI.setTextShiftOffset +javax.swing.plaf.basic.BasicButtonUI.defaultTextShiftOffset +javax.swing.plaf.basic.BasicButtonUI.clearTextShiftOffset +javax.swing.plaf.basic.BasicRadioButtonMenuItemUI.getPropertyPrefix +javax.swing.plaf.basic.BasicToggleButtonUI.getPropertyPrefix +javax.swing.plaf.basic.BasicSeparatorUI.getPreferredSize +javax.swing.plaf.basic.BasicSeparatorUI.getMinimumSize +javax.swing.plaf.basic.BasicSeparatorUI.getMaximumSize +javax.swing.plaf.basic.BasicLookAndFeel.initSystemColorDefaults +javax.swing.plaf.basic.BasicCheckBoxMenuItemUI.getPropertyPrefix +javax.swing.plaf.basic.BasicHTML.isHTMLString +javax.swing.plaf.basic.BasicScrollBarUI.layoutContainer +javax.swing.plaf.basic.BasicScrollBarUI.getPreferredSize +javax.swing.plaf.basic.BasicScrollBarUI.constructor +javax.swing.plaf.basic.BasicScrollBarUI.getMinimumSize +javax.swing.plaf.basic.BasicScrollBarUI.createDecreaseButton +javax.swing.plaf.basic.BasicScrollBarUI.getMaximumSize +javax.swing.plaf.basic.BasicScrollBarUI.getMaximumThumbSize +javax.swing.plaf.basic.BasicScrollBarUI.installDefaults +javax.swing.plaf.basic.BasicScrollBarUI.createIncreaseButton +javax.swing.plaf.basic.BasicScrollBarUI.installComponents +javax.swing.plaf.basic.BasicScrollBarUI.getMinimumThumbSize +javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction.constructor +javax.swing.plaf.basic.BasicInternalFrameTitlePane.IconifyAction.constructor +javax.swing.plaf.basic.BasicInternalFrameTitlePane.CloseAction.constructor +javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction.constructor +javax.swing.plaf.basic.BasicInternalFrameTitlePane.MoveAction.constructor +javax.swing.plaf.basic.BasicInternalFrameTitlePane.SizeAction.constructor +javax.swing.plaf.basic.BasicPasswordFieldUI.getPropertyPrefix +javax.swing.plaf.basic.BasicSplitPaneUI.BasicHorizontalLayoutManager.layoutContainer +javax.swing.plaf.basic.BasicSplitPaneUI.getDividerLocation +javax.swing.plaf.basic.BasicArrowButton.getPreferredSize +javax.swing.plaf.basic.BasicArrowButton.isFocusTraversable +javax.swing.plaf.basic.BasicArrowButton.getMinimumSize +javax.swing.plaf.basic.BasicArrowButton.isFocusable +javax.swing.plaf.basic.BasicArrowButton.getMaximumSize +javax.swing.plaf.basic.BasicSliderUI.xPositionForValue +javax.swing.plaf.basic.BasicSliderUI.getPreferredSize +javax.swing.plaf.basic.BasicSliderUI.getMinimumSize +javax.swing.plaf.basic.BasicSliderUI.valueForYPosition +javax.swing.plaf.basic.BasicSliderUI.getMaximumSize +javax.swing.plaf.basic.BasicSliderUI.getThumbSize +javax.swing.plaf.basic.BasicSliderUI.valueForXPosition +javax.swing.plaf.basic.BasicSliderUI.constructors +javax.swing.plaf.basic.BasicSliderUI.yPositionForValue +javax.swing.plaf.basic.BasicTextFieldUI.getPropertyPrefix +javax.swing.plaf.basic.BasicTextPaneUI.getPropertyPrefix +javax.swing.plaf.basic.BasicMenuItemUI.getPropertyPrefix +javax.swing.plaf.basic.BasicFormattedTextFieldUI.getPropertyPrefix +javax.swing.plaf.basic.BasicTextAreaUI.getPropertyPrefix +javax.swing.plaf.basic.BasicComboBoxUI.getDefaultSize +javax.swing.plaf.basic.BasicComboBoxUI.createEditor +javax.swing.plaf.basic.BasicComboBoxUI.getMaximumSize +javax.swing.plaf.basic.BasicListUI.updateLayoutStateNeeded +javax.swing.plaf.basic.BasicMenuUI.getPropertyPrefix +javax.swing.plaf.basic.BasicIconFactory.getCheckBoxMenuItemIcon +javax.swing.plaf.basic.BasicIconFactory.getMenuArrowIcon +javax.swing.plaf.basic.BasicIconFactory.getCheckBoxIcon +javax.swing.plaf.basic.BasicFileChooserUI.getFileName +javax.swing.plaf.basic.BasicFileChooserUI.getApproveButtonText +javax.swing.plaf.basic.BasicFileChooserUI.constructor +javax.swing.plaf.basic.BasicFileChooserUI.getApproveButtonMnemonic +javax.swing.plaf.basic.BasicFileChooserUI.uninstallStrings +javax.swing.plaf.basic.BasicFileChooserUI.getApproveButton +javax.swing.plaf.basic.BasicFileChooserUI.getGoHomeAction +javax.swing.plaf.basic.BasicFileChooserUI.getUpdateAction +javax.swing.plaf.basic.BasicFileChooserUI.getDirectoryName +javax.swing.plaf.basic.BasicFileChooserUI.getApproveSelectionAction +javax.swing.plaf.basic.BasicFileChooserUI.installStrings +javax.swing.plaf.basic.BasicFileChooserUI.getChangeToParentDirectoryAction +javax.swing.plaf.basic.BasicFileChooserUI.getCancelSelectionAction +javax.swing.plaf.basic.BasicFileChooserUI.getFileView +javax.swing.plaf.basic.BasicFileChooserUI.installIcons +javax.swing.plaf.basic.BasicFileChooserUI.getNewFolderAction +javax.swing.plaf.basic.BasicFileChooserUI.getApproveButtonToolTipText +javax.swing.plaf.basic.BasicFileChooserUI.getDialogTitle +javax.swing.plaf.basic.BasicCheckBoxUI.getPropertyPrefix +javax.swing.plaf.basic.BasicComboBoxEditor.removeActionListener +javax.swing.plaf.basic.BasicComboBoxEditor.addActionListener +javax.swing.plaf.basic.BasicComboBoxEditor.constructor +javax.swing.plaf.basic.BasicEditorPaneUI.getPropertyPrefix +javax.swing.plaf.basic.BasicRootPaneUI.installDefaults +javax.swing.plaf.basic.BasicRadioButtonUI.getPropertyPrefix +javax.swing.plaf.ColorUIResource.serialization +javax.swing.plaf.ColorUIResource.equals +javax.swing.plaf.ColorUIResource.constructors +javax.swing.plaf.metal.MetalTheme.MetalThemeTest +javax.swing.plaf.metal.MetalLookAndFeel.getMenuTextFont +javax.swing.plaf.metal.MetalLookAndFeel.getDescription +javax.swing.plaf.metal.MetalLookAndFeel.isNativeLookAndFeel +javax.swing.plaf.metal.MetalLookAndFeel.getSeparatorBackground +javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControl +javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleInactiveForeground +javax.swing.plaf.metal.MetalLookAndFeel.getMenuBackground +javax.swing.plaf.metal.MetalLookAndFeel.getMenuForeground +javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlShadow +javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleForeground +javax.swing.plaf.metal.MetalLookAndFeel.getControlTextFont +javax.swing.plaf.metal.MetalLookAndFeel.getControlHighlight +javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlHighlight +javax.swing.plaf.metal.MetalLookAndFeel.getControlTextColor +javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlDarkShadow +javax.swing.plaf.metal.MetalLookAndFeel.getSeparatorForeground +javax.swing.plaf.metal.MetalLookAndFeel.getSubTextFont +javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme +javax.swing.plaf.metal.MetalLookAndFeel.getControlShadow +javax.swing.plaf.metal.MetalLookAndFeel.isSupportedLookAndFeel +javax.swing.plaf.metal.MetalLookAndFeel.getMenuSelectedBackground +javax.swing.plaf.metal.MetalLookAndFeel.getInactiveControlTextColor +javax.swing.plaf.metal.MetalLookAndFeel.getWhite +javax.swing.plaf.metal.MetalLookAndFeel.getUserTextFont +javax.swing.plaf.metal.MetalLookAndFeel.getAcceleratorForeground +javax.swing.plaf.metal.MetalLookAndFeel.getControlDisabled +javax.swing.plaf.metal.MetalLookAndFeel.getID +javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleBackground +javax.swing.plaf.metal.MetalLookAndFeel.getName +javax.swing.plaf.metal.MetalLookAndFeel.getSystemTextColor +javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleFont +javax.swing.plaf.metal.MetalLookAndFeel.getInactiveSystemTextColor +javax.swing.plaf.metal.MetalLookAndFeel.getUserTextColor +javax.swing.plaf.metal.MetalLookAndFeel.getWindowBackground +javax.swing.plaf.metal.MetalLookAndFeel.getBlack +javax.swing.plaf.metal.MetalLookAndFeel.getAcceleratorSelectedForeground +javax.swing.plaf.metal.MetalLookAndFeel.getDesktopColor +javax.swing.plaf.metal.MetalLookAndFeel.getSystemTextFont +javax.swing.plaf.metal.MetalLookAndFeel.getControlDarkShadow +javax.swing.plaf.metal.MetalLookAndFeel.getControlInfo +javax.swing.plaf.metal.MetalLookAndFeel.getMenuDisabledForeground +javax.swing.plaf.metal.MetalLookAndFeel.getFocusColor +javax.swing.plaf.metal.MetalLookAndFeel.getMenuSelectedForeground +javax.swing.plaf.metal.MetalLookAndFeel.getHighlightedTextColor +javax.swing.plaf.metal.MetalLookAndFeel.getControl +javax.swing.plaf.metal.MetalLookAndFeel.getWindowTitleInactiveBackground +javax.swing.plaf.metal.MetalLookAndFeel.getTextHighlightColor +javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlInfo +javax.swing.plaf.metal.MetalComboBoxIcon.getIconWidth +javax.swing.plaf.metal.MetalComboBoxIcon.getIconHeight +javax.swing.plaf.metal.MetalComboBoxUI.getPreferredSize +javax.swing.plaf.metal.MetalComboBoxUI.createArrowButton +javax.swing.plaf.metal.MetalFileChooserUI.getFileName +javax.swing.plaf.metal.MetalFileChooserUI.createFilterComboBoxModel +javax.swing.plaf.metal.MetalFileChooserUI.getButtonPanel +javax.swing.plaf.metal.MetalFileChooserUI.getPreferredSize +javax.swing.plaf.metal.MetalFileChooserUI.getMinimumSize +javax.swing.plaf.metal.MetalFileChooserUI.getMaximumSize +javax.swing.plaf.metal.MetalFileChooserUI.getApproveButton +javax.swing.plaf.metal.MetalFileChooserUI.setFileName +javax.swing.plaf.metal.MetalFileChooserUI.getBottomPanel +javax.swing.plaf.metal.MetalCheckBoxUI.getPropertyPrefix +javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon.getAdditionalHeight +javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon.getShift +javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon.getIconWidth +javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon.getIconHeight +javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon.getAdditionalHeight +javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon.getShift +javax.swing.plaf.metal.MetalIconFactory.getInternalFrameCloseIcon +javax.swing.plaf.metal.MetalIconFactory.getInternalFrameMaximizeIcon +javax.swing.plaf.metal.MetalIconFactory.getMenuItemCheckIcon +javax.swing.plaf.metal.MetalIconFactory.getRadioButtonMenuItemIcon +javax.swing.plaf.metal.MetalIconFactory.getCheckBoxMenuItemIcon +javax.swing.plaf.metal.MetalIconFactory.getTreeHardDriveIcon +javax.swing.plaf.metal.MetalIconFactory.getTreeLeafIcon +javax.swing.plaf.metal.MetalIconFactory.getMenuArrowIcon +javax.swing.plaf.metal.MetalIconFactory.getFileChooserNewFolderIcon +javax.swing.plaf.metal.MetalIconFactory.getTreeControlIcon +javax.swing.plaf.metal.MetalIconFactory.getFileChooserDetailViewIcon +javax.swing.plaf.metal.MetalIconFactory.getTreeFloppyDriveIcon +javax.swing.plaf.metal.MetalIconFactory.getMenuItemArrowIcon +javax.swing.plaf.metal.MetalIconFactory.getFileChooserListViewIcon +javax.swing.plaf.metal.MetalIconFactory.getTreeComputerIcon +javax.swing.plaf.metal.MetalIconFactory.getFileChooserHomeFolderIcon +javax.swing.plaf.metal.MetalIconFactory.getInternalFrameAltMaximizeIcon +javax.swing.plaf.metal.MetalIconFactory.getRadioButtonIcon +javax.swing.plaf.metal.MetalIconFactory.getFileChooserUpFolderIcon +javax.swing.plaf.metal.MetalIconFactory.getInternalFrameDefaultMenuIcon +javax.swing.plaf.metal.MetalIconFactory.getInternalFrameMinimizeIcon +javax.swing.plaf.metal.MetalIconFactory.getCheckBoxIcon +javax.swing.plaf.metal.MetalIconFactory.getTreeFolderIcon +javax.swing.plaf.metal.MetalRadioButtonUI.getSelectColor +javax.swing.plaf.metal.MetalRadioButtonUI.getFocusColor +javax.swing.plaf.metal.MetalRadioButtonUI.getDisabledTextColor +javax.swing.plaf.metal.MetalComboBoxButton.setIconOnly +javax.swing.plaf.metal.MetalComboBoxButton.isFocusTraversable +javax.swing.plaf.metal.MetalComboBoxButton.setEnabled +javax.swing.plaf.metal.MetalComboBoxButton.isIconOnly +javax.swing.plaf.metal.MetalComboBoxButton.getComboBox +javax.swing.plaf.metal.MetalComboBoxButton.getComboIcon +javax.swing.plaf.metal.MetalComboBoxButton.setComboBox +javax.swing.plaf.metal.MetalComboBoxButton.constructors +javax.swing.plaf.metal.MetalComboBoxButton.setComboIcon +javax.swing.plaf.metal.DefaultMetalTheme.getMenuTextFont +javax.swing.plaf.metal.DefaultMetalTheme.DefaultMetalThemeTest +javax.swing.plaf.metal.DefaultMetalTheme.getControlTextFont +javax.swing.plaf.metal.DefaultMetalTheme.getSubTextFont +javax.swing.plaf.metal.DefaultMetalTheme.getUserTextFont +javax.swing.plaf.metal.DefaultMetalTheme.getName +javax.swing.plaf.metal.DefaultMetalTheme.getWindowTitleFont +javax.swing.plaf.metal.DefaultMetalTheme.getSystemTextFont +javax.swing.plaf.metal.MetalComboBoxEditor.constructor +javax.swing.plaf.metal.MetalComboBoxEditor.editorBorderInsets +javax.swing.plaf.metal.MetalToolTipUI.constructor +javax.swing.plaf.metal.MetalToolTipUI.createUI +javax.swing.plaf.metal.OceanTheme.OceanThemeTest +javax.swing.plaf.metal.OceanTheme.addCustomEntriesToTable +javax.swing.plaf.metal.MetalToggleButtonUI.getSelectColor +javax.swing.plaf.metal.MetalToggleButtonUI.getFocusColor +javax.swing.plaf.metal.MetalToggleButtonUI.getDisabledTextColor +javax.swing.plaf.metal.MetalBorders.ToolBarBorder.getBorderInsets +javax.swing.plaf.metal.MetalBorders.MenuItemBorder.borderInsets +javax.swing.plaf.metal.MetalBorders.MenuBarBorder.getBorderInsets +javax.swing.plaf.metal.MetalBorders.MenuBarBorder.borderInsets +javax.swing.plaf.metal.MetalBorders.getToggleButtonBorder +javax.swing.plaf.metal.MetalBorders.getDesktopIconBorder +javax.swing.plaf.metal.MetalBorders.getButtonBorder +javax.swing.plaf.metal.MetalBorders.getTextFieldBorder +javax.swing.plaf.metal.MetalBorders.getTextBorder +javax.swing.plaf.metal.MetalScrollButton.getButtonWidth +javax.swing.plaf.metal.MetalScrollButton.getPreferredSize +javax.swing.plaf.metal.MetalScrollButton.constructor +javax.swing.plaf.metal.MetalScrollButton.getMinimumSize +javax.swing.plaf.metal.MetalScrollButton.isFocusable +javax.swing.plaf.metal.MetalScrollButton.getMaximumSize +javax.swing.plaf.metal.MetalScrollBarUI.layoutContainer +javax.swing.plaf.metal.MetalScrollBarUI.getPreferredSize +javax.swing.plaf.metal.MetalScrollBarUI.constructor +javax.swing.plaf.metal.MetalScrollBarUI.installDefaults +javax.swing.plaf.metal.MetalScrollBarUI.getMinimumThumbSize +javax.swing.plaf.metal.MetalButtonUI.getSelectColor +javax.swing.plaf.metal.MetalButtonUI.getFocusColor +javax.swing.plaf.metal.MetalButtonUI.getDisabledTextColor +javax.swing.plaf.IconUIResource.constructor +javax.swing.JFrame.isRootPaneCheckingEnabled +javax.swing.JFrame.glassPaneLayout +javax.swing.JFrame.constructors +javax.swing.border.TitledBorder.getTitleFont +javax.swing.border.TitledBorder.getTitle +javax.swing.border.TitledBorder.setTitleJustification +javax.swing.border.TitledBorder.getBorder +javax.swing.border.TitledBorder.getBorderInsets +javax.swing.border.TitledBorder.setTitleColor +javax.swing.border.TitledBorder.setTitle +javax.swing.border.TitledBorder.setTitlePosition +javax.swing.border.TitledBorder.getTitleJustification +javax.swing.border.TitledBorder.setBorder +javax.swing.border.TitledBorder.getTitleColor +javax.swing.border.TitledBorder.isBorderOpaque +javax.swing.border.TitledBorder.constructors +javax.swing.border.TitledBorder.setTitleFont +javax.swing.border.TitledBorder.getTitlePosition +javax.swing.border.CompoundBorder.isBorderOpaque +javax.swing.JTable.AccessibleJTable.AccessibleJTableHeaderCell.getAccessibleRole +javax.swing.JTable.AccessibleJTable.AccessibleJTableCell.getAccessibleRole +javax.swing.JTable.AccessibleJTable.getAccessibleColumnHeader +javax.swing.JTable.setRowSelectionAllowed +javax.swing.JTable.getColumn +javax.swing.JTable.getRowHeight +javax.swing.JTable.convertColumnIndexToModel +javax.swing.JTable.createDefaultDataModel +javax.swing.JTable.getCellEditor +javax.swing.JTable.setColumnSelectionAllowed +javax.swing.JTable.setAutoCreateColumnsFromModel +javax.swing.JTable.setRowHeight +javax.swing.JTable.createDefaultSelectionModel +javax.swing.JTable.getAccessibleContext +javax.swing.JTable.convertColumnIndexToView +javax.swing.JTable.isCellEditable +javax.swing.JTable.getInputMap +javax.swing.JTable.getCellRect +javax.swing.JTable.isRowSelected +javax.swing.JTable.getModel +javax.swing.JTable.initializeLocalVars +javax.swing.JTable.createDefaultColumnsFromModel +javax.swing.JTable.getAutoCreateColumnsFromModel +javax.swing.JTable.isColumnSelected +javax.swing.JTable.addColumn +javax.swing.table.AbstractTableModel.getColumnName +javax.swing.table.AbstractTableModel.fireTableDataChanged +javax.swing.table.AbstractTableModel.fireTableStructureChanged +javax.swing.table.AbstractTableModel.fireTableRowsUpdated +javax.swing.table.AbstractTableModel.fireTableRowsDeleted +javax.swing.table.AbstractTableModel.getColumnClass +javax.swing.table.AbstractTableModel.isCellEditable +javax.swing.table.AbstractTableModel.fireTableChanged +javax.swing.table.AbstractTableModel.findColumn +javax.swing.table.AbstractTableModel.fireTableRowsInserted +javax.swing.table.AbstractTableModel.fireTableCellUpdated +javax.swing.table.DefaultTableCellRenderer.getTableCellRendererComponent +javax.swing.table.DefaultTableColumnModel.getListeners +javax.swing.table.DefaultTableColumnModel.getColumn +javax.swing.table.DefaultTableColumnModel.getColumnModelListeners +javax.swing.table.DefaultTableColumnModel.getSelectedColumnCount +javax.swing.table.DefaultTableColumnModel.getSelectionModel +javax.swing.table.DefaultTableColumnModel.getTotalColumnWidth +javax.swing.table.DefaultTableColumnModel.constructor +javax.swing.table.DefaultTableColumnModel.getColumns +javax.swing.table.DefaultTableColumnModel.setColumnSelectionAllowed +javax.swing.table.DefaultTableColumnModel.getColumnSelectionAllowed +javax.swing.table.DefaultTableColumnModel.getColumnCount +javax.swing.table.DefaultTableColumnModel.setSelectionModel +javax.swing.table.DefaultTableColumnModel.setColumnMargin +javax.swing.table.DefaultTableColumnModel.getColumnIndexAtX +javax.swing.table.DefaultTableColumnModel.addColumnModelListener +javax.swing.table.DefaultTableColumnModel.removeColumn +javax.swing.table.DefaultTableColumnModel.moveColumn +javax.swing.table.DefaultTableColumnModel.addColumn +javax.swing.table.DefaultTableColumnModel.getColumnIndex +javax.swing.table.DefaultTableColumnModel.getColumnMargin +javax.swing.table.DefaultTableModel.removeRow +javax.swing.table.DefaultTableModel.getRowCount +javax.swing.table.DefaultTableModel.setColumnCount +javax.swing.table.DefaultTableModel.insertRow +javax.swing.table.DefaultTableModel.getColumnCount +javax.swing.table.DefaultTableModel.convertToVector +javax.swing.table.DefaultTableModel.setColumnIdentifiers +javax.swing.table.DefaultTableModel.isCellEditable +javax.swing.table.DefaultTableModel.setDataVector +javax.swing.table.DefaultTableModel.setValueAt +javax.swing.table.DefaultTableModel.moveRow +javax.swing.table.DefaultTableModel.newDataAvailable +javax.swing.table.DefaultTableModel.addRow +javax.swing.table.DefaultTableModel.constructors +javax.swing.table.DefaultTableModel.getDataVector +javax.swing.table.DefaultTableModel.rowsRemoved +javax.swing.table.DefaultTableModel.addColumn +javax.swing.table.DefaultTableModel.setRowCount +javax.swing.table.DefaultTableModel.getValueAt +javax.swing.table.TableColumn.setCellEditor +javax.swing.table.TableColumn.getHeaderRenderer +javax.swing.table.TableColumn.getIdentifier +javax.swing.table.TableColumn.setPreferredWidth +javax.swing.table.TableColumn.setHeaderValue +javax.swing.table.TableColumn.getCellRenderer +javax.swing.table.TableColumn.sizeWidthToFit +javax.swing.table.TableColumn.setResizable +javax.swing.table.TableColumn.properties +javax.swing.table.TableColumn.removePropertyChangeListener +javax.swing.table.TableColumn.setIdentifier +javax.swing.table.TableColumn.addPropertyChangeListener +javax.swing.table.TableColumn.setMinWidth +javax.swing.table.TableColumn.setModelIndex +javax.swing.table.TableColumn.setCellRenderer +javax.swing.table.TableColumn.getModelIndex +javax.swing.table.TableColumn.setMaxWidth +javax.swing.table.TableColumn.setWidth +javax.swing.table.TableColumn.constants +javax.swing.table.TableColumn.setHeaderRenderer +javax.swing.table.TableColumn.getHeaderValue +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getLocale +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.isFocusTraversable +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.setAccessibleName +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleName +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleDescription +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleIndexInParent +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleContext +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.isVisible +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleChild +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleRole +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleComponent +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleChildrenCount +javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.getAccessibleValue +javax.swing.table.JTableHeader.AccessibleJTableHeader.getAccessibleChild +javax.swing.table.JTableHeader.AccessibleJTableHeader.getAccessibleRole +javax.swing.table.JTableHeader.AccessibleJTableHeader.getAccessibleChildrenCount +javax.swing.table.JTableHeader.getAccessibleContext +javax.swing.event.InternalFrameEvent.constructor +javax.swing.event.InternalFrameEvent.getInternalFrame +javax.swing.event.InternalFrameEvent.paramString +javax.swing.event.ListDataEvent.getIndex0 +javax.swing.event.ListDataEvent.constructor +javax.swing.event.ListDataEvent.getType +javax.swing.event.ListDataEvent.getSource +javax.swing.event.ListDataEvent.getIndex1 +javax.swing.event.ListDataEvent.toString +javax.swing.event.TableModelEvent.constructors +javax.swing.event.SwingPropertyChangeSupport.firePropertyChange +javax.swing.event.SwingPropertyChangeSupport.getPropertyChangeListeners +javax.swing.event.SwingPropertyChangeSupport.constructor +javax.swing.event.SwingPropertyChangeSupport.hasListeners +javax.swing.event.SwingPropertyChangeSupport.removePropertyChangeListener +javax.swing.event.SwingPropertyChangeSupport.addPropertyChangeListener +javax.swing.event.EventListenerList.getListeners +javax.swing.event.EventListenerList.add +javax.swing.event.EventListenerList.getListenerList +javax.swing.event.EventListenerList.getListenerCount +javax.swing.event.EventListenerList.toString +javax.swing.event.EventListenerList.remove +javax.swing.event.TreeSelectionEvent.isAddedPath +javax.swing.event.TreeSelectionEvent.cloneWithSource +javax.swing.event.TreeSelectionEvent.constructors +javax.swing.JDesktopPane.constructor +javax.swing.JRadioButton.isFocusable +javax.swing.JRadioButton.uidelegate +javax.swing.JRadioButton.getActionCommand +javax.swing.JRadioButton.model +javax.swing.JMenuBar.getComponentIndex +javax.swing.JMenuBar.getHelpMenu +javax.swing.JMenuBar.getSubElements +javax.swing.JMenuBar.setMargin +javax.swing.JMenuBar.getInputMap +javax.swing.JMenuBar.setHelpMenu +javax.swing.JMenuBar.getActionMap +javax.swing.JMenuBar.getMenu +javax.swing.JCheckBoxMenuItem.uidelegate +javax.swing.JCheckBoxMenuItem.getActionCommand +javax.swing.JCheckBoxMenuItem.model +javax.swing.JCheckBoxMenuItem.constructors +javax.swing.JComboBox.getPrototypeDisplayValue +javax.swing.JComboBox.MutableTest2 +javax.swing.JComboBox.setEditor +javax.swing.JComboBox.getEditor +javax.swing.JComboBox.addItem +javax.swing.JComboBox.MutableTest1 +javax.swing.JComboBox.removeItem +javax.swing.JComboBox.setModel +javax.swing.JComboBox.setSelectedIndex +javax.swing.JComboBox.model +javax.swing.JComboBox.listenerList +javax.swing.JComboBox.setPrototypeDisplayValue +javax.swing.JComboBox.setEditable +javax.swing.JComboBox.SimpleSelectionTest +javax.swing.OverlayLayout.layoutContainer +javax.swing.OverlayLayout.getLayoutAlignmentY +javax.swing.OverlayLayout.getLayoutAlignmentX +javax.swing.OverlayLayout.preferredLayoutSize +javax.swing.OverlayLayout.minimumLayoutSize +javax.swing.OverlayLayout.maximumLayoutSize +javax.swing.JScrollPane.AccessibleJScrollPane.resetViewport +javax.swing.JScrollPane.createHorizontalScrollBar +javax.swing.JScrollPane.getInputMap +javax.swing.JScrollPane.createVerticalScrollBar +javax.swing.JScrollPane.getActionMap +javax.swing.DefaultListCellRenderer.getListCellRendererComponent +javax.swing.JFileChooser.setFileHidingEnabled +javax.swing.JFileChooser.getControlButtonsAreShown +javax.swing.JFileChooser.setApproveButtonMnemonic +javax.swing.JFileChooser.setFileSystemView +javax.swing.JFileChooser.getApproveButtonText +javax.swing.JFileChooser.setDialogTitle +javax.swing.JFileChooser.setDialogType +javax.swing.JFileChooser.setSelectedFile +javax.swing.JFileChooser.getChoosableFileFilters +javax.swing.JFileChooser.getApproveButtonMnemonic +javax.swing.JFileChooser.setApproveButtonText +javax.swing.JFileChooser.getDialogType +javax.swing.JFileChooser.getFileFilter +javax.swing.JFileChooser.setAccessory +javax.swing.JFileChooser.isAcceptAllFileFilterUsed +javax.swing.JFileChooser.accept +javax.swing.JFileChooser.setControlButtonsAreShown +javax.swing.JFileChooser.setFileView +javax.swing.JFileChooser.setCurrentDirectory +javax.swing.JFileChooser.isFileHidingEnabled +javax.swing.JFileChooser.constructors +javax.swing.JFileChooser.changeToParentDirectory +javax.swing.JFileChooser.getFileView +javax.swing.JFileChooser.getFileSystemView +javax.swing.JFileChooser.setSelectedFiles +javax.swing.JFileChooser.setFileFilter +javax.swing.JFileChooser.getFileSelectionMode +javax.swing.JFileChooser.setFileSelectionMode +javax.swing.JFileChooser.getSelectedFiles +javax.swing.JFileChooser.getAccessory +javax.swing.JFileChooser.setApproveButtonToolTipText +javax.swing.JFileChooser.getApproveButtonToolTipText +javax.swing.JFileChooser.getDialogTitle +javax.swing.SpinnerDateModel.getPreviousValue +javax.swing.SpinnerDateModel.setStart +javax.swing.SpinnerDateModel.setEnd +javax.swing.SpinnerDateModel.setValue +javax.swing.SpinnerDateModel.getNextValue +javax.swing.SpinnerDateModel.constructors +javax.swing.JDialog.isRootPaneCheckingEnabled +javax.swing.JPopupMenu.getInputMap +javax.swing.JSlider.getPaintTrack +javax.swing.JSlider.addChangeListener +javax.swing.JSlider.setMinimum +javax.swing.JSlider.setSnapToTicks +javax.swing.JSlider.setOrientation +javax.swing.JSlider.getMinorTickSpacing +javax.swing.JSlider.setValue +javax.swing.JSlider.setMaximum +javax.swing.JSlider.setExtent +javax.swing.JSlider.setPaintLabels +javax.swing.JSlider.getSnapToTicks +javax.swing.JSlider.setMinorTickSpacing +javax.swing.JSlider.getUIClassID +javax.swing.JSlider.setLabelTable +javax.swing.JSlider.getPaintTicks +javax.swing.JSlider.setModel +javax.swing.JSlider.getMaximum +javax.swing.JSlider.setPaintTicks +javax.swing.JSlider.getPaintLabels +javax.swing.JSlider.getMinimum +javax.swing.JSlider.getModel +javax.swing.JSlider.getInverted +javax.swing.JSlider.setInverted +javax.swing.JSlider.constructors +javax.swing.JSlider.getMajorTickSpacing +javax.swing.JSlider.createStandardLabels +javax.swing.JSlider.setMajorTickSpacing +javax.swing.JSlider.getExtent +javax.swing.JSlider.setPaintTrack +javax.swing.JSlider.getLabelTable +javax.swing.DefaultButtonModel.addActionListener +javax.swing.DefaultButtonModel.setPressed +javax.swing.DefaultButtonModel.setEnabled +javax.swing.DefaultButtonModel.constructor +javax.swing.DefaultButtonModel.setActionCommand +javax.swing.DefaultButtonModel.getSelectedObjects +javax.swing.DefaultButtonModel.setArmed +javax.swing.DefaultButtonModel.setSelected +javax.swing.DefaultButtonModel.constants +javax.swing.DefaultButtonModel.setRollover +javax.swing.DefaultButtonModel.setGroup +javax.swing.JComponent.getListeners +javax.swing.JComponent.setVerifyInputWhenFocusTarget +javax.swing.JComponent.getVetoableChangeListeners +javax.swing.JComponent.setInheritsPopupMenu +javax.swing.JComponent.getPreferredSize +javax.swing.JComponent.setEnabled +javax.swing.JComponent.constructor +javax.swing.JComponent.registerKeyboardAction +javax.swing.JComponent.setUI +javax.swing.JComponent.getActionForKeyStroke +javax.swing.JComponent.setMinimumSize +javax.swing.JComponent.setPreferredSize +javax.swing.JComponent.setDefaultLocale +javax.swing.JComponent.setBackground +javax.swing.JComponent.setBorder +javax.swing.JComponent.getInputMap +javax.swing.JComponent.setVisible +javax.swing.JComponent.setAlignmentX +javax.swing.JComponent.setComponentPopupMenu +javax.swing.JComponent.getFont +javax.swing.JComponent.setAlignmentY +javax.swing.JComponent.setMaximumSize +javax.swing.JComponent.setFont +javax.swing.JComponent.getVerifyInputWhenFocusTarget +javax.swing.JComponent.putClientProperty +javax.swing.JComponent.getAlignmentY +javax.swing.JComponent.getComponentPopupMenu +javax.swing.JComponent.getAlignmentX +javax.swing.JComponent.removeVetoableChangeListener +javax.swing.JComponent.getRegisteredKeyStrokes +javax.swing.JComponent.setForeground +javax.swing.JComponent.paint +javax.swing.JComponent.setOpaque +javax.swing.JComponent.addVetoableChangeListener +javax.swing.JProgressBar.isStringPainted +javax.swing.JProgressBar.setOrientation +javax.swing.JProgressBar.setValue +javax.swing.JProgressBar.setBorderPainted +javax.swing.JProgressBar.setStringPainted +javax.swing.JProgressBar.getAccessibleContext +javax.swing.JProgressBar.getPercentComplete +javax.swing.JProgressBar.paramString +javax.swing.JMenu.uidelegate +javax.swing.JMenu.getInputMap +javax.swing.JMenu.getActionCommand +javax.swing.JMenu.model +javax.swing.JMenu.getPopUpMenu +javax.swing.JMenu.remove +javax.swing.UIManager.LookAndFeelInfo.constructor +javax.swing.UIManager.getPropertyChangeListeners +javax.swing.UIManager.getBoolean +javax.swing.UIManager.addAuxiliaryLookAndFeel +javax.swing.UIManager.getString +javax.swing.UIManager.getBorder +javax.swing.UIManager.getIcon +javax.swing.UIManager.getInsets +javax.swing.UIManager.removeAuxiliaryLookAndFeel +javax.swing.UIManager.setLookAndFeel +javax.swing.UIManager.getFont +javax.swing.UIManager.getDefaults +javax.swing.UIManager.getInt +javax.swing.UIManager.addPropertyChangeListener +javax.swing.UIManager.getUI +javax.swing.UIManager.getDimension +javax.swing.UIManager.getLookAndFeelDefaults +javax.swing.UIManager.getCrossPlatformLookAndFeelClassName +javax.swing.UIManager.getColor +javax.swing.UIManager.getAuxiliaryLookAndFeels +javax.swing.JPanel.setBorder +javax.swing.JPanel.Layouter +javax.swing.JTree.getCellRenderer +javax.swing.JTree.isRowSelected +javax.swing.JTree.setModel +javax.swing.TransferHandler.exportToClipboard +javax.swing.TransferHandler.TransferActionConstructor +javax.swing.TransferHandler.canImport +javax.swing.TransferHandler.importData +javax.swing.TransferHandler.createTransferable +javax.swing.JToolTip.setComponent +javax.swing.JToolTip.setTipText +javax.swing.JToolTip.getAccessibleContext +javax.swing.JToolTip.getUIClassID +javax.swing.JToolTip.getTipText +javax.swing.JToolTip.paramString +javax.swing.JToolTip.getComponent +javax.swing.JToolBar.buttonInsets +javax.swing.JToolBar.getInputMap +javax.swing.JRootPane.RootLayout.layoutContainer +javax.swing.JRootPane.RootLayout.getLayoutAlignmentY +javax.swing.JRootPane.RootLayout.getLayoutAlignmentX +javax.swing.JRootPane.RootLayout.preferredLayoutSize +javax.swing.JRootPane.setLayeredPane +javax.swing.ScrollPaneLayout.minimumLayoutSize +javax.swing.Timer.preparatory +javax.swing.Timer.setDelay +javax.swing.Timer.basic +javax.swing.Timer.test_23918 +javax.swing.Timer.setInitialDelay +javax.swing.ActionMap.newMapKeysNull +javax.swing.InputMap.put +javax.swing.InputMap.constructor +javax.swing.InputMap.keys +javax.swing.InputMap.setParent +javax.swing.InputMap.size +javax.swing.InputMap.newMapKeysNull +javax.swing.InputMap.get +javax.swing.InputMap.getParent +javax.swing.InputMap.remove +javax.swing.InputMap.clear +javax.swing.InputMap.allKeys +javax.swing.filechooser.FileView.getDescription +javax.swing.filechooser.FileView.getIcon +javax.swing.filechooser.FileView.getName +javax.swing.filechooser.FileView.isTraversable +javax.swing.filechooser.FileView.getTypeDescription +javax.swing.filechooser.FileSystemView.getFileSystemView +javax.swing.ViewportLayout.layoutContainer +javax.swing.ViewportLayout.minimumLayoutSize +javax.swing.JList.AccessibleJList.AccessibleJListChild.isFocusTraversable +javax.swing.JList.AccessibleJList.AccessibleJListChild.isEnabled +javax.swing.JList.AccessibleJList.AccessibleJListChild.setEnabled +javax.swing.JList.AccessibleJList.AccessibleJListChild.setCursor +javax.swing.JList.AccessibleJList.AccessibleJListChild.getForeground +javax.swing.JList.AccessibleJList.AccessibleJListChild.setBackground +javax.swing.JList.AccessibleJList.AccessibleJListChild.isVisible +javax.swing.JList.AccessibleJList.AccessibleJListChild.isShowing +javax.swing.JList.AccessibleJList.AccessibleJListChild.getFont +javax.swing.JList.AccessibleJList.AccessibleJListChild.getCursor +javax.swing.JList.AccessibleJList.AccessibleJListChild.getAccessibleRole +javax.swing.JList.AccessibleJList.AccessibleJListChild.setFont +javax.swing.JList.AccessibleJList.AccessibleJListChild.getAccessibleStateSet +javax.swing.JList.AccessibleJList.AccessibleJListChild.setForeground +javax.swing.JList.AccessibleJList.AccessibleJListChild.getBackground +javax.swing.JList.AccessibleJList.valueChanged +javax.swing.JList.AccessibleJList.getAccessibleChild +javax.swing.JList.AccessibleJList.getAccessibleRole +javax.swing.JList.AccessibleJList.intervalAdded +javax.swing.JList.AccessibleJList.intervalRemoved +javax.swing.JList.AccessibleJList.contentsChanged +javax.swing.JList.AccessibleJList.getAccessibleStateSet +javax.swing.JList.setValueIsAdjusting +javax.swing.JList.setVisibleRowCount +javax.swing.JList.setSelectionBackground +javax.swing.JList.setBackground +javax.swing.JList.getSelectionBackground +javax.swing.JList.getInputMap +javax.swing.JList.setModel +javax.swing.JList.getNextMatch +javax.swing.JList.setLayoutOrientation +javax.swing.JList.constructors +javax.swing.JList.getBackground +javax.swing.ToolTipManager.setReshowDelay +javax.swing.ToolTipManager.setInitialDelay +javax.swing.ToolTipManager.setDismissDelay +javax.swing.AbstractButton.constructor +javax.swing.AbstractButton.setRolloverEnabled +javax.swing.AbstractButton.setRolloverSelectedIcon +javax.swing.AbstractButton.init +javax.swing.AbstractButton.setVerticalTextPosition +javax.swing.AbstractButton.setHorizontalAlignment +javax.swing.AbstractButton.setHorizontalTextPosition +javax.swing.AbstractButton.setRolloverIcon +javax.swing.AbstractButton.setVerticalAlignment +javax.swing.AbstractButton.createChangeListener +javax.swing.JLayeredPane.defaultLayoutManager +javax.swing.JLayeredPane.getComponentsInLayer +javax.swing.JLayeredPane.setPosition +javax.swing.JLayeredPane.moveToFront +javax.swing.JLayeredPane.addImpl +javax.swing.DefaultListModel.toArray +javax.swing.DefaultListModel.trimToSize +javax.swing.DefaultListModel.removeAllElements +javax.swing.DefaultListModel.constructor +javax.swing.DefaultListModel.add +javax.swing.DefaultListModel.lastElement +javax.swing.DefaultListModel.copyInto +javax.swing.DefaultListModel.firstElement +javax.swing.DefaultListModel.setElementAt +javax.swing.DefaultListModel.set +javax.swing.DefaultListModel.elementAt +javax.swing.DefaultListModel.ensureCapacity +javax.swing.DefaultListModel.indexOf +javax.swing.DefaultListModel.insertElementAt +javax.swing.DefaultListModel.setSize +javax.swing.DefaultListModel.lastIndexOf +javax.swing.DefaultListModel.elements +javax.swing.DefaultListModel.size +javax.swing.DefaultListModel.getSize +javax.swing.DefaultListModel.capacity +javax.swing.DefaultListModel.removeElementAt +javax.swing.DefaultListModel.get +javax.swing.DefaultListModel.contains +javax.swing.DefaultListModel.getElementAt +javax.swing.DefaultListModel.removeRange +javax.swing.DefaultListModel.addElement +javax.swing.DefaultListModel.removeElement +javax.swing.DefaultListModel.isEmpty +javax.swing.DefaultListModel.remove +javax.swing.DefaultListModel.clear +javax.swing.JFormattedTextField.JFormattedTextFieldTests +javax.swing.AbstractAction.clone +javax.swing.AbstractAction.setEnabled +javax.swing.AbstractAction.getValue +javax.swing.AbstractAction.constructors +javax.swing.AbstractAction.putValue +javax.swing.JTextArea.preferredSize +javax.swing.JTextArea.isValidChecks +javax.swing.JTextArea.text +javax.swing.JTextArea.gettingText +javax.swing.JCheckBox.constructor +javax.swing.JCheckBox.isFocusable +javax.swing.JCheckBox.uidelegate +javax.swing.JCheckBox.getActionCommand +javax.swing.JCheckBox.model +javax.swing.JButton.uidelegate +javax.swing.JButton.getActionCommand +javax.swing.JButton.model +javax.swing.SizeRequirements.calculateAlignedPositions +javax.swing.tree.TreePath.getParentPath +javax.swing.tree.TreePath.serialization +javax.swing.tree.TreePath.getPath +javax.swing.tree.TreePath.getLastPathComponent +javax.swing.tree.TreePath.PR27651 +javax.swing.tree.TreePath.isDescendant +javax.swing.tree.TreePath.equals +javax.swing.tree.TreePath.getPathCount +javax.swing.tree.TreePath.constructors +javax.swing.tree.TreePath.getPathComponent +javax.swing.tree.TreePath.pathByAddingChild +javax.swing.tree.DefaultMutableTreeNode.clone +javax.swing.tree.DefaultMutableTreeNode.getChildAt +javax.swing.tree.DefaultMutableTreeNode.getChildBefore +javax.swing.tree.DefaultMutableTreeNode.getSiblingCount +javax.swing.tree.DefaultMutableTreeNode.isNodeSibling +javax.swing.tree.DefaultMutableTreeNode.getIndex +javax.swing.tree.DefaultMutableTreeNode.isNodeChild +javax.swing.tree.DefaultMutableTreeNode.add +javax.swing.tree.DefaultMutableTreeNode.getFirstChild +javax.swing.tree.DefaultMutableTreeNode.getPath +javax.swing.tree.DefaultMutableTreeNode.removeAllChildren +javax.swing.tree.DefaultMutableTreeNode.getChildCount +javax.swing.tree.DefaultMutableTreeNode.isNodeRelated +javax.swing.tree.DefaultMutableTreeNode.getNextSibling +javax.swing.tree.DefaultMutableTreeNode.getPreviousSibling +javax.swing.tree.DefaultMutableTreeNode.setAllowsChildren +javax.swing.tree.DefaultMutableTreeNode.getPreviousLeaf +javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor +javax.swing.tree.DefaultMutableTreeNode.getNextPreviousNode +javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant +javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration +javax.swing.tree.DefaultMutableTreeNode.getLastLeaf +javax.swing.tree.DefaultMutableTreeNode.children +javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren +javax.swing.tree.DefaultMutableTreeNode.getFirstLeaf +javax.swing.tree.DefaultMutableTreeNode.constructors +javax.swing.tree.DefaultMutableTreeNode.isLeaf +javax.swing.tree.DefaultMutableTreeNode.insert +javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNodeTest +javax.swing.tree.DefaultMutableTreeNode.getParent +javax.swing.tree.DefaultMutableTreeNode.getLastChild +javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration +javax.swing.tree.DefaultMutableTreeNode.remove +javax.swing.tree.DefaultMutableTreeNode.getNextLeaf +javax.swing.tree.DefaultMutableTreeNode.getChildAfter +javax.swing.tree.DefaultTreeCellRenderer.getBackgroundSelectionColor +javax.swing.tree.DefaultTreeCellRenderer.getOpenIcon +javax.swing.tree.DefaultTreeCellRenderer.getClosedIcon +javax.swing.tree.DefaultTreeCellRenderer.setOpenIcon +javax.swing.tree.DefaultTreeCellRenderer.constructor +javax.swing.tree.DefaultTreeCellRenderer.getLeafIcon +javax.swing.tree.DefaultTreeCellRenderer.getBorderSelectionColor +javax.swing.tree.DefaultTreeCellRenderer.setLeafIcon +javax.swing.tree.DefaultTreeCellRenderer.getDefaultLeafIcon +javax.swing.tree.DefaultTreeCellRenderer.setBackgroundSelectionColor +javax.swing.tree.DefaultTreeCellRenderer.getDefaultOpenIcon +javax.swing.tree.DefaultTreeCellRenderer.getDefaultClosedIcon +javax.swing.tree.DefaultTreeCellRenderer.setBackgroundNonSelectionColor +javax.swing.tree.DefaultTreeCellRenderer.setBorderSelectionColor +javax.swing.tree.DefaultTreeCellRenderer.getBackgroundNonSelectionColor +javax.swing.tree.DefaultTreeCellRenderer.setClosedIcon +javax.swing.tree.VariableHeightLayoutCache.getBounds +javax.swing.BoxLayout.layoutContainer +javax.swing.BoxLayout.invalidateLayout +javax.swing.BoxLayout.constructor +javax.swing.BoxLayout.simplevertical +javax.swing.BoxLayout.maximumLayoutSize2 +javax.swing.BoxLayout.getLayoutAlignmentY +javax.swing.BoxLayout.horizontal2 +javax.swing.BoxLayout.getLayoutAlignmentX +javax.swing.BoxLayout.simplehorizontal +javax.swing.BoxLayout.constants +javax.swing.BoxLayout.preferredLayoutSize +javax.swing.BoxLayout.minimumLayoutSize +javax.swing.BoxLayout.maximumLayoutSize +javax.swing.JApplet.isRootPaneCheckingEnabled +javax.swing.DefaultBoundedRangeModel.setValueIsAdjusting +javax.swing.DefaultBoundedRangeModel.setMinimum +javax.swing.DefaultBoundedRangeModel.serialization +javax.swing.DefaultBoundedRangeModel.setValue +javax.swing.DefaultBoundedRangeModel.setMaximum +javax.swing.DefaultBoundedRangeModel.setExtent +javax.swing.DefaultBoundedRangeModel.getChangeListeners +javax.swing.DefaultBoundedRangeModel.getValue +javax.swing.DefaultBoundedRangeModel.setRangeProperties +javax.swing.DefaultBoundedRangeModel.getMaximum +javax.swing.DefaultBoundedRangeModel.getValueIsAdjusting +javax.swing.DefaultBoundedRangeModel.getMinimum +javax.swing.DefaultBoundedRangeModel.general +javax.swing.DefaultBoundedRangeModel.toString +javax.swing.DefaultBoundedRangeModel.getExtent +javax.swing.undo.UndoableEditSupport.getUndoableEditListeners +javax.swing.undo.UndoableEditSupport.createCompoundEdit +javax.swing.undo.UndoableEditSupport.toString +javax.swing.undo.UndoableEditSupport.beginUpdate +javax.swing.undo.UndoableEditSupport.UndoableEditSupport +javax.swing.undo.UndoableEditSupport.getUpdateLevel +javax.swing.undo.CompoundEdit.lastEdit +javax.swing.undo.CompoundEdit.addEdit +javax.swing.undo.CompoundEdit.canRedo +javax.swing.undo.CompoundEdit.canUndo +javax.swing.undo.CompoundEdit.isInProgress +javax.swing.undo.AbstractUndoableEdit.getRedoPresentationName +javax.swing.undo.AbstractUndoableEdit.addEdit +javax.swing.undo.AbstractUndoableEdit.canRedo +javax.swing.undo.AbstractUndoableEdit.redo +javax.swing.undo.AbstractUndoableEdit.undo +javax.swing.undo.AbstractUndoableEdit.canUndo +javax.swing.undo.AbstractUndoableEdit.getPresentationName +javax.swing.undo.AbstractUndoableEdit.replaceEdit +javax.swing.undo.AbstractUndoableEdit.isSignificant +javax.swing.undo.AbstractUndoableEdit.getUndoPresentationName +javax.swing.undo.StateEdit.undo +javax.swing.undo.StateEdit.getPresentationName +javax.swing.undo.UndoManager.getRedoPresentationName +javax.swing.undo.UndoManager.getUndoOrRedoPresentationName +javax.swing.undo.UndoManager.addEdit +javax.swing.undo.UndoManager.canRedo +javax.swing.undo.UndoManager.trimEdits +javax.swing.undo.UndoManager.undoTo +javax.swing.undo.UndoManager.editToBeUndone +javax.swing.undo.UndoManager.canUndo +javax.swing.undo.UndoManager.undoableEditHappened +javax.swing.undo.UndoManager.setLimit +javax.swing.undo.UndoManager.discardAllEdits +javax.swing.undo.UndoManager.redoTo +javax.swing.undo.UndoManager.end +javax.swing.undo.UndoManager.toString +javax.swing.undo.UndoManager.getUndoPresentationName +javax.swing.undo.UndoManager.getLimit +javax.swing.undo.UndoManager.editToBeRedone +javax.swing.undo.UndoManager.canUndoOrRedo +javax.swing.JMenuItem.getActionCommand +javax.swing.JMenuItem.constructors +javax.swing.DefaultComboBoxModel.removeAllElements +javax.swing.DefaultComboBoxModel.insertElementAt +javax.swing.DefaultComboBoxModel.getIndexOf +javax.swing.DefaultComboBoxModel.getSize +javax.swing.DefaultComboBoxModel.constructors +javax.swing.DefaultComboBoxModel.removeElementAt +javax.swing.DefaultComboBoxModel.getSelectedItem +javax.swing.DefaultComboBoxModel.getElementAt +javax.swing.DefaultComboBoxModel.addElement +javax.swing.DefaultComboBoxModel.removeElement +javax.swing.SizeSequence.getIndex +javax.swing.SizeSequence.getSizes +javax.swing.SizeSequence.removeEntries +javax.swing.SizeSequence.setSizes +javax.swing.SizeSequence.setSize +javax.swing.SizeSequence.getSize +javax.swing.SizeSequence.constructors +javax.swing.SizeSequence.insertEntries +javax.swing.JTextField.CopyPaste +javax.swing.JTextField.createDefaultModel +javax.swing.JTextField.setDocument +javax.swing.JTextField.fireActionPerformed +javax.swing.UIDefaults.putDefaults +javax.swing.UIDefaults.getBoolean +javax.swing.UIDefaults.remove +javax.swing.RepaintManager.addDirtyRegion +javax.swing.JInternalFrame.AccessibleJInternalFrame.getAccessibleName +javax.swing.JInternalFrame.AccessibleJInternalFrame.getCurrentAccessibleValue +javax.swing.JInternalFrame.AccessibleJInternalFrame.getMaximumAccessibleValue +javax.swing.JInternalFrame.AccessibleJInternalFrame.setCurrentAccessibleValue +javax.swing.JInternalFrame.AccessibleJInternalFrame.getAccessibleRole +javax.swing.JInternalFrame.AccessibleJInternalFrame.getAccessibleValue +javax.swing.JInternalFrame.AccessibleJInternalFrame.getMinimumAccessibleValue +javax.swing.JInternalFrame.getDesktopIcon +javax.swing.JInternalFrame.isRootPaneCheckingEnabled +javax.swing.JInternalFrame.setDefaultCloseOperation +javax.swing.JInternalFrame.isIconifiable +javax.swing.JInternalFrame.setTitle +javax.swing.JInternalFrame.setClosable +javax.swing.JInternalFrame.setResizable +javax.swing.JInternalFrame.setIconifiable +javax.swing.JInternalFrame.setFrameIcon +javax.swing.JInternalFrame.setMaximizable +javax.swing.JInternalFrame.getInputMap +javax.swing.JInternalFrame.setClosed +javax.swing.JInternalFrame.setNormalBounds +javax.swing.JInternalFrame.setSelected2 +javax.swing.JInternalFrame.dispose +javax.swing.JInternalFrame.isResizable +javax.swing.JInternalFrame.constructors +javax.swing.JInternalFrame.paramString +javax.swing.JInternalFrame.setDesktopIcon +javax.swing.JInternalFrame.getNormalBounds +javax.swing.SpinnerListModel.Constructors +javax.swing.SpinnerListModel.Ordering +javax.swing.SpinnerListModel.SetList +javax.swing.SpinnerListModel.ArrayModel +javax.swing.SpinnerListModel.ListModel +javax.swing.JRadioButtonMenuItem.isFocusable +javax.swing.JRadioButtonMenuItem.uidelegate +javax.swing.JRadioButtonMenuItem.getActionCommand +javax.swing.JRadioButtonMenuItem.model +javax.swing.KeyStroke.getKeyStroke +javax.swing.SpinnerNumberModel.getPreviousValue +javax.swing.SpinnerNumberModel.setMinimum +javax.swing.SpinnerNumberModel.setValue +javax.swing.SpinnerNumberModel.setMaximum +javax.swing.SpinnerNumberModel.getNextValue +javax.swing.SpinnerNumberModel.setStepSize +javax.swing.SpinnerNumberModel.constructors +javax.swing.JLabel.AccessibleJLabel.getAccessibleName +javax.swing.JLabel.setDisplayedMnemonicIndex +javax.swing.JLabel.constructor +javax.swing.JLabel.getAccessibleContext +javax.swing.JLabel.Icon +javax.swing.JLabel.getInputMap +javax.swing.JLabel.setHorizontalAlignment +javax.swing.JLabel.setFont +javax.swing.JLabel.setDisplayedMnemonic +javax.swing.JLabel.getActionMap +javax.swing.JLabel.Mnemonic +javax.swing.JLabel.paramString +javax.swing.JLabel.setVerticalAlignment +javax.swing.JEditorPane.ContentType +javax.swing.JEditorPane.ViewType +javax.swing.JEditorPane.setText +javax.swing.JEditorPane.getScrollableTracks +javax.swing.DefaultListSelectionModel.clone +javax.swing.DefaultListSelectionModel.getListeners +javax.swing.DefaultListSelectionModel.setValueIsAdjusting +javax.swing.DefaultListSelectionModel.setAnchorSelectionIndex +javax.swing.DefaultListSelectionModel.removeListSelectionListener +javax.swing.DefaultListSelectionModel.constructor +javax.swing.DefaultListSelectionModel.removeIndexInterval +javax.swing.DefaultListSelectionModel.removeSelectionInterval +javax.swing.DefaultListSelectionModel.getAnchorSelectionIndex +javax.swing.DefaultListSelectionModel.getLeadSelectionIndex +javax.swing.DefaultListSelectionModel.isLeadAnchorNotificationEnabled +javax.swing.DefaultListSelectionModel.setSelectionInterval +javax.swing.DefaultListSelectionModel.getSelectionMode +javax.swing.DefaultListSelectionModel.isSelectedIndex +javax.swing.DefaultListSelectionModel.moveLeadSelectionIndex +javax.swing.DefaultListSelectionModel.leadSelectionIndex +javax.swing.DefaultListSelectionModel.getMaxSelectionIndex +javax.swing.DefaultListSelectionModel.getMinSelectionIndex +javax.swing.DefaultListSelectionModel.getListSelectionListeners +javax.swing.DefaultListSelectionModel.getValueIsAdjusting +javax.swing.DefaultListSelectionModel.isSelectionEmpty +javax.swing.DefaultListSelectionModel.addSelectionInterval +javax.swing.DefaultListSelectionModel.setLeadSelectionIndex +javax.swing.DefaultListSelectionModel.toString +javax.swing.DefaultListSelectionModel.setSelectionMode +javax.swing.DefaultListSelectionModel.clearSelection +javax.swing.DefaultListSelectionModel.insertIndexInterval +javax.swing.DefaultListSelectionModel.addListSelectionListener +javax.swing.SwingUtilities.calculateInnerArea +javax.swing.SwingUtilities.isRectangleContainingRectangle +javax.swing.SwingUtilities.computeIntersection +javax.swing.SwingUtilities.replaceUIActionMap +javax.swing.SwingUtilities.computeUnion +javax.swing.JSpinner.ListEditor.constructor +javax.swing.JSpinner.ListEditor.getModel +javax.swing.JSpinner.NumberEditor.getModel +javax.swing.JSpinner.NumberEditor.constructors +javax.swing.JSpinner.NumberEditor.getFormat +javax.swing.JSpinner.DefaultEditor.constructor +javax.swing.JSpinner.DefaultEditor.stateChanged +javax.swing.JSpinner.DefaultEditor.propertyChange +javax.swing.JSpinner.DefaultEditor.preferredLayoutSize +javax.swing.JSpinner.DefaultEditor.minimumLayoutSize +javax.swing.JSpinner.DateEditor.getModel +javax.swing.JSpinner.getPreviousValue +javax.swing.JSpinner.addChangeListener +javax.swing.JSpinner.createEditor +javax.swing.JSpinner.getChangeListeners +javax.swing.JSpinner.setEditor +javax.swing.JSpinner.getUIClassID +javax.swing.JSpinner.getEditor +javax.swing.JSpinner.setModel +javax.swing.JSpinner.getNextValue +javax.swing.JSpinner.getModel +javax.swing.JSpinner.constructors +javax.swing.JSpinner.removeChangeListener +javax.swing.ButtonGroup.constructor +javax.swing.ButtonGroup.add +javax.swing.ButtonGroup.isSelected +javax.swing.ButtonGroup.getSelection +javax.swing.ButtonGroup.getElements +javax.swing.ButtonGroup.getButtonCount +javax.swing.ButtonGroup.setSelected +javax.swing.ButtonGroup.remove +javax.swing.JViewport.setView +gnu.javax.crypto.jce.TestOfDHKeyAgreement2 +gnu.javax.crypto.jce.TestOfPR27849 +gnu.javax.crypto.jce.TestOfPR27228 +java.rmi.server.Uniqueness +java.lang.Integer.compareTo +java.lang.Integer.decode +java.lang.Integer.new_Integer +java.lang.Integer.IntegerTest +java.lang.Integer.getInteger +java.lang.Integer.parseInt +java.lang.ClassLoader.redefine +java.lang.ClassLoader.security +java.lang.ClassLoader.loadClass +java.lang.ClassLoader.initialize +java.lang.ClassLoader.Resources +java.lang.ClassLoader.BootDefinedPackages +java.lang.Number.NumberTest +java.lang.ProcessBuilder.simple +java.lang.System.getProperty +java.lang.System.arraycopy +java.lang.System.identityHashCode +java.lang.ThreadGroup.enumerate +java.lang.ThreadGroup.insecurity +java.lang.ThreadGroup.security +java.lang.String.substring +java.lang.String.compareTo +java.lang.String.getBytes13 +java.lang.String.hash +java.lang.String.split +java.lang.String.getBytes14 +java.lang.String.startsWith +java.lang.String.equals +java.lang.String.indexOf +java.lang.String.to +java.lang.String.StringTest +java.lang.String.surrogate +java.lang.String.charAt +java.lang.String.new_String +java.lang.String.getBytes +java.lang.String.CASE_INSENSITIVE_ORDER +java.lang.Class.ClassTest +java.lang.Class.serialization +java.lang.Class.reflect +java.lang.Class.security +java.lang.Class.init +java.lang.Class.newInstance +java.lang.Class.reflect2 +java.lang.Cloneable.CloneableTest +java.lang.ref.WeakReference.weakref +java.lang.ref.PhantomReference.phantom +java.lang.Double.compareTo +java.lang.Double.DoubleSetterTest +java.lang.Double.DoubleTest +java.lang.Double.toHexString +java.lang.Double.parseDouble +java.lang.Double.compare +java.lang.Double.valueOf +java.lang.StrictMath.cbrt +java.lang.StrictMath.expm1 +java.lang.StrictMath.cosh +java.lang.StrictMath.sinh +java.lang.StrictMath.tanh +java.lang.Short.hash +java.lang.Short.ShortTest +java.lang.InheritableThreadLocal.simple +java.lang.Math.max +java.lang.Math.ulp +java.lang.Math.sin +java.lang.Math.min +java.lang.Math.cos +java.lang.Math.MathTest +java.lang.Math.rint +java.lang.Boolean.BooleanTest +java.lang.Boolean.equals_Boolean +java.lang.Boolean.new_Boolean +java.lang.Boolean.hashcode_Boolean +java.lang.Boolean.get +java.lang.Boolean.value +java.lang.Float.compareTo +java.lang.Float.toHexString +java.lang.Float.compare +java.lang.Float.parseFloat +java.lang.Float.valueOf +java.lang.Float.FloatTest +java.lang.Float.new_Float +java.lang.reflect.Array.set +java.lang.reflect.Array.newInstance +java.lang.reflect.AccessibleObject.accessible +java.lang.reflect.Field.promotion +java.lang.reflect.Field.access +java.lang.reflect.Field.toString +java.lang.reflect.Modifier.toString12 +java.lang.reflect.Modifier.toString +java.lang.reflect.Constructor.newInstance +java.lang.reflect.Constructor.toString +java.lang.reflect.Proxy.DeclaringClass +java.lang.reflect.Proxy.check13 +java.lang.reflect.Proxy.ExceptionRaising +java.lang.reflect.Proxy.ToString +java.lang.reflect.InvocationTargetException.Chain +java.lang.reflect.Method.equals +java.lang.reflect.Method.toString +java.lang.reflect.Method.invoke +java.lang.reflect.ReflectAccess +java.lang.ThreadLocal.simple +java.lang.Object.clone +java.lang.Object.wait +java.lang.Object.ObjectTest +java.lang.Object.oom +java.lang.Byte.ByteTest +java.lang.Byte.new_Byte +java.lang.StringBuffer.StringBufferTest +java.lang.StringBuffer.plus +java.lang.Long.Tests15 +java.lang.Long.getLong +java.lang.Long.LongTest +java.lang.Long.new_Long +java.lang.Thread.join +java.lang.Thread.isAlive +java.lang.Thread.name +java.lang.Thread.interrupt +java.lang.Thread.contextClassLoader +java.lang.Thread.getThreadGroup +java.lang.Thread.priority +java.lang.Thread.stop +java.lang.Thread.daemon +java.lang.Package.getPackage +java.lang.Character.digit +java.lang.Character.Blocks +java.lang.Character.unicode +java.lang.Character.getNumericValue +java.lang.Character.getType +java.lang.Character.hash +java.lang.Character.classify +java.lang.Character.classify12 +java.lang.Character.to +java.lang.Character.consts +java.lang.Character.forDigit +java.lang.Character.getType12 +java.lang.Character.equals_Character +java.lang.Character.CharacterTest +java.lang.Character.Blocks15 +java.lang.SecurityManager.thread +java.text.StringCharacterIterator.constructor +java.text.StringCharacterIterator.iter +java.text.CollationElementIterator.offset +java.text.CollationElementIterator.jdk11 +java.text.AttributedString.constructors +java.text.AttributedString.addAttribute +java.text.AttributedString.getIterator +java.text.AttributedString.addAttributes +java.text.AttributedString.Test +java.text.DecimalFormat.setCurrency +java.text.DecimalFormat.clone +java.text.DecimalFormat.setDecimalFormatSymbols +java.text.DecimalFormat.getNegativePrefix +java.text.DecimalFormat.applyPattern +java.text.DecimalFormat.formatToCharacterIterator +java.text.DecimalFormat.getNegativeSuffix +java.text.DecimalFormat.setNegativePrefix +java.text.DecimalFormat.applyLocalizedPattern +java.text.DecimalFormat.getDecimalFormatSymbols +java.text.DecimalFormat.toLocalizedPattern +java.text.DecimalFormat.isDecimalSeparatorAlwaysShown +java.text.DecimalFormat.setNegativeSuffix +java.text.DecimalFormat.PR27311 +java.text.DecimalFormat.getPositivePrefix +java.text.DecimalFormat.getCurrency +java.text.DecimalFormat.equals +java.text.DecimalFormat.digits +java.text.DecimalFormat.setDecimalSeparatorAlwaysShown +java.text.DecimalFormat.setPositiveSuffix +java.text.DecimalFormat.parse +java.text.DecimalFormat.setPositivePrefix +java.text.DecimalFormat.toPattern14 +java.text.DecimalFormat.setMultiplier +java.text.DecimalFormat.format +java.text.DecimalFormat.getPositiveSuffix +java.text.DecimalFormat.setGroupingSize +java.text.DecimalFormat.PR23996 +java.text.DecimalFormat.toPattern +java.text.DecimalFormat.constructors +java.text.DecimalFormat.MaximumAndMinimumDigits +java.text.DecimalFormat.formatExp +java.text.DecimalFormat.getGroupingSize +java.text.DecimalFormat.hashCode +java.text.DecimalFormat.position +java.text.DecimalFormat.getMultiplier +java.text.NumberFormat.UK +java.text.CharacterIterator.implement +java.text.ParsePosition.Test +java.text.BreakIterator.chariter +java.text.BreakIterator.patho +java.text.BreakIterator.lineiter +java.text.BreakIterator.sentiter +java.text.BreakIterator.worditer +java.text.Collator.Constants +java.text.Collator.GetSet +java.text.ParseException.Test +java.text.Annotation.Test +java.text.RuleBasedCollator.CollatorTests +java.text.RuleBasedCollator.VeryBasic +java.text.MessageFormat.format14 +java.text.MessageFormat.attribute +java.text.MessageFormat.parse +java.text.MessageFormat.format +java.text.ChoiceFormat.next +java.text.ChoiceFormat.parse +java.text.ChoiceFormat.format +java.text.DateFormatSymbols.setMonths +java.text.DateFormatSymbols.setShortMonths +java.text.DateFormatSymbols.setEras +java.text.DateFormatSymbols.setAmPmStrings +java.text.DateFormatSymbols.setWeekdays +java.text.DateFormatSymbols.setZoneStrings +java.text.DateFormatSymbols.setShortWeekdays +java.text.DateFormatSymbols.Test +java.text.AttributedCharacterIterator.Attribute.toString +java.text.AttributedCharacterIterator.getRunLimit +java.text.AttributedCharacterIterator.implement +java.text.AttributedCharacterIterator.getRunStart +java.text.AttributedCharacterIterator.getAttribute +java.text.DateFormat.equals +java.text.DateFormat.hashCode +java.text.DateFormat.Test +java.text.ACIAttribute.Test +java.text.DecimalFormatSymbols.serial +java.text.DecimalFormatSymbols.GetSet12 +java.text.DecimalFormatSymbols.getCurrency +java.text.DecimalFormatSymbols.DumpDefault11 +java.text.DecimalFormatSymbols.GetSet11 +java.text.DecimalFormatSymbols.DumpDefault12 +java.text.FieldPosition.Test +java.text.SimpleDateFormat.applyPattern +java.text.SimpleDateFormat.Localization +java.text.SimpleDateFormat.applyLocalizedPattern +java.text.SimpleDateFormat.toLocalizedPattern +java.text.SimpleDateFormat.attribute +java.text.SimpleDateFormat.Cloning +java.text.SimpleDateFormat.getDateFormatSymbols +java.text.SimpleDateFormat.parse +java.text.SimpleDateFormat.toPattern +java.text.SimpleDateFormat.constructors +java.text.SimpleDateFormat.setDateFormatSymbols +java.text.SimpleDateFormat.getAndSet2DigitYearStart +java.text.SimpleDateFormat.Test +java.text.Bidi.Basic +java.text.Bidi.reorderVisually +java.math.BigInteger.compareTo +java.math.BigInteger.modInverse +java.math.BigInteger.shift +java.math.BigInteger.serialization +java.math.BigInteger.add +java.math.BigInteger.TestOfPR27372 +java.math.BigInteger.signum +java.math.BigInteger.modPow +java.math.BigInteger.equals +java.math.BigInteger.divide +java.math.BigInteger.setBit +java.math.BigInteger.multiply +java.math.BigInteger.TestOfToByteArray +java.math.BigInteger.toString +java.math.BigInteger.ctor +java.math.BigInteger.abs +java.math.BigInteger.valueOf +java.math.BigDecimal.compareTo +java.math.BigDecimal.divide +java.math.BigDecimal.DiagBigDecimal +java.math.BigDecimal.construct +java.math.BigDecimal.setScale +java.security.MessageDigest.Instance +java.security.AccessController.doPrivileged +java.security.AccessController.contexts +java.security.Security.getAlgorithms +java.security.Security.provider +java.security.Provider.NameVersionInfo +java.security.SecureRandom.SHA1PRNG +java.security.SecureRandom.TestOfPR23899 +java.security.SecureRandom.Instance +java.security.KeyPairGenerator.getInstance14 +java.security.AlgorithmParameters.getInstance14 +java.security.AlgorithmParameterGenerator.getInstance14 +java.security.DigestInputStream.readMD5 +java.security.KeyFactory.getInstance14 +java.security.Signature.getInstance14 +java.security.Signature.Instance +java.security.BasicPermission.newPermission +java.sql.Clob.ClobTest +java.sql.Types.TestJdbc10 +java.sql.Types.TestJdbc20 +java.sql.Array.ArrayTest +java.sql.Blob.BlobTest +java.sql.Connection.TestJdbc +java.sql.Time.TimeTest +java.sql.DriverManager.DriverManagerTest +java.sql.Date.DateTest +java.sql.DatabaseMetaData.TestJdbc +java.sql.Timestamp.TimestampTest +java.io.RandomAccessFile.setLength +java.io.RandomAccessFile.security +java.io.RandomAccessFile.jdk11 +java.io.RandomAccessFile.randomaccessfile +java.io.BufferedWriter.Test +java.io.PipedReaderWriter.Test +java.io.PushbackInputStream.ProtectedVars +java.io.PushbackInputStream.BufferOverflow +java.io.PushbackInputStream.Unread +java.io.FileOutputStream.append +java.io.FileOutputStream.fileoutputstream +java.io.FileOutputStream.security +java.io.FileOutputStream.write +java.io.FileOutputStream.jdk12 +java.io.StringWriter.Test +java.io.FilterOutputStream.write +java.io.ObjectInputStream.security +java.io.ObjectInputStream.readResolve +java.io.ObjectInputStream.ClassLoaderTest +java.io.ObjectOutputStream.security +java.io.ObjectOutputStream.StreamDataTest +java.io.ObjectOutputStream.useProtocolVersion +java.io.InputStream.Test +java.io.Utf8Encoding.ReadReference +java.io.Utf8Encoding.WriteRead +java.io.FilePermission.traversal2 +java.io.FilePermission.simple +java.io.FilePermission.traversal +java.io.FileWriter.jdk11 +java.io.OutputStreamWriter.jdk11 +java.io.Serializable.BreakMe +java.io.Serializable.BreakMeTestSer +java.io.Serializable.ParentReadResolve +java.io.Serializable.readResolve +java.io.Serializable.ParentWriteReplace +java.io.ObjectInputOutput.LoopSerializationTest +java.io.ObjectInputOutput.ExtTest +java.io.ObjectInputOutput.Deserializable +java.io.ObjectInputOutput.ProxySerializationTest +java.io.ObjectInputOutput.Compat1 +java.io.ObjectInputOutput.SerTest +java.io.ObjectInputOutput.HierarchyTest +java.io.ObjectInputOutput.OutputTest +java.io.ObjectInputOutput.InputTest +java.io.PrintWriter.jdk11 +java.io.PrintWriter.checkError +java.io.SequenceInputStream.Test +java.io.StringBufferInputStream.ProtectedVars +java.io.StringBufferInputStream.SimpleRead +java.io.StringBufferInputStream.MarkReset +java.io.LineNumberReader.Test2 +java.io.LineNumberReader.mark +java.io.LineNumberReader.Test +java.io.InputStreamReader.hang +java.io.InputStreamReader.utf8 +java.io.InputStreamReader.jdk11 +java.io.InputStreamReader.except +java.io.InputStreamReader.getEncoding +java.io.DataInputStream.readLine +java.io.DataInputStream.ReadReference +java.io.DataInputStream.ReadReference2 +java.io.FilterWriter.write +java.io.CharArrayWriter.ProtectedVars +java.io.CharArrayWriter.BasicTests +java.io.FileDescriptor.jdk11 +java.io.Reader.Test +java.io.PushbackReader.BufferOverflow +java.io.PushbackReader.Unread +java.io.ByteArrayOutputStream.subclass +java.io.ByteArrayOutputStream.write +java.io.PrintStream.subclass +java.io.PrintStream.encodings +java.io.ObjectStreamClass.ProxyTest +java.io.ObjectStreamClass.Test +java.io.FilterReader.SimpleRead +java.io.FilterReader.MarkReset +java.io.BufferedOutputStream.interrupt +java.io.BufferedOutputStream.Test +java.io.BufferedInputStream.Skip +java.io.BufferedInputStream.BigMark +java.io.BufferedInputStream.ProtectedVars +java.io.BufferedInputStream.ZeroRead +java.io.BufferedInputStream.SimpleRead +java.io.BufferedInputStream.MarkReset +java.io.BufferedReader.mark +java.io.BufferedReader.SimpleRead +java.io.BufferedReader.MarkReset +java.io.BufferedReader.boundary +java.io.DataOutputStream.WriteRead2 +java.io.DataOutputStream.writeUTF +java.io.DataOutputStream.WriteRead +java.io.PipedStream.close +java.io.PipedStream.receive +java.io.PipedStream.Test +java.io.FileInputStream.fileinputstream +java.io.FileInputStream.read +java.io.FileInputStream.security +java.io.Writer.Test +java.io.FilterInputStream.SimpleRead +java.io.FilterInputStream.MarkReset +java.io.FileReader.jdk11 +java.io.StringReader.Test +java.io.ByteArrayInputStream.ProtectedVars +java.io.ByteArrayInputStream.SimpleRead +java.io.ByteArrayInputStream.MarkReset +java.io.File.newFileURI +java.io.File.URI +java.io.File.createFile +java.io.File.security +java.io.File.ReadMethods +java.io.File.ExecuteMethods +java.io.File.list +java.io.File.jdk11 +java.io.File.newFile +java.io.File.WriteMethods +java.io.File.canWrite +java.io.File.listFiles +java.io.File.emptyFile +java.io.File.UnicodeURI +java.io.OutputStream.Test +java.io.StreamTokenizer.WordWhiteChars +java.io.StreamTokenizer.slashstar +java.io.StreamTokenizer.commentchar +java.io.StreamTokenizer.slashslash +java.io.StreamTokenizer.newline +java.io.StreamTokenizer.misc +java.io.StreamTokenizer.Test +java.io.LineNumberInputStream.Test +java.io.CharArrayReader.ProtectedVars +java.io.CharArrayReader.OutOfBounds +java.io.CharArrayReader.SimpleRead +java.io.CharArrayReader.MarkReset +java.util.Stack.AcuniaStackTest +java.util.Arrays.asList +java.util.Arrays.fill +java.util.Arrays.equals +java.util.Arrays.sort +java.util.Arrays.binarySearch +java.util.Properties.getProperty +java.util.Properties.AcuniaPropertiesTest +java.util.Properties.load +java.util.TreeSet.basic +java.util.Observable.observable +java.util.StringTokenizer.hasMoreElements +java.util.StringTokenizer.hasMoreTokens +java.util.StringTokenizer.countTokens +java.util.StringTokenizer.nextToken +java.util.StringTokenizer.constructors +java.util.StringTokenizer.nextElement +java.util.IdentityHashMap.simple +java.util.prefs.PreferenceTest +java.util.Hashtable.HashContains +java.util.Hashtable.AcuniaHashtableTest +java.util.Hashtable.EnumerateAndModify +java.util.Hashtable.basic +java.util.Hashtable.ContainsHash +java.util.Hashtable.NullValue +java.util.TreeMap.serialization +java.util.TimeZone.setDefault +java.util.TimeZone.zdump +java.util.TimeZone.setID +java.util.UUID.TestAll +java.util.Currency.Constructors +java.util.Currency.Germany +java.util.Currency.ReferenceEquality +java.util.Currency.France +java.util.Currency.getInstance +java.util.Currency.Japan +java.util.Currency.UK +java.util.Currency.Korea +java.util.Currency.PRC +java.util.Currency.Canada +java.util.Currency.CanadaFrench +java.util.Currency.China +java.util.Currency.Taiwan +java.util.Currency.Italy +java.util.AbstractCollection.AcuniaAbstractCollectionTest +java.util.AbstractCollection.AcuniaAddCollectionTest +java.util.AbstractCollection.toString +java.util.SimpleTimeZone.clone +java.util.SimpleTimeZone.hasSameRules +java.util.SimpleTimeZone.getRawOffset +java.util.SimpleTimeZone.setRawOffset +java.util.SimpleTimeZone.check14 +java.util.SimpleTimeZone.equals +java.util.SimpleTimeZone.inDaylightTime +java.util.SimpleTimeZone.setStartYear +java.util.SimpleTimeZone.constructors +java.util.SimpleTimeZone.getOffset +java.util.SimpleTimeZone.setDSTSavings +java.util.SimpleTimeZone.hashCode +java.util.SimpleTimeZone.constants +java.util.SimpleTimeZone.getDSTSavings +java.util.AbstractList.AcuniaAbstractListTest +java.util.Collections.nCopies +java.util.Collections.fill +java.util.Collections.max +java.util.Collections.copy +java.util.Collections.rotate +java.util.Collections.unmodifiableList +java.util.Collections.min +java.util.Collections.unmodifiableMap +java.util.Collections.reverse +java.util.Collections.reverseOrder +java.util.Collections.sort +java.util.Collections.binarySearch +java.util.logging.SocketHandler.SocketHandler +java.util.logging.XMLFormatter.getTail +java.util.logging.Handler.isLoggable +java.util.logging.Handler.setEncoding +java.util.logging.Handler.setFilter +java.util.logging.Handler.getErrorManager +java.util.logging.Handler.reportError +java.util.logging.Handler.setLevel +java.util.logging.Handler.setErrorManager +java.util.logging.LogRecord.getThreadID +java.util.logging.LogRecord.setLoggerName +java.util.logging.LogRecord.getMillis +java.util.logging.LogRecord.setThrown +java.util.logging.LogRecord.setThreadID +java.util.logging.LogRecord.setSequenceNumber +java.util.logging.LogRecord.setSourceMethodName +java.util.logging.LogRecord.setResourceBundle +java.util.logging.LogRecord.setMillis +java.util.logging.LogRecord.setMessage +java.util.logging.LogRecord.setParameters +java.util.logging.LogRecord.setSourceClassName +java.util.logging.LogRecord.setLevel +java.util.logging.Level.intValue +java.util.logging.Level.equals +java.util.logging.Level.getName +java.util.logging.Level.parse +java.util.logging.Level.toString +java.util.logging.Level.hashCode +java.util.logging.LogManager.readConfiguration +java.util.logging.LoggingMXBean.Test +java.util.logging.Logger.hierarchyChecks +java.util.logging.Logger.getName +java.util.logging.Logger.getAnonymousLogger +java.util.logging.Logger.securityChecks +java.util.logging.Logger.getParent +java.util.logging.Logger.global +java.util.Iterator.ConcurrentModification +java.util.BitSet.AcuniaBitSetTest +java.util.BitSet.flip +java.util.BitSet.jdk10 +java.util.BitSet.get +java.util.BitSet.clear +java.util.Timer.taskException +java.util.GregorianCalendar.first +java.util.GregorianCalendar.setFirstDayOfWeek +java.util.GregorianCalendar.dayOfWeekInMonth +java.util.GregorianCalendar.setWeekOfMonth +java.util.GregorianCalendar.internal +java.util.GregorianCalendar.equals +java.util.GregorianCalendar.getMinimum +java.util.GregorianCalendar.getMinimalDaysInFirstWeek +java.util.GregorianCalendar.conversion +java.util.GregorianCalendar.weekOfYear +java.util.Random.basic +java.util.AbstractSet.AcuniaAbstractSetTest +java.util.Calendar.TimeZone +java.util.Calendar.ampm +java.util.Calendar.add +java.util.Calendar.minmax +java.util.Calendar.setTime +java.util.Calendar.setTimeZone +java.util.Calendar.getInstance +java.util.Calendar.set +java.util.Calendar.simple +java.util.Calendar.roll +java.util.Calendar.dstOffset +java.util.regex.Matcher.hitEnd +java.util.regex.Pattern.UnicodeSimpleCategory +java.util.regex.Pattern.pcrematches +java.util.regex.Pattern.matches +java.util.regex.PatternSplit +java.util.regex.CharacterClasses +java.util.AbstractSequentialList.AcuniaAbstractSequentialListTest +java.util.LinkedList.subList +java.util.LinkedList.AcuniaLinkedListTest +java.util.LinkedList.SubListTest +java.util.HashMap.AcuniaHashMapTest +java.util.jar.JarInputStream.getNextEntry +java.util.jar.JarFile.TestOfManifest +java.util.jar.JarFile.basic +java.util.Vector.subList +java.util.Vector.copyInto +java.util.Vector.removeAll +java.util.Vector.retainAll +java.util.Vector.VectorSerialization +java.util.zip.ZipEntry.time +java.util.zip.ZipEntry.Size +java.util.zip.ZipEntry.newZipEntry +java.util.zip.ZipEntry.setComment +java.util.zip.ZipInputStream.close +java.util.zip.ZipInputStream.basic +java.util.zip.Deflater.PR27435 +java.util.zip.Adler32.checksum +java.util.zip.GZIPInputStream.PR24461 +java.util.zip.GZIPInputStream.basic +java.util.zip.InflaterInputStream.basic +java.util.zip.ZipFile.DirEntryTest +java.util.zip.ZipFile.NoEntryTest +java.util.zip.ZipFile.newZipFile +java.util.Date.compareTo +java.util.Date.clone +java.util.Date.before +java.util.Date.serialization +java.util.Date.range +java.util.Date.equals +java.util.Date.parse +java.util.Date.after +java.util.Date.getTimezoneOffset +java.util.LinkedHashMap.LinkedHashMapTest +java.util.LinkedHashMap.Regress +java.util.ArrayList.subList +java.util.ArrayList.serial +java.util.ResourceBundle.getBundle +java.util.AbstractMap.AcuniaAbstractMapTest +java.beans.XMLDecoder.jdk14 +java.beans.Expression.check +java.beans.Introspector.getBeanInfo2 +java.beans.Introspector.getBeanInfo4 +java.beans.Introspector.getBeanInfo +java.beans.Introspector.jdk11 +java.beans.Introspector.jdk12 +java.beans.Introspector.getBeanInfo2_2 +java.beans.DesignMode.constants +java.beans.PropertyEditorSupport.setValue +java.beans.PropertyEditorSupport.getSource +java.beans.SimpleBeanInfo.getIcon +java.beans.SimpleBeanInfo.getDefaultPropertyIndex +java.beans.SimpleBeanInfo.getEventSetDescriptors +java.beans.SimpleBeanInfo.getDefaultEventIndex +java.beans.SimpleBeanInfo.getBeanDescriptor +java.beans.SimpleBeanInfo.getAdditionalBeanInfo +java.beans.SimpleBeanInfo.loadImage +java.beans.EventSetDescriptor.constructorTest1 +java.beans.FeatureDescriptor.check +java.beans.beancontext.BeanContextSupport.toArray +java.beans.beancontext.BeanContextSupport.getChildPropertyChangeListener +java.beans.beancontext.BeanContextSupport.serialize +java.beans.beancontext.BeanContextSupport.getChildBeanContextChild +java.beans.beancontext.BeanContextSupport.getChildBeanContextMembershipListener +java.beans.beancontext.BeanContextSupport.setDesignTime +java.beans.beancontext.BeanContextSupport.getChildVisibility +java.beans.beancontext.BeanContextSupport.constructors +java.beans.beancontext.BeanContextSupport.getChildVetoableChangeListener +java.beans.beancontext.BeanContextSupport.getChildSerializable +java.beans.beancontext.BeanContextSupport.getBeanContextPeer +java.beans.beancontext.BeanContextServicesSupport.getChildBeanContextServicesListener +java.beans.beancontext.InstantiateChild +java.beans.beancontext.Remove +java.beans.beancontext.Array +java.beans.beancontext.Add +java.beans.PropertyChangeSupport.firePropertyChange +java.beans.VetoableChangeSupport.addVetoableChangeListener +java.beans.Statement.check +java.beans.Beans.instantiate_1 +java.beans.EventHandler.check +java.beans.EventHandler.check14b +java.beans.PropertyDescriptor.constructorTest2 +java.beans.PropertyDescriptor.constructorTest1 +java.beans.MethodDescriptor.constructorTest1 +java.awt.AWTEvent.constants +java.awt.CardLayout.show +java.awt.CardLayout.first +java.awt.CardLayout.testMaximumLayoutSize +java.awt.CardLayout.testMinimumLayoutSize +java.awt.Graphics.clearRect +java.awt.Polygon.contains +java.awt.Polygon.getPathIterator +java.awt.BasicStroke.equals +java.awt.BasicStroke.constructors +java.awt.BasicStroke.hashCode +java.awt.BasicStroke.constants +java.awt.Graphics2D.setClip +java.awt.Graphics2D.getClip +java.awt.Graphics2D.getClipBounds +java.awt.Graphics2D.setTransform +java.awt.Graphics2D.clip +java.awt.Graphics2D.transform +java.awt.Point.move +java.awt.Point.clone +java.awt.Point.equals +java.awt.Point.constructors +java.awt.Point.setLocation +java.awt.Point.translate +java.awt.Point.getLocation +java.awt.event.ComponentEvent.paramString +java.awt.image.ShortLookupTable.getTable +java.awt.image.ShortLookupTable.lookupPixel +java.awt.image.ShortLookupTable.constructors +java.awt.image.PixelGrabber.SimpleGrabber +java.awt.image.PixelGrabber.testNullProducer +java.awt.image.ConvolveOp.getEdgeCondition +java.awt.image.ConvolveOp.getKernel +java.awt.image.ConvolveOp.filterRaster +java.awt.image.ConvolveOp.getRenderingHints +java.awt.image.ConvolveOp.getPoint2D +java.awt.image.ConvolveOp.createCompatibleDestRaster +java.awt.image.ConvolveOp.constructors +java.awt.image.ConvolveOp.getBounds2D +java.awt.image.ConvolveOp.constants +java.awt.image.IndexColorModel.getGreens +java.awt.image.IndexColorModel.getComponentSize +java.awt.image.IndexColorModel.getTransparentPixel +java.awt.image.IndexColorModel.getColorSpace +java.awt.image.IndexColorModel.getAlphas +java.awt.image.IndexColorModel.getPixelSize +java.awt.image.IndexColorModel.isValid +java.awt.image.IndexColorModel.constructors +java.awt.image.IndexColorModel.getBlues +java.awt.image.IndexColorModel.getReds +java.awt.image.IndexColorModel.getTransparency +java.awt.image.DataBuffer.getDataTypeSize +java.awt.image.DataBuffer.getOffset +java.awt.image.DataBuffer.constants +java.awt.image.DataBuffer.getOffsets +java.awt.image.DataBufferUShort.getData +java.awt.image.DataBufferUShort.getBankData +java.awt.image.DataBufferUShort.setElem +java.awt.image.DataBufferUShort.getElem +java.awt.image.DataBufferUShort.getDataType +java.awt.image.DataBufferUShort.constructors +java.awt.image.ComponentSampleModel.setPixels +java.awt.image.ComponentSampleModel.getPixelStride +java.awt.image.ComponentSampleModel.getDataElements +java.awt.image.ComponentSampleModel.getSample +java.awt.image.ComponentSampleModel.getBandOffsets +java.awt.image.ComponentSampleModel.equals +java.awt.image.ComponentSampleModel.getPixel +java.awt.image.ComponentSampleModel.getNumDataElements +java.awt.image.ComponentSampleModel.getSamples +java.awt.image.ComponentSampleModel.getSampleSize +java.awt.image.ComponentSampleModel.getSampleFloat +java.awt.image.ComponentSampleModel.setDataElements +java.awt.image.ComponentSampleModel.constructors +java.awt.image.ComponentSampleModel.setPixel +java.awt.image.ComponentSampleModel.createDataBuffer +java.awt.image.ComponentSampleModel.getOffset +java.awt.image.ComponentSampleModel.getSampleDouble +java.awt.image.ComponentSampleModel.createCompatibleSampleModel +java.awt.image.ComponentSampleModel.setSamples +java.awt.image.ComponentSampleModel.hashCode +java.awt.image.ComponentSampleModel.getPixels +java.awt.image.ComponentSampleModel.getScanlineStride +java.awt.image.ComponentSampleModel.createSubsetSampleModel +1 problem (1 error)java.awt.image.ColorModel.getComponentSize +java.awt.image.ColorModel.getRGBdefault +java.awt.image.ColorModel.constructors +java.awt.image.LookupTable.constructor +java.awt.image.LookupTable.getNumComponents +java.awt.image.RescaleOp.getScaleFactors +java.awt.image.RescaleOp.getRenderingHints +java.awt.image.RescaleOp.getPoint2D +java.awt.image.RescaleOp.constructors +java.awt.image.RescaleOp.getNumFactors +java.awt.image.RescaleOp.getOffsets +java.awt.image.DirectColorModel.coerceData +java.awt.image.WritableRaster.createChild +java.awt.image.WritableRaster.createWritableChild +java.awt.image.ComponentColorModel.coerceData +java.awt.image.SampleModel.setPixels +java.awt.image.SampleModel.getSample +java.awt.image.SampleModel.getPixel +java.awt.image.SampleModel.getSamples +java.awt.image.SampleModel.getSampleSize +java.awt.image.SampleModel.getSampleFloat +java.awt.image.SampleModel.setPixel +java.awt.image.SampleModel.setSample +java.awt.image.SampleModel.createDataBuffer +java.awt.image.SampleModel.getSampleDouble +java.awt.image.SampleModel.setSamples +java.awt.image.SampleModel.getPixels +java.awt.image.BandCombineOp.getPoint2D +java.awt.image.BandCombineOp.createCompatibleDestRaster +java.awt.image.BandCombineOp.getBounds2D +java.awt.image.BandCombineOp.filter +java.awt.image.LookupOp.constructor +java.awt.image.LookupOp.filterRaster +java.awt.image.LookupOp.getRenderingHints +java.awt.image.LookupOp.getTable +java.awt.image.LookupOp.getPoint2D +java.awt.image.Kernel.getYOrigin +java.awt.image.Kernel.constructor +java.awt.image.Kernel.getXOrigin +java.awt.image.Kernel.getHeight +java.awt.image.Kernel.check +java.awt.image.Kernel.getKernelData +java.awt.image.Kernel.getWidth +java.awt.image.BufferedImage.getSubimage +java.awt.image.BufferedImage.getSetRgb1Pixel +java.awt.image.DataBufferByte.getData +java.awt.image.DataBufferByte.getBankData +java.awt.image.DataBufferByte.setElem +java.awt.image.DataBufferByte.getElem +java.awt.image.DataBufferByte.getDataType +java.awt.image.DataBufferByte.constructors +java.awt.image.DataBufferShort.getData +java.awt.image.DataBufferShort.getBankData +java.awt.image.DataBufferShort.setElem +java.awt.image.DataBufferShort.getElem +java.awt.image.DataBufferShort.getDataType +java.awt.image.DataBufferShort.constructors +java.awt.image.Raster.createChild +java.awt.image.DataBufferInt.getData +java.awt.image.DataBufferInt.getBankData +java.awt.image.DataBufferInt.setElem +java.awt.image.DataBufferInt.getElem +java.awt.image.DataBufferInt.getDataType +java.awt.image.DataBufferInt.constructors +java.awt.image.SinglePixelPackedSampleModel.getBitOffsets +java.awt.image.SinglePixelPackedSampleModel.getDataElements +java.awt.image.SinglePixelPackedSampleModel.getSample +java.awt.image.SinglePixelPackedSampleModel.equals +java.awt.image.SinglePixelPackedSampleModel.getPixel +java.awt.image.SinglePixelPackedSampleModel.getNumDataElements +java.awt.image.SinglePixelPackedSampleModel.getSamples +java.awt.image.SinglePixelPackedSampleModel.getSampleSize +java.awt.image.SinglePixelPackedSampleModel.setDataElements +java.awt.image.SinglePixelPackedSampleModel.constructors +java.awt.image.SinglePixelPackedSampleModel.getBitMasks +java.awt.image.SinglePixelPackedSampleModel.setPixel +java.awt.image.SinglePixelPackedSampleModel.setSample +java.awt.image.SinglePixelPackedSampleModel.createDataBuffer +java.awt.image.SinglePixelPackedSampleModel.getOffset +java.awt.image.SinglePixelPackedSampleModel.createCompatibleSampleModel +java.awt.image.SinglePixelPackedSampleModel.hashCode +java.awt.image.SinglePixelPackedSampleModel.getPixels +java.awt.image.SinglePixelPackedSampleModel.getScanlineStride +java.awt.image.SinglePixelPackedSampleModel.createSubsetSampleModel +java.awt.image.ByteLookupTable.getTable +java.awt.image.ByteLookupTable.lookupPixel +java.awt.image.ByteLookupTable.constructors +java.awt.image.MultiPixelPackedSampleModel.getBitOffset +java.awt.image.MultiPixelPackedSampleModel.getTransferType +java.awt.image.MultiPixelPackedSampleModel.getDataElements +java.awt.image.MultiPixelPackedSampleModel.getSample +java.awt.image.MultiPixelPackedSampleModel.equals +java.awt.image.MultiPixelPackedSampleModel.getPixel +java.awt.image.MultiPixelPackedSampleModel.getSampleSize +java.awt.image.MultiPixelPackedSampleModel.setDataElements +java.awt.image.MultiPixelPackedSampleModel.constructors +java.awt.image.MultiPixelPackedSampleModel.setPixel +java.awt.image.MultiPixelPackedSampleModel.setSample +java.awt.image.MultiPixelPackedSampleModel.createDataBuffer +java.awt.image.MultiPixelPackedSampleModel.getPixelBitStride +java.awt.image.MultiPixelPackedSampleModel.getOffset +java.awt.image.MultiPixelPackedSampleModel.createCompatibleSampleModel +java.awt.image.MultiPixelPackedSampleModel.hashCode +java.awt.image.MultiPixelPackedSampleModel.getScanlineStride +java.awt.image.MultiPixelPackedSampleModel.createSubsetSampleModel +java.awt.image.AffineTransformOp.getPoint2D +java.awt.image.AffineTransformOp.createCompatibleDestRaster +java.awt.image.AffineTransformOp.constructors +java.awt.image.AffineTransformOp.getBounds2D +java.awt.image.PixelInterleavedSampleModel.createSubsetSampleModel +java.awt.image.BandedSampleModel.setPixels +java.awt.image.BandedSampleModel.getDataElements +java.awt.image.BandedSampleModel.getSample +java.awt.image.BandedSampleModel.getPixel +java.awt.image.BandedSampleModel.getSamples +java.awt.image.BandedSampleModel.getSampleFloat +java.awt.image.BandedSampleModel.setDataElements +java.awt.image.BandedSampleModel.constructors +java.awt.image.BandedSampleModel.setPixel +java.awt.image.BandedSampleModel.setSample +java.awt.image.BandedSampleModel.createDataBuffer +java.awt.image.BandedSampleModel.getSampleDouble +java.awt.image.BandedSampleModel.createCompatibleSampleModel +java.awt.image.BandedSampleModel.setSamples +java.awt.image.BandedSampleModel.hashCode +java.awt.image.BandedSampleModel.getPixels +java.awt.image.BandedSampleModel.createSubsetSampleModel +java.awt.image.ColorConvertOp.filterRaster +java.awt.image.ColorConvertOp.getPoint2D +java.awt.image.ColorConvertOp.createCompatibleDestRaster +java.awt.image.ColorConvertOp.constructors +java.awt.image.ColorConvertOp.getBounds2D +java.awt.ScrollPaneAdjustable.paramString +java.awt.GridBagLayout.AdjustForGravity +java.awt.GridBagLayout.toString +java.awt.Dimension.clone +java.awt.Dimension.equals +java.awt.Dimension.setSize +java.awt.Dimension.getSize +java.awt.Dimension.constructors +java.awt.TextField.getPreferredSize +java.awt.TextField.getMinimumSize +java.awt.TextField.constructors +java.awt.BorderLayout.layoutContainer +java.awt.BorderLayout.getHgap +java.awt.BorderLayout.maxLayoutSize +java.awt.BorderLayout.setVgap +java.awt.BorderLayout.getVgap +java.awt.BorderLayout.getLayoutAlignmentY +java.awt.BorderLayout.Test15 +java.awt.BorderLayout.getLayoutAlignmentX +java.awt.BorderLayout.setHgap +java.awt.BorderLayout.constructors +java.awt.BorderLayout.constants +java.awt.BorderLayout.preferredLayoutSize +java.awt.BorderLayout.addLayoutComponent +java.awt.Scrollbar.testSetBlockIncrement +java.awt.Scrollbar.testSetUnitIncrement +java.awt.Scrollbar.testSetValues +java.awt.List.testSelected +java.awt.ScrollPane.add +java.awt.ScrollPane.getScrollPosition +java.awt.ScrollPane.testSetLayout +java.awt.ScrollPane.setScrollPosition +java.awt.ScrollPane.doLayout +java.awt.Choice.getSelected +java.awt.Choice.remove +java.awt.KeyboardFocusManager.getFocusOwner +java.awt.KeyboardFocusManager.getGlobalPermanentFocusOwner +java.awt.KeyboardFocusManager.getGlobalFocusOwner +java.awt.AWTPermission.constructor +java.awt.ColorClass.decode +java.awt.ColorClass.serialization +java.awt.ColorClass.equals +java.awt.ColorClass.getGreen +java.awt.ColorClass.constructors +java.awt.ColorClass.brighter +java.awt.ColorClass.hashCode +java.awt.ColorClass.constants +java.awt.ColorClass.getBlue +java.awt.ColorClass.getRed +java.awt.RenderingHints.Key.isCompatibleValue +java.awt.RenderingHints.clone +java.awt.RenderingHints.keySet +java.awt.RenderingHints.put +java.awt.RenderingHints.add +java.awt.RenderingHints.putAll +java.awt.RenderingHints.entrySet +java.awt.RenderingHints.equals +java.awt.RenderingHints.size +java.awt.RenderingHints.get +java.awt.RenderingHints.values +java.awt.RenderingHints.containsValue +java.awt.RenderingHints.isEmpty +java.awt.RenderingHints.remove +java.awt.RenderingHints.clear +java.awt.Panel.TestPanelRepaint +java.awt.AWTKeyStroke.serialization +java.awt.AWTKeyStroke.equals +java.awt.AWTKeyStroke.getAWTKeyStroke +java.awt.Rectangle.clone +java.awt.Rectangle.add +java.awt.Rectangle.setRect +java.awt.Rectangle.setBounds +java.awt.Rectangle.equals +java.awt.Rectangle.intersects +java.awt.Rectangle.setSize +java.awt.Rectangle.grow +java.awt.Rectangle.outcode +java.awt.Rectangle.union +java.awt.Rectangle.constructors +java.awt.Rectangle.intersection +java.awt.Rectangle.setLocation +java.awt.Rectangle.translate +java.awt.Rectangle.contains +java.awt.Rectangle.isEmpty +java.awt.Menu.insert +java.awt.AlphaComposite.getInstance +java.awt.AlphaComposite.equals +java.awt.AlphaComposite.getInstance14 +java.awt.AlphaComposite.getRule +java.awt.Window.security +java.awt.Window.focusCycleRootTest +java.awt.EventClass.constants +java.awt.Frame.isDisplayable1 +java.awt.Frame.isDisplayable5 +java.awt.Frame.isDisplayable4 +java.awt.Frame.isDisplayable3 +java.awt.Frame.isDisplayable6 +java.awt.Frame.menubar +java.awt.Frame.isDisplayable2 +java.awt.Frame.isDisplayable7 +java.awt.Container.getListeners +java.awt.Container.setLayout +java.awt.Container.getPreferredSize +java.awt.Container.applyComponentOrientation +java.awt.Container.getComponentAt +java.awt.Container.getAlignmentY +java.awt.Container.getAlignmentX +java.awt.Container.addImpl +java.awt.FontClass.serialization +java.awt.MenuItem.label1 +java.awt.font.TextHitInfo.isLeadingEdge +java.awt.font.TextHitInfo.getOtherHit +java.awt.font.TextHitInfo.leading +java.awt.font.TextHitInfo.getOffsetHit +java.awt.font.TextHitInfo.equals +java.awt.font.TextHitInfo.getCharIndex +java.awt.font.TextHitInfo.afterOffset +java.awt.font.TextHitInfo.getInsertionIndex +java.awt.font.TextHitInfo.toString +java.awt.font.TextHitInfo.beforeOffset +java.awt.font.TextHitInfo.hashCode +java.awt.font.TextHitInfo.trailing +java.awt.font.TransformAttribute.serialization +java.awt.font.TransformAttribute.getTransform +java.awt.font.TransformAttribute.isIdentity +java.awt.font.ShapeGraphicAttribute.ShapeGraphicAttributeTest +java.awt.font.ImageGraphicAttribute.ImageGraphicAttributeTest +java.awt.font.TextAttribute.toString13 +java.awt.font.TextAttribute.serialization +java.awt.font.TextAttribute.toString +java.awt.font.TextAttribute.constants13 +java.awt.font.TextAttribute.constants +java.awt.GradientPaint.getPoint2 +java.awt.GradientPaint.equals +java.awt.GradientPaint.getColor1 +java.awt.GradientPaint.constructors +java.awt.GradientPaint.getColor2 +java.awt.GradientPaint.isCyclic +java.awt.GradientPaint.getTransparency +java.awt.GradientPaint.getPoint1 +java.awt.TextComponent.setSelectionStart +java.awt.Component.repaint +java.awt.Component.getListeners +java.awt.Component.setName +java.awt.Component.properties14 +java.awt.Component.getMaximumSize +java.awt.Component.setMinimumSize +java.awt.Component.getForeground +java.awt.Component.setPreferredSize +java.awt.Component.properties +java.awt.Component.requestFocus +java.awt.Component.isValid +java.awt.Component.getFont +java.awt.Component.setMaximumSize +java.awt.Component.setComponentOrientation +java.awt.datatransfer.DataFlavor.writeExternal +java.awt.datatransfer.StringSelection.selection +java.awt.TextArea.getPreferredSize +java.awt.TextArea.getMinimumSize +java.awt.TextArea.testReplaceText +java.awt.TextArea.constructors +java.awt.TextArea.testAppendText +java.awt.TextArea.testInsertText +java.awt.TextArea.testInvalidConstructorValues +java.awt.color.ColorSpace.isCS_sRGB +java.awt.color.ColorSpace.getInstance +java.awt.FlowLayout.minimumLayoutSize +java.awt.geom.Ellipse2D.Double.clone +java.awt.geom.Ellipse2D.Double.getY +java.awt.geom.Ellipse2D.Double.setFrame +java.awt.geom.Ellipse2D.Double.getHeight +java.awt.geom.Ellipse2D.Double.getX +java.awt.geom.Ellipse2D.Double.constructors +java.awt.geom.Ellipse2D.Double.getBounds2D +java.awt.geom.Ellipse2D.Double.isEmpty +java.awt.geom.Ellipse2D.Double.getWidth +java.awt.geom.Ellipse2D.Float.clone +java.awt.geom.Ellipse2D.Float.getY +java.awt.geom.Ellipse2D.Float.setFrame +java.awt.geom.Ellipse2D.Float.getHeight +java.awt.geom.Ellipse2D.Float.getX +java.awt.geom.Ellipse2D.Float.constructors +java.awt.geom.Ellipse2D.Float.getBounds2D +java.awt.geom.Ellipse2D.Float.isEmpty +java.awt.geom.Ellipse2D.Float.getWidth +java.awt.geom.Ellipse2D.intersects +java.awt.geom.Ellipse2D.contains +java.awt.geom.GeneralPath.getCurrentPoint +java.awt.geom.GeneralPath.GeneralPath +java.awt.geom.GeneralPath.append_PathIterator +java.awt.geom.GeneralPath.contains +java.awt.geom.GeneralPath.getPathIterator +java.awt.geom.RectangularShape.getFrame +java.awt.geom.RectangularShape.setFrame +java.awt.geom.RectangularShape.getMinY +java.awt.geom.RectangularShape.intersects +java.awt.geom.RectangularShape.getMaxY +java.awt.geom.RectangularShape.getMaxX +java.awt.geom.RectangularShape.setFrameFromCenter +java.awt.geom.RectangularShape.setFrameFromDiagonal +java.awt.geom.RectangularShape.getMinX +java.awt.geom.RectangularShape.getCenterX +java.awt.geom.RectangularShape.getCenterY +java.awt.geom.RectangularShape.contains +java.awt.geom.RectangularShape.isEmpty +java.awt.geom.RectangularShape.getBounds +java.awt.geom.Line2D.clone +java.awt.geom.Line2D.getP1 +java.awt.geom.Line2D.linesIntersect +java.awt.geom.Line2D.ptSegDistSq +java.awt.geom.Line2D.relativeCCW +java.awt.geom.Line2D.getP2 +java.awt.geom.Line2D.setLine +java.awt.geom.Line2D.equals +java.awt.geom.Line2D.intersects +java.awt.geom.Line2D.ptLineDistSq +java.awt.geom.Line2D.ptSegDist +java.awt.geom.Line2D.intersectsLine +java.awt.geom.Line2D.contains +java.awt.geom.Line2D.ptLineDist +java.awt.geom.Line2D.getPathIterator +java.awt.geom.Line2D.getBounds +java.awt.geom.Area.clone +java.awt.geom.Area.add +java.awt.geom.Area.isRectangular +java.awt.geom.Area.createTransformedArea +java.awt.geom.Area.isPolygonal +java.awt.geom.Area.intersect +java.awt.geom.Area.equals +java.awt.geom.Area.exclusiveOr +java.awt.geom.Area.intersects +java.awt.geom.Area.reset +java.awt.geom.Area.isSingular +java.awt.geom.Area.constructors +java.awt.geom.Area.getBounds2D +java.awt.geom.Area.contains +java.awt.geom.Area.subtract +java.awt.geom.Area.isEmpty +java.awt.geom.Area.transform +java.awt.geom.Area.getBounds +java.awt.geom.Rectangle2D.Double.clone +java.awt.geom.Rectangle2D.Double.createIntersection +java.awt.geom.Rectangle2D.Double.setRect +java.awt.geom.Rectangle2D.Double.outcode +java.awt.geom.Rectangle2D.Double.createUnion +java.awt.geom.Rectangle2D.Double.isEmpty +java.awt.geom.Rectangle2D.Float.clone +java.awt.geom.Rectangle2D.Float.createIntersection +java.awt.geom.Rectangle2D.Float.setRect +java.awt.geom.Rectangle2D.Float.outcode +java.awt.geom.Rectangle2D.Float.createUnion +java.awt.geom.Rectangle2D.Float.isEmpty +java.awt.geom.Rectangle2D.add +java.awt.geom.Rectangle2D.setFrame +java.awt.geom.Rectangle2D.intersect +java.awt.geom.Rectangle2D.equals +java.awt.geom.Rectangle2D.intersects +java.awt.geom.Rectangle2D.union +java.awt.geom.Rectangle2D.intersectsLine +java.awt.geom.Rectangle2D.getBounds2D +java.awt.geom.Rectangle2D.contains +java.awt.geom.Rectangle2D.constants +java.awt.geom.Rectangle2D.getPathIterator +java.awt.geom.Rectangle2D.getBounds +java.awt.geom.Arc2D.Double.clone +java.awt.geom.Arc2D.Float.clone +java.awt.geom.Arc2D.setFrame +java.awt.geom.Arc2D.setAngleStart +java.awt.geom.Arc2D.setArc +java.awt.geom.Arc2D.setArcByTangent +java.awt.geom.Arc2D.containsAngle +java.awt.geom.Arc2D.setArcByCenter +java.awt.geom.Arc2D.intersects +java.awt.geom.Arc2D.getEndPoint +java.awt.geom.Arc2D.setAngleExtent +java.awt.geom.Arc2D.constructors +java.awt.geom.Arc2D.getBounds2D +java.awt.geom.Arc2D.contains +java.awt.geom.Arc2D.getStartPoint +java.awt.geom.Arc2D.constants +java.awt.geom.Arc2D.isEmpty +java.awt.geom.Arc2D.getPathIterator +java.awt.geom.Arc2D.setAngles +java.awt.geom.Arc2D.setArcType +java.awt.geom.QuadCurve2D.Double.getP1 +java.awt.geom.QuadCurve2D.Double.getP2 +java.awt.geom.QuadCurve2D.Double.getCtrlPt +java.awt.geom.QuadCurve2D.Double.getBounds2D +java.awt.geom.QuadCurve2D.Double.Double +java.awt.geom.QuadCurve2D.Double.setCurve +java.awt.geom.QuadCurve2D.Float.getP1 +java.awt.geom.QuadCurve2D.Float.Float +java.awt.geom.QuadCurve2D.Float.getP2 +java.awt.geom.QuadCurve2D.Float.getCtrlPt +java.awt.geom.QuadCurve2D.Float.getBounds2D +java.awt.geom.QuadCurve2D.Float.setCurve +java.awt.geom.QuadCurve2D.clone +java.awt.geom.QuadCurve2D.getFlatness +java.awt.geom.QuadCurve2D.subdivide +java.awt.geom.QuadCurve2D.getFlatnessSq +java.awt.geom.QuadCurve2D.setCurve +java.awt.geom.QuadCurve2D.getPathIterator +java.awt.geom.CubicCurve2D.Double.getP1 +java.awt.geom.CubicCurve2D.Double.getCtrlP2 +java.awt.geom.CubicCurve2D.Double.getP2 +java.awt.geom.CubicCurve2D.Double.getBounds2D +java.awt.geom.CubicCurve2D.Double.Double +java.awt.geom.CubicCurve2D.Double.setCurve +java.awt.geom.CubicCurve2D.Double.getCtrlP1 +java.awt.geom.CubicCurve2D.Float.getP1 +java.awt.geom.CubicCurve2D.Float.getCtrlP2 +java.awt.geom.CubicCurve2D.Float.Float +java.awt.geom.CubicCurve2D.Float.getP2 +java.awt.geom.CubicCurve2D.Float.getBounds2D +java.awt.geom.CubicCurve2D.Float.setCurve +java.awt.geom.CubicCurve2D.Float.getCtrlP1 +java.awt.geom.CubicCurve2D.clone +java.awt.geom.CubicCurve2D.getFlatness +java.awt.geom.CubicCurve2D.subdivide +java.awt.geom.CubicCurve2D.getFlatnessSq +java.awt.geom.CubicCurve2D.setCurve +java.awt.geom.CubicCurve2D.getPathIterator +java.awt.geom.FlatteningPathIterator.FlatteningPathIterator +java.awt.geom.FlatteningPathIterator.getWindingRule +java.awt.geom.FlatteningPathIterator.getFlatness +java.awt.geom.FlatteningPathIterator.getRecursionLimit +java.awt.geom.FlatteningPathIterator.currentSegment +java.awt.geom.AffineTransform.clone +java.awt.geom.AffineTransform.preConcatenate +java.awt.geom.AffineTransform.getRotateInstance +java.awt.geom.AffineTransform.getMatrix +java.awt.geom.AffineTransform.inverseTransform +java.awt.geom.AffineTransform.getScaleInstance +java.awt.geom.AffineTransform.createInverse +java.awt.geom.AffineTransform.deltaTransform +java.awt.geom.AffineTransform.equals +java.awt.geom.AffineTransform.setTransform +java.awt.geom.AffineTransform.constructors +java.awt.geom.AffineTransform.getTranslateInstance +java.awt.geom.AffineTransform.constants +java.awt.geom.AffineTransform.concatenate +java.awt.geom.AffineTransform.getShearInstance +java.awt.geom.AffineTransform.transform +java.awt.geom.AffineTransform.getDeterminant +java.awt.geom.AffineTransform.isIdentity +java.awt.geom.RoundRectangle2D.intersects +java.awt.geom.RoundRectangle2D.contains +java.awt.testName +java.nio.Buffer.IntBufferTest +java.nio.Buffer.ShortBufferTest +java.nio.Buffer.FloatBufferTest +java.nio.Buffer.LongBufferTest +java.nio.Buffer.ByteBufferTest +java.nio.Buffer.DoubleBufferTest +java.nio.Buffer.CharBufferTest +java.nio.LongBuffer.compact +java.nio.ShortBuffer.compact +java.nio.IntBuffer.compareTo +java.nio.IntBuffer.compact +java.nio.channels.Channels.ChannelsTest +java.nio.channels.Selector.testEmptySelect +java.nio.channels.FileChannel.copyIO +java.nio.channels.FileChannel.multibufferIO +java.nio.channels.FileChannel.truncate +java.nio.channels.FileChannel.map +java.nio.channels.FileChannel.offsetSingleBuffer +java.nio.channels.FileChannel.singlebufferIO +java.nio.channels.FileChannel.multidirectbufferIO +java.nio.channels.FileChannel.offsetSingleDirectBuffer +java.nio.DoubleBuffer.compareTo +java.nio.DoubleBuffer.compact +java.nio.ByteBuffer.direct +java.nio.ByteBuffer.compact +java.nio.ByteBuffer.TestAllocateDirect +java.nio.ByteBuffer.GetPut +java.nio.ByteBuffer.putDouble +java.nio.ByteBuffer.Order +java.nio.ByteBuffer.Allocating +java.nio.CharBuffer.compact +java.nio.FloatBuffer.compareTo +java.nio.FloatBuffer.compact +java.nio.charset.Charset.UTF8Charset +java.nio.charset.Charset.utf16 +java.nio.charset.Charset.canEncode +java.nio.charset.Charset.forName --- openjdk-9-9~b94.orig/debian/nss.cfg +++ openjdk-9-9~b94/debian/nss.cfg @@ -0,0 +1,4 @@ +name = NSS +nssDbMode = noDb +attributes = compatibility +handleStartupErrors = ignoreMultipleInitialisation --- openjdk-9-9~b94.orig/debian/patches/8073754-stack-overflow-9-build.diff +++ openjdk-9-9~b94/debian/patches/8073754-stack-overflow-9-build.diff @@ -0,0 +1,47 @@ +Index: b/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ++++ b/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp +@@ -32,11 +32,26 @@ + // + + define_pd_global(bool, DontYieldALot, false); ++#if defined(PPC64) || defined(PPC32) ++// This needs to be >= 2240 as this is the minimal allowable stack ++// for PPC/PPC64. We need such a large value in order to properly ++// bootcycle-build on those platforms. ++define_pd_global(intx, ThreadStackSize, 2240); ++#else + define_pd_global(intx, ThreadStackSize, 1536); ++#endif + #ifdef _LP64 ++#ifdef PPC64 ++define_pd_global(intx, VMThreadStackSize, 1600); ++#else ++define_pd_global(intx, VMThreadStackSize, 1024); ++#endif // PPC64 ++#else ++#ifdef PPC32 + define_pd_global(intx, VMThreadStackSize, 1024); + #else + define_pd_global(intx, VMThreadStackSize, 512); ++#endif // PPC32 + #endif // _LP64 + define_pd_global(intx, CompilerThreadStackSize, 0); + define_pd_global(size_t, JVMInvokeMethodSlack, 8192); +Index: b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp ++++ b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +@@ -304,7 +304,11 @@ bool os::is_allocatable(size_t bytes) { + /////////////////////////////////////////////////////////////////////////////// + // thread stack + ++#if defined(PPC64) || defined(PPC32) ++size_t os::Linux::min_stack_allowed = 2240 * K; ++#else + size_t os::Linux::min_stack_allowed = 64 * K; ++#endif + + size_t os::Linux::default_stack_size(os::ThreadType thr_type) { + #ifdef _LP64 --- openjdk-9-9~b94.orig/debian/patches/8133935.diff +++ openjdk-9-9~b94/debian/patches/8133935.diff @@ -0,0 +1,22 @@ +# HG changeset patch +# User enevill +# Date 1439985542 0 +# Wed Aug 19 11:59:02 2015 +0000 +# Node ID 55f75b89111bcfc8b71f6705004302001984eeab +# Parent e6db7b7e5d281f0ada903ef0c941daad79d31608 +8133935: aarch64: fails to build from source +Summary: add inlucde of oops/oop.inline.hpp to fix build +Reviewed-by: duke + +Index: b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp +=================================================================== +--- a/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ++++ b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp +@@ -41,6 +41,7 @@ + #include "runtime/icache.hpp" + #include "runtime/interfaceSupport.hpp" + #include "runtime/sharedRuntime.hpp" ++#include "oops/oop.inline.hpp" + + #if INCLUDE_ALL_GCS + #include "gc/g1/g1CollectedHeap.inline.hpp" --- openjdk-9-9~b94.orig/debian/patches/accessible-toolkit.patch +++ openjdk-9-9~b94/debian/patches/accessible-toolkit.patch @@ -0,0 +1,15 @@ +--- a/jdk/src/share/classes/java/awt/Toolkit.java ++++ b/jdk/src/share/classes/java/awt/Toolkit.java +@@ -894,7 +894,11 @@ + return null; + } + }); +- loadAssistiveTechnologies(); ++ try { ++ loadAssistiveTechnologies(); ++ } catch ( AWTError error) { ++ // ignore silently ++ } + } finally { + // Make sure to always re-enable the JIT. + java.lang.Compiler.enable(); --- openjdk-9-9~b94.orig/debian/patches/adlc-parser.patch +++ openjdk-9-9~b94/debian/patches/adlc-parser.patch @@ -0,0 +1,13 @@ +# DP: fixes an uninitialized memory issue in adlc +Index: b/hotspot/src/share/vm/adlc/formsopt.cpp +=================================================================== +--- a/hotspot/src/share/vm/adlc/formsopt.cpp ++++ b/hotspot/src/share/vm/adlc/formsopt.cpp +@@ -439,6 +439,7 @@ FrameForm::FrameForm() { + _return_value = NULL; + _c_return_value = NULL; + _interpreter_frame_pointer_reg = NULL; ++ _cisc_spilling_operand_name = NULL; + } + + FrameForm::~FrameForm() { --- openjdk-9-9~b94.orig/debian/patches/alpha-float-const.diff +++ openjdk-9-9~b94/debian/patches/alpha-float-const.diff @@ -0,0 +1,13 @@ +--- src/jdk/src/java.base/share/classes/java/lang/Float.java ++++ src/jdk/jdk/src/java.base/share/classes/java/lang/Float.java +@@ -85,7 +85,9 @@ + * + * @since 1.6 + */ +- public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f ++ // FIXME: still required on alpha? ++ // public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f ++ public static final float MIN_NORMAL = Float.intBitsToFloat(0x00800000); + + /** + * A constant holding the smallest positive nonzero value of type --- openjdk-9-9~b94.orig/debian/patches/applet-hole.patch +++ openjdk-9-9~b94/debian/patches/applet-hole.patch @@ -0,0 +1,100 @@ +Index: b/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java +=================================================================== +--- a/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java ++++ b/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java +@@ -63,7 +63,7 @@ abstract class AppletPanel extends Panel + /** + * The applet (if loaded). + */ +- Applet applet; ++ protected Applet applet; + + + /** +@@ -151,7 +151,8 @@ abstract class AppletPanel extends Panel + * Creates a thread to run the applet. This method is called + * each time an applet is loaded and reloaded. + */ +- synchronized void createAppletThread() { ++ //Overridden by NetxPanel. ++ protected synchronized void createAppletThread() { + // Create a thread group for the applet, and start a new + // thread to load the applet. + String nm = "applet-" + getCode(); +@@ -299,7 +300,7 @@ abstract class AppletPanel extends Panel + /** + * Get an event from the queue. + */ +- synchronized AppletEvent getNextEvent() throws InterruptedException { ++ protected synchronized AppletEvent getNextEvent() throws InterruptedException { + while (queue == null || queue.isEmpty()) { + wait(); + } +@@ -693,7 +694,7 @@ abstract class AppletPanel extends Panel + * things like HotJava. + */ + @SuppressWarnings("deprecation") +- private void runLoader() { ++ protected void runLoader() { + if (status != APPLET_DISPOSE) { + showAppletStatus("notdisposed"); + return; +Index: b/jdk/src/java.desktop/share/classes/sun/applet/AppletViewerPanel.java +=================================================================== +--- a/jdk/src/java.desktop/share/classes/sun/applet/AppletViewerPanel.java ++++ b/jdk/src/java.desktop/share/classes/sun/applet/AppletViewerPanel.java +@@ -41,25 +41,25 @@ import java.applet.*; + * + * @author Arthur van Hoff + */ +-class AppletViewerPanel extends AppletPanel { ++public class AppletViewerPanel extends AppletPanel { + + /* Are we debugging? */ +- static boolean debug = false; ++ protected static boolean debug = false; + + /** + * The document url. + */ +- URL documentURL; ++ protected URL documentURL; + + /** + * The base url. + */ +- URL baseURL; ++ protected URL baseURL; + + /** + * The attributes of the applet. + */ +- Hashtable atts; ++ protected Hashtable atts; + + /* + * JDK 1.1 serialVersionUID +@@ -69,7 +69,7 @@ class AppletViewerPanel extends AppletPa + /** + * Construct an applet viewer and start the applet. + */ +- AppletViewerPanel(URL documentURL, Hashtable atts) { ++ protected AppletViewerPanel(URL documentURL, Hashtable atts) { + this.documentURL = documentURL; + this.atts = atts; + +@@ -201,12 +201,12 @@ class AppletViewerPanel extends AppletPa + return (AppletContext)getParent(); + } + +- static void debug(String s) { ++ protected static void debug(String s) { + if(debug) + System.err.println("AppletViewerPanel:::" + s); + } + +- static void debug(String s, Throwable t) { ++ protected static void debug(String s, Throwable t) { + if(debug) { + t.printStackTrace(); + debug(s); --- openjdk-9-9~b94.orig/debian/patches/atk-wrapper-security.patch +++ openjdk-9-9~b94/debian/patches/atk-wrapper-security.patch @@ -0,0 +1,12 @@ +Index: b/jdk/src/java.base/share/conf/security/java.security +=================================================================== +--- a/jdk/src/java.base/share/conf/security/java.security ++++ b/jdk/src/java.base/share/conf/security/java.security +@@ -235,6 +235,7 @@ keystore.type.compat=true + # corresponding RuntimePermission ("accessClassInPackage."+package) has + # been granted. + package.access=sun.,\ ++ org.GNOME.Accessibility.,\ + com.sun.xml.internal.,\ + com.sun.imageio.,\ + com.sun.istack.internal.,\ --- openjdk-9-9~b94.orig/debian/patches/autoconf-select.diff +++ openjdk-9-9~b94/debian/patches/autoconf-select.diff @@ -0,0 +1,14 @@ +Index: b/common/autoconf/autogen.sh +=================================================================== +--- a/common/autoconf/autogen.sh ++++ b/common/autoconf/autogen.sh +@@ -61,7 +61,9 @@ fi + + custom_hook=$custom_script_dir/custom-hook.m4 + ++if test "x${AUTOCONF}" = x; then + AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`" ++fi + + if test "x${AUTOCONF}" = x; then + echo "You need autoconf installed to be able to regenerate the configure script" --- openjdk-9-9~b94.orig/debian/patches/autoconf-updates.diff +++ openjdk-9-9~b94/debian/patches/autoconf-updates.diff @@ -0,0 +1,2267 @@ +Index: b/common/autoconf/build-aux/config.guess +=================================================================== +--- a/common/autoconf/build-aux/config.guess ++++ b/common/autoconf/build-aux/config.guess +@@ -1,89 +1,1420 @@ +-#!/bin/sh ++#! /bin/sh ++# Attempt to guess a canonical system name. ++# Copyright 1992-2014 Free Software Foundation, Inc. ++ ++timestamp='2014-03-23' ++ ++# This file is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. + # +-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. + # +-# This code is free software; you can redistribute it and/or modify it +-# under the terms of the GNU General Public License version 2 only, as +-# published by the Free Software Foundation. +-# +-# This code is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-# version 2 for more details (a copy is included in the LICENSE file that +-# accompanied this code). +-# +-# You should have received a copy of the GNU General Public License version +-# 2 along with this work; if not, write to the Free Software Foundation, +-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +-# +-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +-# or visit www.oracle.com if you need additional information or have any +-# questions. +-# +- +-# This is a wrapper for the config.guess from autoconf. The latter does not +-# properly detect 64 bit systems on all platforms. Instead of patching the +-# autoconf system (which might easily get lost in a future update), we wrap it +-# and fix the broken property, if needed. +- +-DIR=`dirname $0` +-OUT=`. $DIR/autoconf-config.guess` +- +-# Test and fix solaris on x86_64 +-echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null +-if test $? = 0; then +- # isainfo -n returns either i386 or amd64 +- REAL_CPU=`isainfo -n` +- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'` +-fi ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, see . ++# ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that ++# program. This Exception is an additional permission under section 7 ++# of the GNU General Public License, version 3 ("GPLv3"). ++# ++# Originally written by Per Bothner. ++# ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD ++# ++# Please send patches with a ChangeLog entry to config-patches@gnu.org. + +-# Test and fix solaris on sparcv9 +-echo $OUT | grep sparc-sun-solaris > /dev/null 2> /dev/null +-if test $? = 0; then +- # isainfo -n returns either sparc or sparcv9 +- REAL_CPU=`isainfo -n` +- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'` +-fi + +-# Test and fix cygwin on x86_64 +-echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null +-if test $? != 0; then +- echo $OUT | grep 86-pc-mingw > /dev/null 2> /dev/null +-fi +-if test $? = 0; then +- case `echo $PROCESSOR_IDENTIFIER | cut -f1 -d' '` in +- intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64) +- REAL_CPU=x86_64 +- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'` +- ;; ++me=`echo "$0" | sed -e 's,.*/,,'` ++ ++usage="\ ++Usage: $0 [OPTION] ++ ++Output the configuration name of the system \`$me' is run on. ++ ++Operation modes: ++ -h, --help print this help, then exit ++ -t, --time-stamp print date of last modification, then exit ++ -v, --version print version number, then exit ++ ++Report bugs and patches to ." ++ ++version="\ ++GNU config.guess ($timestamp) ++ ++Originally written by Per Bothner. ++Copyright 1992-2014 Free Software Foundation, Inc. ++ ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." ++ ++help=" ++Try \`$me --help' for more information." ++ ++# Parse command line ++while test $# -gt 0 ; do ++ case $1 in ++ --time-stamp | --time* | -t ) ++ echo "$timestamp" ; exit ;; ++ --version | -v ) ++ echo "$version" ; exit ;; ++ --help | --h* | -h ) ++ echo "$usage"; exit ;; ++ -- ) # Stop option processing ++ shift; break ;; ++ - ) # Use stdin as input. ++ break ;; ++ -* ) ++ echo "$me: invalid option $1$help" >&2 ++ exit 1 ;; ++ * ) ++ break ;; + esac +-fi ++done + +-# Test and fix architecture string on AIX +-# On AIX 'config.guess' returns 'powerpc' as architecture but 'powerpc' is +-# implicitely handled as 32-bit architecture in 'platform.m4' so we check +-# for the kernel mode rewrite it to 'powerpc64' if we'Re running in 64-bit mode. +-# The check could also be done with `/usr/sbin/prtconf | grep "Kernel Type" | grep "64-bit"` +-echo $OUT | grep powerpc-ibm-aix > /dev/null 2> /dev/null +-if test $? = 0; then +- if [ -x /bin/getconf ] ; then +- KERNEL_BITMODE=`getconf KERNEL_BITMODE` +- if [ "$KERNEL_BITMODE" = "32" ]; then +- KERNEL_BITMODE="" +- fi +- fi +- OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'` ++if test $# != 0; then ++ echo "$me: too many arguments$help" >&2 ++ exit 1 + fi + +-# Test and fix little endian PowerPC64. +-# TODO: should be handled by autoconf-config.guess. +-if [ "x$OUT" = x ]; then +- if [ `uname -m` = ppc64le ]; then +- if [ `uname -s` = Linux ]; then +- OUT=powerpc64le-unknown-linux-gnu +- fi +- fi ++trap 'exit 1' 1 2 15 ++ ++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a ++# compiler to aid in system detection is discouraged as it requires ++# temporary files to be created and, as you can see below, it is a ++# headache to deal with in a portable fashion. ++ ++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still ++# use `HOST_CC' if defined, but it is deprecated. ++ ++# Portable tmp directory creation inspired by the Autoconf team. ++ ++set_cc_for_build=' ++trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; ++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; ++: ${TMPDIR=/tmp} ; ++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || ++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || ++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || ++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; ++dummy=$tmp/dummy ; ++tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; ++case $CC_FOR_BUILD,$HOST_CC,$CC in ++ ,,) echo "int x;" > $dummy.c ; ++ for c in cc gcc c89 c99 ; do ++ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then ++ CC_FOR_BUILD="$c"; break ; ++ fi ; ++ done ; ++ if test x"$CC_FOR_BUILD" = x ; then ++ CC_FOR_BUILD=no_compiler_found ; ++ fi ++ ;; ++ ,,*) CC_FOR_BUILD=$CC ;; ++ ,*,*) CC_FOR_BUILD=$HOST_CC ;; ++esac ; set_cc_for_build= ;' ++ ++# This is needed to find uname on a Pyramid OSx when run in the BSD universe. ++# (ghazi@noc.rutgers.edu 1994-08-24) ++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then ++ PATH=$PATH:/.attbin ; export PATH + fi + +-echo $OUT ++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown ++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown ++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown ++ ++case "${UNAME_SYSTEM}" in ++Linux|GNU|GNU/*) ++ # If the system lacks a compiler, then just pick glibc. ++ # We could probably try harder. ++ LIBC=gnu ++ ++ eval $set_cc_for_build ++ cat <<-EOF > $dummy.c ++ #include ++ #if defined(__UCLIBC__) ++ LIBC=uclibc ++ #elif defined(__dietlibc__) ++ LIBC=dietlibc ++ #else ++ LIBC=gnu ++ #endif ++ EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ++ ;; ++esac ++ ++# Note: order is significant - the case branches are not exclusive. ++ ++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ++ *:NetBSD:*:*) ++ # NetBSD (nbsd) targets should (where applicable) match one or ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently ++ # switched to ELF, *-*-netbsd* would select the old ++ # object file format. This provides both forward ++ # compatibility and a consistent mechanism for selecting the ++ # object file format. ++ # ++ # Note: NetBSD doesn't particularly care about the vendor ++ # portion of the name. We always set it to "unknown". ++ sysctl="sysctl -n hw.machine_arch" ++ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ ++ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` ++ case "${UNAME_MACHINE_ARCH}" in ++ armeb) machine=armeb-unknown ;; ++ arm*) machine=arm-unknown ;; ++ sh3el) machine=shl-unknown ;; ++ sh3eb) machine=sh-unknown ;; ++ sh5el) machine=sh5le-unknown ;; ++ *) machine=${UNAME_MACHINE_ARCH}-unknown ;; ++ esac ++ # The Operating System including object format, if it has switched ++ # to ELF recently, or will in the future. ++ case "${UNAME_MACHINE_ARCH}" in ++ arm*|i386|m68k|ns32k|sh3*|sparc|vax) ++ eval $set_cc_for_build ++ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ELF__ ++ then ++ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). ++ # Return netbsd for either. FIX? ++ os=netbsd ++ else ++ os=netbsdelf ++ fi ++ ;; ++ *) ++ os=netbsd ++ ;; ++ esac ++ # The OS release ++ # Debian GNU/NetBSD machines have a different userland, and ++ # thus, need a distinct triplet. However, they do not need ++ # kernel version information, so it can be replaced with a ++ # suitable tag, in the style of linux-gnu. ++ case "${UNAME_VERSION}" in ++ Debian*) ++ release='-gnu' ++ ;; ++ *) ++ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ++ ;; ++ esac ++ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: ++ # contains redundant information, the shorter form: ++ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. ++ echo "${machine}-${os}${release}" ++ exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; ++ *:OpenBSD:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} ++ exit ;; ++ *:ekkoBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} ++ exit ;; ++ *:SolidBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} ++ exit ;; ++ macppc:MirBSD:*:*) ++ echo powerpc-unknown-mirbsd${UNAME_RELEASE} ++ exit ;; ++ *:MirBSD:*:*) ++ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} ++ exit ;; ++ alpha:OSF1:*:*) ++ case $UNAME_RELEASE in ++ *4.0) ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ++ ;; ++ *5.*) ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ++ ;; ++ esac ++ # According to Compaq, /usr/sbin/psrinfo has been available on ++ # OSF/1 and Tru64 systems produced since 1995. I hope that ++ # covers most systems running today. This code pipes the CPU ++ # types through head -n 1, so we only detect the type of CPU 0. ++ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` ++ case "$ALPHA_CPU_TYPE" in ++ "EV4 (21064)") ++ UNAME_MACHINE="alpha" ;; ++ "EV4.5 (21064)") ++ UNAME_MACHINE="alpha" ;; ++ "LCA4 (21066/21068)") ++ UNAME_MACHINE="alpha" ;; ++ "EV5 (21164)") ++ UNAME_MACHINE="alphaev5" ;; ++ "EV5.6 (21164A)") ++ UNAME_MACHINE="alphaev56" ;; ++ "EV5.6 (21164PC)") ++ UNAME_MACHINE="alphapca56" ;; ++ "EV5.7 (21164PC)") ++ UNAME_MACHINE="alphapca57" ;; ++ "EV6 (21264)") ++ UNAME_MACHINE="alphaev6" ;; ++ "EV6.7 (21264A)") ++ UNAME_MACHINE="alphaev67" ;; ++ "EV6.8CB (21264C)") ++ UNAME_MACHINE="alphaev68" ;; ++ "EV6.8AL (21264B)") ++ UNAME_MACHINE="alphaev68" ;; ++ "EV6.8CX (21264D)") ++ UNAME_MACHINE="alphaev68" ;; ++ "EV6.9A (21264/EV69A)") ++ UNAME_MACHINE="alphaev69" ;; ++ "EV7 (21364)") ++ UNAME_MACHINE="alphaev7" ;; ++ "EV7.9 (21364A)") ++ UNAME_MACHINE="alphaev79" ;; ++ esac ++ # A Pn.n version is a patched version. ++ # A Vn.n version is a released version. ++ # A Tn.n version is a released field test version. ++ # A Xn.n version is an unreleased experimental baselevel. ++ # 1.2 uses "1.2" for uname -r. ++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; ++ Alpha\ *:Windows_NT*:*) ++ # How do we know it's Interix rather than the generic POSIX subsystem? ++ # Should we change UNAME_MACHINE based on the output of uname instead ++ # of the specific Alpha model? ++ echo alpha-pc-interix ++ exit ;; ++ 21064:Windows_NT:50:3) ++ echo alpha-dec-winnt3.5 ++ exit ;; ++ Amiga*:UNIX_System_V:4.0:*) ++ echo m68k-unknown-sysv4 ++ exit ;; ++ *:[Aa]miga[Oo][Ss]:*:*) ++ echo ${UNAME_MACHINE}-unknown-amigaos ++ exit ;; ++ *:[Mm]orph[Oo][Ss]:*:*) ++ echo ${UNAME_MACHINE}-unknown-morphos ++ exit ;; ++ *:OS/390:*:*) ++ echo i370-ibm-openedition ++ exit ;; ++ *:z/VM:*:*) ++ echo s390-ibm-zvmoe ++ exit ;; ++ *:OS400:*:*) ++ echo powerpc-ibm-os400 ++ exit ;; ++ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) ++ echo arm-acorn-riscix${UNAME_RELEASE} ++ exit ;; ++ arm*:riscos:*:*|arm*:RISCOS:*:*) ++ echo arm-unknown-riscos ++ exit ;; ++ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) ++ echo hppa1.1-hitachi-hiuxmpp ++ exit ;; ++ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) ++ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. ++ if test "`(/bin/universe) 2>/dev/null`" = att ; then ++ echo pyramid-pyramid-sysv3 ++ else ++ echo pyramid-pyramid-bsd ++ fi ++ exit ;; ++ NILE*:*:*:dcosx) ++ echo pyramid-pyramid-svr4 ++ exit ;; ++ DRS?6000:unix:4.0:6*) ++ echo sparc-icl-nx6 ++ exit ;; ++ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) ++ case `/usr/bin/uname -p` in ++ sparc) echo sparc-icl-nx7; exit ;; ++ esac ;; ++ s390x:SunOS:*:*) ++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; ++ sun4H:SunOS:5.*:*) ++ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; ++ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) ++ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; ++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) ++ echo i386-pc-auroraux${UNAME_RELEASE} ++ exit ;; ++ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) ++ eval $set_cc_for_build ++ SUN_ARCH="i386" ++ # If there is a compiler, see if it is configured for 64-bit objects. ++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. ++ # This test works for both compilers. ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ SUN_ARCH="x86_64" ++ fi ++ fi ++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; ++ sun4*:SunOS:6*:*) ++ # According to config.sub, this is the proper way to canonicalize ++ # SunOS6. Hard to guess exactly what SunOS6 will be like, but ++ # it's likely to be more like Solaris than SunOS4. ++ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; ++ sun4*:SunOS:*:*) ++ case "`/usr/bin/arch -k`" in ++ Series*|S4*) ++ UNAME_RELEASE=`uname -v` ++ ;; ++ esac ++ # Japanese Language versions have a version number like `4.1.3-JL'. ++ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` ++ exit ;; ++ sun3*:SunOS:*:*) ++ echo m68k-sun-sunos${UNAME_RELEASE} ++ exit ;; ++ sun*:*:4.2BSD:*) ++ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` ++ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 ++ case "`/bin/arch`" in ++ sun3) ++ echo m68k-sun-sunos${UNAME_RELEASE} ++ ;; ++ sun4) ++ echo sparc-sun-sunos${UNAME_RELEASE} ++ ;; ++ esac ++ exit ;; ++ aushp:SunOS:*:*) ++ echo sparc-auspex-sunos${UNAME_RELEASE} ++ exit ;; ++ # The situation for MiNT is a little confusing. The machine name ++ # can be virtually everything (everything which is not ++ # "atarist" or "atariste" at least should have a processor ++ # > m68000). The system name ranges from "MiNT" over "FreeMiNT" ++ # to the lowercase version "mint" (or "freemint"). Finally ++ # the system name "TOS" denotes a system which is actually not ++ # MiNT. But MiNT is downward compatible to TOS, so this should ++ # be no problem. ++ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit ;; ++ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit ;; ++ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) ++ echo m68k-atari-mint${UNAME_RELEASE} ++ exit ;; ++ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit ;; ++ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit ;; ++ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit ;; ++ m68k:machten:*:*) ++ echo m68k-apple-machten${UNAME_RELEASE} ++ exit ;; ++ powerpc:machten:*:*) ++ echo powerpc-apple-machten${UNAME_RELEASE} ++ exit ;; ++ RISC*:Mach:*:*) ++ echo mips-dec-mach_bsd4.3 ++ exit ;; ++ RISC*:ULTRIX:*:*) ++ echo mips-dec-ultrix${UNAME_RELEASE} ++ exit ;; ++ VAX*:ULTRIX*:*:*) ++ echo vax-dec-ultrix${UNAME_RELEASE} ++ exit ;; ++ 2020:CLIX:*:* | 2430:CLIX:*:*) ++ echo clipper-intergraph-clix${UNAME_RELEASE} ++ exit ;; ++ mips:*:*:UMIPS | mips:*:*:RISCos) ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++#ifdef __cplusplus ++#include /* for printf() prototype */ ++ int main (int argc, char *argv[]) { ++#else ++ int main (argc, argv) int argc; char *argv[]; { ++#endif ++ #if defined (host_mips) && defined (MIPSEB) ++ #if defined (SYSTYPE_SYSV) ++ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); ++ #endif ++ #if defined (SYSTYPE_SVR4) ++ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); ++ #endif ++ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) ++ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); ++ #endif ++ #endif ++ exit (-1); ++ } ++EOF ++ $CC_FOR_BUILD -o $dummy $dummy.c && ++ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && ++ SYSTEM_NAME=`$dummy $dummyarg` && ++ { echo "$SYSTEM_NAME"; exit; } ++ echo mips-mips-riscos${UNAME_RELEASE} ++ exit ;; ++ Motorola:PowerMAX_OS:*:*) ++ echo powerpc-motorola-powermax ++ exit ;; ++ Motorola:*:4.3:PL8-*) ++ echo powerpc-harris-powermax ++ exit ;; ++ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) ++ echo powerpc-harris-powermax ++ exit ;; ++ Night_Hawk:Power_UNIX:*:*) ++ echo powerpc-harris-powerunix ++ exit ;; ++ m88k:CX/UX:7*:*) ++ echo m88k-harris-cxux7 ++ exit ;; ++ m88k:*:4*:R4*) ++ echo m88k-motorola-sysv4 ++ exit ;; ++ m88k:*:3*:R3*) ++ echo m88k-motorola-sysv3 ++ exit ;; ++ AViiON:dgux:*:*) ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] ++ then ++ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ ++ [ ${TARGET_BINARY_INTERFACE}x = x ] ++ then ++ echo m88k-dg-dgux${UNAME_RELEASE} ++ else ++ echo m88k-dg-dguxbcs${UNAME_RELEASE} ++ fi ++ else ++ echo i586-dg-dgux${UNAME_RELEASE} ++ fi ++ exit ;; ++ M88*:DolphinOS:*:*) # DolphinOS (SVR3) ++ echo m88k-dolphin-sysv3 ++ exit ;; ++ M88*:*:R3*:*) ++ # Delta 88k system running SVR3 ++ echo m88k-motorola-sysv3 ++ exit ;; ++ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) ++ echo m88k-tektronix-sysv3 ++ exit ;; ++ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) ++ echo m68k-tektronix-bsd ++ exit ;; ++ *:IRIX*:*:*) ++ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` ++ exit ;; ++ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. ++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id ++ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' ++ i*86:AIX:*:*) ++ echo i386-ibm-aix ++ exit ;; ++ ia64:AIX:*:*) ++ if [ -x /usr/bin/oslevel ] ; then ++ IBM_REV=`/usr/bin/oslevel` ++ else ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi ++ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} ++ exit ;; ++ *:AIX:2:3) ++ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ ++ main() ++ { ++ if (!__power_pc()) ++ exit(1); ++ puts("powerpc-ibm-aix3.2.5"); ++ exit(0); ++ } ++EOF ++ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` ++ then ++ echo "$SYSTEM_NAME" ++ else ++ echo rs6000-ibm-aix3.2.5 ++ fi ++ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then ++ echo rs6000-ibm-aix3.2.4 ++ else ++ echo rs6000-ibm-aix3.2 ++ fi ++ exit ;; ++ *:AIX:*:[4567]) ++ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` ++ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then ++ IBM_ARCH=rs6000 ++ else ++ IBM_ARCH=powerpc ++ fi ++ if [ -x /usr/bin/oslevel ] ; then ++ IBM_REV=`/usr/bin/oslevel` ++ else ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi ++ echo ${IBM_ARCH}-ibm-aix${IBM_REV} ++ exit ;; ++ *:AIX:*:*) ++ echo rs6000-ibm-aix ++ exit ;; ++ ibmrt:4.4BSD:*|romp-ibm:BSD:*) ++ echo romp-ibm-bsd4.4 ++ exit ;; ++ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and ++ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to ++ exit ;; # report: romp-ibm BSD 4.3 ++ *:BOSX:*:*) ++ echo rs6000-bull-bosx ++ exit ;; ++ DPX/2?00:B.O.S.:*:*) ++ echo m68k-bull-sysv3 ++ exit ;; ++ 9000/[34]??:4.3bsd:1.*:*) ++ echo m68k-hp-bsd ++ exit ;; ++ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) ++ echo m68k-hp-bsd4.4 ++ exit ;; ++ 9000/[34678]??:HP-UX:*:*) ++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ++ case "${UNAME_MACHINE}" in ++ 9000/31? ) HP_ARCH=m68000 ;; ++ 9000/[34]?? ) HP_ARCH=m68k ;; ++ 9000/[678][0-9][0-9]) ++ if [ -x /usr/bin/getconf ]; then ++ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; ++ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 ++ esac ;; ++ esac ++ fi ++ if [ "${HP_ARCH}" = "" ]; then ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ ++ #define _HPUX_SOURCE ++ #include ++ #include ++ ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } ++EOF ++ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` ++ test -z "$HP_ARCH" && HP_ARCH=hppa ++ fi ;; ++ esac ++ if [ ${HP_ARCH} = "hppa2.0w" ] ++ then ++ eval $set_cc_for_build ++ ++ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating ++ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler ++ # generating 64-bit code. GNU and HP use different nomenclature: ++ # ++ # $ CC_FOR_BUILD=cc ./config.guess ++ # => hppa2.0w-hp-hpux11.23 ++ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess ++ # => hppa64-hp-hpux11.23 ++ ++ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | ++ grep -q __LP64__ ++ then ++ HP_ARCH="hppa2.0w" ++ else ++ HP_ARCH="hppa64" ++ fi ++ fi ++ echo ${HP_ARCH}-hp-hpux${HPUX_REV} ++ exit ;; ++ ia64:HP-UX:*:*) ++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ++ echo ia64-hp-hpux${HPUX_REV} ++ exit ;; ++ 3050*:HI-UX:*:*) ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #include ++ int ++ main () ++ { ++ long cpu = sysconf (_SC_CPU_VERSION); ++ /* The order matters, because CPU_IS_HP_MC68K erroneously returns ++ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct ++ results, however. */ ++ if (CPU_IS_PA_RISC (cpu)) ++ { ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; ++ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; ++ default: puts ("hppa-hitachi-hiuxwe2"); break; ++ } ++ } ++ else if (CPU_IS_HP_MC68K (cpu)) ++ puts ("m68k-hitachi-hiuxwe2"); ++ else puts ("unknown-hitachi-hiuxwe2"); ++ exit (0); ++ } ++EOF ++ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && ++ { echo "$SYSTEM_NAME"; exit; } ++ echo unknown-hitachi-hiuxwe2 ++ exit ;; ++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) ++ echo hppa1.1-hp-bsd ++ exit ;; ++ 9000/8??:4.3bsd:*:*) ++ echo hppa1.0-hp-bsd ++ exit ;; ++ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) ++ echo hppa1.0-hp-mpeix ++ exit ;; ++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) ++ echo hppa1.1-hp-osf ++ exit ;; ++ hp8??:OSF1:*:*) ++ echo hppa1.0-hp-osf ++ exit ;; ++ i*86:OSF1:*:*) ++ if [ -x /usr/sbin/sysversion ] ; then ++ echo ${UNAME_MACHINE}-unknown-osf1mk ++ else ++ echo ${UNAME_MACHINE}-unknown-osf1 ++ fi ++ exit ;; ++ parisc*:Lites*:*:*) ++ echo hppa1.1-hp-lites ++ exit ;; ++ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) ++ echo c1-convex-bsd ++ exit ;; ++ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) ++ if getsysinfo -f scalar_acc ++ then echo c32-convex-bsd ++ else echo c2-convex-bsd ++ fi ++ exit ;; ++ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) ++ echo c34-convex-bsd ++ exit ;; ++ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) ++ echo c38-convex-bsd ++ exit ;; ++ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) ++ echo c4-convex-bsd ++ exit ;; ++ CRAY*Y-MP:*:*:*) ++ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit ;; ++ CRAY*[A-Z]90:*:*:*) ++ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ++ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ ++ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ ++ -e 's/\.[^.]*$/.X/' ++ exit ;; ++ CRAY*TS:*:*:*) ++ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit ;; ++ CRAY*T3E:*:*:*) ++ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit ;; ++ CRAY*SV1:*:*:*) ++ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit ;; ++ *:UNICOS/mp:*:*) ++ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' ++ exit ;; ++ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) ++ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; ++ 5000:UNIX_System_V:4.*:*) ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` ++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; ++ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) ++ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} ++ exit ;; ++ sparc*:BSD/OS:*:*) ++ echo sparc-unknown-bsdi${UNAME_RELEASE} ++ exit ;; ++ *:BSD/OS:*:*) ++ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} ++ exit ;; ++ *:FreeBSD:*:*) ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ case ${UNAME_PROCESSOR} in ++ amd64) ++ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ *) ++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ esac ++ exit ;; ++ i*:CYGWIN*:*) ++ echo ${UNAME_MACHINE}-pc-cygwin ++ exit ;; ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; ++ *:MINGW*:*) ++ echo ${UNAME_MACHINE}-pc-mingw32 ++ exit ;; ++ *:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; ++ i*:windows32*:*) ++ # uname -m includes "-pc" on this system. ++ echo ${UNAME_MACHINE}-mingw32 ++ exit ;; ++ i*:PW*:*) ++ echo ${UNAME_MACHINE}-pc-pw32 ++ exit ;; ++ *:Interix*:*) ++ case ${UNAME_MACHINE} in ++ x86) ++ echo i586-pc-interix${UNAME_RELEASE} ++ exit ;; ++ authenticamd | genuineintel | EM64T) ++ echo x86_64-unknown-interix${UNAME_RELEASE} ++ exit ;; ++ IA64) ++ echo ia64-unknown-interix${UNAME_RELEASE} ++ exit ;; ++ esac ;; ++ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) ++ echo i${UNAME_MACHINE}-pc-mks ++ exit ;; ++ 8664:Windows_NT:*) ++ echo x86_64-pc-mks ++ exit ;; ++ i*:Windows_NT*:* | Pentium*:Windows_NT*:*) ++ # How do we know it's Interix rather than the generic POSIX subsystem? ++ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we ++ # UNAME_MACHINE based on the output of uname instead of i386? ++ echo i586-pc-interix ++ exit ;; ++ i*:UWIN*:*) ++ echo ${UNAME_MACHINE}-pc-uwin ++ exit ;; ++ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) ++ echo x86_64-unknown-cygwin ++ exit ;; ++ p*:CYGWIN*:*) ++ echo powerpcle-unknown-cygwin ++ exit ;; ++ prep*:SunOS:5.*:*) ++ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; ++ *:GNU:*:*) ++ # the GNU system ++ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` ++ exit ;; ++ *:GNU/*:*:*) ++ # other systems with GNU libc and userland ++ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} ++ exit ;; ++ i*86:Minix:*:*) ++ echo ${UNAME_MACHINE}-pc-minix ++ exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ alpha:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ EV5) UNAME_MACHINE=alphaev5 ;; ++ EV56) UNAME_MACHINE=alphaev56 ;; ++ PCA56) UNAME_MACHINE=alphapca56 ;; ++ PCA57) UNAME_MACHINE=alphapca56 ;; ++ EV6) UNAME_MACHINE=alphaev6 ;; ++ EV67) UNAME_MACHINE=alphaev67 ;; ++ EV68*) UNAME_MACHINE=alphaev68 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ arc:Linux:*:* | arceb:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ arm*:Linux:*:*) ++ eval $set_cc_for_build ++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_EABI__ ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ else ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi ++ else ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf ++ fi ++ fi ++ exit ;; ++ avr32*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ cris:Linux:*:*) ++ echo ${UNAME_MACHINE}-axis-linux-${LIBC} ++ exit ;; ++ crisv32:Linux:*:*) ++ echo ${UNAME_MACHINE}-axis-linux-${LIBC} ++ exit ;; ++ frv:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ i*86:Linux:*:*) ++ echo ${UNAME_MACHINE}-pc-linux-${LIBC} ++ exit ;; ++ ia64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ m32r*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ m68*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ mips:Linux:*:* | mips64:Linux:*:*) ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #undef CPU ++ #undef ${UNAME_MACHINE} ++ #undef ${UNAME_MACHINE}el ++ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) ++ CPU=${UNAME_MACHINE}el ++ #else ++ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) ++ CPU=${UNAME_MACHINE} ++ #else ++ CPU= ++ #endif ++ #endif ++EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` ++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ++ ;; ++ openrisc*:Linux:*:*) ++ echo or1k-unknown-linux-${LIBC} ++ exit ;; ++ or32:Linux:*:* | or1k*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ padre:Linux:*:*) ++ echo sparc-unknown-linux-${LIBC} ++ exit ;; ++ parisc64:Linux:*:* | hppa64:Linux:*:*) ++ echo hppa64-unknown-linux-${LIBC} ++ exit ;; ++ parisc:Linux:*:* | hppa:Linux:*:*) ++ # Look for CPU level ++ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in ++ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; ++ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; ++ *) echo hppa-unknown-linux-${LIBC} ;; ++ esac ++ exit ;; ++ ppc64:Linux:*:*) ++ echo powerpc64-unknown-linux-${LIBC} ++ exit ;; ++ ppc:Linux:*:*) ++ echo powerpc-unknown-linux-${LIBC} ++ exit ;; ++ ppc64le:Linux:*:*) ++ echo powerpc64le-unknown-linux-${LIBC} ++ exit ;; ++ ppcle:Linux:*:*) ++ echo powerpcle-unknown-linux-${LIBC} ++ exit ;; ++ s390:Linux:*:* | s390x:Linux:*:*) ++ echo ${UNAME_MACHINE}-ibm-linux-${LIBC} ++ exit ;; ++ sh64*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ sh*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ sparc:Linux:*:* | sparc64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ tile*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ vax:Linux:*:*) ++ echo ${UNAME_MACHINE}-dec-linux-${LIBC} ++ exit ;; ++ x86_64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ xtensa*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ i*86:DYNIX/ptx:4*:*) ++ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. ++ # earlier versions are messed up and put the nodename in both ++ # sysname and nodename. ++ echo i386-sequent-sysv4 ++ exit ;; ++ i*86:UNIX_SV:4.2MP:2.*) ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, ++ # I just have to hope. -- rms. ++ # Use sysv4.2uw... so that sysv4* matches it. ++ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} ++ exit ;; ++ i*86:OS/2:*:*) ++ # If we were able to find `uname', then EMX Unix compatibility ++ # is probably installed. ++ echo ${UNAME_MACHINE}-pc-os2-emx ++ exit ;; ++ i*86:XTS-300:*:STOP) ++ echo ${UNAME_MACHINE}-unknown-stop ++ exit ;; ++ i*86:atheos:*:*) ++ echo ${UNAME_MACHINE}-unknown-atheos ++ exit ;; ++ i*86:syllable:*:*) ++ echo ${UNAME_MACHINE}-pc-syllable ++ exit ;; ++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) ++ echo i386-unknown-lynxos${UNAME_RELEASE} ++ exit ;; ++ i*86:*DOS:*:*) ++ echo ${UNAME_MACHINE}-pc-msdosdjgpp ++ exit ;; ++ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) ++ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` ++ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then ++ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} ++ else ++ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} ++ fi ++ exit ;; ++ i*86:*:5:[678]*) ++ # UnixWare 7.x, OpenUNIX and OpenServer 6. ++ case `/bin/uname -X | grep "^Machine"` in ++ *486*) UNAME_MACHINE=i486 ;; ++ *Pentium) UNAME_MACHINE=i586 ;; ++ *Pent*|*Celeron) UNAME_MACHINE=i686 ;; ++ esac ++ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ++ exit ;; ++ i*86:*:3.2:*) ++ if test -f /usr/options/cb.name; then ++ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then ++ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` ++ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 ++ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ ++ && UNAME_MACHINE=i586 ++ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ ++ && UNAME_MACHINE=i686 ++ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ ++ && UNAME_MACHINE=i686 ++ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ++ else ++ echo ${UNAME_MACHINE}-pc-sysv32 ++ fi ++ exit ;; ++ pc:*:*:*) ++ # Left here for compatibility: ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i586. ++ # Note: whatever this is, it MUST be the same as what config.sub ++ # prints for the "djgpp" host, or else GDB configury will decide that ++ # this is a cross-build. ++ echo i586-pc-msdosdjgpp ++ exit ;; ++ Intel:Mach:3*:*) ++ echo i386-pc-mach3 ++ exit ;; ++ paragon:*:*:*) ++ echo i860-intel-osf1 ++ exit ;; ++ i860:*:4.*:*) # i860-SVR4 ++ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then ++ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ++ else # Add other i860-SVR4 vendors below as they are discovered. ++ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ++ fi ++ exit ;; ++ mini*:CTIX:SYS*5:*) ++ # "miniframe" ++ echo m68010-convergent-sysv ++ exit ;; ++ mc68k:UNIX:SYSTEM5:3.51m) ++ echo m68k-convergent-sysv ++ exit ;; ++ M680?0:D-NIX:5.3:*) ++ echo m68k-diab-dnix ++ exit ;; ++ M68*:*:R3V[5678]*:*) ++ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; ++ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) ++ OS_REL='' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4; exit; } ;; ++ NCR*:*:4.2:* | MPRAS*:*:4.2:*) ++ OS_REL='.3' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; ++ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) ++ echo m68k-unknown-lynxos${UNAME_RELEASE} ++ exit ;; ++ mc68030:UNIX_System_V:4.*:*) ++ echo m68k-atari-sysv4 ++ exit ;; ++ TSUNAMI:LynxOS:2.*:*) ++ echo sparc-unknown-lynxos${UNAME_RELEASE} ++ exit ;; ++ rs6000:LynxOS:2.*:*) ++ echo rs6000-unknown-lynxos${UNAME_RELEASE} ++ exit ;; ++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) ++ echo powerpc-unknown-lynxos${UNAME_RELEASE} ++ exit ;; ++ SM[BE]S:UNIX_SV:*:*) ++ echo mips-dde-sysv${UNAME_RELEASE} ++ exit ;; ++ RM*:ReliantUNIX-*:*:*) ++ echo mips-sni-sysv4 ++ exit ;; ++ RM*:SINIX-*:*:*) ++ echo mips-sni-sysv4 ++ exit ;; ++ *:SINIX-*:*:*) ++ if uname -p 2>/dev/null >/dev/null ; then ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ echo ${UNAME_MACHINE}-sni-sysv4 ++ else ++ echo ns32k-sni-sysv ++ fi ++ exit ;; ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit ;; ++ *:UNIX_System_V:4*:FTX*) ++ # From Gerald Hewes . ++ # How about differentiating between stratus architectures? -djm ++ echo hppa1.1-stratus-sysv4 ++ exit ;; ++ *:*:*:FTX*) ++ # From seanf@swdc.stratus.com. ++ echo i860-stratus-sysv4 ++ exit ;; ++ i*86:VOS:*:*) ++ # From Paul.Green@stratus.com. ++ echo ${UNAME_MACHINE}-stratus-vos ++ exit ;; ++ *:VOS:*:*) ++ # From Paul.Green@stratus.com. ++ echo hppa1.1-stratus-vos ++ exit ;; ++ mc68*:A/UX:*:*) ++ echo m68k-apple-aux${UNAME_RELEASE} ++ exit ;; ++ news*:NEWS-OS:6*:*) ++ echo mips-sony-newsos6 ++ exit ;; ++ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) ++ if [ -d /usr/nec ]; then ++ echo mips-nec-sysv${UNAME_RELEASE} ++ else ++ echo mips-unknown-sysv${UNAME_RELEASE} ++ fi ++ exit ;; ++ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. ++ echo powerpc-be-beos ++ exit ;; ++ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. ++ echo powerpc-apple-beos ++ exit ;; ++ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. ++ echo i586-pc-beos ++ exit ;; ++ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. ++ echo i586-pc-haiku ++ exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; ++ SX-4:SUPER-UX:*:*) ++ echo sx4-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-5:SUPER-UX:*:*) ++ echo sx5-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-6:SUPER-UX:*:*) ++ echo sx6-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-7:SUPER-UX:*:*) ++ echo sx7-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-8:SUPER-UX:*:*) ++ echo sx8-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-8R:SUPER-UX:*:*) ++ echo sx8r-nec-superux${UNAME_RELEASE} ++ exit ;; ++ Power*:Rhapsody:*:*) ++ echo powerpc-apple-rhapsody${UNAME_RELEASE} ++ exit ;; ++ *:Rhapsody:*:*) ++ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} ++ exit ;; ++ *:Darwin:*:*) ++ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown ++ eval $set_cc_for_build ++ if test "$UNAME_PROCESSOR" = unknown ; then ++ UNAME_PROCESSOR=powerpc ++ fi ++ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ case $UNAME_PROCESSOR in ++ i386) UNAME_PROCESSOR=x86_64 ;; ++ powerpc) UNAME_PROCESSOR=powerpc64 ;; ++ esac ++ fi ++ fi ++ elif test "$UNAME_PROCESSOR" = i386 ; then ++ # Avoid executing cc on OS X 10.9, as it ships with a stub ++ # that puts up a graphical alert prompting to install ++ # developer tools. Any system running Mac OS X 10.7 or ++ # later (Darwin 11 and later) is required to have a 64-bit ++ # processor. This is not true of the ARM version of Darwin ++ # that Apple uses in portable devices. ++ UNAME_PROCESSOR=x86_64 ++ fi ++ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} ++ exit ;; ++ *:procnto*:*:* | *:QNX:[0123456789]*:*) ++ UNAME_PROCESSOR=`uname -p` ++ if test "$UNAME_PROCESSOR" = "x86"; then ++ UNAME_PROCESSOR=i386 ++ UNAME_MACHINE=pc ++ fi ++ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} ++ exit ;; ++ *:QNX:*:4*) ++ echo i386-pc-qnx ++ exit ;; ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) ++ echo nse-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSR-?:NONSTOP_KERNEL:*:*) ++ echo nsr-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ *:NonStop-UX:*:*) ++ echo mips-compaq-nonstopux ++ exit ;; ++ BS2000:POSIX*:*:*) ++ echo bs2000-siemens-sysv ++ exit ;; ++ DS/*:UNIX_System_V:*:*) ++ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} ++ exit ;; ++ *:Plan9:*:*) ++ # "uname -m" is not consistent, so use $cputype instead. 386 ++ # is converted to i386 for consistency with other x86 ++ # operating systems. ++ if test "$cputype" = "386"; then ++ UNAME_MACHINE=i386 ++ else ++ UNAME_MACHINE="$cputype" ++ fi ++ echo ${UNAME_MACHINE}-unknown-plan9 ++ exit ;; ++ *:TOPS-10:*:*) ++ echo pdp10-unknown-tops10 ++ exit ;; ++ *:TENEX:*:*) ++ echo pdp10-unknown-tenex ++ exit ;; ++ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) ++ echo pdp10-dec-tops20 ++ exit ;; ++ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) ++ echo pdp10-xkl-tops20 ++ exit ;; ++ *:TOPS-20:*:*) ++ echo pdp10-unknown-tops20 ++ exit ;; ++ *:ITS:*:*) ++ echo pdp10-unknown-its ++ exit ;; ++ SEI:*:*:SEIUX) ++ echo mips-sei-seiux${UNAME_RELEASE} ++ exit ;; ++ *:DragonFly:*:*) ++ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ++ exit ;; ++ *:*VMS:*:*) ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ case "${UNAME_MACHINE}" in ++ A*) echo alpha-dec-vms ; exit ;; ++ I*) echo ia64-dec-vms ; exit ;; ++ V*) echo vax-dec-vms ; exit ;; ++ esac ;; ++ *:XENIX:*:SysV) ++ echo i386-pc-xenix ++ exit ;; ++ i*86:skyos:*:*) ++ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' ++ exit ;; ++ i*86:rdos:*:*) ++ echo ${UNAME_MACHINE}-pc-rdos ++ exit ;; ++ i*86:AROS:*:*) ++ echo ${UNAME_MACHINE}-pc-aros ++ exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; ++esac ++ ++cat >&2 < in order to provide the needed ++information to handle your system. ++ ++config.guess timestamp = $timestamp ++ ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null` ++ ++hostinfo = `(hostinfo) 2>/dev/null` ++/bin/universe = `(/bin/universe) 2>/dev/null` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` ++/bin/arch = `(/bin/arch) 2>/dev/null` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` ++ ++UNAME_MACHINE = ${UNAME_MACHINE} ++UNAME_RELEASE = ${UNAME_RELEASE} ++UNAME_SYSTEM = ${UNAME_SYSTEM} ++UNAME_VERSION = ${UNAME_VERSION} ++EOF ++ ++exit 1 ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "timestamp='" ++# time-stamp-format: "%:y-%02m-%02d" ++# time-stamp-end: "'" ++# End: +Index: b/common/autoconf/build-aux/config.sub +=================================================================== +--- a/common/autoconf/build-aux/config.sub ++++ b/common/autoconf/build-aux/config.sub +@@ -1,70 +1,40 @@ + #! /bin/sh ++# Configuration validation subroutine script. ++# Copyright 1992-2014 Free Software Foundation, Inc. + +-# +-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +-# +-# This code is free software; you can redistribute it and/or modify it +-# under the terms of the GNU General Public License version 2 only, as +-# published by the Free Software Foundation. Oracle designates this +-# particular file as subject to the "Classpath" exception as provided +-# by Oracle in the LICENSE file that accompanied this code. +-# +-# This code is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-# version 2 for more details (a copy is included in the LICENSE file that +-# accompanied this code). +-# +-# You should have received a copy of the GNU General Public License version +-# 2 along with this work; if not, write to the Free Software Foundation, +-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +-# +-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +-# or visit www.oracle.com if you need additional information or have any +-# questions. +-# ++timestamp='2014-05-01' + +-# Configuration validation subroutine script. +-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +-# Free Software Foundation, Inc. +- +-timestamp='2008-01-16' +- +-# This file is (in principle) common to ALL GNU software. +-# The presence of a machine in this file suggests that SOME GNU software +-# can handle that machine. It does not imply ALL GNU software can. +-# +-# This file is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or ++# This file is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or + # (at your option) any later version. + # +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a + # configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. ++# the same distribution terms that you use for the rest of that ++# program. This Exception is an additional permission under section 7 ++# of the GNU General Public License, version 3 ("GPLv3"). + + +-# Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# Please send patches with a ChangeLog entry to config-patches@gnu.org. + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. + # If it is invalid, we print an error message on stderr and exit with code 1. + # Otherwise, we print the canonical config type on stdout and succeed. + ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++ + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases + # that are meaningful with *any* GNU software. +@@ -98,8 +68,7 @@ Report bugs and patches to +# Date 1344071656 -7200 +# Node ID 73ffc3dc8c16664613f878a131ded372b2099191 +# Parent e153dd602364e16b3f2b275d91cc683c4e3df2bb +arm: Thumb interworking should work on armv5 +* src/vm/jit/arm/asmpart.S: Use Thumb interworking-aware instructions for transfer to C code. +* src/vm/jit/arm/codegen.c: Likewise, for ICMD_BUILTIN. +* src/vm/jit/arm/codegen.h: Define macros for BL and BLX instructions. + +--- cacao/cacao/src/vm/jit/arm/asmpart.S.orig 2013-01-10 17:45:14.000000000 +0100 ++++ cacao/cacao/src/vm/jit/arm/asmpart.S 2013-02-08 17:24:23.744533547 +0100 +@@ -1,6 +1,6 @@ + /* src/vm/jit/arm/asmpart.S - Java-C interface functions for ARM + +- Copyright (C) 1996-2012 ++ Copyright (C) 1996-2005, 2006, 2007, 2008 + CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO + + This file is part of CACAO. +@@ -239,7 +239,7 @@ + stmfd sp!, {lr} /* save return address */ + add a0, sp, #(1*4) /* pass java sp */ + mov a1, lr /* pass exception address */ +- blx exceptions_asm_new_abstractmethoderror ++ bl exceptions_asm_new_abstractmethoderror + ldmfd sp!, {lr} /* restore return address */ + + mov xptr, res1 /* get exception pointer */ +@@ -281,7 +281,7 @@ + swi __ARM_NR_cacheflush + #endif + +- bx lr ++ mov pc, lr + + + /* disable exec-stacks ********************************************************/ +--- cacao/cacao/src/vm/jit/arm/codegen.h.orig 2013-01-10 17:45:14.000000000 +0100 ++++ cacao/cacao/src/vm/jit/arm/codegen.h 2013-02-08 17:24:23.744533547 +0100 +@@ -1,6 +1,6 @@ + /* src/vm/jit/arm/codegen.h - code generation macros and definitions for ARM + +- Copyright (C) 1996-2012 ++ Copyright (C) 1996-2005, 2006, 2007, 2008, 2010 + CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO + + This file is part of CACAO. +@@ -215,19 +215,6 @@ + } while (0) + + +-/* branch and branch with link X (instruction set exchange) +- cond ... conditional execution +- L ...... branch with link (L=1) +- reg .... register +-*/ +- +-#define M_BRAX(cond,L,reg) \ +- do { \ +- *((u4 *) cd->mcodeptr) = (((cond) << 28) | (0x12 << 20) | (0xfff << 8) | (L << 5) | (1 << 4) | ((reg) & 0xf)); \ +- cd->mcodeptr += 4; \ +- } while (0) +- +- + /* branch and branch with link: M_BRA + cond ... conditional execution + L ...... branch with link (L=1) +@@ -490,9 +477,6 @@ + #define M_BLO(off) M_BRA(COND_CC,0,off) + #define M_BLS(off) M_BRA(COND_LS,0,off) + +-#define M_BX(a) M_BRAX(COND_AL,0,a) +-#define M_BLX(a) M_BRAX(COND_AL,1,a) +- + + /******************************************************************************/ + /* macros for load and store instructions *************************************/ +--- cacao/cacao/src/vm/jit/arm/codegen.c.orig 2013-01-10 17:45:14.000000000 +0100 ++++ cacao/cacao/src/vm/jit/arm/codegen.c 2013-02-08 17:24:23.748533547 +0100 +@@ -1,6 +1,6 @@ + /* src/vm/jit/arm/codegen.c - machine code generator for Arm + +- Copyright (C) 1996-2012 ++ Copyright (C) 1996-2011 + CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO + + This file is part of CACAO. +@@ -1733,7 +1733,8 @@ + + /* generate the actual call */ + +- M_BLX(REG_PV); ++ M_MOV(REG_LR, REG_PC); ++ M_MOV(REG_PC, REG_PV); + + break; + --- openjdk-9-9~b94.orig/debian/patches/default-jvm-cfg.diff +++ openjdk-9-9~b94/debian/patches/default-jvm-cfg.diff @@ -0,0 +1,25 @@ +Index: b/jdk/src/java.base/share/native/libjli/java.c +=================================================================== +--- a/jdk/src/java.base/share/native/libjli/java.c ++++ b/jdk/src/java.base/share/native/libjli/java.c +@@ -1643,7 +1643,7 @@ jint + ReadKnownVMs(const char *jvmCfgName, jboolean speculative) + { + FILE *jvmCfg; +- char line[MAXPATHLEN+20]; ++ char line[MAXPATHLEN+30]; + int cnt = 0; + int lineno = 0; + jlong start, end; +@@ -1658,6 +1658,11 @@ ReadKnownVMs(const char *jvmCfgName, jbo + + jvmCfg = fopen(jvmCfgName, "r"); + if (jvmCfg == NULL) { ++ char cfgName[strlen(jvmCfgName)+10]; ++ sprintf(cfgName, "%s-default", jvmCfgName); ++ jvmCfg = fopen(cfgName, "r"); ++ } ++ if (jvmCfg == NULL) { + if (!speculative) { + JLI_ReportErrorMessage(CFG_ERROR6, jvmCfgName); + exit(1); --- openjdk-9-9~b94.orig/debian/patches/disable-doclint-by-default.diff +++ openjdk-9-9~b94/debian/patches/disable-doclint-by-default.diff @@ -0,0 +1,28 @@ +Description: Disable doclint by default + OpenJDK 8 adds and enables doclint by default. This catches issues in + javadoc comments. It is too strict, breaks javadoc compilation and, in + general, breaks the build for old code known to build with previous + versions of OpenJDK. + . + See: http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html + See: https://lists.fedoraproject.org/pipermail/java-devel/2014-February/005150.html +Author: Andrew John Hughes +Forwarded: not-needed +Index: b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java +=================================================================== +--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java ++++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java +@@ -821,10 +821,9 @@ public class DocEnv { + doclintOpts.add(opt == null ? DocLint.XMSGS_OPTION : DocLint.XMSGS_CUSTOM_PREFIX + opt); + } + +- if (doclintOpts.isEmpty()) { +- doclintOpts.add(DocLint.XMSGS_OPTION); +- } else if (doclintOpts.size() == 1 +- && doclintOpts.get(0).equals(DocLint.XMSGS_CUSTOM_PREFIX + "none")) { ++ if (doclintOpts.isEmpty() || ++ (doclintOpts.size() == 1 ++ && doclintOpts.get(0).equals(DocLint.XMSGS_CUSTOM_PREFIX + "none"))) { + return; + } + --- openjdk-9-9~b94.orig/debian/patches/dnd-files.patch +++ openjdk-9-9~b94/debian/patches/dnd-files.patch @@ -0,0 +1,22 @@ +Index: b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java +=================================================================== +--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java ++++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDataTransferer.java +@@ -273,14 +273,14 @@ public class XDataTransferer extends Dat + BufferedReader reader = new BufferedReader(isr)) { + String line; + ArrayList uriList = new ArrayList<>(); +- URI uri; + while ((line = reader.readLine()) != null) { + try { +- uri = new URI(line); ++ if (!"\0".equals(line)) { ++ uriList.add(new URI(line)); ++ } + } catch (URISyntaxException uriSyntaxException) { + throw new IOException(uriSyntaxException); + } +- uriList.add(uri); + } + return uriList.toArray(new URI[uriList.size()]); + } --- openjdk-9-9~b94.orig/debian/patches/dont-strip-images.diff +++ openjdk-9-9~b94/debian/patches/dont-strip-images.diff @@ -0,0 +1,15 @@ +Index: b/common/autoconf/flags.m4 +=================================================================== +--- a/common/autoconf/flags.m4 ++++ b/common/autoconf/flags.m4 +@@ -61,7 +61,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS], + fi + + if test "x$OPENJDK_TARGET_OS" != xwindows; then +- POST_STRIP_CMD="$STRIP $STRIPFLAGS" ++ if test -z "$POST_STRIP_CMD" ; then ++ POST_STRIP_CMD="$STRIP $STRIPFLAGS" ++ fi + fi + AC_SUBST(POST_STRIP_CMD) + --- openjdk-9-9~b94.orig/debian/patches/enumipv6-fix.patch +++ openjdk-9-9~b94/debian/patches/enumipv6-fix.patch @@ -0,0 +1,11 @@ +--- openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c~ 2012-02-15 09:26:50.000000000 +0100 ++++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2012-02-26 14:13:22.602107361 +0100 +@@ -1105,7 +1105,7 @@ + uint8_t ipv6addr[16]; + + if ((f = fopen(_PATH_PROCNET_IFINET6, "r")) != NULL) { +- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n", ++ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %x %x %x %x %20s\n", + addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4], addr6p[5], addr6p[6], addr6p[7], + &if_idx, &plen, &scope, &dad_status, devname) != EOF) { + --- openjdk-9-9~b94.orig/debian/patches/fontconfig-arphic-uming.diff +++ openjdk-9-9~b94/debian/patches/fontconfig-arphic-uming.diff @@ -0,0 +1,244 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig 2008-10-12 10:42:26.000000000 +0000 ++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties 2008-10-12 10:43:49.000000000 +0000 +@@ -25,107 +25,156 @@ + + # Version + +-# Uses Ubuntu 6.10 (Edgy) fonts and file paths. ++# Used for Ubuntu 6.10 (edgy), Ubuntu 7.04 (feisty), Ubuntu 7.10 (gutsy), ++# Debian 4.0 (etch), Debian 5.0 (lenny) fonts and file paths. + version=1 + + # Component Font Mappings + ++allfonts.chinese-gb18030=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1 ++allfonts.chinese-gb18030.motif=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1 ++allfonts.chinese-big5=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1 ++allfonts.chinese-big5.motif=-misc-ar pl shanheisun uni-medium-r-normal--*-*-*-*-p-*-iso10646-1 ++ + dialog.plain.latin-1=DejaVu Sans +-dialog.plain.japanese-x0208=Kochi Gothic +-dialog.plain.korean=Baekmuk Dotum ++dialog.plain.latin-1.motif=LuxiSans-Regular ++dialog.plain.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialog.plain.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++dialog.plain.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + dialog.bold.latin-1=DejaVu Sans Bold +-dialog.bold.japanese-x0208=Kochi Gothic +-dialog.bold.korean=Baekmuk Dotum ++dialog.bold.latin-1.motif=LuxiSans-Bold ++dialog.bold.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialog.bold.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++dialog.bold.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + dialog.italic.latin-1=DejaVu Sans Oblique +-dialog.italic.japanese-x0208=Kochi Gothic +-dialog.italic.korean=Baekmuk Dotum ++dialog.italic.latin-1.motif=LuxiSans-Oblique ++dialog.italic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialog.italic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++dialog.italic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique +-dialog.bolditalic.japanese-x0208=Kochi Gothic +-dialog.bolditalic.korean=Baekmuk Dotum +- ++dialog.bolditalic.latin-1.motif=LuxiSans-BoldOblique ++dialog.bolditalic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialog.bolditalic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++dialog.bolditalic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + sansserif.plain.latin-1=DejaVu Sans +-sansserif.plain.japanese-x0208=Kochi Gothic +-sansserif.plain.korean=Baekmuk Dotum ++sansserif.plain.latin-1.motif=LuxiSans-Regular ++sansserif.plain.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++sansserif.plain.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++sansserif.plain.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + sansserif.bold.latin-1=DejaVu Sans Bold +-sansserif.bold.japanese-x0208=Kochi Gothic +-sansserif.bold.korean=Baekmuk Dotum ++sansserif.bold.latin-1.motif=LuxiSans-Bold ++sansserif.bold.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++sansserif.bold.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++sansserif.bold.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + sansserif.italic.latin-1=DejaVu Sans Oblique +-sansserif.italic.japanese-x0208=Kochi Gothic +-sansserif.italic.korean=Baekmuk Dotum ++sansserif.italic.latin-1.motif=LuxiSans-Oblique ++sansserif.italic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++sansserif.italic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++sansserif.italic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique +-sansserif.bolditalic.japanese-x0208=Kochi Gothic +-sansserif.bolditalic.korean=Baekmuk Dotum +- ++sansserif.bolditalic.latin-1.motif=LuxiSans-BoldOblique ++sansserif.bolditalic.japanese-x0208=-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++sansserif.bolditalic.korean=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* ++sansserif.bolditalic.korean.motif=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-*-* + + serif.plain.latin-1=DejaVu Serif +-serif.plain.japanese-x0208=Kochi Mincho +-serif.plain.korean=Baekmuk Batang ++serif.plain.latin-1.motif=LuxiSerif-Regular ++serif.plain.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++serif.plain.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++serif.plain.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + serif.bold.latin-1=DejaVu Serif Bold +-serif.bold.japanese-x0208=Kochi Mincho +-serif.bold.korean=Baekmuk Batang ++serif.bold.latin-1.motif=LuxiSerif-Bold ++serif.bold.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++serif.bold.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++serif.bold.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + serif.italic.latin-1=DejaVu Serif Oblique +-serif.italic.japanese-x0208=Kochi Mincho +-serif.italic.korean=Baekmuk Batang ++serif.italic.latin-1.motif=LuxiSerif-Oblique ++serif.italic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++serif.italic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++serif.italic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + serif.bolditalic.latin-1=DejaVu Serif Bold Oblique +-serif.bolditalic.japanese-x0208=Kochi Mincho +-serif.bolditalic.korean=Baekmuk Batang +- ++serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique ++serif.bolditalic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++serif.bolditalic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++serif.bolditalic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + monospaced.plain.latin-1=DejaVu Sans Mono +-monospaced.plain.japanese-x0208=Kochi Gothic +-monospaced.plain.korean=Baekmuk Dotum ++monospaced.plain.latin-1.motif=LuxiMono-Regular ++monospaced.plain.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++monospaced.plain.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++monospaced.plain.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + monospaced.bold.latin-1=DejaVu Sans Mono Bold +-monospaced.bold.japanese-x0208=Kochi Gothic +-monospaced.bold.korean=Baekmuk Dotum ++monospaced.bold.latin-1.motif=LuxiMono-Bold ++monospaced.bold.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++monospaced.bold.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++monospaced.bold.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + monospaced.italic.latin-1=DejaVu Sans Mono Oblique +-monospaced.italic.japanese-x0208=Kochi Gothic +-monospaced.italic.korean=Baekmuk Dotum ++monospaced.italic.latin-1.motif=LuxiMono-Oblique ++monospaced.italic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++monospaced.italic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++monospaced.italic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique +-monospaced.bolditalic.japanese-x0208=Kochi Gothic +-monospaced.bolditalic.korean=Baekmuk Dotum +- ++monospaced.bolditalic.latin-1.motif=LuxiMono-BoldOblique ++monospaced.bolditalic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++monospaced.bolditalic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++monospaced.bolditalic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + dialoginput.plain.latin-1=DejaVu Sans Mono +-dialoginput.plain.japanese-x0208=Kochi Gothic +-dialoginput.plain.korean=Baekmuk Dotum ++dialoginput.plain.latin-1.motif=LuxiMono-Regular ++dialoginput.plain.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialoginput.plain.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++dialoginput.plain.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + dialoginput.bold.latin-1=DejaVu Sans Mono Bold +-dialoginput.bold.japanese-x0208=Kochi Gothic +-dialoginput.bold.korean=Baekmuk Dotum ++dialoginput.bold.latin-1.motif=LuxiMono-Bold ++dialoginput.bold.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialoginput.bold.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++dialoginput.bold.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + dialoginput.italic.latin-1=DejaVu Sans Mono Oblique +-dialoginput.italic.japanese-x0208=Kochi Gothic +-dialoginput.italic.korean=Baekmuk Dotum ++dialoginput.italic.latin-1.motif=LuxiMono-Oblique ++dialoginput.italic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialoginput.italic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++dialoginput.italic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique +-dialoginput.bolditalic.japanese-x0208=Kochi Gothic +-dialoginput.bolditalic.korean=Baekmuk Dotum +- +-allfonts.chinese-big5=AR PL ZenKai Uni +-allfonts.chinese-gb18030=AR PL ZenKai Uni ++dialoginput.bolditalic.latin-1.motif=LuxiMono-BoldOblique ++dialoginput.bolditalic.japanese-x0208=-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0 ++dialoginput.bolditalic.korean=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* ++dialoginput.bolditalic.korean.motif=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-*-* + + # Search Sequences + + sequence.allfonts=latin-1 +-sequence.allfonts.Big5=chinese-big5,latin-1 +-sequence.allfonts.x-euc-jp-linux=japanese-x0208,latin-1 +-sequence.allfonts.EUC-KR=korean,latin-1 +-sequence.allfonts.GB18030=chinese-gb18030,latin-1 ++sequence.allfonts.UTF-8.ko=latin-1,korean ++sequence.allfonts.UTF-8=latin-1,chinese-gb18030 ++sequence.allfonts.UTF-8.ja=latin-1,japanese-x0208 ++sequence.allfonts.UTF-8.zh.CN=latin-1,chinese-gb18030 ++sequence.allfonts.UTF-8.zh.TW=latin-1,chinese-big5 ++sequence.allfonts.Big5=latin-1,chinese-big5 ++sequence.allfonts.GB2312=latin-1,chinese-gb18030 ++sequence.allfonts.x-euc-jp-linux=latin-1,japanese-x0208 ++sequence.allfonts.EUC-KR=latin-1,korean ++sequence.allfonts.GB18030=latin-1,chinese-gb18030 + sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean + ++# Exclusion Ranges ++ ++exclusion.japanese-x0208=0390-03d6,2200-22ef,2701-27be ++ + # Font File Names + + filename.DejaVu_Sans=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf +@@ -143,8 +192,27 @@ + filename.DejaVu_Serif_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Oblique.ttf + filename.DejaVu_Serif_Bold_Oblique=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-BoldOblique.ttf + +-filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic-subst.ttf +-filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho-subst.ttf +-filename.AR_PL_ZenKai_Uni=/usr/share/fonts//truetype/arphic/ukai.ttf +-filename.Baekmuk_Dotum=/usr/share/fonts/truetype/baekmuk/dotum.ttf +-filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf ++filename.-misc-ar_pl_shanheisun_uni-medium-r-normal--*-*-*-*-p-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttf ++filename.-misc-baekmuk_batang-medium-r-normal--*-%d-*-*-c-*-*-*=/usr/share/fonts/truetype/baekmuk/batang.ttf ++filename.-misc-baekmuk_gulim-medium-r-normal--*-%d-*-*-c-*-*-*=/usr/share/fonts/truetype/baekmuk/gulim.ttf ++filename.-vlgothic-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf ++filename.-sazanami-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf ++ ++filename.LuxiSans-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisr.ttf ++filename.LuxiSans-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisb.ttf ++filename.LuxiSans-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisri.ttf ++filename.LuxiSans-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisbi.ttf ++filename.LuxiMono-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximr.ttf ++filename.LuxiMono-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximb.ttf ++filename.LuxiMono-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximri.ttf ++filename.LuxiMono-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luximbi.ttf ++filename.LuxiSerif-Regular=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirr.ttf ++filename.LuxiSerif-Bold=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirb.ttf ++filename.LuxiSerif-Oblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirri.ttf ++filename.LuxiSerif-BoldOblique=/usr/share/fonts/truetype/ttf-xfree86-nonfree/luxirbi.ttf ++ ++# AWT X11 font paths ++awtfontpath.latin-1=/usr/share/fonts/X11/Type1 ++awtfontpath.chinese-gb18030=/usr/share/fonts/truetype/arphic ++awtfontpath.japanese-x0208=/usr/share/fonts/truetype/vlgothic ++awtfontpath.korean=/usr/share/fonts/truetype/baekmuk --- openjdk-9-9~b94.orig/debian/patches/fontconfig-japanese.diff +++ openjdk-9-9~b94/debian/patches/fontconfig-japanese.diff @@ -0,0 +1,219 @@ +# used for Debian wheezy and Ubuntu 12.04 LTS or newer + +--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig 2013-02-07 17:01:24.723477262 +0100 ++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties 2013-02-07 17:03:39.043477916 +0100 +@@ -57,142 +57,142 @@ + + serif.plain.latin-1=DejaVu Serif + #serif.plain.latin-1.motif=LuxiSerif-Regular +-serif.plain.japanese-kochi=Kochi Mincho + serif.plain.japanese-sazanami=Sazanami Mincho + serif.plain.japanese-vlgothic=Sazanami Mincho ++serif.plain.japanese-ipafont=IPAMincho + serif.plain.korean-nanum=NanumMyeongjo + + serif.bold.latin-1=DejaVu Serif Bold + #serif.bold.latin-1.motif=LuxiSerif-Bold +-serif.bold.japanese-kochi=Kochi Mincho + serif.bold.japanese-sazanami=Sazanami Mincho + serif.bold.japanese-vlgothic=Sazanami Mincho ++serif.bold.japanese-ipafont=IPAMincho + serif.bold.korean-nanum=NanumMyeongjo Bold + + serif.italic.latin-1=DejaVu Serif Oblique + #serif.italic.latin-1.motif=LuxiSerif-Oblique +-serif.italic.japanese-kochi=Kochi Mincho + serif.italic.japanese-sazanami=Sazanami Mincho + serif.italic.japanese-vlgothic=Sazanami Mincho ++serif.italic.japanese-ipafont=IPAMincho + serif.italic.korean-nanum=NanumMyeongjo + + serif.bolditalic.latin-1=DejaVu Serif Bold Oblique + #serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique +-serif.bolditalic.japanese-kochi=Kochi Mincho + serif.bolditalic.japanese-sazanami=Sazanami Mincho + serif.bolditalic.japanese-vlgothic=Sazanami Mincho ++serif.bolditalic.japanese-ipafont=IPAMincho + serif.bolditalic.korean-nanum=NanumMyeongjo Bold + + sansserif.plain.latin-1=DejaVu Sans + #sansserif.plain.latin-1.motif=LuxiSans-Regular +-sansserif.plain.japanese-kochi=Kochi Gothic + sansserif.plain.japanese-sazanami=Sazanami Gothic + sansserif.plain.japanese-vlgothic=VL PGothic ++sansserif.plain.japanese-ipafont=IPAPGothic + sansserif.plain.korean-nanum=NanumGothic + + sansserif.bold.latin-1=DejaVu Sans Bold + #sansserif.bold.latin-1.motif=LuxiSans-Bold +-sansserif.bold.japanese-kochi=Kochi Gothic + sansserif.bold.japanese-sazanami=Sazanami Gothic + sansserif.bold.japanese-vlgothic=VL PGothic ++sansserif.bold.japanese-ipafont=IPAPGothic + sansserif.bold.korean-nanum=NanumGothic Bold + + sansserif.italic.latin-1=DejaVu Sans Oblique + #sansserif.italic.latin-1.motif=LuxiSans-Oblique +-sansserif.italic.japanese-kochi=Kochi Gothic + sansserif.italic.japanese-sazanami=Sazanami Gothic + sansserif.italic.japanese-vlgothic=VL PGothic ++sansserif.italic.japanese-ipafont=IPAPGothic + sansserif.italic.korean-nanum=NanumGothic + + sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique + #sansserif.bolditalic.latin-1.motif=LuxiSans-BoldOblique +-sansserif.bolditalic.japanese-kochi=Kochi Gothic + sansserif.bolditalic.japanese-sazanami=Sazanami Gothic + sansserif.bolditalic.japanese-vlgothic=VL PGothic ++sansserif.bolditalic.japanese-ipafont=IPAPGothic + sansserif.bolditalic.korean-nanum=NanumGothic Bold + + monospaced.plain.latin-1=DejaVu Sans Mono + #monospaced.plain.latin-1.motif=LuxiMono-Regular +-monospaced.plain.japanese-kochi=Kochi Gothic + monospaced.plain.japanese-sazanami=Sazanami Gothic + monospaced.plain.japanese-vlgothic=VL Gothic ++monospaced.plain.japanese-ipafont=IPAGothic + monospaced.plain.korean-nanum=NanumGothicCoding + + monospaced.bold.latin-1=DejaVu Sans Mono Bold + #monospaced.bold.latin-1.motif=LuxiMono-Bold +-monospaced.bold.japanese-kochi=Kochi Gothic + monospaced.bold.japanese-sazanami=Sazanami Gothic + monospaced.bold.japanese-vlgothic=VL Gothic ++monospaced.bold.japanese-ipafont=IPAGothic + monospaced.bold.korean-nanum=NanumGothicCoding Bold + + monospaced.italic.latin-1=DejaVu Sans Mono Oblique + #monospaced.italic.latin-1.motif=LuxiMono-Oblique +-monospaced.italic.japanese-kochi=Kochi Gothic + monospaced.italic.japanese-sazanami=Sazanami Gothic + monospaced.italic.japanese-vlgothic=VL Gothic ++monospaced.italic.japanese-ipafont=IPAGothic + monospaced.italic.korean-nanum=NanumGothicCoding + + monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique + #monospaced.bolditalic.latin-1.motif=LuxiMono-BoldOblique +-monospaced.bolditalic.japanese-kochi=Kochi Gothic + monospaced.bolditalic.japanese-sazanami=Sazanami Gothic + monospaced.bolditalic.japanese-vlgothic=VL Gothic ++monospaced.bolditalic.japanese-ipafont=IPAGothic + monospaced.bolditalic.korean-nanum=NanumGothicCoding Bold + + dialog.plain.latin-1=DejaVu Sans + #dialog.plain.latin-1.motif=LuxiSans-Regular +-dialog.plain.japanese-kochi=Kochi Gothic + dialog.plain.japanese-sazanami=Sazanami Gothic + dialog.plain.japanese-vlgothic=VL PGothic ++dialog.plain.japanese-ipafont=IPAPGothic + dialog.plain.korean-nanum=NanumGothic + + dialog.bold.latin-1=DejaVu Sans Bold + #dialog.bold.latin-1.motif=LuxiSans-Bold +-dialog.bold.japanese-kochi=Kochi Gothic + dialog.bold.japanese-sazanami=Sazanami Gothic + dialog.bold.japanese-vlgothic=VL PGothic ++dialog.bold.japanese-ipafont=IPAPGothic + dialog.bold.korean-nanum=NanumGothic Bold + + dialog.italic.latin-1=DejaVu Sans Oblique + #dialog.italic.latin-1.motif=LuxiSans-Oblique +-dialog.italic.japanese-kochi=Kochi Gothic + dialog.italic.japanese-sazanami=Sazanami Gothic + dialog.italic.japanese-vlgothic=VL PGothic ++dialog.italic.japanese-ipafont=IPAPGothic + dialog.italic.korean-nanum=NanumGothic + + dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique + #dialog.bolditalic.latin-1.motif=LuxiSans-BoldOblique +-dialog.bolditalic.japanese-kochi=Kochi Gothic + dialog.bolditalic.japanese-sazanami=Sazanami Gothic + dialog.bolditalic.japanese-vlgothic=VL PGothic ++dialog.bolditalic.japanese-ipafont=IPAPGothic + dialog.bolditalic.korean-nanum=NanumGothic Bold + + dialoginput.plain.latin-1=DejaVu Sans Mono + #dialoginput.plain.latin-1.motif=LuxiMono-Regular +-dialoginput.plain.japanese-kochi=Kochi Gothic + dialoginput.plain.japanese-sazanami=Sazanami Gothic + dialoginput.plain.japanese-vlgothic=VL Gothic ++dialoginput.plain.japanese-ipafont=IPAGothic + dialoginput.plain.korean-nanum=NanumGothic + + dialoginput.bold.latin-1=DejaVu Sans Mono Bold + #dialoginput.bold.latin-1.motif=LuxiMono-Bold +-dialoginput.bold.japanese-kochi=Kochi Gothic + dialoginput.bold.japanese-sazanami=Sazanami Gothic + dialoginput.bold.japanese-vlgothic=VL Gothic ++dialoginput.bold.japanese-ipafont=IPAGothic + dialoginput.bold.korean-nanum=NanumGothic Bold + + dialoginput.italic.latin-1=DejaVu Sans Mono Oblique + #dialoginput.italic.latin-1.motif=LuxiMono-Oblique +-dialoginput.italic.japanese-kochi=Kochi Gothic + dialoginput.italic.japanese-sazanami=Sazanami Gothic + dialoginput.italic.japanese-vlgothic=VL Gothic ++dialoginput.italic.japanese-ipafont=IPAGothic + dialoginput.italic.korean-nanum=NanumGothic + + dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique + #dialoginput.bolditalic.latin-1.motif=LuxiMono-BoldOblique +-dialoginput.bolditalic.japanese-kochi=Kochi Gothic + dialoginput.bolditalic.japanese-sazanami=Sazanami Gothic + dialoginput.bolditalic.japanese-vlgothic=VL Gothic ++dialoginput.bolditalic.japanese-ipafont=IPAGothic + dialoginput.bolditalic.korean-nanum=NanumGothic Bold + + # Search Sequences +@@ -201,18 +201,20 @@ + sequence.allfonts.GB18030=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei + sequence.allfonts.GB2312=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei + sequence.allfonts.GBK=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei +-sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi ++sequence.allfonts.x-euc-jp-linux=latin-1,japanese-ipafont,japanese-vlgothic,japanese-sazanami + sequence.allfonts.EUC-KR=latin-1,korean-nanum + sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-microhei,wqy-zenhei + sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-microhei,wqy-zenhei +-#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala +-sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-nanum,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu ++#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-ipafont,japanese-vlgothic,japanese-sazanami,korean-un,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala ++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-ipafont,japanese-vlgothic,japanese-sazanami,korean-nanum,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu ++ ++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-ipafont,japanese-vlgothic,japanese-sazanami,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu + + # Exclusion Ranges + +-exclusion.japanese-kochi=0390-03d6,2200-22ef,2701-27be + exclusion.japanese-sazanami=0390-03d6,2200-22ef,2701-27be + exclusion.japanese-vlgothic=0390-03d6,2200-22ef,2701-27be ++exclusion.japanese-ipafont=0390-03d6,2200-22ef,2701-27be + + # Font File Names + +@@ -244,12 +246,16 @@ + filename.NanumGothic_Bold=/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf + filename.NanumGothicCoding=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding.ttf + filename.NanumGothicCoding_Bold=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding_Bold.ttf +-filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf ++ ++#Japanese fonts + filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf +-filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf + filename.Sazanami_Mincho=/usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf + filename.VL_Gothic=/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf + filename.VL_PGothic=/usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf ++filename.IPAGothic=/usr/share/fonts/opentype/ipafont-gothic/ipag.ttf ++filename.IPAPGothic=/usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf ++filename.IPAMincho=/usr/share/fonts/opentype/ipafont-mincho/ipam.ttf ++filename.IPAPMincho=/usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf + + filename.Lohit_Bengali=/usr/share/fonts/truetype/ttf-bengali-fonts/lohit_bn.ttf + filename.Lohit_Gujarati=/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_gu.ttf +@@ -283,7 +289,6 @@ + awtfontpath.shanheisun=/usr/share/fonts/truetype/arphic + awtfontpath.wqy-microhei=/usr/share/fonts/truetype/wqy + awtfontpath.wqy-zenhei=/usr/share/fonts/truetype/wqy +-awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi + awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami + awtfontpath.japanese-vlgothic=/usr/share/fonts/truetype/vlgothic + awtfontpath.korean-nanum=/usr/share/fonts/truetype/nanum --- openjdk-9-9~b94.orig/debian/patches/fontconfig-korean-nanum.diff +++ openjdk-9-9~b94/debian/patches/fontconfig-korean-nanum.diff @@ -0,0 +1,266 @@ +# used for Debian wheezy and Ubuntu 12.04 LTS or newer + +--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig ++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties +@@ -60,200 +60,140 @@ + serif.plain.japanese-kochi=Kochi Mincho + serif.plain.japanese-sazanami=Sazanami Mincho + serif.plain.japanese-vlgothic=Sazanami Mincho +-serif.plain.korean-baekmuk=Baekmuk Batang +-#serif.plain.korean-baekmuk.motif=Baekmuk Batang +-serif.plain.korean-un=UnBatang +-#serif.plain.korean-un.motif=UnBatang ++serif.plain.korean-nanum=NanumMyeongjo + + serif.bold.latin-1=DejaVu Serif Bold + #serif.bold.latin-1.motif=LuxiSerif-Bold + serif.bold.japanese-kochi=Kochi Mincho + serif.bold.japanese-sazanami=Sazanami Mincho + serif.bold.japanese-vlgothic=Sazanami Mincho +-serif.bold.korean-baekmuk=Baekmuk Batang +-#serif.bold.korean-baekmuk.motif=Baekmuk Batang +-serif.bold.korean-un=UnBatang Bold +-#serif.bold.korean-un.motif=UnBatang Bold ++serif.bold.korean-nanum=NanumMyeongjo Bold + + serif.italic.latin-1=DejaVu Serif Oblique + #serif.italic.latin-1.motif=LuxiSerif-Oblique + serif.italic.japanese-kochi=Kochi Mincho + serif.italic.japanese-sazanami=Sazanami Mincho + serif.italic.japanese-vlgothic=Sazanami Mincho +-serif.italic.korean-baekmuk=Baekmuk Batang +-#serif.italic.korean-baekmuk.motif=Baekmuk Batang +-serif.italic.korean-un=UnBatang +-#serif.italic.korean-un.motif=UnBatang ++serif.italic.korean-nanum=NanumMyeongjo + + serif.bolditalic.latin-1=DejaVu Serif Bold Oblique + #serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique + serif.bolditalic.japanese-kochi=Kochi Mincho + serif.bolditalic.japanese-sazanami=Sazanami Mincho + serif.bolditalic.japanese-vlgothic=Sazanami Mincho +-serif.bolditalic.korean-baekmuk=Baekmuk Batang +-#serif.bolditalic.korean-baekmuk.motif=Baekmuk Batang +-serif.bolditalic.korean-un=UnBatang Bold +-#serif.bolditalic.korean-un.motif=UnBatang Bold ++serif.bolditalic.korean-nanum=NanumMyeongjo Bold + + sansserif.plain.latin-1=DejaVu Sans + #sansserif.plain.latin-1.motif=LuxiSans-Regular + sansserif.plain.japanese-kochi=Kochi Gothic + sansserif.plain.japanese-sazanami=Sazanami Gothic + sansserif.plain.japanese-vlgothic=VL PGothic +-sansserif.plain.korean-baekmuk=Baekmuk Gulim +-#sansserif.plain.korean-baekmuk.motif=Baekmuk Gulim +-sansserif.plain.korean-un=UnDotum +-#sansserif.plain.korean-un.motif=UnDotum ++sansserif.plain.korean-nanum=NanumGothic + + sansserif.bold.latin-1=DejaVu Sans Bold + #sansserif.bold.latin-1.motif=LuxiSans-Bold + sansserif.bold.japanese-kochi=Kochi Gothic + sansserif.bold.japanese-sazanami=Sazanami Gothic + sansserif.bold.japanese-vlgothic=VL PGothic +-sansserif.bold.korean-baekmuk=Baekmuk Gulim +-#sansserif.bold.korean-baekmuk.motif=Baekmuk Gulim +-sansserif.bold.korean-un=UnDotum Bold +-#sansserif.bold.korean-un.motif=UnDotum Bold ++sansserif.bold.korean-nanum=NanumGothic Bold + + sansserif.italic.latin-1=DejaVu Sans Oblique + #sansserif.italic.latin-1.motif=LuxiSans-Oblique + sansserif.italic.japanese-kochi=Kochi Gothic + sansserif.italic.japanese-sazanami=Sazanami Gothic + sansserif.italic.japanese-vlgothic=VL PGothic +-sansserif.italic.korean-baekmuk=Baekmuk Gulim +-#sansserif.italic.korean-baekmuk.motif=Baekmuk Gulim +-sansserif.italic.korean-un=UnDotum +-#sansserif.italic.korean-un.motif=UnDotum ++sansserif.italic.korean-nanum=NanumGothic + + sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique + #sansserif.bolditalic.latin-1.motif=LuxiSans-BoldOblique + sansserif.bolditalic.japanese-kochi=Kochi Gothic + sansserif.bolditalic.japanese-sazanami=Sazanami Gothic + sansserif.bolditalic.japanese-vlgothic=VL PGothic +-sansserif.bolditalic.korean-baekmuk=Baekmuk Gulim +-#sansserif.bolditalic.korean-baekmuk.motif=Baekmuk Gulim +-sansserif.bolditalic.korean-un=UnDotum Bold +-#sansserif.bolditalic.korean-un.motif=UnDotum Bold ++sansserif.bolditalic.korean-nanum=NanumGothic Bold + + monospaced.plain.latin-1=DejaVu Sans Mono + #monospaced.plain.latin-1.motif=LuxiMono-Regular + monospaced.plain.japanese-kochi=Kochi Gothic + monospaced.plain.japanese-sazanami=Sazanami Gothic + monospaced.plain.japanese-vlgothic=VL Gothic +-monospaced.plain.korean-baekmuk=Baekmuk Gulim +-#monospaced.plain.korean-baekmuk.motif=Baekmuk Gulim +-monospaced.plain.korean-un=UnDotum +-#monospaced.plain.korean-un.motif=UnDotum ++monospaced.plain.korean-nanum=NanumGothicCoding + + monospaced.bold.latin-1=DejaVu Sans Mono Bold + #monospaced.bold.latin-1.motif=LuxiMono-Bold + monospaced.bold.japanese-kochi=Kochi Gothic + monospaced.bold.japanese-sazanami=Sazanami Gothic + monospaced.bold.japanese-vlgothic=VL Gothic +-monospaced.bold.korean-baekmuk=Baekmuk Gulim +-#monospaced.bold.korean-baekmuk.motif=Baekmuk Gulim +-monospaced.bold.korean-un=UnDotum Bold +-#monospaced.bold.korean-un.motif=UnDotum Bold ++monospaced.bold.korean-nanum=NanumGothicCoding Bold + + monospaced.italic.latin-1=DejaVu Sans Mono Oblique + #monospaced.italic.latin-1.motif=LuxiMono-Oblique + monospaced.italic.japanese-kochi=Kochi Gothic + monospaced.italic.japanese-sazanami=Sazanami Gothic + monospaced.italic.japanese-vlgothic=VL Gothic +-monospaced.italic.korean-baekmuk=Baekmuk Gulim +-#monospaced.italic.korean-baekmuk.motif=Baekmuk Gulim +-monospaced.italic.korean-un=UnDotum +-#monospaced.italic.korean-un.motif=UnDotum ++monospaced.italic.korean-nanum=NanumGothicCoding + + monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique + #monospaced.bolditalic.latin-1.motif=LuxiMono-BoldOblique + monospaced.bolditalic.japanese-kochi=Kochi Gothic + monospaced.bolditalic.japanese-sazanami=Sazanami Gothic + monospaced.bolditalic.japanese-vlgothic=VL Gothic +-monospaced.bolditalic.korean-baekmuk=Baekmuk Gulim +-#monospaced.bolditalic.korean-baekmuk.motif=Baekmuk Gulim +-monospaced.bolditalic.korean-un=UnDotum Bold +-#monospaced.bolditalic.korean-un.motif=UnDotum Bold ++monospaced.bolditalic.korean-nanum=NanumGothicCoding Bold + + dialog.plain.latin-1=DejaVu Sans + #dialog.plain.latin-1.motif=LuxiSans-Regular + dialog.plain.japanese-kochi=Kochi Gothic + dialog.plain.japanese-sazanami=Sazanami Gothic + dialog.plain.japanese-vlgothic=VL PGothic +-dialog.plain.korean-baekmuk=Baekmuk Gulim +-#dialog.plain.korean-baekmuk.motif=Baekmuk Gulim +-dialog.plain.korean-un=UnDotum +-#dialog.plain.korean-un.motif=UnDotum ++dialog.plain.korean-nanum=NanumGothic + + dialog.bold.latin-1=DejaVu Sans Bold + #dialog.bold.latin-1.motif=LuxiSans-Bold + dialog.bold.japanese-kochi=Kochi Gothic + dialog.bold.japanese-sazanami=Sazanami Gothic + dialog.bold.japanese-vlgothic=VL PGothic +-dialog.bold.korean-baekmuk=Baekmuk Gulim +-#dialog.bold.korean-baekmuk.motif=Baekmuk Gulim +-dialog.bold.korean-un=UnDotum Bold +-#dialog.bold.korean-un.motif=UnDotum Bold ++dialog.bold.korean-nanum=NanumGothic Bold + + dialog.italic.latin-1=DejaVu Sans Oblique + #dialog.italic.latin-1.motif=LuxiSans-Oblique + dialog.italic.japanese-kochi=Kochi Gothic + dialog.italic.japanese-sazanami=Sazanami Gothic + dialog.italic.japanese-vlgothic=VL PGothic +-dialog.italic.korean-baekmuk=Baekmuk Gulim +-#dialog.italic.korean-baekmuk.motif=Baekmuk Gulim +-dialog.italic.korean-un=UnDotum +-#dialog.italic.korean-un.motif=UnDotum ++dialog.italic.korean-nanum=NanumGothic + + dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique + #dialog.bolditalic.latin-1.motif=LuxiSans-BoldOblique + dialog.bolditalic.japanese-kochi=Kochi Gothic + dialog.bolditalic.japanese-sazanami=Sazanami Gothic + dialog.bolditalic.japanese-vlgothic=VL PGothic +-dialog.bolditalic.korean-baekmuk=Baekmuk Gulim +-#dialog.bolditalic.korean-baekmuk.motif=Baekmuk Gulim +-dialog.bolditalic.korean-un=UnDotum Bold +-#dialog.bolditalic.korean-un.motif=UnDotum Bold ++dialog.bolditalic.korean-nanum=NanumGothic Bold + + dialoginput.plain.latin-1=DejaVu Sans Mono + #dialoginput.plain.latin-1.motif=LuxiMono-Regular + dialoginput.plain.japanese-kochi=Kochi Gothic + dialoginput.plain.japanese-sazanami=Sazanami Gothic + dialoginput.plain.japanese-vlgothic=VL Gothic +-dialoginput.plain.korean-baekmuk=Baekmuk Gulim +-#dialoginput.plain.korean-baekmuk.motif=Baekmuk Gulim +-dialoginput.plain.korean-un=UnDotum +-#dialoginput.plain.korean-un.motif=UnDotum ++dialoginput.plain.korean-nanum=NanumGothic + + dialoginput.bold.latin-1=DejaVu Sans Mono Bold + #dialoginput.bold.latin-1.motif=LuxiMono-Bold + dialoginput.bold.japanese-kochi=Kochi Gothic + dialoginput.bold.japanese-sazanami=Sazanami Gothic + dialoginput.bold.japanese-vlgothic=VL Gothic +-dialoginput.bold.korean-baekmuk=Baekmuk Gulim +-#dialoginput.bold.korean-baekmuk.motif=Baekmuk Gulim +-dialoginput.bold.korean-un=UnDotum Bold +-#dialoginput.bold.korean-un.motif=UnDotum Bold ++dialoginput.bold.korean-nanum=NanumGothic Bold + + dialoginput.italic.latin-1=DejaVu Sans Mono Oblique + #dialoginput.italic.latin-1.motif=LuxiMono-Oblique + dialoginput.italic.japanese-kochi=Kochi Gothic + dialoginput.italic.japanese-sazanami=Sazanami Gothic + dialoginput.italic.japanese-vlgothic=VL Gothic +-dialoginput.italic.korean-baekmuk=Baekmuk Gulim +-#dialoginput.italic.korean-baekmuk.motif=Baekmuk Gulim +-dialoginput.italic.korean-un=UnDotum +-#dialoginput.italic.korean-un.motif=UnDotum ++dialoginput.italic.korean-nanum=NanumGothic + + dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique + #dialoginput.bolditalic.latin-1.motif=LuxiMono-BoldOblique + dialoginput.bolditalic.japanese-kochi=Kochi Gothic + dialoginput.bolditalic.japanese-sazanami=Sazanami Gothic + dialoginput.bolditalic.japanese-vlgothic=VL Gothic +-dialoginput.bolditalic.korean-baekmuk=Baekmuk Gulim +-#dialoginput.bolditalic.korean-baekmuk.motif=Baekmuk Gulim +-dialoginput.bolditalic.korean-un=UnDotum Bold +-#dialoginput.bolditalic.korean-un.motif=UnDotum Bold ++dialoginput.bolditalic.korean-nanum=NanumGothic Bold + + # Search Sequences + +@@ -262,11 +202,11 @@ + sequence.allfonts.GB2312=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei + sequence.allfonts.GBK=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei + sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi +-sequence.allfonts.EUC-KR=latin-1,korean-un,korean-baekmuk ++sequence.allfonts.EUC-KR=latin-1,korean-nanum + sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-microhei,wqy-zenhei + sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-microhei,wqy-zenhei +-#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala +-sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu ++#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala ++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-nanum,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu + + # Exclusion Ranges + +@@ -298,12 +238,12 @@ + + filename.WenQuanYi_Micro_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc + filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc +-filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf +-filename.UnBatang=/usr/share/fonts/truetype/unfonts/UnBatang.ttf +-filename.UnBatang_Bold=/usr/share/fonts/truetype/unfonts/UnBatangBold.ttf +-filename.Baekmuk_Gulim=/usr/share/fonts/truetype/baekmuk/gulim.ttf +-filename.UnDotum=/usr/share/fonts/truetype/unfonts/UnDotum.ttf +-filename.UnDotum_Bold=/usr/share/fonts/truetype/unfonts/UnDotumBold.ttf ++filename.NanumMyeongjo=/usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf ++filename.NanumMyeongjo_Bold=/usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf ++filename.NanumGothic=/usr/share/fonts/truetype/nanum/NanumGothic.ttf ++filename.NanumGothic_Bold=/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf ++filename.NanumGothicCoding=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding.ttf ++filename.NanumGothicCoding_Bold=/usr/share/fonts/truetype/nanum-coding/NanumGothic_Coding_Bold.ttf + filename.Kochi_Gothic=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf + filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf + filename.Kochi_Mincho=/usr/share/fonts/truetype/kochi/kochi-mincho.ttf +@@ -346,5 +286,4 @@ + awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi + awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami + awtfontpath.japanese-vlgothic=/usr/share/fonts/truetype/vlgothic +-awtfontpath.korean-baekmuk=/usr/share/fonts/truetype/baekmuk +-awtfontpath.korean-un=/usr/share/fonts/truetype/unfonts ++awtfontpath.korean-nanum=/usr/share/fonts/truetype/nanum --- openjdk-9-9~b94.orig/debian/patches/fontconfig-wqy-microhei.patch +++ openjdk-9-9~b94/debian/patches/fontconfig-wqy-microhei.patch @@ -0,0 +1,53 @@ +--- openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.orig ++++ openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties +@@ -37,6 +37,7 @@ + #allfonts.uminghk.motif=AR PL UMing HK + allfonts.umingtw=AR PL UMing TW + #allfonts.umingtw.motif=AR PL UMing TW ++allfonts.wqy-microhei=WenQuanYi Micro Hei + allfonts.wqy-zenhei=WenQuanYi Zen Hei + #allfonts.wqy-zenhei.motif=WenQuanYi Zen Hei + allfonts.shanheisun=AR PL ShanHeiSun Uni +@@ -257,15 +258,15 @@ + # Search Sequences + + sequence.allfonts=latin-1 +-sequence.allfonts.GB18030=latin-1,umingcn,shanheisun,wqy-zenhei +-sequence.allfonts.GB2312=latin-1,umingcn,shanheisun,wqy-zenhei +-sequence.allfonts.GBK=latin-1,umingcn,shanheisun,wqy-zenhei ++sequence.allfonts.GB18030=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei ++sequence.allfonts.GB2312=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei ++sequence.allfonts.GBK=latin-1,wqy-microhei,umingcn,shanheisun,wqy-zenhei + sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi + sequence.allfonts.EUC-KR=latin-1,korean-un,korean-baekmuk +-sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-zenhei +-sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-zenhei ++sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-microhei,wqy-zenhei ++sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-microhei,wqy-zenhei + #sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala +-sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu ++sequence.fallback=wqy-microhei,uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu + + # Exclusion Ranges + +@@ -293,9 +294,10 @@ + filename.AR_PL_UMing_CN=/usr/share/fonts/truetype/arphic/uming.ttc + filename.AR_PL_UMing_HK=/usr/share/fonts/truetype/arphic/uming.ttc + filename.AR_PL_UMing_TW=/usr/share/fonts/truetype/arphic/uming.ttc +-filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttf ++filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttc + +-filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf ++filename.WenQuanYi_Micro_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc ++filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc + filename.Baekmuk_Batang=/usr/share/fonts/truetype/baekmuk/batang.ttf + filename.UnBatang=/usr/share/fonts/truetype/unfonts/UnBatang.ttf + filename.UnBatang_Bold=/usr/share/fonts/truetype/unfonts/UnBatangBold.ttf +@@ -339,6 +341,7 @@ + awtfontpath.uminghk=/usr/share/fonts/truetype/arphic + awtfontpath.umingtw=/usr/share/fonts/truetype/arphic + awtfontpath.shanheisun=/usr/share/fonts/truetype/arphic ++awtfontpath.wqy-microhei=/usr/share/fonts/truetype/wqy + awtfontpath.wqy-zenhei=/usr/share/fonts/truetype/wqy + awtfontpath.japanese-kochi=/usr/share/fonts/truetype/kochi + awtfontpath.japanese-sazanami=/usr/share/fonts/truetype/sazanami --- openjdk-9-9~b94.orig/debian/patches/hotspot-disable-werror.diff +++ openjdk-9-9~b94/debian/patches/hotspot-disable-werror.diff @@ -0,0 +1,15 @@ +# DP: Turn off -Werror for hotspot, overwrites -fpermissive. + +Index: b/hotspot/make/linux/makefiles/gcc.make +=================================================================== +--- a/hotspot/make/linux/makefiles/gcc.make ++++ b/hotspot/make/linux/makefiles/gcc.make +@@ -203,7 +203,7 @@ else + endif + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror -Wno-error=format -Wno-error=deprecated ++WARNINGS_ARE_ERRORS = + + ifeq ($(USE_CLANG), true) + # However we need to clean the code up before we can unrestrictedly enable this option with Clang --- openjdk-9-9~b94.orig/debian/patches/hotspot-libpath.diff +++ openjdk-9-9~b94/debian/patches/hotspot-libpath.diff @@ -0,0 +1,37 @@ +# DP: Set the hotspot default libpath to ignore lib64 and add multiarch + +Index: b/hotspot/src/os/linux/vm/os_linux.cpp +=================================================================== +--- a/hotspot/src/os/linux/vm/os_linux.cpp ++++ b/hotspot/src/os/linux/vm/os_linux.cpp +@@ -283,10 +283,10 @@ void os::init_system_properties_values() + // 1: ... + // ... + // 7: The default directories, normally /lib and /usr/lib. +-#if defined(AMD64) || defined(_LP64) && (defined(SPARC) || defined(PPC) || defined(S390)) +- #define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib" ++#ifdef DEB_MULTIARCH ++#define DEFAULT_LIBPATH "/usr/lib/" DEB_MULTIARCH "/jni" ":/lib/" DEB_MULTIARCH ":/usr/lib/" DEB_MULTIARCH ":/usr/lib/jni:/lib:/usr/lib" + #else +- #define DEFAULT_LIBPATH "/lib:/usr/lib" ++ #define DEFAULT_LIBPATH "/usr/lib/jni:/lib:/usr/lib" + #endif + + // Base path of extensions installed on the system. +Index: b/hotspot/make/linux/makefiles/vm.make +=================================================================== +--- a/hotspot/make/linux/makefiles/vm.make ++++ b/hotspot/make/linux/makefiles/vm.make +@@ -93,6 +93,12 @@ CXXFLAGS = \ + ${HS_LIB_ARCH} \ + ${VM_DISTRO} + ++DEB_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || true) ++ifneq (,$(DEB_MULTIARCH)) ++CPPFLAGS += -DDEB_MULTIARCH="\"$(DEB_MULTIARCH)\"" ++CXXFLAGS += -DDEB_MULTIARCH="\"$(DEB_MULTIARCH)\"" ++endif ++ + # This is VERY important! The version define must only be supplied to vm_version.o + # If not, ccache will not re-use the cache at all, since the version string might contain + # a time and date. --- openjdk-9-9~b94.orig/debian/patches/hotspot-mips-align.diff +++ openjdk-9-9~b94/debian/patches/hotspot-mips-align.diff @@ -0,0 +1,13 @@ +Index: b/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp +=================================================================== +--- a/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp ++++ b/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp +@@ -331,7 +331,7 @@ int CppInterpreter::native_entry(Method* + ThreadStateTransition::transition_from_java(thread, _thread_in_native); + + // Make the call +- intptr_t result[4 - LogBytesPerWord]; ++ intptr_t result[4 - LogBytesPerWord] __attribute__((__aligned__(__alignof__(double)))); + ffi_call(handler->cif(), (void (*)()) function, result, arguments); + + // Change the thread state back to _thread_in_Java. --- openjdk-9-9~b94.orig/debian/patches/hotspot-no-march-i586.diff +++ openjdk-9-9~b94/debian/patches/hotspot-no-march-i586.diff @@ -0,0 +1,15 @@ +# Don't explicitly build with -march=i586 on i386 architectures. + +Index: b/hotspot/make/linux/makefiles/gcc.make +=================================================================== +--- a/hotspot/make/linux/makefiles/gcc.make ++++ b/hotspot/make/linux/makefiles/gcc.make +@@ -176,7 +176,7 @@ ifeq ($(USE_CLANG), true) + endif + + ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) +-ARCHFLAG/i486 = -m32 -march=i586 ++ARCHFLAG/i486 = -m32 + ARCHFLAG/amd64 = -m64 $(STACK_ALIGNMENT_OPT) + ARCHFLAG/aarch64 = + ARCHFLAG/ia64 = --- openjdk-9-9~b94.orig/debian/patches/hotspot-powerpcspe.diff +++ openjdk-9-9~b94/debian/patches/hotspot-powerpcspe.diff @@ -0,0 +1,11 @@ +--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp ++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp +@@ -36,7 +36,7 @@ + + // Atomically copy 64 bits of data + static void atomic_copy64(volatile void *src, volatile void *dst) { +-#if defined(PPC32) ++#if defined(PPC32) && !defined(__NO_FPRS__) + double tmp; + asm volatile ("lfd %0, 0(%1)\n" + "stfd %0, 0(%2)\n" --- openjdk-9-9~b94.orig/debian/patches/hotspot-set-compiler.diff +++ openjdk-9-9~b94/debian/patches/hotspot-set-compiler.diff @@ -0,0 +1,12 @@ +# DP: Allow to overwrite CC/CXX from the environment +--- openjdk/hotspot/make/linux/makefiles/gcc.make ++++ openjdk/hotspot/make/linux/makefiles/gcc.make +@@ -39,7 +39,7 @@ + ifeq ($(USE_CLANG), true) + CXX = clang++ + CC = clang +- else ++ else ifeq ($(CXX),) + CXX = g++ + CC = gcc + endif --- openjdk-9-9~b94.orig/debian/patches/hotspot-sparc-arch.diff +++ openjdk-9-9~b94/debian/patches/hotspot-sparc-arch.diff @@ -0,0 +1,13 @@ +Index: b/hotspot/make/linux/makefiles/defs.make +=================================================================== +--- a/hotspot/make/linux/makefiles/defs.make ++++ b/hotspot/make/linux/makefiles/defs.make +@@ -75,7 +75,7 @@ ifeq ($(ARCH), ia64) + endif + + # sparc +-ifneq (,$(findstring $(ARCH), sparc)) ++ifneq (,$(findstring sparc, $(ARCH))) + ifeq ($(ARCH_DATA_MODEL), 64) + ARCH_DATA_MODEL = 64 + MAKE_ARGS += LP64=1 --- openjdk-9-9~b94.orig/debian/patches/hotspot-sparc-fix.diff +++ openjdk-9-9~b94/debian/patches/hotspot-sparc-fix.diff @@ -0,0 +1,23 @@ +# unused patch + +Index: b/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp ++++ b/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp +@@ -28,6 +28,7 @@ + + static bool detect_niagara() { + char cpu[128]; ++ char *buf = cpu; + bool rv = false; + + FILE* fp = fopen("/proc/cpuinfo", "r"); +@@ -36,7 +37,7 @@ static bool detect_niagara() { + } + + while (!feof(fp)) { +- if (fscanf(fp, "cpu\t\t: %100[^\n]", &cpu) == 1) { ++ if (fscanf(fp, "cpu\t\t: %100[^\n]", buf) == 1) { + if (strstr(cpu, "Niagara") != NULL) { + rv = true; + } --- openjdk-9-9~b94.orig/debian/patches/hotspot-warn-no-errformat.diff +++ openjdk-9-9~b94/debian/patches/hotspot-warn-no-errformat.diff @@ -0,0 +1,28 @@ +# DP: Build Hotspot with -Wno-error=format (not warning free on ppc64el). + +Index: b/hotspot/make/solaris/makefiles/gcc.make +=================================================================== +--- a/hotspot/make/solaris/makefiles/gcc.make ++++ b/hotspot/make/solaris/makefiles/gcc.make +@@ -117,7 +117,7 @@ endif + + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++WARNINGS_ARE_ERRORS = -Werror -Wno-error=format + + # Enable these warnings. See 'info gcc' about details on these options + WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2 +Index: b/hotspot/make/linux/makefiles/gcc.make +=================================================================== +--- a/hotspot/make/linux/makefiles/gcc.make ++++ b/hotspot/make/linux/makefiles/gcc.make +@@ -203,7 +203,7 @@ else + endif + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++WARNINGS_ARE_ERRORS = -Werror -Wno-error=format -Wno-error=deprecated + + ifeq ($(USE_CLANG), true) + # However we need to clean the code up before we can unrestrictedly enable this option with Clang --- openjdk-9-9~b94.orig/debian/patches/icc_loading_with_symlink.diff +++ openjdk-9-9~b94/debian/patches/icc_loading_with_symlink.diff @@ -0,0 +1,55 @@ +Description: Allow loading of ICC profiles when jre/lib/cmm is a + symlink by disabling call to isChildOf(f, dir) in getStandardProfileFile + and getProfileFile methods. + . + isChildOf method try to ensures f.getCanonicalPath start with + dir.getCanonicalPath but, on openjdk-6, dir.getCanonicalPath + will resolve to realpath and so won't match. + . + It should fix "Cannot open file sRGB.pf" errors. +Author: Damien Raude-Morvan +Last-Update: 2012-05-18 +Bug-Debian: http://bugs.debian.org/641530 +Forwarded: not-yet + +Index: b/jdk/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java +=================================================================== +--- a/jdk/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ++++ b/jdk/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java +@@ -1827,9 +1827,6 @@ public class ICC_Profile implements Seri + dir = st.nextToken(); + fullPath = dir + File.separatorChar + fileName; + f = new File(fullPath); +- if (!isChildOf(f, dir)) { +- f = null; +- } + } + } + +@@ -1868,26 +1865,6 @@ public class ICC_Profile implements Seri + } + + /** +- * Checks whether given file resides inside give directory. +- */ +- private static boolean isChildOf(File f, String dirName) { +- try { +- File dir = new File(dirName); +- String canonicalDirName = dir.getCanonicalPath(); +- if (!canonicalDirName.endsWith(File.separator)) { +- canonicalDirName += File.separator; +- } +- String canonicalFileName = f.getCanonicalPath(); +- return canonicalFileName.startsWith(canonicalDirName); +- } catch (IOException e) { +- /* we do not expect the IOException here, because invocation +- * of this function is always preceded by isFile() call. +- */ +- return false; +- } +- } +- +- /** + * Checks whether built-in profile specified by fileName exists. + */ + private static boolean standardProfileExists(final String fileName) { --- openjdk-9-9~b94.orig/debian/patches/icedtea-override-redirect-compiz.patch +++ openjdk-9-9~b94/debian/patches/icedtea-override-redirect-compiz.patch @@ -0,0 +1,12 @@ +Index: b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java +=================================================================== +--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java ++++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java +@@ -1223,6 +1223,7 @@ class XWindowPeer extends XPanelPeer imp + + boolean isOverrideRedirect() { + return XWM.getWMID() == XWM.OPENLOOK_WM || ++ XWM.getWMID() == XWM.COMPIZ_WM || + Window.Type.POPUP.equals(getWindowType()); + } + --- openjdk-9-9~b94.orig/debian/patches/icedtea-sound.diff +++ openjdk-9-9~b94/debian/patches/icedtea-sound.diff @@ -0,0 +1,158 @@ +--- a/icedtea-sound/acinclude.m4 ++++ b/icedtea-sound/acinclude.m4 +@@ -24,12 +24,14 @@ + BUILD_ARCH_DIR=amd64 + INSTALL_ARCH_DIR=amd64 + JRE_ARCH_DIR=amd64 ++ ARCHFLAG="-m64" + ;; + i?86) + BUILD_ARCH_DIR=i586 + INSTALL_ARCH_DIR=i386 + JRE_ARCH_DIR=i386 + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m32" + ;; + alpha*) + BUILD_ARCH_DIR=alpha +@@ -40,11 +42,13 @@ + BUILD_ARCH_DIR=arm + INSTALL_ARCH_DIR=arm + JRE_ARCH_DIR=arm ++ ARCHFLAG="-D_LITTLE_ENDIAN" + ;; + arm64|aarch64) + BUILD_ARCH_DIR=aarch64 + INSTALL_ARCH_DIR=aarch64 + JRE_ARCH_DIR=aarch64 ++ ARCHFLAG="-D_LITTLE_ENDIAN" + ;; + mips) + BUILD_ARCH_DIR=mips +@@ -61,16 +65,19 @@ + INSTALL_ARCH_DIR=ppc + JRE_ARCH_DIR=ppc + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m32" + ;; + powerpc64) + BUILD_ARCH_DIR=ppc64 + INSTALL_ARCH_DIR=ppc64 + JRE_ARCH_DIR=ppc64 ++ ARCHFLAG="-m64" + ;; + powerpc64le) + BUILD_ARCH_DIR=ppc64 + INSTALL_ARCH_DIR=ppc64 + JRE_ARCH_DIR=ppc64 ++ ARCHFLAG="-m64" + ;; + sparc) + BUILD_ARCH_DIR=sparc +@@ -78,23 +85,27 @@ + JRE_ARCH_DIR=sparc + CROSS_TARGET_ARCH=sparc + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m32" + ;; + sparc64) + BUILD_ARCH_DIR=sparcv9 + INSTALL_ARCH_DIR=sparcv9 + JRE_ARCH_DIR=sparc64 ++ ARCHFLAG="-m64" + ;; + s390) + BUILD_ARCH_DIR=s390 + INSTALL_ARCH_DIR=s390 + JRE_ARCH_DIR=s390 + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m31" + ;; + s390x) + BUILD_ARCH_DIR=s390x + INSTALL_ARCH_DIR=s390x + JRE_ARCH_DIR=s390x + CROSS_TARGET_ARCH=s390x ++ ARCHFLAG="-m64" + ;; + sh*) + BUILD_ARCH_DIR=sh +--- a/icedtea-sound/configure ++++ b/icedtea-sound/configure +@@ -3719,12 +3719,14 @@ + BUILD_ARCH_DIR=amd64 + INSTALL_ARCH_DIR=amd64 + JRE_ARCH_DIR=amd64 ++ ARCHFLAG="-m64" + ;; + i?86) + BUILD_ARCH_DIR=i586 + INSTALL_ARCH_DIR=i386 + JRE_ARCH_DIR=i386 + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m32" + ;; + alpha*) + BUILD_ARCH_DIR=alpha +@@ -3735,11 +3737,13 @@ + BUILD_ARCH_DIR=arm + INSTALL_ARCH_DIR=arm + JRE_ARCH_DIR=arm ++ ARCHFLAG="-D_LITTLE_ENDIAN" + ;; + arm64|aarch64) + BUILD_ARCH_DIR=aarch64 + INSTALL_ARCH_DIR=aarch64 + JRE_ARCH_DIR=aarch64 ++ ARCHFLAG="-D_LITTLE_ENDIAN" + ;; + mips) + BUILD_ARCH_DIR=mips +@@ -3756,16 +3760,19 @@ + INSTALL_ARCH_DIR=ppc + JRE_ARCH_DIR=ppc + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m32" + ;; + powerpc64) + BUILD_ARCH_DIR=ppc64 + INSTALL_ARCH_DIR=ppc64 + JRE_ARCH_DIR=ppc64 ++ ARCHFLAG="-m64" + ;; + powerpc64le) + BUILD_ARCH_DIR=ppc64 + INSTALL_ARCH_DIR=ppc64 + JRE_ARCH_DIR=ppc64 ++ ARCHFLAG="-m64" + ;; + sparc) + BUILD_ARCH_DIR=sparc +@@ -3773,23 +3780,27 @@ + JRE_ARCH_DIR=sparc + CROSS_TARGET_ARCH=sparc + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m32" + ;; + sparc64) + BUILD_ARCH_DIR=sparcv9 + INSTALL_ARCH_DIR=sparcv9 + JRE_ARCH_DIR=sparc64 ++ ARCHFLAG="-m64" + ;; + s390) + BUILD_ARCH_DIR=s390 + INSTALL_ARCH_DIR=s390 + JRE_ARCH_DIR=s390 + ARCH_PREFIX=${LINUX32} ++ ARCHFLAG="-m31" + ;; + s390x) + BUILD_ARCH_DIR=s390x + INSTALL_ARCH_DIR=s390x + JRE_ARCH_DIR=s390x + CROSS_TARGET_ARCH=s390x ++ ARCHFLAG="-m64" + ;; + sh*) + BUILD_ARCH_DIR=sh --- openjdk-9-9~b94.orig/debian/patches/icedtea-sound2.diff +++ openjdk-9-9~b94/debian/patches/icedtea-sound2.diff @@ -0,0 +1,22 @@ +--- a/icedtea-sound/acinclude.m4 ++++ a/icedtea-sound/acinclude.m4 +@@ -527,7 +527,7 @@ + } + }] + EOF +- if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then ++ if $JAVAC -cp . $JAVACFLAGS -source 6 -target 6 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_jdk_works=yes; + else +--- a/icedtea-sound/configure ++++ b/icedtea-sound/configure +@@ -4601,7 +4601,7 @@ + } + } + EOF +- if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&5 2>&1; then ++ if $JAVAC -cp . $JAVACFLAGS -source 6 -target 6 $CLASS >&5 2>&1; then + if $JAVA -classpath . $BYTECODE >&5 2>&1; then + it_cv_jdk_works=yes; + else --- openjdk-9-9~b94.orig/debian/patches/include-all-srcs.diff +++ openjdk-9-9~b94/debian/patches/include-all-srcs.diff @@ -0,0 +1,57 @@ +Description: Include all source files in src.zip +Origin: vendor, http://pkgs.fedoraproject.org/cgit/java-1.8.0-openjdk.git/plain/include-all-srcs.patch +Forwarded: not-needed +--- a/jdk/make/CreateJars.gmk ++++ b/jdk/make/CreateJars.gmk +@@ -569,38 +569,12 @@ + ########################################################################################## + + SRC_ZIP_INCLUDES = \ +- com/sun/corba \ +- com/sun/image/codec/jpeg \ +- com/sun/imageio \ +- com/sun/java_cup \ +- com/sun/javadoc \ +- com/sun/java/swing \ +- com/sun/jmx \ +- com/sun/naming \ +- com/sun/org/apache \ +- com/sun/security/auth \ +- com/sun/security/jgss \ +- com/sun/source \ ++ com \ + java \ +- javax/accessibility \ +- javax/annotation \ +- javax/imageio \ +- javax/lang \ +- javax/management \ +- javax/naming \ +- javax/print \ +- javax/rmi \ +- javax/script \ +- javax/security \ +- javax/sound \ +- javax/sql \ +- javax/swing \ +- javax/tools \ +- javax/xml \ +- org/ietf \ +- org/omg \ +- org/w3c/dom \ +- org/xml/sax \ ++ javax \ ++ jdk \ ++ org \ ++ sun \ + # + + SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes +@@ -632,7 +606,6 @@ + $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \ + SRC := $(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src, \ + INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \ +- EXCLUDES := javax/swing/beaninfo, \ + SUFFIXES := .java .c .h, \ + ZIP := $(IMAGES_OUTPUTDIR)/src.zip, \ + EXTRA_DEPS := $(LAUNCHER_ZIP_SRC))) --- openjdk-9-9~b94.orig/debian/patches/jamvm-fix.diff +++ openjdk-9-9~b94/debian/patches/jamvm-fix.diff @@ -0,0 +1,95 @@ +--- jamvm/jamvm/src/classlib/openjdk/jvm.c ++++ jamvm/jamvm/src/classlib/openjdk/jvm.c +@@ -517,6 +517,48 @@ jclass JVM_FindClassFromBootLoader(JNIEnv *env, const char *name) { + } + + ++/* JVM_FindClassFromCaller ++ * Find a class from a given class loader. Throws ClassNotFoundException. ++ * name: name of class ++ * init: whether initialization is done ++ * loader: class loader to look up the class. ++ * This may not be the same as the caller's class loader. ++ * caller: initiating class. The initiating class may be null when a security ++ * manager is not installed. ++ * ++ * Find a class with this name in this loader, ++ * using the caller's "protection domain". ++ */ ++ ++jclass JVM_FindClassFromCaller(JNIEnv *env, const char *name, ++ jboolean init, jobject loader, ++ jclass caller) { ++ Class *class; ++ ++ TRACE("JVM_FindClassFromCaller(env=%p, name=%s, init=%d, loader=%p," ++ " caller=%p)", env, name, init, loader, caller); ++ ++ /* XXX The caller's protection domain should be used during ++ the findClassFromClassLoader but there is no specification or ++ unit-test in OpenJDK documenting the desired effect */ ++ ++ class = findClassFromClassLoader((char *)name, loader); ++ ++ if(class == NULL) { ++ Object *excep = exceptionOccurred(); ++ char *dot_name = slash2DotsDup((char*)name); ++ ++ clearException(); ++ signalChainedException(java_lang_ClassNotFoundException, ++ dot_name, excep); ++ sysFree(dot_name); ++ } else if(init) ++ initClass(class); ++ ++ return class; ++} ++ ++ + /* JVM_FindClassFromClassLoader */ + + jclass JVM_FindClassFromClassLoader(JNIEnv *env, const char *name, +@@ -2965,6 +3007,24 @@ void JVM_GetVersionInfo(JNIEnv *env, jvm_version_info *info, size_t info_size) { + } + + ++/* JVM_GetTemporaryDirectory ++ * Return the temporary directory that the VM uses for the attach ++ * and perf data files. ++ * ++ * It is important that this directory is well-known and the ++ * same for all VM instances. It cannot be affected by configuration ++ * variables such as java.io.tmpdir. ++ * ++ * JamVM do not support the jvmstat framework thus this is left unimplemented. ++ */ ++ ++jstring JVM_GetTemporaryDirectory(JNIEnv *env) { ++ UNIMPLEMENTED("JVM_GetTemporaryDirectory"); ++ ++ return 0; ++} ++ ++ + /* JVM_RegisterSignal */ + + extern void signalHandler(int sig); +--- jamvm/jamvm/src/classlib/openjdk/classlib-defs.h ++++ jamvm/jamvm/src/classlib/openjdk/classlib-defs.h +@@ -1,5 +1,6 @@ + /* +- * Copyright (C) 2011, 2013, 2014 Robert Lougher . ++ * Copyright (C) 2011, 2013, 2014, 2015 ++ * Robert Lougher . + * + * This file is part of JamVM. + * +@@ -23,7 +23,7 @@ + #define CLASSLIB_CLASS_SPECIAL JTHREAD + + #if OPENJDK_VERSION == 8 +-#define CLASSLIB_CLASS_PAD_SIZE 10*sizeof(Object*)+1*sizeof(int) ++#define CLASSLIB_CLASS_PAD_SIZE 11*sizeof(Object*)+1*sizeof(int) + #elif OPENJDK_VERSION == 7 + #define CLASSLIB_CLASS_PAD_SIZE 18*sizeof(Object*)+2*sizeof(int) + #else --- openjdk-9-9~b94.orig/debian/patches/java-access-bridge-security.patch +++ openjdk-9-9~b94/debian/patches/java-access-bridge-security.patch @@ -0,0 +1,15 @@ +# patch only used for builds with java-access-bridge support + +--- openjdk/jdk/src/share/lib/security/java.security-linux ++++ openjdk/jdk/src/share/lib/security/java.security-linux +@@ -149,7 +149,9 @@ + com.sun.org.apache.xml.internal.security.,\ + com.sun.org.glassfish.,\ + org.jcp.xml.dsig.internal.,\ +- oracle.jrockit.jfr. ++ oracle.jrockit.jfr.,\ ++ org.GNOME.Accessibility.,\ ++ org.GNOME.Bonobo. + # + # List of comma-separated packages that start with or equal this string + # will cause a security exception to be thrown when --- openjdk-9-9~b94.orig/debian/patches/jdk-8067331.diff +++ openjdk-9-9~b94/debian/patches/jdk-8067331.diff @@ -0,0 +1,32 @@ +# DP: JDK-8067331, Zero: Atomic::xchg and Atomic::xchg_ptr need full memory barrier + +Index: b/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp ++++ b/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp +@@ -222,10 +222,10 @@ inline void Atomic::dec_ptr(volatile voi + + inline jint Atomic::xchg(jint exchange_value, volatile jint* dest) { + #ifdef ARM +- return arm_lock_test_and_set(dest, exchange_value); ++ jint result = arm_lock_test_and_set(dest, exchange_value); + #else + #ifdef M68K +- return m68k_lock_test_and_set(dest, exchange_value); ++ jint result = m68k_lock_test_and_set(dest, exchange_value); + #else + // __sync_lock_test_and_set is a bizarrely named atomic exchange + // operation. Note that some platforms only support this with the +@@ -245,10 +245,10 @@ inline jint Atomic::xchg(jint exchange_v + inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, + volatile intptr_t* dest) { + #ifdef ARM +- return arm_lock_test_and_set(dest, exchange_value); ++ intptr_t result = arm_lock_test_and_set(dest, exchange_value); + #else + #ifdef M68K +- return m68k_lock_test_and_set(dest, exchange_value); ++ intptr_t result = m68k_lock_test_and_set(dest, exchange_value); + #else + intptr_t result = __sync_lock_test_and_set (dest, exchange_value); + __sync_synchronize(); --- openjdk-9-9~b94.orig/debian/patches/jdk-freetypeScaler-crash.diff +++ openjdk-9-9~b94/debian/patches/jdk-freetypeScaler-crash.diff @@ -0,0 +1,133 @@ +Description: + + Fixing the bad JNI code in the font manager code. Two issues: + + o The JNIEnv is unique to the thread. It cannot be saved by one thread and + reused by another. Use GetEnv instead. + + o The 'font2D' jobject needs to be converted into a global reference because + its lifetime exceeds the lifetime of a native method call. + +Evaluation: + +Appropriately register/free everything with the garbage collector. + +Fix: + +# HG changeset patch +# User martin +# Date 1224202830 25200 +# Node ID 3c9d6001d8a90698a3540a2a483717f26a98db78 +# Parent 68730f05449cd4f39ce1cb82adc6c4e57f87554f +Crash in freetypeScaler.c due to insufficient GC protection +Summary: NewGlobalRef/DeleteGlobalRef as needed. +Reviewed-by: +Contributed-by: yamauchi@google.com + +Index: b/jdk/make/mapfiles/libfontmanager/mapfile-vers +=================================================================== +--- a/jdk/make/mapfiles/libfontmanager/mapfile-vers ++++ b/jdk/make/mapfiles/libfontmanager/mapfile-vers +@@ -27,6 +27,7 @@ + + SUNWprivate_1.1 { + global: ++ JNI_OnLoad; + getSunFontIDs; + newLayoutTableCache; + freeLayoutTableCache; +Index: b/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c +=================================================================== +--- a/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c ++++ b/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c +@@ -48,16 +48,6 @@ + #define ROUND(x) ((int) (x+0.5)) + + typedef struct { +- /* Important note: +- JNI forbids sharing same env between different threads. +- We are safe, because pointer is overwritten every time we get into +- JNI call (see setupFTContext). +- +- Pointer is used by font data reading callbacks +- such as ReadTTFontFileFunc. +- +- NB: We may consider switching to JNI_GetEnv. */ +- JNIEnv* env; + FT_Library library; + FT_Face face; + FT_Stream faceStream; +@@ -91,6 +81,13 @@ int z_verbose; + void z_error(char *s) {} + #endif + ++static JavaVM* jvm = NULL; ++ ++JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { ++ jvm = vm; ++ return JNI_VERSION_1_2; ++} ++ + /**************** Error handling utilities *****************/ + + static jmethodID invalidateScalerMID; +@@ -114,6 +111,10 @@ static void freeNativeResources(JNIEnv * + FT_Done_Face(scalerInfo->face); + FT_Done_FreeType(scalerInfo->library); + ++ if (scalerInfo->font2D != NULL) { ++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D); ++ } ++ + if (scalerInfo->directBuffer != NULL) { + (*env)->DeleteGlobalRef(env, scalerInfo->directBuffer); + } +@@ -145,8 +146,8 @@ static unsigned long ReadTTFontFileFunc( + unsigned char* destBuffer, + unsigned long numBytes) + { ++ JNIEnv* env = (JNIEnv*) JNU_GetEnv(jvm, JNI_VERSION_1_2); + FTScalerInfo *scalerInfo = (FTScalerInfo *) stream->pathname.pointer; +- JNIEnv* env = scalerInfo->env; + jobject bBuffer; + int bread = 0; + +@@ -222,8 +223,7 @@ Java_sun_font_FreetypeFontScaler_initNat + if (scalerInfo == NULL) + return 0; + +- scalerInfo->env = env; +- scalerInfo->font2D = font2D; ++ scalerInfo->font2D = (*env)->NewGlobalRef(env, font2D); + scalerInfo->fontDataOffset = 0; + scalerInfo->fontDataLength = 0; + scalerInfo->fileSize = filesize; +@@ -240,6 +240,7 @@ Java_sun_font_FreetypeFontScaler_initNat + */ + error = FT_Init_FreeType(&scalerInfo->library); + if (error) { ++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D); + free(scalerInfo); + return 0; + } +@@ -313,6 +314,7 @@ Java_sun_font_FreetypeFontScaler_initNat + } + if (scalerInfo->fontData != NULL) + free(scalerInfo->fontData); ++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D); + free(scalerInfo); + return 0; + } +@@ -373,8 +375,10 @@ static int setupFTContext(JNIEnv *env, + FTScalerContext *context) { + int errCode = 0; + +- scalerInfo->env = env; +- scalerInfo->font2D = font2D; ++ if (scalerInfo->font2D != NULL) { ++ (*env)->DeleteGlobalRef(env, scalerInfo->font2D); ++ } ++ scalerInfo->font2D = (*env)->NewGlobalRef(env, font2D); + + if (context != NULL) { + FT_Set_Transform(scalerInfo->face, &context->transform, NULL); --- openjdk-9-9~b94.orig/debian/patches/jdk-pulseaudio.diff +++ openjdk-9-9~b94/debian/patches/jdk-pulseaudio.diff @@ -0,0 +1,16 @@ +--- a/jdk/src/java.desktop/share/conf/sound.properties ++++ b/jdk/src/java.desktop/share/conf/sound.properties +@@ -37,3 +37,13 @@ + # Specify the default Receiver by provider and name: + # javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1 + # ++ ++javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider ++javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider ++javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider ++javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider ++ ++#javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider ++#javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider ++#javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider ++#javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider --- openjdk-9-9~b94.orig/debian/patches/jdk-target-arch-define.diff +++ openjdk-9-9~b94/debian/patches/jdk-target-arch-define.diff @@ -0,0 +1,21 @@ +# DP: Define _alpha_ / _sh_ preprocessor macros instead of alpha / sh. + +Index: b/common/autoconf/flags.m4 +=================================================================== +--- a/common/autoconf/flags.m4 ++++ b/common/autoconf/flags.m4 +@@ -654,7 +654,13 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAG + COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D$OPENJDK_TARGET_OS_UPPERCASE" + + # Setup target CPU +- COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY" ++ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"'" ++ case "$OPENJDK_TARGET_CPU_LEGACY" in ++ alpha*|sh*) ++ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_${OPENJDK_TARGET_CPU_LEGACY}_";; ++ *) ++ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D$OPENJDK_TARGET_CPU_LEGACY" ++ esac + + # Setup debug/release defines + if test "x$DEBUG_LEVEL" = xrelease; then --- openjdk-9-9~b94.orig/debian/patches/jexec.diff.in +++ openjdk-9-9~b94/debian/patches/jexec.diff.in @@ -0,0 +1,14 @@ +--- a/jdk/src/java.base/unix/native/launcher/jexec.c ++++ b/jdk/src/java.base/unix/native/launcher/jexec.c +@@ -168,9 +168,10 @@ + + /* Get the path to the java binary, which is in a known position relative + * to our current position, which is in argv[0]. */ +- if (getJavaPath(argv[argi++], java, RELATIVE_DEPTH) != 0) { ++ if (getJavaPath("/@basedir@/jre/lib/jexec", java, RELATIVE_DEPTH) != 0) { + errorExit(errno, MISSING_JAVA_MSG); + } ++ argi++; + alen = (argc + 2) * (sizeof (const char *)); + if (alen <= 0 || alen > INT_MAX / sizeof(char *)) { + errorExit(errno, BAD_ARG_MSG); --- openjdk-9-9~b94.orig/debian/patches/kfreebsd-support-hotspot.diff +++ openjdk-9-9~b94/debian/patches/kfreebsd-support-hotspot.diff @@ -0,0 +1,823 @@ +--- src.orig/hotspot/src/os/linux/vm/decoder_linux.cpp ++++ src/hotspot/src/os/linux/vm/decoder_linux.cpp +@@ -22,6 +22,7 @@ + * + */ + ++#include "utilities/globalDefinitions.hpp" + #include "prims/jvm.h" + #include "utilities/decoder_elf.hpp" + +--- src.orig/hotspot/src/os/linux/vm/attachListener_linux.cpp ++++ src/hotspot/src/os/linux/vm/attachListener_linux.cpp +@@ -39,6 +39,10 @@ + #define UNIX_PATH_MAX sizeof(((struct sockaddr_un *)0)->sun_path) + #endif + ++#if defined(__FreeBSD_kernel__) ++#include ++#endif ++ + // The attach mechanism on Linux uses a UNIX domain socket. An attach listener + // thread is created at startup or is created on-demand via a signal from + // the client tool. The attach listener creates a socket and binds it to a file +@@ -337,16 +341,26 @@ + + // get the credentials of the peer and check the effective uid/guid + // - check with jeff on this. ++#if defined(LOCAL_PEERCRED) /* GNU/kFreeBSD */ ++ struct xucred cred_info; ++ socklen_t optlen = sizeof(cred_info); ++ if (::getsockopt(s, SOL_SOCKET, LOCAL_PEERCRED, (void*)&cred_info, &optlen) == -1) { ++#else + struct ucred cred_info; + socklen_t optlen = sizeof(cred_info); + if (::getsockopt(s, SOL_SOCKET, SO_PEERCRED, (void*)&cred_info, &optlen) == -1) { ++#endif + ::close(s); + continue; + } + uid_t euid = geteuid(); + gid_t egid = getegid(); + ++#if defined(LOCAL_PEERCRED) /* GNU/kFreeBSD */ ++ if (cred_info.cr_uid != euid || cred_info.cr_gid != egid) { ++#else + if (cred_info.uid != euid || cred_info.gid != egid) { ++#endif + ::close(s); + continue; + } +--- src.orig/hotspot/src/os/linux/vm/jvm_linux.cpp ++++ src/hotspot/src/os/linux/vm/jvm_linux.cpp +@@ -169,7 +169,9 @@ + "WINCH", SIGWINCH, /* Window size change (4.3 BSD, Sun). */ + "POLL", SIGPOLL, /* Pollable event occurred (System V). */ + "IO", SIGIO, /* I/O now possible (4.2 BSD). */ ++#ifdef SIGPWR + "PWR", SIGPWR, /* Power failure restart (System V). */ ++#endif + #ifdef SIGSYS + "SYS", SIGSYS /* Bad system call. Only on some Linuxen! */ + #endif +--- src.orig/hotspot/src/os/linux/vm/os_linux.cpp ++++ src/hotspot/src/os/linux/vm/os_linux.cpp +@@ -22,6 +22,7 @@ + * + */ + ++#include "utilities/globalDefinitions.hpp" + // no precompiled headers + #include "classfile/classLoader.hpp" + #include "classfile/systemDictionary.hpp" +@@ -91,8 +92,16 @@ + # include + # include + # include ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++# include ++# include ++#ifndef ETIME ++# define ETIME ETIMEDOUT ++#endif ++#else + # include + # include ++#endif + # include + # include + # include +@@ -197,11 +206,22 @@ + } + + julong os::Linux::available_memory() { ++#ifndef __FreeBSD_kernel__ + // values in struct sysinfo are "unsigned long" + struct sysinfo si; + sysinfo(&si); + + return (julong)si.freeram * si.mem_unit; ++#else ++ int mib[2] = {CTL_HW, HW_USERMEM}, mem; ++ size_t len; ++ len = sizeof(mem); ++ if (sysctl(mib, 2, &mem, &len, NULL, 0) == 0) { ++ return (julong) mem; ++ } else { ++ return 0; ++ } ++#endif + } + + julong os::physical_memory() { +@@ -239,11 +259,11 @@ + // i386: 224, ia64: 1105, amd64: 186, sparc 143 + #ifdef __ia64__ + #define SYS_gettid 1105 +-#elif __i386__ ++#elif defined(__i386__) + #define SYS_gettid 224 +-#elif __amd64__ ++#elif defined(__amd64__) + #define SYS_gettid 186 +-#elif __sparc__ ++#elif defined(__sparc__) + #define SYS_gettid 143 + #else + #error define gettid for the arch +@@ -2219,18 +2239,22 @@ + st->print("Memory:"); + st->print(" %dk page", os::vm_page_size()>>10); + ++#ifndef __FreeBSD_kernel__ + // values in struct sysinfo are "unsigned long" + struct sysinfo si; + sysinfo(&si); ++#endif + + st->print(", physical " UINT64_FORMAT "k", + os::physical_memory() >> 10); + st->print("(" UINT64_FORMAT "k free)", + os::available_memory() >> 10); ++#ifndef __FreeBSD_kernel__ + st->print(", swap " UINT64_FORMAT "k", + ((jlong)si.totalswap * si.mem_unit) >> 10); + st->print("(" UINT64_FORMAT "k free)", + ((jlong)si.freeswap * si.mem_unit) >> 10); ++#endif + st->cr(); + } + +@@ -6007,6 +6031,7 @@ + int os::fork_and_exec(char* cmd) { + const char * argv[4] = {"sh", "-c", cmd, NULL}; + ++#ifdef __linux__ + // fork() in LinuxThreads/NPTL is not async-safe. It needs to run + // pthread_atfork handlers and reset pthread library. All we need is a + // separate process to execve. Make a direct syscall to fork process. +@@ -6014,6 +6039,9 @@ + // the best... + pid_t pid = NOT_IA64(syscall(__NR_fork);) + IA64_ONLY(fork();) ++#else ++ pid_t pid = fork(); ++#endif + + if (pid < 0) { + // fork failed +@@ -6022,6 +6050,7 @@ + } else if (pid == 0) { + // child process + ++#ifdef __linux__ + // execve() in LinuxThreads will call pthread_kill_other_threads_np() + // first to kill every thread on the thread list. Because this list is + // not reset by fork() (see notes above), execve() will instead kill +@@ -6031,6 +6060,9 @@ + // above. + NOT_IA64(syscall(__NR_execve, "/bin/sh", argv, environ);) + IA64_ONLY(execve("/bin/sh", (char* const*)argv, environ);) ++#else ++ execve("/bin/sh", (char* const*)argv, environ); ++#endif + + // execve failed + _exit(-1); +--- src.orig/hotspot/src/os/linux/vm/osThread_linux.cpp ++++ src/hotspot/src/os/linux/vm/osThread_linux.cpp +@@ -22,6 +22,7 @@ + * + */ + ++#include "utilities/globalDefinitions.hpp" + // no precompiled headers + #include "runtime/mutex.hpp" + #include "runtime/osThread.hpp" +--- src.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp ++++ src/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +@@ -22,6 +22,7 @@ + * + */ + ++#include "utilities/globalDefinitions.hpp" + // no precompiled headers + #include "asm/macroAssembler.hpp" + #include "classfile/classLoader.hpp" +@@ -74,6 +75,7 @@ + # include + # include + ++#ifdef __linux__ + #ifdef AMD64 + #define REG_SP REG_RSP + #define REG_PC REG_RIP +@@ -87,6 +89,54 @@ + #define SPELL_REG_SP "esp" + #define SPELL_REG_FP "ebp" + #endif // AMD64 ++#endif ++ ++#if defined(__FreeBSD_kernel__) ++#define context_trapno uc_mcontext.mc_trapno ++#ifdef AMD64 ++#define SPELL_REG_SP "rsp" ++#define SPELL_REG_FP "rbp" ++#define context_sp uc_mcontext.mc_rsp ++#define context_pc uc_mcontext.mc_rip ++#define context_fp uc_mcontext.mc_rbp ++#define context_rip uc_mcontext.mc_rip ++#define context_rsp uc_mcontext.mc_rsp ++#define context_rbp uc_mcontext.mc_rbp ++#define context_flags uc_mcontext.mc_flags ++#define context_err uc_mcontext.mc_err ++#define context_rax uc_mcontext.mc_rax ++#define context_rbx uc_mcontext.mc_rbx ++#define context_rcx uc_mcontext.mc_rcx ++#define context_rdx uc_mcontext.mc_rdx ++#define context_rsi uc_mcontext.mc_rsi ++#define context_rdi uc_mcontext.mc_rdi ++#define context_r8 uc_mcontext.mc_r8 ++#define context_r9 uc_mcontext.mc_r9 ++#define context_r10 uc_mcontext.mc_r10 ++#define context_r11 uc_mcontext.mc_r11 ++#define context_r12 uc_mcontext.mc_r12 ++#define context_r13 uc_mcontext.mc_r13 ++#define context_r14 uc_mcontext.mc_r14 ++#define context_r15 uc_mcontext.mc_r15 ++#else ++#define SPELL_REG_SP "esp" ++#define SPELL_REG_FP "ebp" ++#define context_sp uc_mcontext.mc_esp ++#define context_pc uc_mcontext.mc_eip ++#define context_fp uc_mcontext.mc_ebp ++#define context_eip uc_mcontext.mc_eip ++#define context_esp uc_mcontext.mc_esp ++#define context_eax uc_mcontext.mc_eax ++#define context_ebx uc_mcontext.mc_ebx ++#define context_ecx uc_mcontext.mc_ecx ++#define context_edx uc_mcontext.mc_edx ++#define context_ebp uc_mcontext.mc_ebp ++#define context_esi uc_mcontext.mc_esi ++#define context_edi uc_mcontext.mc_edi ++#define context_eflags uc_mcontext.mc_eflags ++#define context_trapno uc_mcontext.mc_trapno ++#endif // AMD64 ++#endif + + PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC + +@@ -118,15 +168,27 @@ + } + + address os::Linux::ucontext_get_pc(ucontext_t * uc) { ++#if defined(__FreeBSD_kernel__) ++ return (address)uc->context_pc; ++#else + return (address)uc->uc_mcontext.gregs[REG_PC]; ++#endif + } + + intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) { ++#if defined(__FreeBSD_kernel__) ++ return (intptr_t*)uc->context_sp; ++#else + return (intptr_t*)uc->uc_mcontext.gregs[REG_SP]; ++#endif + } + + intptr_t* os::Linux::ucontext_get_fp(ucontext_t * uc) { ++#if defined(__FreeBSD_kernel__) ++ return (intptr_t*)uc->context_fp; ++#else + return (intptr_t*)uc->uc_mcontext.gregs[REG_FP]; ++#endif + } + + // For Forte Analyzer AsyncGetCallTrace profiling support - thread +@@ -278,7 +340,11 @@ + pc = (address) os::Linux::ucontext_get_pc(uc); + + if (StubRoutines::is_safefetch_fault(pc)) { ++#if defined(__FreeBSD_kernel__) ++ uc->context_pc = intptr_t(StubRoutines::continuation_for_safefetch_fault(pc)); ++#else + uc->uc_mcontext.gregs[REG_PC] = intptr_t(StubRoutines::continuation_for_safefetch_fault(pc)); ++#endif + return 1; + } + +@@ -443,7 +509,11 @@ + // Furthermore, a false-positive should be harmless. + if (UnguardOnExecutionViolation > 0 && + (sig == SIGSEGV || sig == SIGBUS) && ++#if defined(__FreeBSD_kernel__) ++ uc->context_trapno == trap_page_fault) { ++#else + uc->uc_mcontext.gregs[REG_TRAPNO] == trap_page_fault) { ++#endif + int page_size = os::vm_page_size(); + address addr = (address) info->si_addr; + address pc = os::Linux::ucontext_get_pc(uc); +@@ -513,7 +583,11 @@ + // save all thread context in case we need to restore it + if (thread != NULL) thread->set_saved_exception_pc(pc); + ++#if defined(__FreeBSD_kernel__) ++ uc->context_pc = (intptr_t)stub; ++#else + uc->uc_mcontext.gregs[REG_PC] = (greg_t)stub; ++#endif + return true; + } + +@@ -765,6 +839,7 @@ + + ucontext_t *uc = (ucontext_t*)context; + st->print_cr("Registers:"); ++#ifdef __linux__ + #ifdef AMD64 + st->print( "RAX=" INTPTR_FORMAT, uc->uc_mcontext.gregs[REG_RAX]); + st->print(", RBX=" INTPTR_FORMAT, uc->uc_mcontext.gregs[REG_RBX]); +@@ -807,6 +882,48 @@ + st->print(", EFLAGS=" INTPTR_FORMAT, uc->uc_mcontext.gregs[REG_EFL]); + st->print(", CR2=" INTPTR_FORMAT, uc->uc_mcontext.cr2); + #endif // AMD64 ++#elif defined(__FreeBSD_kernel__) ++#ifdef AMD64 ++ st->print( "RAX=" INTPTR_FORMAT, uc->context_rax); ++ st->print(", RBX=" INTPTR_FORMAT, uc->context_rbx); ++ st->print(", RCX=" INTPTR_FORMAT, uc->context_rcx); ++ st->print(", RDX=" INTPTR_FORMAT, uc->context_rdx); ++ st->cr(); ++ st->print( "RSP=" INTPTR_FORMAT, uc->context_rsp); ++ st->print(", RBP=" INTPTR_FORMAT, uc->context_rbp); ++ st->print(", RSI=" INTPTR_FORMAT, uc->context_rsi); ++ st->print(", RDI=" INTPTR_FORMAT, uc->context_rdi); ++ st->cr(); ++ st->print( "R8 =" INTPTR_FORMAT, uc->context_r8); ++ st->print(", R9 =" INTPTR_FORMAT, uc->context_r9); ++ st->print(", R10=" INTPTR_FORMAT, uc->context_r10); ++ st->print(", R11=" INTPTR_FORMAT, uc->context_r11); ++ st->cr(); ++ st->print( "R12=" INTPTR_FORMAT, uc->context_r12); ++ st->print(", R13=" INTPTR_FORMAT, uc->context_r13); ++ st->print(", R14=" INTPTR_FORMAT, uc->context_r14); ++ st->print(", R15=" INTPTR_FORMAT, uc->context_r15); ++ st->cr(); ++ st->print( "RIP=" INTPTR_FORMAT, uc->context_rip); ++ st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_flags); ++ st->print(", ERR=" INTPTR_FORMAT, uc->context_err); ++ st->cr(); ++ st->print(" TRAPNO=" INTPTR_FORMAT, uc->context_trapno); ++#else ++ st->print( "EAX=" INTPTR_FORMAT, uc->context_eax); ++ st->print(", EBX=" INTPTR_FORMAT, uc->context_ebx); ++ st->print(", ECX=" INTPTR_FORMAT, uc->context_ecx); ++ st->print(", EDX=" INTPTR_FORMAT, uc->context_edx); ++ st->cr(); ++ st->print( "ESP=" INTPTR_FORMAT, uc->context_esp); ++ st->print(", EBP=" INTPTR_FORMAT, uc->context_ebp); ++ st->print(", ESI=" INTPTR_FORMAT, uc->context_esi); ++ st->print(", EDI=" INTPTR_FORMAT, uc->context_edi); ++ st->cr(); ++ st->print( "EIP=" INTPTR_FORMAT, uc->context_eip); ++ st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_eflags); ++#endif // AMD64 ++#endif + st->cr(); + st->cr(); + +@@ -837,6 +954,7 @@ + + // this is only for the "general purpose" registers + ++#ifdef __linux__ + #ifdef AMD64 + st->print("RAX="); print_location(st, uc->uc_mcontext.gregs[REG_RAX]); + st->print("RBX="); print_location(st, uc->uc_mcontext.gregs[REG_RBX]); +@@ -864,6 +982,35 @@ + st->print("ESI="); print_location(st, uc->uc_mcontext.gregs[REG_ESI]); + st->print("EDI="); print_location(st, uc->uc_mcontext.gregs[REG_EDI]); + #endif // AMD64 ++#elif defined(__FreeBSD_kernel__) ++#ifdef AMD64 ++ st->print("RAX="); print_location(st, uc->context_rax); ++ st->print("RBX="); print_location(st, uc->context_rbx); ++ st->print("RCX="); print_location(st, uc->context_rcx); ++ st->print("RDX="); print_location(st, uc->context_rdx); ++ st->print("RSP="); print_location(st, uc->context_rsp); ++ st->print("RBP="); print_location(st, uc->context_rbp); ++ st->print("RSI="); print_location(st, uc->context_rsi); ++ st->print("RDI="); print_location(st, uc->context_rdi); ++ st->print("R8 ="); print_location(st, uc->context_r8); ++ st->print("R9 ="); print_location(st, uc->context_r9); ++ st->print("R10="); print_location(st, uc->context_r10); ++ st->print("R11="); print_location(st, uc->context_r11); ++ st->print("R12="); print_location(st, uc->context_r12); ++ st->print("R13="); print_location(st, uc->context_r13); ++ st->print("R14="); print_location(st, uc->context_r14); ++ st->print("R15="); print_location(st, uc->context_r15); ++#else ++ st->print("EAX="); print_location(st, uc->context_eax); ++ st->print("EBX="); print_location(st, uc->context_ebx); ++ st->print("ECX="); print_location(st, uc->context_ecx); ++ st->print("EDX="); print_location(st, uc->context_edx); ++ st->print("ESP="); print_location(st, uc->context_esp); ++ st->print("EBP="); print_location(st, uc->context_ebp); ++ st->print("ESI="); print_location(st, uc->context_esi); ++ st->print("EDI="); print_location(st, uc->context_edi); ++#endif // AMD64 ++#endif + + st->cr(); + } +--- src.orig/hotspot/src/share/vm/memory/allocation.hpp ++++ src/hotspot/src/share/vm/memory/allocation.hpp +@@ -25,8 +25,8 @@ + #ifndef SHARE_VM_MEMORY_ALLOCATION_HPP + #define SHARE_VM_MEMORY_ALLOCATION_HPP + +-#include "runtime/globals.hpp" + #include "utilities/globalDefinitions.hpp" ++#include "runtime/globals.hpp" + #include "utilities/macros.hpp" + #ifdef COMPILER1 + #include "c1/c1_globals.hpp" +--- src.orig/hotspot/src/share/vm/ci/ciObject.hpp ++++ src/hotspot/src/share/vm/ci/ciObject.hpp +@@ -25,6 +25,7 @@ + #ifndef SHARE_VM_CI_CIOBJECT_HPP + #define SHARE_VM_CI_CIOBJECT_HPP + ++#include "utilities/globalDefinitions.hpp" + #include "ci/ciBaseObject.hpp" + #include "ci/ciClassList.hpp" + #include "memory/allocation.hpp" +--- src.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp ++++ src/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +@@ -22,6 +22,7 @@ + * + */ + ++#include "utilities/globalDefinitions.hpp" + // no precompiled headers + #include "classfile/vmSymbols.hpp" + #include "gc_interface/collectedHeap.hpp" +--- src.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ++++ src/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +@@ -76,7 +76,7 @@ + # include + # endif + +-#if defined(LINUX) || defined(_ALLBSD_SOURCE) ++#if defined(LINUX) || defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) + #ifndef __STDC_LIMIT_MACROS + #define __STDC_LIMIT_MACROS + #endif // __STDC_LIMIT_MACROS +--- src.orig/hotspot/make/defs.make ++++ src/hotspot/make/defs.make +@@ -167,9 +167,6 @@ + # Windows should have OS predefined + ifeq ($(OS),) + OS := $(shell uname -s) +- ifneq ($(findstring BSD,$(OS)),) +- OS=bsd +- endif + ifeq ($(OS), Darwin) + OS=bsd + endif +@@ -195,6 +192,10 @@ + OSNAME=linux + endif + ++ifeq ($(OS), GNU/kFreeBSD) ++ OSNAME=linux ++endif ++ + # Determinations of default make arguments and platform specific settings + MAKE_ARGS= + +--- src.orig/hotspot/make/linux/Makefile ++++ src/hotspot/make/linux/Makefile +@@ -232,6 +232,9 @@ + SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% + OS_VERSION := $(shell uname -r) + EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION)) ++ifeq ($(shell uname -s), GNU/kFreeBSD) ++EMPTY_IF_NOT_SUPPORTED = supported ++endif + + check_os_version: + ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),) +--- src.orig/hotspot/make/linux/makefiles/defs.make ++++ src/hotspot/make/linux/makefiles/defs.make +@@ -102,7 +102,7 @@ + endif + + # i686/i586 ie 32-bit x86 +-ifneq (,$(findstring $(ARCH), i686 i586)) ++ifneq (,$(filter i686 i386, $(ARCH))) + ARCH_DATA_MODEL = 32 + PLATFORM = linux-i586 + VM_PLATFORM = linux_i486 +--- src.orig/hotspot/agent/src/os/linux/ps_core.c ++++ src/hotspot/agent/src/os/linux/ps_core.c +@@ -551,11 +551,16 @@ + return false; + + // copy regs ++#if defined(__FreeBSD_kernel__) ++ memcpy(&newthr->regs, &prstat->pr_reg, sizeof(struct user_regs_struct)); ++#else + memcpy(&newthr->regs, prstat->pr_reg, sizeof(struct user_regs_struct)); ++#endif + + if (is_debug()) { + print_debug("integer regset\n"); + #ifdef i386 ++#ifdef __linux__ + // print the regset + print_debug("\teax = 0x%x\n", newthr->regs.eax); + print_debug("\tebx = 0x%x\n", newthr->regs.ebx); +@@ -566,9 +571,21 @@ + print_debug("\tesi = 0x%x\n", newthr->regs.esi); + print_debug("\tedi = 0x%x\n", newthr->regs.edi); + print_debug("\teip = 0x%x\n", newthr->regs.eip); ++#elif defined(__FreeBSD_kernel__) ++ print_debug("\teax = 0x%x\n", newthr->regs.r_eax); ++ print_debug("\tebx = 0x%x\n", newthr->regs.r_ebx); ++ print_debug("\tecx = 0x%x\n", newthr->regs.r_ecx); ++ print_debug("\tedx = 0x%x\n", newthr->regs.r_edx); ++ print_debug("\tesp = 0x%x\n", newthr->regs.r_esp); ++ print_debug("\tebp = 0x%x\n", newthr->regs.r_ebp); ++ print_debug("\tesi = 0x%x\n", newthr->regs.r_esi); ++ print_debug("\tedi = 0x%x\n", newthr->regs.r_edi); ++ print_debug("\teip = 0x%x\n", newthr->regs.r_eip); ++#endif + #endif + + #if defined(amd64) || defined(x86_64) ++#ifdef __linux__ + // print the regset + print_debug("\tr15 = 0x%lx\n", newthr->regs.r15); + print_debug("\tr14 = 0x%lx\n", newthr->regs.r14); +@@ -597,6 +614,27 @@ + print_debug("\tes = 0x%lx\n", newthr->regs.es); + print_debug("\tfs = 0x%lx\n", newthr->regs.fs); + print_debug("\tgs = 0x%lx\n", newthr->regs.gs); ++#elif defined(__FreeBSD_kernel__) ++ print_debug("\tr15 = 0x%lx\n", newthr->regs.r_r15); ++ print_debug("\tr14 = 0x%lx\n", newthr->regs.r_r14); ++ print_debug("\tr13 = 0x%lx\n", newthr->regs.r_r13); ++ print_debug("\tr12 = 0x%lx\n", newthr->regs.r_r12); ++ print_debug("\trbp = 0x%lx\n", newthr->regs.r_rbp); ++ print_debug("\trbx = 0x%lx\n", newthr->regs.r_rbx); ++ print_debug("\tr11 = 0x%lx\n", newthr->regs.r_r11); ++ print_debug("\tr10 = 0x%lx\n", newthr->regs.r_r10); ++ print_debug("\tr9 = 0x%lx\n", newthr->regs.r_r9); ++ print_debug("\tr8 = 0x%lx\n", newthr->regs.r_r8); ++ print_debug("\trax = 0x%lx\n", newthr->regs.r_rax); ++ print_debug("\trcx = 0x%lx\n", newthr->regs.r_rcx); ++ print_debug("\trdx = 0x%lx\n", newthr->regs.r_rdx); ++ print_debug("\trsi = 0x%lx\n", newthr->regs.r_rsi); ++ print_debug("\trdi = 0x%lx\n", newthr->regs.r_rdi); ++ print_debug("\trip = 0x%lx\n", newthr->regs.r_rip); ++ print_debug("\tcs = 0x%lx\n", newthr->regs.r_cs); ++ print_debug("\trsp = 0x%lx\n", newthr->regs.r_rsp); ++ print_debug("\tss = 0x%lx\n", newthr->regs.r_ss); ++#endif + #endif + } + +--- src.orig/hotspot/agent/src/os/linux/ps_proc.c ++++ src/hotspot/agent/src/os/linux/ps_proc.c +@@ -40,6 +40,22 @@ + #define __WALL 0x40000000 // Copied from /usr/include/linux/wait.h + #endif + ++#ifndef PTRACE_PEEKDATA ++#define PTRACE_PEEKDATA PT_READ_D ++#endif ++ ++#ifndef PTRACE_ATTACH ++#define PTRACE_ATTACH PT_ATTACH ++#endif ++ ++#ifndef PTRACE_DETACH ++#define PTRACE_DETACH PT_DETACH ++#endif ++ ++#ifndef PTRACE_CONT ++#define PTRACE_CONT PT_CONTINUE ++#endif ++ + // This file has the libproc implementation specific to live process + // For core files, refer to ps_core.c + +@@ -57,7 +73,11 @@ + // before calling process_read_data. + + static bool process_read_data(struct ps_prochandle* ph, uintptr_t addr, char *buf, size_t size) { ++#if defined(__FreeBSD_kernel__) ++ int rslt; ++#else + long rslt; ++#endif + size_t i, words; + uintptr_t end_addr = addr + size; + uintptr_t aligned_addr = align(addr, sizeof(long)); +@@ -65,36 +85,62 @@ + if (aligned_addr != addr) { + char *ptr = (char *)&rslt; + errno = 0; ++#if defined(__FreeBSD_kernel__) ++ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, (caddr_t) aligned_addr, 0); ++#else + rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0); ++#endif + if (errno) { + print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr); + return false; + } + for (; aligned_addr != addr; aligned_addr++, ptr++); ++#if defined(__FreeBSD_kernel__) ++ for (; ((intptr_t)aligned_addr % sizeof(int)) && aligned_addr < end_addr; ++#else + for (; ((intptr_t)aligned_addr % sizeof(long)) && aligned_addr < end_addr; ++#endif + aligned_addr++) + *(buf++) = *(ptr++); + } + ++#if defined(__FreeBSD_kernel__) ++ words = (end_addr - aligned_addr) / sizeof(int); ++#else + words = (end_addr - aligned_addr) / sizeof(long); ++#endif + + // assert((intptr_t)aligned_addr % sizeof(long) == 0); + for (i = 0; i < words; i++) { + errno = 0; ++#if defined(__FreeBSD_kernel__) ++ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, (caddr_t) aligned_addr, 0); ++#else + rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0); ++#endif + if (errno) { + print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr); + return false; + } ++#if defined(__FreeBSD_kernel__) ++ *(int *)buf = rslt; ++ buf += sizeof(int); ++ aligned_addr += sizeof(int); ++#else + *(long *)buf = rslt; + buf += sizeof(long); + aligned_addr += sizeof(long); ++#endif + } + + if (aligned_addr != end_addr) { + char *ptr = (char *)&rslt; + errno = 0; ++#if defined(__FreeBSD_kernel__) ++ rslt = ptrace(PTRACE_PEEKDATA, ph->pid, (caddr_t) aligned_addr, 0); ++#else + rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0); ++#endif + if (errno) { + print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr); + return false; +@@ -133,7 +179,11 @@ + #endif + + #ifdef PTRACE_GETREGS_REQ ++#if defined(__FreeBSD_kernel__) ++ if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, (caddr_t) user, 0) < 0) { ++#else + if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, user, NULL) < 0) { ++#endif + print_debug("ptrace(PTRACE_GETREGS, ...) failed for lwp %d\n", pid); + return false; + } +@@ -205,7 +255,11 @@ + + // attach to a process/thread specified by "pid" + static bool ptrace_attach(pid_t pid) { ++#if defined(__FreeBSD_kernel__) ++ if (ptrace(PTRACE_ATTACH, pid, NULL, 0) < 0) { ++#else + if (ptrace(PTRACE_ATTACH, pid, NULL, NULL) < 0) { ++#endif + print_debug("ptrace(PTRACE_ATTACH, ..) failed for %d\n", pid); + return false; + } else { +@@ -299,7 +353,11 @@ + + // detach a given pid + static bool ptrace_detach(pid_t pid) { ++#if defined(__FreeBSD_kernel__) ++ if (pid && ptrace(PTRACE_DETACH, pid, NULL, 0) < 0) { ++#else + if (pid && ptrace(PTRACE_DETACH, pid, NULL, NULL) < 0) { ++#endif + print_debug("ptrace(PTRACE_DETACH, ..) failed for %d\n", pid); + return false; + } else { +--- src.orig/hotspot/agent/src/os/linux/libproc.h ++++ src/hotspot/agent/src/os/linux/libproc.h +@@ -28,6 +28,10 @@ + #include + #include + #include ++#if defined(__FreeBSD_kernel__) ++#include ++#include ++#endif + #include "proc_service.h" + + #if defined(arm) || defined(ppc) +@@ -72,6 +76,10 @@ + #define user_regs_struct pt_regs + #endif + ++#if defined(__FreeBSD_kernel__) ++#define user_regs_struct reg ++#endif ++ + // This C bool type must be int for compatibility with Linux calls and + // it would be a mistake to equivalence it to C++ bool on many platforms + +--- src.orig/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c ++++ src/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c +@@ -364,7 +364,7 @@ + + #ifdef i386 + #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg +- ++#ifdef __linux__ + regs[REG_INDEX(GS)] = (uintptr_t) gregs.xgs; + regs[REG_INDEX(FS)] = (uintptr_t) gregs.xfs; + regs[REG_INDEX(ES)] = (uintptr_t) gregs.xes; +@@ -380,12 +380,28 @@ + regs[REG_INDEX(PC)] = (uintptr_t) gregs.eip; + regs[REG_INDEX(CS)] = (uintptr_t) gregs.xcs; + regs[REG_INDEX(SS)] = (uintptr_t) gregs.xss; +- ++#elif defined(__FreeBSD_kernel__) ++ regs[REG_INDEX(GS)] = (uintptr_t) gregs.r_gs; ++ regs[REG_INDEX(FS)] = (uintptr_t) gregs.r_fs; ++ regs[REG_INDEX(ES)] = (uintptr_t) gregs.r_es; ++ regs[REG_INDEX(DS)] = (uintptr_t) gregs.r_ds; ++ regs[REG_INDEX(EDI)] = (uintptr_t) gregs.r_edi; ++ regs[REG_INDEX(ESI)] = (uintptr_t) gregs.r_esi; ++ regs[REG_INDEX(FP)] = (uintptr_t) gregs.r_ebp; ++ regs[REG_INDEX(SP)] = (uintptr_t) gregs.r_isp; ++ regs[REG_INDEX(EBX)] = (uintptr_t) gregs.r_ebx; ++ regs[REG_INDEX(EDX)] = (uintptr_t) gregs.r_edx; ++ regs[REG_INDEX(ECX)] = (uintptr_t) gregs.r_ecx; ++ regs[REG_INDEX(EAX)] = (uintptr_t) gregs.r_eax; ++ regs[REG_INDEX(PC)] = (uintptr_t) gregs.r_eip; ++ regs[REG_INDEX(CS)] = (uintptr_t) gregs.r_cs; ++ regs[REG_INDEX(SS)] = (uintptr_t) gregs.r_ss; ++#endif + #endif /* i386 */ + + #ifdef amd64 + #define REG_INDEX(reg) sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_##reg +- ++#ifdef __linux__ + regs[REG_INDEX(R15)] = gregs.r15; + regs[REG_INDEX(R14)] = gregs.r14; + regs[REG_INDEX(R13)] = gregs.r13; +@@ -411,7 +427,27 @@ + regs[REG_INDEX(ES)] = gregs.es; + regs[REG_INDEX(FS)] = gregs.fs; + regs[REG_INDEX(GS)] = gregs.gs; +- ++#elif defined(__FreeBSD_kernel__) ++ regs[REG_INDEX(R15)] = gregs.r_r15; ++ regs[REG_INDEX(R14)] = gregs.r_r14; ++ regs[REG_INDEX(R13)] = gregs.r_r13; ++ regs[REG_INDEX(R12)] = gregs.r_r12; ++ regs[REG_INDEX(RBP)] = gregs.r_rbp; ++ regs[REG_INDEX(RBX)] = gregs.r_rbx; ++ regs[REG_INDEX(R11)] = gregs.r_r11; ++ regs[REG_INDEX(R10)] = gregs.r_r10; ++ regs[REG_INDEX(R9)] = gregs.r_r9; ++ regs[REG_INDEX(R8)] = gregs.r_r8; ++ regs[REG_INDEX(RAX)] = gregs.r_rax; ++ regs[REG_INDEX(RCX)] = gregs.r_rcx; ++ regs[REG_INDEX(RDX)] = gregs.r_rdx; ++ regs[REG_INDEX(RSI)] = gregs.r_rsi; ++ regs[REG_INDEX(RDI)] = gregs.r_rdi; ++ regs[REG_INDEX(RIP)] = gregs.r_rip; ++ regs[REG_INDEX(CS)] = gregs.r_cs; ++ regs[REG_INDEX(RSP)] = gregs.r_rsp; ++ regs[REG_INDEX(SS)] = gregs.r_ss; ++#endif + #endif /* amd64 */ + + #if defined(sparc) || defined(sparcv9) --- openjdk-9-9~b94.orig/debian/patches/kfreebsd-support-jamvm.diff +++ openjdk-9-9~b94/debian/patches/kfreebsd-support-jamvm.diff @@ -0,0 +1,42 @@ +Description: + - Add ifdef TIOCINQ = FIONREAD + jamvm/src/classlib/openjdk/jvm.c + - Update configure for kfreebsd-amd64 + jamvm/jamvm/configure.ac +Author: Damien Raude-Morvan +Last-Update: 2011-08-05 +Forwarded: no + +--- a/jamvm/configure.ac ++++ b/jamvm/configure.ac +@@ -38,6 +38,7 @@ + i386-*-freebsd*) host_os=bsd libdl_needed=no ;; + i386-*-solaris*) host_cpu=x86 host_os=solaris ;; + x86_64-*-linux*) host_os=linux ;; ++x86_64-*-kfreebsd*) host_os=linux ;; + hppa*-*-linux*) host_cpu=parisc host_os=linux ;; + mips*-*-linux*) host_cpu=mips host_os=linux ;; + x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;; +--- a/jamvm/configure ++++ b/jamvm/configure +@@ -2926,6 +2926,7 @@ + i386-*-freebsd*) host_os=bsd libdl_needed=no ;; + i386-*-solaris*) host_cpu=x86 host_os=solaris ;; + x86_64-*-linux*) host_os=linux ;; ++x86_64-*-kfreebsd*) host_os=linux ;; + hppa*-*-linux*) host_cpu=parisc host_os=linux ;; + mips*-*-linux*) host_cpu=mips host_os=linux ;; + x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;; +--- a/jamvm/src/classlib/openjdk/jvm.c ++++ b/jamvm/src/classlib/openjdk/jvm.c +@@ -63,6 +63,10 @@ + #define have_monotonic_clock FALSE + #endif + ++#ifndef TIOCINQ ++#define TIOCINQ FIONREAD ++#endif ++ + static Class *cloneable_class, *constant_pool_class; + static Class *exception_class, *runtime_excp_class; + --- openjdk-9-9~b94.orig/debian/patches/kfreebsd-support-jdk.diff +++ openjdk-9-9~b94/debian/patches/kfreebsd-support-jdk.diff @@ -0,0 +1,1305 @@ +Description: Initial GNU/kFreeBSD support for openjdk-8 (JDK part) + - Alter build system to consider GNU/kFreeBSD like linux + since this port is libc based. + openjdk/jdk/make/common/shared/Platform.gmk + - ENODATA is undefined : + openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java + openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java + - sendfile implementation : + openjdk/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c + (from bsd-port) + - BSD network stack usage : + openjdk/jdk/src/solaris/native/java/net/* + (from bsd-port) + - Don't build sctp protocol + openjdk/jdk/make/com/sun/nio/Makefile + - Don't build jsoundalsa + openjdk/jdk/make/javax/sound/Makefile + - Disable epoll feature and so LinuxWatchService + openjdk/jdk/make/java/nio/Makefile +Author: Damien Raude-Morvan +Author: Guido Günther +Author: Steven Chamberlain +Last-Update: 2014-07-11 +Forwarded: no + +--- src.orig/jdk/src/solaris/bin/ergo_i586.c ++++ src/jdk/src/solaris/bin/ergo_i586.c +@@ -106,7 +106,7 @@ + + #endif /* __solaris__ */ + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + + /* + * A utility method for asking the CPU about itself. +--- src.orig/jdk/src/solaris/bin/jexec.c ++++ src/jdk/src/solaris/bin/jexec.c +@@ -76,7 +76,7 @@ + #include + #include + #include +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + # include + # include + # include +@@ -92,7 +92,7 @@ + static const char * MISSING_JAVA_MSG = "can't locate java"; + static const char * BAD_ARG_MSG = "incorrect number of arguments"; + static const char * MEM_FAILED_MSG = "memory allocation failed"; +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + static const char * BAD_PATHNAME_MSG = "invalid path"; + static const char * BAD_FILE_MSG = "invalid file"; + static const char * BAD_MAGIC_MSG = "invalid file (bad magic number)"; +@@ -101,7 +101,7 @@ + + /* Define a constant that represents the number of directories to pop off the + * current location to find the java binary */ +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + static const int RELATIVE_DEPTH = 2; + #else /* Solaris */ + static const int RELATIVE_DEPTH = 3; +@@ -114,7 +114,7 @@ + static const char * JAR_FLAG = "-jar"; + + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* largest possible size for a local file header */ + static const size_t CHUNK_SIZE = 65535; + +@@ -126,7 +126,7 @@ + int main(int argc, const char * argv[]); + void errorExit(int error, const char * message); + int getJavaPath(const char * path, char * buf, int depth); +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + const char * isJar(const char * path); + #endif + +@@ -182,7 +182,7 @@ + } + nargv[nargc++] = java; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* The "-jar" flag is already in the original args list on Solaris, + * so it only needs to be added on Linux. */ + nargv[nargc++] = JAR_FLAG; +@@ -192,7 +192,7 @@ + const char * jarfile = argv[argi++]; + const char * message = NULL; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* On Linux we also need to make sure argv[1] is really a JAR + * file (this will also resolve any symlinks, which helps). */ + char jarPath[PATH_MAX + 1]; +@@ -301,7 +301,7 @@ + } + + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* + * Check if the given file is a JAR file. + * +--- src.orig/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ++++ src/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c +@@ -42,7 +42,7 @@ + #include + #endif + +-#if defined(__linux__) || defined(_AIX) ++#if defined(__linux__) || defined(_AIX) || defined(__GLIBC__) + #include + #endif + +--- src.orig/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c ++++ src/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c +@@ -35,7 +35,7 @@ + #include + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GLIBC__) + #include + #endif + +--- src.orig/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c ++++ src/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c +@@ -41,7 +41,7 @@ + #include + #elif defined(_AIX) + #include +-#elif defined(_ALLBSD_SOURCE) ++#elif defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) + #include + #include + #include +@@ -213,6 +213,31 @@ + + if (numBytes > 0) + return numBytes; ++ ++ if (result == -1) { ++ if (errno == EAGAIN) ++ return IOS_UNAVAILABLE; ++ if (errno == EOPNOTSUPP || errno == ENOTSOCK || errno == ENOTCONN) ++ return IOS_UNSUPPORTED_CASE; ++ if ((errno == EINVAL) && ((ssize_t)count >= 0)) ++ return IOS_UNSUPPORTED_CASE; ++ if (errno == EINTR) ++ return IOS_INTERRUPTED; ++ JNU_ThrowIOExceptionWithLastError(env, "Transfer failed"); ++ return IOS_THROWN; ++ } ++ ++ return result; ++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++ off_t numBytes; ++ int result; ++ ++ numBytes = count; ++ ++ result = sendfile(srcFD, dstFD, position, count, NULL, &numBytes, 0); ++ ++ if (numBytes > 0) ++ return numBytes; + + if (result == -1) { + if (errno == EAGAIN) +--- src.orig/jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h ++++ src/jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h +@@ -319,8 +319,36 @@ + typedef int sctp_bindx_func(int sd, struct sockaddr *addrs, int addrcnt, int flags); + typedef int sctp_peeloff_func(int sock, sctp_assoc_t id); + ++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + +-#endif /* __linux__ */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "jni.h" ++ ++#define nio_sctp_getladdrs sctp_getladdrs ++#define nio_sctp_freeladdrs sctp_freeladdrs ++#define nio_sctp_getpaddrs sctp_getpaddrs ++#define nio_sctp_freepaddrs sctp_freepaddrs ++#define nio_sctp_bindx sctp_bindx ++#define nio_sctp_peeloff sctp_peeloff ++ ++#endif /* __FreeBSD_kernel__ || __FreeBSD_kernel__ */ ++ ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++ ++#define nio_sctp_getladdrs sctp_getladdrs ++#define nio_sctp_freeladdrs sctp_freeladdrs ++#define nio_sctp_getpaddrs sctp_getpaddrs ++#define nio_sctp_freepaddrs sctp_freepaddrs ++#define nio_sctp_bindx sctp_bindx ++#define nio_sctp_peeloff sctp_peeloff ++ ++#else + + sctp_getladdrs_func* nio_sctp_getladdrs; + sctp_freeladdrs_func* nio_sctp_freeladdrs; +@@ -329,6 +357,8 @@ + sctp_bindx_func* nio_sctp_bindx; + sctp_peeloff_func* nio_sctp_peeloff; + ++#endif ++ + jboolean loadSocketExtensionFuncs(JNIEnv* env); + + #endif /* !SUN_NIO_CH_SCTP_H */ +--- src.orig/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c ++++ src/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c +@@ -442,7 +442,7 @@ + } else if (errno == EINTR) { + return IOS_INTERRUPTED; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + } else if (errno == ENOTCONN) { + /* ENOTCONN when EOF reached */ + rv = 0; +--- src.orig/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ++++ src/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c +@@ -35,7 +35,7 @@ + #include + #include + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + #include + #endif + +@@ -81,7 +81,7 @@ + rv = connect(fd, 0, 0); + #endif + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(_AIX) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(_AIX) || defined(__GLIBC__) + { + int len; + SOCKADDR sa; +--- src.orig/jdk/src/solaris/native/sun/nio/ch/Net.c ++++ src/jdk/src/solaris/native/sun/nio/ch/Net.c +@@ -273,7 +273,7 @@ + } + } + +-#if defined(__linux__) ++#if ( defined(__linux__) || defined(__GLIBC__) ) + if (type == SOCK_DGRAM) { + int arg = 0; + int level = (domain == AF_INET6) ? IPPROTO_IPV6 : IPPROTO_IP; +--- src.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c ++++ src/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +@@ -32,7 +32,7 @@ + #include "sun_nio_ch_NativeThread.h" + #include "nio_util.h" + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #include + /* Also defined in net/linux_close.c */ +--- src.orig/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c ++++ src/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c +@@ -31,7 +31,7 @@ + #include + #include + +-#if __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #endif + +--- src.orig/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c ++++ src/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c +@@ -28,7 +28,7 @@ + #include + #include + +-#if __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #endif + +--- src.orig/jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c ++++ src/jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c +@@ -58,6 +58,7 @@ + */ + jboolean loadSocketExtensionFuncs + (JNIEnv* env) { ++#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) + if (dlopen(nativeSctpLib, RTLD_GLOBAL | RTLD_LAZY) == NULL) { + JNU_ThrowByName(env, "java/lang/UnsupportedOperationException", + dlerror()); +@@ -105,6 +106,7 @@ + dlerror()); + return JNI_FALSE; + } ++#endif /* __FreeBSD__ */ + + funcsLoaded = JNI_TRUE; + return JNI_TRUE; +--- src.orig/jdk/src/solaris/native/sun/awt/extutil.h ++++ src/jdk/src/solaris/native/sun/awt/extutil.h +@@ -58,7 +58,7 @@ + */ + /* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */ + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + + #ifndef _EXTUTIL_H_ + #define _EXTUTIL_H_ +--- src.orig/jdk/src/solaris/native/sun/awt/VDrawingArea.c ++++ src/jdk/src/solaris/native/sun/awt/VDrawingArea.c +@@ -33,7 +33,7 @@ + #include + #include + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* XXX: Shouldn't be necessary. */ + #include "awt_p.h" + #endif /* __linux__ */ +--- src.orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c ++++ src/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c +@@ -120,7 +120,8 @@ + */ + + #define MAXFRAMEBUFFERS 16 +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) ++ + typedef struct { + int screen_number; + short x_org; +@@ -439,7 +440,7 @@ + RTLD_LAZY | RTLD_GLOBAL); + } + +-#ifndef __linux__ /* SOLARIS */ ++#if ! defined(__linux__) && ! defined(__GLIBC__) /* SOLARIS */ + if (xrenderLibHandle == NULL) { + xrenderLibHandle = dlopen("/usr/sfw/lib/libXrender.so.1", + RTLD_LAZY | RTLD_GLOBAL); +@@ -583,7 +584,8 @@ + } + + #ifndef HEADLESS +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) ++ + static void xinerama_init_linux() + { + void* libHandle = NULL; +@@ -634,7 +636,7 @@ + } + } + #endif +-#if !defined(__linux__) && !defined(MACOSX) /* Solaris */ ++#if !defined(__linux__) && !defined(MACOSX) && !defined(__GLIBC__) /* Solaris */ + static void xinerama_init_solaris() + { + void* libHandle = NULL; +@@ -694,11 +696,11 @@ + } + + DTRACE_PRINTLN("Xinerama extension is available"); +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + xinerama_init_linux(); + #else /* Solaris */ + xinerama_init_solaris(); +-#endif /* __linux__ || MACOSX */ ++#endif /* __linux__ || MACOSX || __GLIBC__ */ + } + #endif /* HEADLESS */ + +@@ -1592,7 +1594,7 @@ + { + jobject point = NULL; + #ifndef HEADLESS /* return NULL in HEADLESS, Linux */ +-#if !defined(__linux__) && !defined(MACOSX) ++#if !defined(__linux__) && !defined(MACOSX) && !defined(__GLIBC__) + int x,y; + + AWT_LOCK(); +--- src.orig/jdk/src/solaris/native/sun/awt/awt_Font.c ++++ src/jdk/src/solaris/native/sun/awt/awt_Font.c +@@ -255,7 +255,7 @@ + if (strcmp(style, "regular") == 0) { + altstyle = "roman"; + } +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + if (!strcmp(family, "lucidasans")) { + family = "lucida"; + } +--- src.orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c ++++ src/jdk/src/solaris/native/sun/awt/awt_InputMethod.c +@@ -52,7 +52,7 @@ + XIMPreeditDrawCallbackStruct *); + static void PreeditCaretCallback(XIC, XPointer, + XIMPreeditCaretCallbackStruct *); +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + static void StatusStartCallback(XIC, XPointer, XPointer); + static void StatusDoneCallback(XIC, XPointer, XPointer); + static void StatusDrawCallback(XIC, XPointer, +@@ -66,7 +66,7 @@ + #define PreeditDoneIndex 1 + #define PreeditDrawIndex 2 + #define PreeditCaretIndex 3 +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + #define StatusStartIndex 4 + #define StatusDoneIndex 5 + #define StatusDrawIndex 6 +@@ -84,14 +84,14 @@ + (XIMProc)PreeditDoneCallback, + (XIMProc)PreeditDrawCallback, + (XIMProc)PreeditCaretCallback, +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + (XIMProc)StatusStartCallback, + (XIMProc)StatusDoneCallback, + (XIMProc)StatusDrawCallback, + #endif + }; + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + #define MAX_STATUS_LEN 100 + typedef struct { + Window w; /*status window id */ +@@ -124,7 +124,7 @@ + XIMCallback *callbacks; /* callback parameters */ + jobject x11inputmethod; /* global ref to X11InputMethod instance */ + /* associated with the XIC */ +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + StatusWindow *statusWindow; /* our own status window */ + #endif + char *lookup_buf; /* buffer used for XmbLookupString */ +@@ -370,7 +370,7 @@ + static void + freeX11InputMethodData(JNIEnv *env, X11InputMethodData *pX11IMData) + { +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + if (pX11IMData->statusWindow != NULL){ + StatusWindow *sw = pX11IMData->statusWindow; + XFreeGC(awt_display, sw->lightGC); +@@ -473,7 +473,7 @@ + pX11IMData = getX11InputMethodData(env, currentX11InputMethodInstance); + + if (pX11IMData == NULL) { +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + return False; + #else + return result; +@@ -481,7 +481,7 @@ + } + + if ((ic = pX11IMData->current_ic) == (XIC)0){ +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + return False; + #else + return result; +@@ -573,7 +573,7 @@ + return result; + } + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + static StatusWindow *createStatusWindow( + Window parent) { + StatusWindow *statusWindow; +@@ -886,7 +886,7 @@ + } + } + } +-#endif /* __linux__ || MACOSX */ ++#endif /* __linux__ || MACOSX || __GLIBC__ */ + /* + * Creates two XICs, one for active clients and the other for passive + * clients. All information on those XICs are stored in the +@@ -930,7 +930,7 @@ + return FALSE ; + } + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + on_the_spot_styles |= XIMStatusNothing; + + /*kinput does not support XIMPreeditCallbacks and XIMStatusArea +@@ -943,9 +943,9 @@ + break; + } + } +-#else /*! __linux__ && !MACOSX */ ++#else /*! __linux__ && !MACOSX && !__GLIBC__ */ + on_the_spot_styles |= XIMStatusNothing; +-#endif /* __linux__ || MACOSX */ ++#endif /* __linux__ || MACOSX || __GLIBC__ */ + + for (i = 0; i < im_styles->count_styles; i++) { + active_styles |= im_styles->supported_styles[i] & on_the_spot_styles; +@@ -993,7 +993,7 @@ + NULL); + if (preedit == (XVaNestedList)NULL) + goto err; +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + /*always try XIMStatusCallbacks for active client...*/ + { + status = (XVaNestedList)XVaCreateNestedList(0, +@@ -1015,7 +1015,7 @@ + XFree((void *)status); + XFree((void *)preedit); + } +-#else /* !__linux__ && !MACOSX */ ++#else /* !__linux__ && !MACOSX && !__GLIBC__ */ + pX11IMData->ic_active = XCreateIC(X11im, + XNClientWindow, w, + XNFocusWindow, w, +@@ -1023,7 +1023,7 @@ + XNPreeditAttributes, preedit, + NULL); + XFree((void *)preedit); +-#endif /* __linux__ || MACOSX */ ++#endif /* __linux__ || MACOSX || __GLIBC__ */ + pX11IMData->ic_passive = XCreateIC(X11im, + XNClientWindow, w, + XNFocusWindow, w, +@@ -1189,7 +1189,7 @@ + + } + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + static void + StatusStartCallback(XIC ic, XPointer client_data, XPointer call_data) + { +@@ -1257,7 +1257,7 @@ + finally: + AWT_UNLOCK(); + } +-#endif /* __linux__ || MACOSX */ ++#endif /* __linux__ || MACOSX || __GLIBC__ */ + + static void CommitStringCallback(XIC ic, XPointer client_data, XPointer call_data) { + JNIEnv *env = GetJNIEnv(); +@@ -1354,14 +1354,14 @@ + /* Use IMInstantiate call back only on Linux, as there is a bug in Solaris + (4768335) + */ +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + registered = XRegisterIMInstantiateCallback(dpy, NULL, NULL, + NULL, (XIDProc)OpenXIMCallback, NULL); + if (!registered) { + /* directly call openXIM callback */ + #endif + OpenXIMCallback(dpy, NULL, NULL); +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + } + #endif + +@@ -1396,9 +1396,9 @@ + + globalRef = (*env)->NewGlobalRef(env, this); + pX11IMData->x11inputmethod = globalRef; +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + pX11IMData->statusWindow = NULL; +-#endif /* __linux__ || MACOSX */ ++#endif /* __linux__ || MACOSX || __GLIBC__ */ + + pX11IMData->lookup_buf = 0; + pX11IMData->lookup_buf_len = 0; +@@ -1448,14 +1448,14 @@ + setXICFocus(pX11IMData->current_ic, req); + currentX11InputMethodInstance = pX11IMData->x11inputmethod; + currentFocusWindow = w; +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + if (active && pX11IMData->statusWindow && pX11IMData->statusWindow->on) + onoffStatusWindow(pX11IMData, w, True); + #endif + } else { + currentX11InputMethodInstance = NULL; + currentFocusWindow = 0; +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + onoffStatusWindow(pX11IMData, 0, False); + if (pX11IMData->current_ic != NULL) + #endif +@@ -1472,7 +1472,7 @@ + Java_sun_awt_X11InputMethod_turnoffStatusWindow(JNIEnv *env, + jobject this) + { +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + X11InputMethodData *pX11IMData; + StatusWindow *statusWindow; + +@@ -1640,7 +1640,7 @@ + JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow + (JNIEnv *env, jobject this, jlong window) + { +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + AWT_LOCK(); + adjustStatusWindow(window); + AWT_UNLOCK(); +--- src.orig/jdk/src/solaris/native/sun/awt/fontpath.c ++++ src/jdk/src/solaris/native/sun/awt/fontpath.c +@@ -23,9 +23,9 @@ + * questions. + */ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GLIBC__) + #include +-#endif /* __linux__ */ ++#endif /* __linux__ || __GLIBC__ */ + #include + #include + #include +--- src.orig/jdk/src/solaris/native/sun/awt/awt_Robot.c ++++ src/jdk/src/solaris/native/sun/awt/awt_Robot.c +@@ -45,7 +45,7 @@ + #include "wsutils.h" + #include "list.h" + #include "multiVis.h" +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + #include + #endif + +--- src.orig/jdk/src/solaris/native/sun/java2d/j2d_md.h ++++ src/jdk/src/solaris/native/sun/java2d/j2d_md.h +@@ -30,7 +30,8 @@ + /* + * Linux and MACOSX's version of does not define intptr_t + */ +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) ++ + #include + #endif /* __linux__ || MACOSX */ + +--- src.orig/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c ++++ src/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c +@@ -804,7 +804,7 @@ + static int initialized; + static int usevis = JNI_TRUE; + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + # define ULTRA_CHIP "sparc64" + #else + # define ULTRA_CHIP "sun4u" +--- src.orig/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c ++++ src/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c +@@ -33,7 +33,7 @@ + #include + #endif + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + #include + #endif + +--- src.orig/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c ++++ src/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + #include + #else + #include +--- src.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c ++++ src/jdk/src/solaris/native/sun/xawt/XToolkit.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #endif + +@@ -799,7 +799,7 @@ + return ret; + } + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + void print_stack(void) + { + void *array[10]; +--- src.orig/jdk/src/solaris/native/java/nio/MappedByteBuffer.c ++++ src/jdk/src/solaris/native/java/nio/MappedByteBuffer.c +@@ -40,7 +40,7 @@ + int result = 0; + int i = 0; + void *a = (void *) jlong_to_ptr(address); +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + unsigned char *vec = (unsigned char *)malloc(numPages * sizeof(char)); + #else + char *vec = (char *)malloc(numPages * sizeof(char)); +--- src.orig/jdk/src/solaris/native/java/util/TimeZone_md.c ++++ src/jdk/src/solaris/native/java/util/TimeZone_md.c +@@ -49,7 +49,7 @@ + #define fileclose fclose + #endif + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + + + static const char *ETC_TIMEZONE_FILE = "/etc/timezone"; +@@ -126,7 +126,7 @@ + return NULL; + } + +-#if defined(_AIX) || defined(__linux__) || defined(MACOSX) || (defined(__solaris__) \ ++#if defined(_AIX) || defined(__linux__) || defined(__GLIBC__) || defined(MACOSX) || (defined(__solaris__) \ + && (defined(_POSIX_PTHREAD_SEMANTICS) || defined(_LP64))) + while (readdir_r(dirp, entry, &dp) == 0 && dp != NULL) { + #else +@@ -214,7 +214,7 @@ + return tz; + } + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + + /* + * Performs Linux specific mapping and returns a zone ID +@@ -230,7 +230,7 @@ + char *buf; + size_t size; + +-#ifdef __linux__ ++#ifdef __linux__ || defined(__GLIBC__) + /* + * Try reading the /etc/timezone file for Debian distros. There's + * no spec of the file format available. This parsing assumes that +@@ -664,7 +664,7 @@ + + tz = getenv("TZ"); + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + if (tz == NULL) { + #else + #if defined (__solaris__) || defined(_AIX) +@@ -690,7 +690,7 @@ + #endif + + if (tz != NULL) { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* + * Ignore "posix/" prefix. + */ +--- src.orig/jdk/src/solaris/native/java/io/io_util_md.c ++++ src/jdk/src/solaris/native/java/io/io_util_md.c +@@ -99,7 +99,7 @@ + WITH_PLATFORM_STRING(env, path, ps) { + FD fd; + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + /* Remove trailing slashes, since the kernel won't */ + char *p = (char *)ps + strlen(ps) - 1; + while ((p > ps) && (*p == '/')) +--- src.orig/jdk/src/solaris/native/java/lang/locale_str.h ++++ src/jdk/src/solaris/native/java/lang/locale_str.h +@@ -48,7 +48,7 @@ + "gl", "gl_ES", + "he", "iw_IL", + "hr", "hr_HR", +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "hs", "en_US", // used on Linux, not clear what it stands for + #endif + "hu", "hu_HU", +@@ -78,14 +78,14 @@ + "sv", "sv_SE", + "th", "th_TH", + "tr", "tr_TR", +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "ua", "en_US", // used on Linux, not clear what it stands for + #endif + "uk", "uk_UA", + "vi", "vi_VN", + "wa", "wa_BE", + "zh", "zh_CN", +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "bokmal", "nb_NO", + "bokm\xE5l", "nb_NO", + "catalan", "ca_ES", +@@ -146,13 +146,13 @@ + "POSIX", "en", + "cz", "cs", + "he", "iw", +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "hs", "en", // used on Linux, not clear what it stands for + #endif + "id", "in", + "sh", "sr", // sh is deprecated + "su", "fi", +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "ua", "en", // used on Linux, not clear what it stands for + "catalan", "ca", + "croatian", "hr", +@@ -195,7 +195,7 @@ + * Linux/Solaris script string to Java script name mapping table. + */ + static char *script_names[] = { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "cyrillic", "Cyrl", + "devanagari", "Deva", + "iqtelif", "Latn", +@@ -208,7 +208,7 @@ + * Linux/Solaris country string to ISO3166 string mapping table. + */ + static char *country_names[] = { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + "RN", "US", // used on Linux, not clear what it stands for + #endif + "YU", "CS", // YU has been removed from ISO 3166 +--- src.orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ++++ src/jdk/src/solaris/native/java/lang/UNIXProcess_md.c +@@ -396,7 +396,7 @@ + #ifdef START_CHILD_USE_CLONE + static pid_t + cloneChild(ChildStuff *c) { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #define START_CHILD_CLONE_STACK_SIZE (64 * 1024) + /* + * See clone(2). +--- src.orig/jdk/src/solaris/native/java/lang/java_props_md.c ++++ src/jdk/src/solaris/native/java/lang/java_props_md.c +@@ -23,7 +23,7 @@ + * questions. + */ + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + #include + #include + #endif +@@ -57,7 +57,7 @@ + #include "java_props.h" + + #if !defined(_ALLBSD_SOURCE) +-#ifdef __linux__ ++#ifdef __linux__ || defined(__GLIBC__) + #ifndef CODESET + #define CODESET _NL_CTYPE_CODESET_NAME + #endif +@@ -151,7 +151,7 @@ + lc = setlocale(cat, NULL); + #endif + +-#ifndef __linux__ ++#if !defined(__linux__) && !defined(__GLIBC__) + if (lc == NULL) { + return 0; + } +@@ -331,7 +331,7 @@ + * in order to use optimizations. */ + *std_encoding = (*p != '\0') ? p : "ISO8859-1"; + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* + * Remap the encoding string to a different value for japanese + * locales on linux so that customized converters are used instead +@@ -559,7 +559,7 @@ + sprops.unicode_encoding = "UnicodeBig"; + #endif + #else /* !_ALLBSD_SOURCE */ +-#ifdef __linux__ ++#ifdef __linux__ || defined(__GLIBC__) + #if __BYTE_ORDER == __LITTLE_ENDIAN + sprops.unicode_encoding = "UnicodeLittle"; + #else +--- src.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ++++ src/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +@@ -33,7 +33,7 @@ + #ifdef __solaris__ + #include + #endif +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #include + #include +@@ -291,7 +291,7 @@ + /* The fdObj'fd */ + jint fd; + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + SOCKADDR addr; + int len; + #endif +@@ -301,19 +301,26 @@ + } + fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID); + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + memset(&addr, 0, sizeof(addr)); + #ifdef AF_INET6 + if (ipv6_available()) { + struct sockaddr_in6 *him6 = (struct sockaddr_in6 *)&addr; ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++ him6->sin6_family = AF_INET6; ++#else + him6->sin6_family = AF_UNSPEC; ++#endif + len = sizeof(struct sockaddr_in6); + } else + #endif + { + struct sockaddr_in *him4 = (struct sockaddr_in*)&addr; ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + him4->sin_family = AF_UNSPEC; ++#else + len = sizeof(struct sockaddr_in); ++#endif + } + JVM_Connect(fd, (struct sockaddr *)&addr, len); + +--- src.orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c ++++ src/jdk/src/solaris/native/java/net/Inet6AddressImpl.c +@@ -75,7 +75,7 @@ + } else { + // ensure null-terminated + hostname[NI_MAXHOST] = '\0'; +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + /* On Linux/FreeBSD gethostname() says "host.domain.sun.com". On + * Solaris gethostname() says "host", so extra work is needed. + */ +@@ -798,7 +798,7 @@ + case ENETUNREACH: /* Network Unreachable */ + case EAFNOSUPPORT: /* Address Family not supported */ + case EADDRNOTAVAIL: /* address is not available on the remote machine */ +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + case EINVAL: + case EHOSTUNREACH: + /* +--- src.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c ++++ src/jdk/src/solaris/native/java/net/Inet4AddressImpl.c +@@ -644,7 +644,7 @@ + n = sendto(fd, sendbuf, plen, 0, (struct sockaddr *)him, + sizeof(struct sockaddr)); + if (n < 0 && errno != EINPROGRESS ) { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + if (errno != EINVAL && errno != EHOSTUNREACH) + /* + * On some Linux versions, when a socket is bound to the loopback +@@ -810,7 +810,7 @@ + case ENETUNREACH: /* Network Unreachable */ + case EAFNOSUPPORT: /* Address Family not supported */ + case EADDRNOTAVAIL: /* address is not available on the remote machine */ +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + case EINVAL: + case EHOSTUNREACH: + /* +--- src.orig/jdk/src/solaris/native/java/net/NetworkInterface.c ++++ src/jdk/src/solaris/native/java/net/NetworkInterface.c +@@ -63,17 +63,17 @@ + #define _PATH_PROCNET_IFINET6 "/proc/net/if_inet6" + #endif + +-#if defined(_ALLBSD_SOURCE) ++#if defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) + #include + #include + #include +-#if defined(__APPLE__) ++#if defined(__APPLE__) || defined(__FreeBSD_kernel__) + #include + #include + #include + #include +-#include + #endif ++#include + #endif + + #include "jvm.h" +@@ -1805,7 +1805,11 @@ + * try the old way. + */ + memset(&lif, 0, sizeof(lif)); ++#if defined(__FreeBSD_kernel__) ++ strcpy(lif.lifr_name, ifname); ++#else + strlcpy(lif.lifr_name, ifname, sizeof(lif.lifr_name)); ++#endif + + if (ioctl(sock, SIOCGLIFHWADDR, &lif) != -1) { + struct sockaddr_dl *sp; +@@ -1891,7 +1895,7 @@ + + + /** BSD **/ +-#ifdef _ALLBSD_SOURCE ++#if defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) + /* Open socket for further ioct calls, try v4 socket first and + * if it falls return v6 socket + */ +@@ -2020,7 +2024,11 @@ + continue; + + memset(&ifr6, 0, sizeof(ifr6)); ++#if defined(__FreeBSD_kernel__) ++ strcpy(ifr6.ifr_name, ifa->ifa_name); ++#else + strlcpy(ifr6.ifr_name, ifa->ifa_name, sizeof(ifr6.ifr_name)); ++#endif + memcpy(&ifr6.ifr_addr, ifa->ifa_addr, MIN(sizeof(ifr6.ifr_addr), ifa->ifa_addr->sa_len)); + + if (ioctl(sock, SIOCGIFNETMASK_IN6, (caddr_t)&ifr6) < 0) { +--- src.orig/jdk/src/solaris/native/java/net/net_util_md.c ++++ src/jdk/src/solaris/native/java/net/net_util_md.c +@@ -56,6 +56,11 @@ + #include + #include + ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++#include ++#include ++#endif ++ + #ifndef IPV6_FLOWINFO_SEND + #define IPV6_FLOWINFO_SEND 33 + #endif +--- src.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c ++++ src/jdk/src/solaris/native/java/net/PlainSocketImpl.c +@@ -32,7 +32,7 @@ + #endif + #include /* Defines TCP_NODELAY, needed for 2.6 */ + #include +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #endif + #include +@@ -41,7 +41,7 @@ + #ifdef __solaris__ + #include + #endif +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + #include + #endif + +@@ -467,7 +467,7 @@ + /* report the appropriate exception */ + if (connect_rv < 0) { + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + /* + * Linux/GNU distribution setup /etc/hosts so that + * InetAddress.getLocalHost gets back the loopback address +--- src.orig/jdk/src/solaris/native/java/net/net_util_md.h ++++ src/jdk/src/solaris/native/java/net/net_util_md.h +@@ -47,7 +47,7 @@ + close subroutine does not return until the select call returns. + ... + */ +-#if defined(__linux__) || defined(MACOSX) || defined (_AIX) ++#if defined(__linux__) || defined(MACOSX) || defined (_AIX) || defined(__GLIBC__) + extern int NET_Timeout(int s, long timeout); + extern int NET_Read(int s, void* buf, size_t len); + extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags, +@@ -195,7 +195,7 @@ + /************************************************************************ + * Utilities + */ +-#ifdef __linux__ ++#if defined(__linux__) + extern int kernelIsV24(); + #endif + +--- src.orig/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java ++++ src/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java +@@ -306,7 +306,7 @@ + + super.setOsNameAndVersion(); + +- if (!osName.equals("Linux")) { ++ if (!(osName.equals("Linux") || osName.equals("GNU/kFreeBSD"))) { + return; + } + try { +--- src.orig/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java ++++ src/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java +@@ -161,6 +161,7 @@ + + static boolean isBSD() { + return (osname.equals("Linux") || ++ osname.equals("GNU/kFreeBSD") || + osname.contains("OS X")); + } + +--- src.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java ++++ src/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java +@@ -102,9 +102,7 @@ + LinuxNativeDispatcher.fgetxattr(fd, name, 0L, 0); + return true; + } catch (UnixException e) { +- // attribute does not exist +- if (e.errno() == UnixConstants.ENODATA) +- return true; ++ return false; + } finally { + UnixNativeDispatcher.close(fd); + } +--- src.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java ++++ src/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java +@@ -238,9 +238,6 @@ + } + throw new UnixException("Value of " + DOS_XATTR_NAME + " attribute is invalid"); + } catch (UnixException x) { +- // default value when attribute does not exist +- if (x.errno() == ENODATA) +- return 0; + throw x; + } finally { + buffer.release(); +--- src.orig/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java ++++ src/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java +@@ -59,7 +59,7 @@ + .doPrivileged(new GetPropertyAction("os.name")); + if (osname.equals("SunOS")) + return createProvider("sun.nio.fs.SolarisFileSystemProvider"); +- if (osname.equals("Linux")) ++ if (osname.equals("Linux") || osname.equals("GNU/kFreeBSD")) + return createProvider("sun.nio.fs.LinuxFileSystemProvider"); + if (osname.contains("OS X")) + return createProvider("sun.nio.fs.MacOSXFileSystemProvider"); +--- src.orig/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ++++ src/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java +@@ -64,7 +64,7 @@ + .doPrivileged(new GetPropertyAction("os.name")); + if (osname.equals("SunOS")) + return createProvider("sun.nio.ch.SolarisAsynchronousChannelProvider"); +- if (osname.equals("Linux")) ++ if (osname.equals("Linux") || osname.equals("GNU/kFreeBSD")) + return createProvider("sun.nio.ch.LinuxAsynchronousChannelProvider"); + if (osname.contains("OS X")) + return createProvider("sun.nio.ch.BsdAsynchronousChannelProvider"); +--- src.orig/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java ++++ src/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java +@@ -74,7 +74,7 @@ + * Currently uses hardcoded values + */ + private int getDefaultDimension() { +- if (System.getProperty("os.name").equals("Linux")) { ++ if (System.getProperty("os.name").equals("Linux") || System.getProperty("os.name").equals("GNU/kFreeBSD")) { + return DEFAULT_WIDTH_LINUX; + } else { + return DEFAULT_WIDTH_SOLARIS; +--- src.orig/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h ++++ src/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h +@@ -61,7 +61,7 @@ + #define log1p jlog1p + #define expm1 jexpm1 + +-#if defined(__linux__) || defined(_ALLBSD_SOURCE) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) + #define __ieee754_sqrt __j__ieee754_sqrt + #define __ieee754_acos __j__ieee754_acos + #define __ieee754_log __j__ieee754_log +--- src.orig/jdk/src/share/classes/sun/font/FontUtilities.java ++++ src/jdk/src/share/classes/sun/font/FontUtilities.java +@@ -76,7 +76,7 @@ + String osName = System.getProperty("os.name", "unknownOS"); + isSolaris = osName.startsWith("SunOS"); + +- isLinux = osName.startsWith("Linux"); ++ isLinux = osName.startsWith("Linux") || osName.equals("GNU/kFreeBSD"); + + isMacOSX = osName.contains("OS X"); // TODO: MacOSX + +--- src.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java ++++ src/jdk/src/share/classes/sun/print/PSPrinterJob.java +@@ -1587,7 +1587,9 @@ + } + + String osname = System.getProperty("os.name"); +- if (osname.equals("Linux") || osname.contains("OS X")) { ++ if (osname.equals("Linux") || ++ osname.equals("GNU/kFreeBSD") || ++ osname.contains("OS X")) { + execCmd = new String[ncomps]; + execCmd[n++] = "/usr/bin/lpr"; + if ((pFlags & PRINTER) != 0) { +--- src.orig/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ++++ src/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java +@@ -1298,6 +1298,7 @@ + String osName = AccessController.doPrivileged( + new GetPropertyAction("os.name")); + if ("SunOS".equals(osName) || "Linux".equals(osName) || "AIX".equals(osName) ++ || "GNU/kFreeBSD".equals(osName) + || osName.contains("OS X")) { + charset("x-COMPOUND_TEXT", "COMPOUND_TEXT", + new String[] { +--- src.orig/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java ++++ src/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java +@@ -49,6 +49,7 @@ + String osname = System.getProperty("os.name"); + if (osname.startsWith("SunOS") || + osname.contains("OS X") || ++ osname.startsWith("GNU/kFreeBSD") || + osname.startsWith("Linux")) { + return new Boolean(System.getProperty + (USE_NATIVE_PROP)); +--- src.orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java ++++ src/jdk/src/share/classes/java/awt/GraphicsEnvironment.java +@@ -178,6 +178,7 @@ + } else { + headless = defaultHeadless = + Boolean.valueOf(("Linux".equals(osName) || ++ "GNU/kFreeBSD".equals(osName) || + "SunOS".equals(osName) || + "FreeBSD".equals(osName) || + "NetBSD".equals(osName) || +--- src.orig/jdk/src/solaris/native/sun/net/portconfig.c ++++ src/jdk/src/solaris/native/sun/net/portconfig.c +@@ -28,7 +28,7 @@ + #include + #include + +-#if defined(_ALLBSD_SOURCE) ++#if defined(_ALLBSD_SOURCE) || defined (__FreeBSD_kernel__) + #include + #endif + +@@ -67,7 +67,7 @@ + range->lower = net_getParam("/dev/tcp", "tcp_smallest_anon_port"); + return 0; + } +-#elif defined(_ALLBSD_SOURCE) ++#elif defined(_ALLBSD_SOURCE) || defined (__FreeBSD_kernel__) + { + int ret; + size_t size = sizeof(range->lower); +--- src.orig/jdk/src/solaris/classes/sun/net/PortConfig.java ++++ src/jdk/src/solaris/classes/sun/net/PortConfig.java +@@ -63,6 +63,9 @@ + // /usr/sbin/no -a | fgrep ephemeral + defaultLower = 32768; + defaultUpper = 65535; ++ } else if (os.contains("FreeBSD")) { ++ defaultLower = 10000; ++ defaultUpper = 65535; + } else { + throw new InternalError( + "sun.net.PortConfig: unknown OS"); --- openjdk-9-9~b94.orig/debian/patches/ld-symbolic-functions.diff +++ openjdk-9-9~b94/debian/patches/ld-symbolic-functions.diff @@ -0,0 +1,25 @@ +Index: b/hotspot/agent/src/os/linux/Makefile +=================================================================== +--- a/hotspot/agent/src/os/linux/Makefile ++++ b/hotspot/agent/src/os/linux/Makefile +@@ -78,7 +78,7 @@ endif + LFLAGS_LIBSA += $(LDFLAGS_HASH_STYLE) + + $(LIBSA): $(ARCH) $(OBJS) mapfile +- $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) ++ $(GCC) -shared -Wl,-Bsymbolic-functions $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) + + test.o: test.c + $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c +Index: b/hotspot/make/linux/makefiles/gcc.make +=================================================================== +--- a/hotspot/make/linux/makefiles/gcc.make ++++ b/hotspot/make/linux/makefiles/gcc.make +@@ -298,6 +298,7 @@ STATIC_STDCXX = -Wl,-Bstatic -lstdc++ -W + + # Enable linker optimization + LFLAGS += -Xlinker -O1 ++LFLAGS += -Wl,-Bsymbolic-functions + + ifeq ($(USE_CLANG),) + STATIC_LIBGCC += -static-libgcc --- openjdk-9-9~b94.orig/debian/patches/libpcsclite-dlopen.diff +++ openjdk-9-9~b94/debian/patches/libpcsclite-dlopen.diff @@ -0,0 +1,36 @@ +--- a/jdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java ++++ b/jdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java +@@ -48,6 +48,7 @@ + + private final static String PROP_NAME = "sun.security.smartcardio.library"; + ++ private final static String LIB0 = "libpcsclite.so.1"; + private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so"; + private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so"; + private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"; +@@ -104,22 +105,9 @@ + if (lib.length() != 0) { + return lib; + } +- lib = expand(LIB1); +- if (new File(lib).isFile()) { +- // if LIB1 exists, use that +- return lib; +- } +- lib = expand(LIB2); +- if (new File(lib).isFile()) { +- // if LIB2 exists, use that +- return lib; +- } +- lib = PCSC_FRAMEWORK; +- if (new File(lib).isFile()) { +- // if PCSC.framework exists, use that +- return lib; +- } +- throw new IOException("No PC/SC library found on this system"); ++ // let dlopen do the work ++ lib = LIB0; ++ return lib; + } + + private static native void initialize(String libraryName); --- openjdk-9-9~b94.orig/debian/patches/m68k-support.diff +++ openjdk-9-9~b94/debian/patches/m68k-support.diff @@ -0,0 +1,1259 @@ + +Index: b/common/autoconf/generated-configure.sh +=================================================================== +--- a/common/autoconf/generated-configure.sh ++++ b/common/autoconf/generated-configure.sh +@@ -14618,6 +14618,12 @@ test -n "$target_alias" && + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + ;; ++ m68k) ++ VAR_CPU=m68k ++ VAR_CPU_ARCH=m68k ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=big ++ ;; + *) + as_fn_error $? "unsupported cpu $build_cpu" "$LINENO" 5 + ;; +@@ -14757,6 +14763,12 @@ $as_echo "$OPENJDK_BUILD_OS-$OPENJDK_BUI + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + ;; ++ m68k) ++ VAR_CPU=m68k ++ VAR_CPU_ARCH=m68k ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=big ++ ;; + *) + as_fn_error $? "unsupported cpu $host_cpu" "$LINENO" 5 + ;; +Index: b/common/autoconf/platform.m4 +=================================================================== +--- a/common/autoconf/platform.m4 ++++ b/common/autoconf/platform.m4 +@@ -150,6 +150,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + ;; ++ m68k) ++ VAR_CPU=m68k ++ VAR_CPU_ARCH=m68k ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=big ++ ;; + *) + AC_MSG_ERROR([unsupported cpu $1]) + ;; +Index: b/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp ++++ b/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp +@@ -37,7 +37,7 @@ + * __m68k_cmpxchg + * + * Atomically store newval in *ptr if *ptr is equal to oldval for user space. +- * Returns newval on success and oldval if no exchange happened. ++ * Returns oldval on success and *ptr if no exchange happened. + * This implementation is processor specific and works on + * 68020 68030 68040 and 68060. + * +@@ -61,40 +61,48 @@ static inline int __m68k_cmpxchg(int old + static inline int m68k_compare_and_swap(volatile int *ptr, + int oldval, + int newval) { ++ int prev = *ptr; + for (;;) { +- int prev = *ptr; ++ int newprev; + if (prev != oldval) + return prev; + +- if (__m68k_cmpxchg (prev, newval, ptr) == newval) ++ newprev = __m68k_cmpxchg (prev, newval, ptr); ++ if (newprev == prev) + // Success. + return prev; + + // We failed even though prev == oldval. Try again. ++ prev = newprev; + } + } + + /* Atomically add an int to memory. */ + static inline int m68k_add_and_fetch(volatile int *ptr, int add_value) { ++ int prev = *ptr; + for (;;) { + // Loop until success. ++ int newprev; + +- int prev = *ptr; +- +- if (__m68k_cmpxchg (prev, prev + add_value, ptr) == prev + add_value) ++ newprev = __m68k_cmpxchg (prev, prev + add_value, ptr); ++ if (newprev == prev) + return prev + add_value; ++ prev = newprev; + } + } + + /* Atomically write VALUE into `*PTR' and returns the previous + contents of `*PTR'. */ + static inline int m68k_lock_test_and_set(volatile int *ptr, int newval) { ++ int prev = *ptr; + for (;;) { + // Loop until success. +- int prev = *ptr; ++ int newprev; + +- if (__m68k_cmpxchg (prev, newval, ptr) == prev) ++ newprev = __m68k_cmpxchg (prev, newval, ptr); ++ if (newprev == prev) + return prev; ++ prev = newprev; + } + } + #endif // M68K +Index: b/hotspot/src/share/vm/memory/allocation.hpp +=================================================================== +--- a/hotspot/src/share/vm/memory/allocation.hpp ++++ b/hotspot/src/share/vm/memory/allocation.hpp +@@ -192,7 +192,7 @@ template class CHeapObj ALL + throw(); + void operator delete(void* p); + void operator delete [] (void* p); +-}; ++} __attribute__ ((aligned (4))); + + // Base class for objects allocated on the stack only. + // Calling new or delete will result in fatal error. +@@ -206,7 +206,7 @@ class StackObj ALLOCATION_SUPER_CLASS_SP + #endif + void operator delete(void* p); + void operator delete [](void* p); +-}; ++} __attribute__ ((aligned (4))); + + // Base class for objects used as value objects. + // Calling new or delete will result in fatal error. +@@ -232,7 +232,7 @@ class _ValueObj { + void operator delete(void* p); + void* operator new [](size_t size) throw(); + void operator delete [](void* p); +-}; ++} __attribute__ ((aligned (4))); + + + // Base class for objects stored in Metaspace. +@@ -612,7 +612,7 @@ class ResourceObj ALLOCATION_SUPER_CLASS + + void operator delete(void* p); + void operator delete [](void* p); +-}; ++} __attribute__ ((aligned (4))); + + // One of the following macros must be used when allocating an array + // or object to determine whether it should reside in the C heap on in +Index: b/hotspot/src/share/vm/oops/oop.hpp +=================================================================== +--- a/hotspot/src/share/vm/oops/oop.hpp ++++ b/hotspot/src/share/vm/oops/oop.hpp +@@ -387,6 +387,6 @@ class oopDesc { + assert(has_klass_gap(), "only applicable to compressed klass pointers"); + return klass_offset_in_bytes() + sizeof(narrowKlass); + } +-}; ++} __attribute__ ((aligned (4))); + + #endif // SHARE_VM_OOPS_OOP_HPP +Index: b/jdk/make/gensrc/GensrcX11Wrappers.gmk +=================================================================== +--- a/jdk/make/gensrc/GensrcX11Wrappers.gmk ++++ b/jdk/make/gensrc/GensrcX11Wrappers.gmk +@@ -57,12 +57,16 @@ else + GENSRC_X11_VERSION := 32 64 + endif + endif ++GENSRC_X11_VERSION_VARIANT := ++ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), linux-m68k) ++ GENSRC_X11_VERSION_VARIANT := -linux-m68k ++endif + + GENSRC_X11_SIZES_USED := $(addprefix $(GENSRC_X11WRAPPERS_TMP)/sizes., $(GENSRC_X11_VERSION)) + + # Copy only the sizes.* files that are actually needed. WrapperGenerator picks up any it finds from the + # file prefix it is given so those not needed need to be hidden. +-$(GENSRC_X11WRAPPERS_TMP)/sizes.%: $(GENSRC_SIZER_DIR)/sizes.% ++$(GENSRC_X11WRAPPERS_TMP)/sizes.%: $(GENSRC_SIZER_DIR)/sizes.%$(GENSRC_X11_VERSION_VARIANT) + $(MKDIR) -p $(@D) + $(RM) '$@' + $(SORT) $< > $@ +Index: b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c +=================================================================== +--- a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c ++++ b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c +@@ -880,12 +880,24 @@ void SplashFreeLibrary() { + } + } + ++struct call_continuation_args { ++ int (JNICALL *continuation)(void *); ++ void *args; ++}; ++ ++static void *call_continuation(void *_args) ++{ ++ struct call_continuation_args *args = _args; ++ return (void *)args->continuation(args->args); ++} ++ + /* + * Block current thread and continue execution in a new thread + */ + int + ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) { + int rslt; ++ struct call_continuation_args ccargs = { continuation, args }; + #ifndef __solaris__ + pthread_t tid; + pthread_attr_t attr; +@@ -896,7 +908,7 @@ ContinueInNewThread0(int (JNICALL *conti + pthread_attr_setstacksize(&attr, stack_size); + } + +- if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) { ++ if (pthread_create(&tid, &attr, call_continuation, &ccargs) == 0) { + void * tmp; + pthread_join(tid, &tmp); + rslt = (int)(intptr_t)tmp; +@@ -914,7 +926,7 @@ ContinueInNewThread0(int (JNICALL *conti + #else /* __solaris__ */ + thread_t tid; + long flags = 0; +- if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { ++ if (thr_create(NULL, stack_size, call_continuation, &ccargs, flags, &tid) == 0) { + void * tmp; + thr_join(tid, NULL, &tmp); + rslt = (int)(intptr_t)tmp; +Index: b/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32-linux-m68k +=================================================================== +--- /dev/null ++++ b/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32-linux-m68k +@@ -0,0 +1,1016 @@ ++long 4 ++int 4 ++short 2 ++ptr 4 ++Bool 4 ++Atom 4 ++Window 4 ++XExtData.number 0 ++XExtData.next 4 ++XExtData.free_private 8 ++XExtData.private_data 12 ++XExtData 16 ++XIMStringConversionCallbackStruct.position 0 ++XIMStringConversionCallbackStruct.direction 2 ++XIMStringConversionCallbackStruct.operation 6 ++XIMStringConversionCallbackStruct.factor 8 ++XIMStringConversionCallbackStruct.text 10 ++XIMStringConversionCallbackStruct 14 ++XkbNewKeyboardNotifyEvent.type 0 ++XkbNewKeyboardNotifyEvent.serial 4 ++XkbNewKeyboardNotifyEvent.send_event 8 ++XkbNewKeyboardNotifyEvent.display 12 ++XkbNewKeyboardNotifyEvent.time 16 ++XkbNewKeyboardNotifyEvent.xkb_type 20 ++XkbNewKeyboardNotifyEvent.device 24 ++XkbNewKeyboardNotifyEvent.old_device 28 ++XkbNewKeyboardNotifyEvent.min_key_code 32 ++XkbNewKeyboardNotifyEvent.max_key_code 36 ++XkbNewKeyboardNotifyEvent.old_min_key_code 40 ++XkbNewKeyboardNotifyEvent.old_max_key_code 44 ++XkbNewKeyboardNotifyEvent.changed 48 ++XkbNewKeyboardNotifyEvent.req_major 52 ++XkbNewKeyboardNotifyEvent.req_minor 53 ++XkbNewKeyboardNotifyEvent 54 ++XTimeCoord.time 0 ++XTimeCoord.x 4 ++XTimeCoord.y 6 ++XTimeCoord 8 ++XkbCompatMapNotifyEvent.type 0 ++XkbCompatMapNotifyEvent.serial 4 ++XkbCompatMapNotifyEvent.send_event 8 ++XkbCompatMapNotifyEvent.display 12 ++XkbCompatMapNotifyEvent.time 16 ++XkbCompatMapNotifyEvent.xkb_type 20 ++XkbCompatMapNotifyEvent.device 24 ++XkbCompatMapNotifyEvent.changed_groups 28 ++XkbCompatMapNotifyEvent.first_si 32 ++XkbCompatMapNotifyEvent.num_si 36 ++XkbCompatMapNotifyEvent.num_total_si 40 ++XkbCompatMapNotifyEvent 44 ++XIMStatusDrawCallbackStruct.type 0 ++XIMStatusDrawCallbackStruct.data 4 ++XIMStatusDrawCallbackStruct 8 ++XKeyboardControl.key_click_percent 0 ++XKeyboardControl.bell_percent 4 ++XKeyboardControl.bell_pitch 8 ++XKeyboardControl.bell_duration 12 ++XKeyboardControl.led 16 ++XKeyboardControl.led_mode 20 ++XKeyboardControl.key 24 ++XKeyboardControl.auto_repeat_mode 28 ++XKeyboardControl 32 ++XSelectionClearEvent.type 0 ++XSelectionClearEvent.serial 4 ++XSelectionClearEvent.send_event 8 ++XSelectionClearEvent.display 12 ++XSelectionClearEvent.window 16 ++XSelectionClearEvent.selection 20 ++XSelectionClearEvent.time 24 ++XSelectionClearEvent 28 ++XWindowChanges.x 0 ++XWindowChanges.y 4 ++XWindowChanges.width 8 ++XWindowChanges.height 12 ++XWindowChanges.border_width 16 ++XWindowChanges.sibling 20 ++XWindowChanges.stack_mode 24 ++XWindowChanges 28 ++XIMPreeditCaretCallbackStruct.position 0 ++XIMPreeditCaretCallbackStruct.direction 4 ++XIMPreeditCaretCallbackStruct.style 8 ++XIMPreeditCaretCallbackStruct 12 ++XOMCharSetList.charset_count 0 ++XOMCharSetList.charset_list 4 ++XOMCharSetList 8 ++XOMFontInfo.num_font 0 ++XOMFontInfo.font_struct_list 4 ++XOMFontInfo.font_name_list 8 ++XOMFontInfo 12 ++AwtScreenData.numConfigs 0 ++AwtScreenData.root 4 ++AwtScreenData.whitepixel 8 ++AwtScreenData.blackpixel 12 ++AwtScreenData.defaultConfig 16 ++AwtScreenData.configs 20 ++AwtScreenData 24 ++XIMHotKeyTrigger.keysym 0 ++XIMHotKeyTrigger.modifier 4 ++XIMHotKeyTrigger.modifier_mask 8 ++XIMHotKeyTrigger 12 ++XCirculateEvent.type 0 ++XCirculateEvent.serial 4 ++XCirculateEvent.send_event 8 ++XCirculateEvent.display 12 ++XCirculateEvent.event 16 ++XCirculateEvent.window 20 ++XCirculateEvent.place 24 ++XCirculateEvent 28 ++Screen.ext_data 0 ++Screen.display 4 ++Screen.root 8 ++Screen.width 12 ++Screen.height 16 ++Screen.mwidth 20 ++Screen.mheight 24 ++Screen.ndepths 28 ++Screen.depths 32 ++Screen.root_depth 36 ++Screen.root_visual 40 ++Screen.default_gc 44 ++Screen.cmap 48 ++Screen.white_pixel 52 ++Screen.black_pixel 56 ++Screen.max_maps 60 ++Screen.min_maps 64 ++Screen.backing_store 68 ++Screen.save_unders 72 ++Screen.root_input_mask 76 ++Screen 80 ++XMapRequestEvent.type 0 ++XMapRequestEvent.serial 4 ++XMapRequestEvent.send_event 8 ++XMapRequestEvent.display 12 ++XMapRequestEvent.parent 16 ++XMapRequestEvent.window 20 ++XMapRequestEvent 24 ++XIMText.length 0 ++XIMText.feedback 2 ++XIMText.encoding_is_wchar 6 ++XIMText.string 10 ++XIMText 14 ++XGraphicsExposeEvent.type 0 ++XGraphicsExposeEvent.serial 4 ++XGraphicsExposeEvent.send_event 8 ++XGraphicsExposeEvent.display 12 ++XGraphicsExposeEvent.drawable 16 ++XGraphicsExposeEvent.x 20 ++XGraphicsExposeEvent.y 24 ++XGraphicsExposeEvent.width 28 ++XGraphicsExposeEvent.height 32 ++XGraphicsExposeEvent.count 36 ++XGraphicsExposeEvent.major_code 40 ++XGraphicsExposeEvent.minor_code 44 ++XGraphicsExposeEvent 48 ++XEvent.type 0 ++XEvent.xany 0 ++XEvent.xkey 0 ++XEvent.xbutton 0 ++XEvent.xmotion 0 ++XEvent.xcrossing 0 ++XEvent.xfocus 0 ++XEvent.xexpose 0 ++XEvent.xgraphicsexpose 0 ++XEvent.xnoexpose 0 ++XEvent.xvisibility 0 ++XEvent.xcreatewindow 0 ++XEvent.xdestroywindow 0 ++XEvent.xunmap 0 ++XEvent.xmap 0 ++XEvent.xmaprequest 0 ++XEvent.xreparent 0 ++XEvent.xconfigure 0 ++XEvent.xgravity 0 ++XEvent.xresizerequest 0 ++XEvent.xconfigurerequest 0 ++XEvent.xcirculate 0 ++XEvent.xcirculaterequest 0 ++XEvent.xproperty 0 ++XEvent.xselectionclear 0 ++XEvent.xselectionrequest 0 ++XEvent.xselection 0 ++XEvent.xcolormap 0 ++XEvent.xclient 0 ++XEvent.xmapping 0 ++XEvent.xerror 0 ++XEvent.xkeymap 0 ++XEvent.pad 0 ++XEvent 96 ++XRenderDirectFormat.red 0 ++XRenderDirectFormat.redMask 2 ++XRenderDirectFormat.green 4 ++XRenderDirectFormat.greenMask 6 ++XRenderDirectFormat.blue 8 ++XRenderDirectFormat.blueMask 10 ++XRenderDirectFormat.alpha 12 ++XRenderDirectFormat.alphaMask 14 ++XRenderDirectFormat 16 ++ColorData.awt_Colors 0 ++ColorData.awt_numICMcolors 4 ++ColorData.awt_icmLUT 8 ++ColorData.awt_icmLUT2Colors 12 ++ColorData.img_grays 16 ++ColorData.img_clr_tbl 20 ++ColorData.img_oda_red 24 ++ColorData.img_oda_green 28 ++ColorData.img_oda_blue 32 ++ColorData.pGrayInverseLutData 36 ++ColorData.screendata 40 ++ColorData 44 ++XFontStruct.ext_data 0 ++XFontStruct.fid 4 ++XFontStruct.direction 8 ++XFontStruct.min_char_or_byte2 12 ++XFontStruct.max_char_or_byte2 16 ++XFontStruct.min_byte1 20 ++XFontStruct.max_byte1 24 ++XFontStruct.all_chars_exist 28 ++XFontStruct.n_properties 36 ++XFontStruct.properties 40 ++XFontStruct.min_bounds 44 ++XFontStruct.max_bounds 56 ++XFontStruct.per_char 68 ++XFontStruct.ascent 72 ++XFontStruct.descent 76 ++XFontStruct 80 ++XExtCodes.extension 0 ++XExtCodes.major_opcode 4 ++XExtCodes.first_event 8 ++XExtCodes.first_error 12 ++XExtCodes 16 ++XFontSetExtents.max_ink_extent 0 ++XFontSetExtents.max_logical_extent 8 ++XFontSetExtents 16 ++XSelectionEvent.type 0 ++XSelectionEvent.serial 4 ++XSelectionEvent.send_event 8 ++XSelectionEvent.display 12 ++XSelectionEvent.requestor 16 ++XSelectionEvent.selection 20 ++XSelectionEvent.target 24 ++XSelectionEvent.property 28 ++XSelectionEvent.time 32 ++XSelectionEvent 36 ++XArc.x 0 ++XArc.y 2 ++XArc.width 4 ++XArc.height 6 ++XArc.angle1 8 ++XArc.angle2 10 ++XArc 12 ++XErrorEvent.type 0 ++XErrorEvent.display 4 ++XErrorEvent.resourceid 8 ++XErrorEvent.serial 12 ++XErrorEvent.error_code 16 ++XErrorEvent.request_code 17 ++XErrorEvent.minor_code 18 ++XErrorEvent 20 ++XConfigureRequestEvent.type 0 ++XConfigureRequestEvent.serial 4 ++XConfigureRequestEvent.send_event 8 ++XConfigureRequestEvent.display 12 ++XConfigureRequestEvent.parent 16 ++XConfigureRequestEvent.window 20 ++XConfigureRequestEvent.x 24 ++XConfigureRequestEvent.y 28 ++XConfigureRequestEvent.width 32 ++XConfigureRequestEvent.height 36 ++XConfigureRequestEvent.border_width 40 ++XConfigureRequestEvent.above 44 ++XConfigureRequestEvent.detail 48 ++XConfigureRequestEvent.value_mask 52 ++XConfigureRequestEvent 56 ++ScreenFormat.ext_data 0 ++ScreenFormat.depth 4 ++ScreenFormat.bits_per_pixel 8 ++ScreenFormat.scanline_pad 12 ++ScreenFormat 16 ++XButtonEvent.type 0 ++XButtonEvent.serial 4 ++XButtonEvent.send_event 8 ++XButtonEvent.display 12 ++XButtonEvent.window 16 ++XButtonEvent.root 20 ++XButtonEvent.subwindow 24 ++XButtonEvent.time 28 ++XButtonEvent.x 32 ++XButtonEvent.y 36 ++XButtonEvent.x_root 40 ++XButtonEvent.y_root 44 ++XButtonEvent.state 48 ++XButtonEvent.button 52 ++XButtonEvent.same_screen 56 ++XButtonEvent 60 ++XFontProp.name 0 ++XFontProp.card32 4 ++XFontProp 8 ++XIMValuesList.count_values 0 ++XIMValuesList.supported_values 2 ++XIMValuesList 6 ++XKeymapEvent.type 0 ++XKeymapEvent.serial 4 ++XKeymapEvent.send_event 8 ++XKeymapEvent.display 12 ++XKeymapEvent.window 16 ++XKeymapEvent.key_vector 20 ++XKeymapEvent 52 ++XTextItem16.chars 0 ++XTextItem16.nchars 4 ++XTextItem16.delta 8 ++XTextItem16.font 12 ++XTextItem16 16 ++XIMPreeditDrawCallbackStruct.caret 0 ++XIMPreeditDrawCallbackStruct.chg_first 4 ++XIMPreeditDrawCallbackStruct.chg_length 8 ++XIMPreeditDrawCallbackStruct.text 12 ++XIMPreeditDrawCallbackStruct 16 ++XVisualInfo.visual 0 ++XVisualInfo.visualid 4 ++XVisualInfo.screen 8 ++XVisualInfo.depth 12 ++XVisualInfo.class 16 ++XVisualInfo.red_mask 20 ++XVisualInfo.green_mask 24 ++XVisualInfo.blue_mask 28 ++XVisualInfo.colormap_size 32 ++XVisualInfo.bits_per_rgb 36 ++XVisualInfo 40 ++XkbControlsNotifyEvent.type 0 ++XkbControlsNotifyEvent.serial 4 ++XkbControlsNotifyEvent.send_event 8 ++XkbControlsNotifyEvent.display 12 ++XkbControlsNotifyEvent.time 16 ++XkbControlsNotifyEvent.xkb_type 20 ++XkbControlsNotifyEvent.device 24 ++XkbControlsNotifyEvent.changed_ctrls 28 ++XkbControlsNotifyEvent.enabled_ctrls 32 ++XkbControlsNotifyEvent.enabled_ctrl_changes 36 ++XkbControlsNotifyEvent.num_groups 40 ++XkbControlsNotifyEvent.keycode 44 ++XkbControlsNotifyEvent.event_type 45 ++XkbControlsNotifyEvent.req_major 46 ++XkbControlsNotifyEvent.req_minor 47 ++XkbControlsNotifyEvent 48 ++PropMwmHints.flags 0 ++PropMwmHints.functions 4 ++PropMwmHints.decorations 8 ++PropMwmHints.inputMode 12 ++PropMwmHints.status 16 ++PropMwmHints 20 ++XClientMessageEvent.type 0 ++XClientMessageEvent.serial 4 ++XClientMessageEvent.send_event 8 ++XClientMessageEvent.display 12 ++XClientMessageEvent.window 16 ++XClientMessageEvent.message_type 20 ++XClientMessageEvent.format 24 ++XClientMessageEvent.data 28 ++XClientMessageEvent 48 ++XAnyEvent.type 0 ++XAnyEvent.serial 4 ++XAnyEvent.send_event 8 ++XAnyEvent.display 12 ++XAnyEvent.window 16 ++XAnyEvent 20 ++XkbIndicatorNotifyEvent.type 0 ++XkbIndicatorNotifyEvent.serial 4 ++XkbIndicatorNotifyEvent.send_event 8 ++XkbIndicatorNotifyEvent.display 12 ++XkbIndicatorNotifyEvent.time 16 ++XkbIndicatorNotifyEvent.xkb_type 20 ++XkbIndicatorNotifyEvent.device 24 ++XkbIndicatorNotifyEvent.changed 28 ++XkbIndicatorNotifyEvent.state 32 ++XkbIndicatorNotifyEvent 36 ++XIMPreeditStateNotifyCallbackStruct.state 0 ++XIMPreeditStateNotifyCallbackStruct 4 ++XkbAnyEvent.type 0 ++XkbAnyEvent.serial 4 ++XkbAnyEvent.send_event 8 ++XkbAnyEvent.display 12 ++XkbAnyEvent.time 16 ++XkbAnyEvent.xkb_type 20 ++XkbAnyEvent.device 24 ++XkbAnyEvent 28 ++XMotionEvent.type 0 ++XMotionEvent.serial 4 ++XMotionEvent.send_event 8 ++XMotionEvent.display 12 ++XMotionEvent.window 16 ++XMotionEvent.root 20 ++XMotionEvent.subwindow 24 ++XMotionEvent.time 28 ++XMotionEvent.x 32 ++XMotionEvent.y 36 ++XMotionEvent.x_root 40 ++XMotionEvent.y_root 44 ++XMotionEvent.state 48 ++XMotionEvent.is_hint 52 ++XMotionEvent.same_screen 54 ++XMotionEvent 58 ++XIMHotKeyTriggers.num_hot_key 0 ++XIMHotKeyTriggers.key 4 ++XIMHotKeyTriggers 8 ++XIMStyles.count_styles 0 ++XIMStyles.supported_styles 2 ++XIMStyles 6 ++XkbExtensionDeviceNotifyEvent.type 0 ++XkbExtensionDeviceNotifyEvent.serial 4 ++XkbExtensionDeviceNotifyEvent.send_event 8 ++XkbExtensionDeviceNotifyEvent.display 12 ++XkbExtensionDeviceNotifyEvent.time 16 ++XkbExtensionDeviceNotifyEvent.xkb_type 20 ++XkbExtensionDeviceNotifyEvent.device 24 ++XkbExtensionDeviceNotifyEvent.reason 28 ++XkbExtensionDeviceNotifyEvent.supported 32 ++XkbExtensionDeviceNotifyEvent.unsupported 36 ++XkbExtensionDeviceNotifyEvent.first_btn 40 ++XkbExtensionDeviceNotifyEvent.num_btns 44 ++XkbExtensionDeviceNotifyEvent.leds_defined 48 ++XkbExtensionDeviceNotifyEvent.led_state 52 ++XkbExtensionDeviceNotifyEvent.led_class 56 ++XkbExtensionDeviceNotifyEvent.led_id 60 ++XkbExtensionDeviceNotifyEvent 64 ++XwcTextItem.chars 0 ++XwcTextItem.nchars 4 ++XwcTextItem.delta 8 ++XwcTextItem.font_set 12 ++XwcTextItem 16 ++XClassHint.res_name 0 ++XClassHint.res_class 4 ++XClassHint 8 ++XChar2b.byte1 0 ++XChar2b.byte2 1 ++XChar2b 2 ++XSetWindowAttributes.background_pixmap 0 ++XSetWindowAttributes.background_pixel 4 ++XSetWindowAttributes.border_pixmap 8 ++XSetWindowAttributes.border_pixel 12 ++XSetWindowAttributes.bit_gravity 16 ++XSetWindowAttributes.win_gravity 20 ++XSetWindowAttributes.backing_store 24 ++XSetWindowAttributes.backing_planes 28 ++XSetWindowAttributes.backing_pixel 32 ++XSetWindowAttributes.save_under 36 ++XSetWindowAttributes.event_mask 40 ++XSetWindowAttributes.do_not_propagate_mask 44 ++XSetWindowAttributes.override_redirect 48 ++XSetWindowAttributes.colormap 52 ++XSetWindowAttributes.cursor 56 ++XSetWindowAttributes 60 ++XRenderPictFormat.id 0 ++XRenderPictFormat.type 4 ++XRenderPictFormat.depth 8 ++XRenderPictFormat.direct 12 ++XRenderPictFormat.colormap 28 ++XRenderPictFormat 32 ++XReparentEvent.type 0 ++XReparentEvent.serial 4 ++XReparentEvent.send_event 8 ++XReparentEvent.display 12 ++XReparentEvent.event 16 ++XReparentEvent.window 20 ++XReparentEvent.parent 24 ++XReparentEvent.x 28 ++XReparentEvent.y 32 ++XReparentEvent.override_redirect 36 ++XReparentEvent 40 ++XCirculateRequestEvent.type 0 ++XCirculateRequestEvent.serial 4 ++XCirculateRequestEvent.send_event 8 ++XCirculateRequestEvent.display 12 ++XCirculateRequestEvent.parent 16 ++XCirculateRequestEvent.window 20 ++XCirculateRequestEvent.place 24 ++XCirculateRequestEvent 28 ++XImage.width 0 ++XImage.height 4 ++XImage.xoffset 8 ++XImage.format 12 ++XImage.data 16 ++XImage.byte_order 20 ++XImage.bitmap_unit 24 ++XImage.bitmap_bit_order 28 ++XImage.bitmap_pad 32 ++XImage.depth 36 ++XImage.bytes_per_line 40 ++XImage.bits_per_pixel 44 ++XImage.red_mask 48 ++XImage.green_mask 52 ++XImage.blue_mask 56 ++XImage.obdata 60 ++XImage.f.create_image 64 ++XImage.f.destroy_image 68 ++XImage.f.get_pixel 72 ++XImage.f.put_pixel 76 ++XImage.f.sub_image 80 ++XImage.f.add_pixel 84 ++XImage 88 ++XKeyEvent.type 0 ++XKeyEvent.serial 4 ++XKeyEvent.send_event 8 ++XKeyEvent.display 12 ++XKeyEvent.window 16 ++XKeyEvent.root 20 ++XKeyEvent.subwindow 24 ++XKeyEvent.time 28 ++XKeyEvent.x 32 ++XKeyEvent.y 36 ++XKeyEvent.x_root 40 ++XKeyEvent.y_root 44 ++XKeyEvent.state 48 ++XKeyEvent.keycode 52 ++XKeyEvent.same_screen 56 ++XKeyEvent 60 ++XkbActionMessageEvent.type 0 ++XkbActionMessageEvent.serial 4 ++XkbActionMessageEvent.send_event 8 ++XkbActionMessageEvent.display 12 ++XkbActionMessageEvent.time 16 ++XkbActionMessageEvent.xkb_type 20 ++XkbActionMessageEvent.device 24 ++XkbActionMessageEvent.keycode 28 ++XkbActionMessageEvent.press 30 ++XkbActionMessageEvent.key_event_follows 34 ++XkbActionMessageEvent.group 38 ++XkbActionMessageEvent.mods 42 ++XkbActionMessageEvent.message 46 ++XkbActionMessageEvent 54 ++XdbeSwapInfo.swap_window 0 ++XdbeSwapInfo.swap_action 4 ++XdbeSwapInfo 6 ++XTextItem.chars 0 ++XTextItem.nchars 4 ++XTextItem.delta 8 ++XTextItem.font 12 ++XTextItem 16 ++XModifierKeymap.max_keypermod 0 ++XModifierKeymap.modifiermap 4 ++XModifierKeymap 8 ++XCharStruct.lbearing 0 ++XCharStruct.rbearing 2 ++XCharStruct.width 4 ++XCharStruct.ascent 6 ++XCharStruct.descent 8 ++XCharStruct.attributes 10 ++XCharStruct 12 ++XGravityEvent.type 0 ++XGravityEvent.serial 4 ++XGravityEvent.send_event 8 ++XGravityEvent.display 12 ++XGravityEvent.event 16 ++XGravityEvent.window 20 ++XGravityEvent.x 24 ++XGravityEvent.y 28 ++XGravityEvent 32 ++Visual.ext_data 0 ++Visual.visualid 4 ++Visual.class 8 ++Visual.red_mask 12 ++Visual.green_mask 16 ++Visual.blue_mask 20 ++Visual.bits_per_rgb 24 ++Visual.map_entries 28 ++Visual 32 ++XOMOrientation.num_orientation 0 ++XOMOrientation.orientation 4 ++XOMOrientation 8 ++XkbAccessXNotifyEvent.type 0 ++XkbAccessXNotifyEvent.serial 4 ++XkbAccessXNotifyEvent.send_event 8 ++XkbAccessXNotifyEvent.display 12 ++XkbAccessXNotifyEvent.time 16 ++XkbAccessXNotifyEvent.xkb_type 20 ++XkbAccessXNotifyEvent.device 24 ++XkbAccessXNotifyEvent.detail 28 ++XkbAccessXNotifyEvent.keycode 32 ++XkbAccessXNotifyEvent.sk_delay 36 ++XkbAccessXNotifyEvent.debounce_delay 40 ++XkbAccessXNotifyEvent 44 ++XWindowAttributes.x 0 ++XWindowAttributes.y 4 ++XWindowAttributes.width 8 ++XWindowAttributes.height 12 ++XWindowAttributes.border_width 16 ++XWindowAttributes.depth 20 ++XWindowAttributes.visual 24 ++XWindowAttributes.root 28 ++XWindowAttributes.class 32 ++XWindowAttributes.bit_gravity 36 ++XWindowAttributes.win_gravity 40 ++XWindowAttributes.backing_store 44 ++XWindowAttributes.backing_planes 48 ++XWindowAttributes.backing_pixel 52 ++XWindowAttributes.save_under 56 ++XWindowAttributes.colormap 60 ++XWindowAttributes.map_installed 64 ++XWindowAttributes.map_state 68 ++XWindowAttributes.all_event_masks 72 ++XWindowAttributes.your_event_mask 76 ++XWindowAttributes.do_not_propagate_mask 80 ++XWindowAttributes.override_redirect 84 ++XWindowAttributes.screen 88 ++XWindowAttributes 92 ++XmbTextItem.chars 0 ++XmbTextItem.nchars 4 ++XmbTextItem.delta 8 ++XmbTextItem.font_set 12 ++XmbTextItem 16 ++XMappingEvent.type 0 ++XMappingEvent.serial 4 ++XMappingEvent.send_event 8 ++XMappingEvent.display 12 ++XMappingEvent.window 16 ++XMappingEvent.request 20 ++XMappingEvent.first_keycode 24 ++XMappingEvent.count 28 ++XMappingEvent 32 ++XSizeHints.flags 0 ++XSizeHints.x 4 ++XSizeHints.y 8 ++XSizeHints.width 12 ++XSizeHints.height 16 ++XSizeHints.min_width 20 ++XSizeHints.min_height 24 ++XSizeHints.max_width 28 ++XSizeHints.max_height 32 ++XSizeHints.width_inc 36 ++XSizeHints.height_inc 40 ++XSizeHints.min_aspect.x 44 ++XSizeHints.min_aspect.y 48 ++XSizeHints.max_aspect.x 52 ++XSizeHints.max_aspect.y 56 ++XSizeHints.base_width 60 ++XSizeHints.base_height 64 ++XSizeHints.win_gravity 68 ++XSizeHints 72 ++XUnmapEvent.type 0 ++XUnmapEvent.serial 4 ++XUnmapEvent.send_event 8 ++XUnmapEvent.display 12 ++XUnmapEvent.event 16 ++XUnmapEvent.window 20 ++XUnmapEvent.from_configure 24 ++XUnmapEvent 28 ++awtImageData.Depth 0 ++awtImageData.wsImageFormat 4 ++awtImageData.clrdata 16 ++awtImageData.convert 48 ++awtImageData 304 ++XkbStateNotifyEvent.type 0 ++XkbStateNotifyEvent.serial 4 ++XkbStateNotifyEvent.send_event 8 ++XkbStateNotifyEvent.display 12 ++XkbStateNotifyEvent.time 16 ++XkbStateNotifyEvent.xkb_type 20 ++XkbStateNotifyEvent.device 24 ++XkbStateNotifyEvent.changed 28 ++XkbStateNotifyEvent.group 32 ++XkbStateNotifyEvent.base_group 36 ++XkbStateNotifyEvent.latched_group 40 ++XkbStateNotifyEvent.locked_group 44 ++XkbStateNotifyEvent.mods 48 ++XkbStateNotifyEvent.base_mods 52 ++XkbStateNotifyEvent.latched_mods 56 ++XkbStateNotifyEvent.locked_mods 60 ++XkbStateNotifyEvent.compat_state 64 ++XkbStateNotifyEvent.grab_mods 68 ++XkbStateNotifyEvent.compat_grab_mods 69 ++XkbStateNotifyEvent.lookup_mods 70 ++XkbStateNotifyEvent.compat_lookup_mods 71 ++XkbStateNotifyEvent.ptr_buttons 72 ++XkbStateNotifyEvent.keycode 76 ++XkbStateNotifyEvent.event_type 77 ++XkbStateNotifyEvent.req_major 78 ++XkbStateNotifyEvent.req_minor 79 ++XkbStateNotifyEvent 80 ++XExposeEvent.type 0 ++XExposeEvent.serial 4 ++XExposeEvent.send_event 8 ++XExposeEvent.display 12 ++XExposeEvent.window 16 ++XExposeEvent.x 20 ++XExposeEvent.y 24 ++XExposeEvent.width 28 ++XExposeEvent.height 32 ++XExposeEvent.count 36 ++XExposeEvent 40 ++XkbMapNotifyEvent.type 0 ++XkbMapNotifyEvent.serial 4 ++XkbMapNotifyEvent.send_event 8 ++XkbMapNotifyEvent.display 12 ++XkbMapNotifyEvent.time 16 ++XkbMapNotifyEvent.xkb_type 20 ++XkbMapNotifyEvent.device 24 ++XkbMapNotifyEvent.changed 28 ++XkbMapNotifyEvent.flags 32 ++XkbMapNotifyEvent.first_type 36 ++XkbMapNotifyEvent.num_types 40 ++XkbMapNotifyEvent.min_key_code 44 ++XkbMapNotifyEvent.max_key_code 45 ++XkbMapNotifyEvent.first_key_sym 46 ++XkbMapNotifyEvent.first_key_act 47 ++XkbMapNotifyEvent.first_key_behavior 48 ++XkbMapNotifyEvent.first_key_explicit 49 ++XkbMapNotifyEvent.first_modmap_key 50 ++XkbMapNotifyEvent.first_vmodmap_key 51 ++XkbMapNotifyEvent.num_key_syms 52 ++XkbMapNotifyEvent.num_key_acts 56 ++XkbMapNotifyEvent.num_key_behaviors 60 ++XkbMapNotifyEvent.num_key_explicit 64 ++XkbMapNotifyEvent.num_modmap_keys 68 ++XkbMapNotifyEvent.num_vmodmap_keys 72 ++XkbMapNotifyEvent.vmods 76 ++XkbMapNotifyEvent 80 ++XGCValues.function 0 ++XGCValues.plane_mask 4 ++XGCValues.foreground 8 ++XGCValues.background 12 ++XGCValues.line_width 16 ++XGCValues.line_style 20 ++XGCValues.cap_style 24 ++XGCValues.join_style 28 ++XGCValues.fill_style 32 ++XGCValues.fill_rule 36 ++XGCValues.arc_mode 40 ++XGCValues.tile 44 ++XGCValues.stipple 48 ++XGCValues.ts_x_origin 52 ++XGCValues.ts_y_origin 56 ++XGCValues.font 60 ++XGCValues.subwindow_mode 64 ++XGCValues.graphics_exposures 68 ++XGCValues.clip_x_origin 72 ++XGCValues.clip_y_origin 76 ++XGCValues.clip_mask 80 ++XGCValues.dash_offset 84 ++XGCValues.dashes 88 ++XGCValues 90 ++XFocusChangeEvent.type 0 ++XFocusChangeEvent.serial 4 ++XFocusChangeEvent.send_event 8 ++XFocusChangeEvent.display 12 ++XFocusChangeEvent.window 16 ++XFocusChangeEvent.mode 20 ++XFocusChangeEvent.detail 24 ++XFocusChangeEvent 28 ++XPixmapFormatValues.depth 0 ++XPixmapFormatValues.bits_per_pixel 4 ++XPixmapFormatValues.scanline_pad 8 ++XPixmapFormatValues 12 ++XMapEvent.type 0 ++XMapEvent.serial 4 ++XMapEvent.send_event 8 ++XMapEvent.display 12 ++XMapEvent.event 16 ++XMapEvent.window 20 ++XMapEvent.override_redirect 24 ++XMapEvent 28 ++XkbBellNotifyEvent.type 0 ++XkbBellNotifyEvent.serial 4 ++XkbBellNotifyEvent.send_event 8 ++XkbBellNotifyEvent.display 12 ++XkbBellNotifyEvent.time 16 ++XkbBellNotifyEvent.xkb_type 20 ++XkbBellNotifyEvent.device 24 ++XkbBellNotifyEvent.percent 28 ++XkbBellNotifyEvent.pitch 32 ++XkbBellNotifyEvent.duration 36 ++XkbBellNotifyEvent.bell_class 40 ++XkbBellNotifyEvent.bell_id 44 ++XkbBellNotifyEvent.name 48 ++XkbBellNotifyEvent.window 52 ++XkbBellNotifyEvent.event_only 56 ++XkbBellNotifyEvent 60 ++XIMStringConversionText.length 0 ++XIMStringConversionText.feedback 2 ++XIMStringConversionText.encoding_is_wchar 6 ++XIMStringConversionText.string 10 ++XIMStringConversionText 14 ++XKeyboardState.key_click_percent 0 ++XKeyboardState.bell_percent 4 ++XKeyboardState.bell_pitch 8 ++XKeyboardState.bell_duration 12 ++XKeyboardState.led_mask 16 ++XKeyboardState.global_auto_repeat 20 ++XKeyboardState.auto_repeats 24 ++XKeyboardState 56 ++XkbEvent.type 0 ++XkbEvent.any 0 ++XkbEvent.new_kbd 0 ++XkbEvent.map 0 ++XkbEvent.state 0 ++XkbEvent.ctrls 0 ++XkbEvent.indicators 0 ++XkbEvent.names 0 ++XkbEvent.compat 0 ++XkbEvent.bell 0 ++XkbEvent.message 0 ++XkbEvent.accessx 0 ++XkbEvent.device 0 ++XkbEvent.core 0 ++XkbEvent 96 ++XPoint.x 0 ++XPoint.y 2 ++XPoint 4 ++XSegment.x1 0 ++XSegment.y1 2 ++XSegment.x2 4 ++XSegment.y2 6 ++XSegment 8 ++XIconSize.min_width 0 ++XIconSize.min_height 4 ++XIconSize.max_width 8 ++XIconSize.max_height 12 ++XIconSize.width_inc 16 ++XIconSize.height_inc 20 ++XIconSize 24 ++XIMCallback.client_data 0 ++XIMCallback.callback 4 ++XIMCallback 8 ++XConfigureEvent.type 0 ++XConfigureEvent.serial 4 ++XConfigureEvent.send_event 8 ++XConfigureEvent.display 12 ++XConfigureEvent.event 16 ++XConfigureEvent.window 20 ++XConfigureEvent.x 24 ++XConfigureEvent.y 28 ++XConfigureEvent.width 32 ++XConfigureEvent.height 36 ++XConfigureEvent.border_width 40 ++XConfigureEvent.above 44 ++XConfigureEvent.override_redirect 48 ++XConfigureEvent 52 ++XRectangle.x 0 ++XRectangle.y 2 ++XRectangle.width 4 ++XRectangle.height 6 ++XRectangle 8 ++XkbNamesNotifyEvent.type 0 ++XkbNamesNotifyEvent.serial 4 ++XkbNamesNotifyEvent.send_event 8 ++XkbNamesNotifyEvent.display 12 ++XkbNamesNotifyEvent.time 16 ++XkbNamesNotifyEvent.xkb_type 20 ++XkbNamesNotifyEvent.device 24 ++XkbNamesNotifyEvent.changed 28 ++XkbNamesNotifyEvent.first_type 32 ++XkbNamesNotifyEvent.num_types 36 ++XkbNamesNotifyEvent.first_lvl 40 ++XkbNamesNotifyEvent.num_lvls 44 ++XkbNamesNotifyEvent.num_aliases 48 ++XkbNamesNotifyEvent.num_radio_groups 52 ++XkbNamesNotifyEvent.changed_vmods 56 ++XkbNamesNotifyEvent.changed_groups 60 ++XkbNamesNotifyEvent.changed_indicators 64 ++XkbNamesNotifyEvent.first_key 68 ++XkbNamesNotifyEvent.num_keys 72 ++XkbNamesNotifyEvent 76 ++XCreateWindowEvent.type 0 ++XCreateWindowEvent.serial 4 ++XCreateWindowEvent.send_event 8 ++XCreateWindowEvent.display 12 ++XCreateWindowEvent.parent 16 ++XCreateWindowEvent.window 20 ++XCreateWindowEvent.x 24 ++XCreateWindowEvent.y 28 ++XCreateWindowEvent.width 32 ++XCreateWindowEvent.height 36 ++XCreateWindowEvent.border_width 40 ++XCreateWindowEvent.override_redirect 44 ++XCreateWindowEvent 48 ++XVisibilityEvent.type 0 ++XVisibilityEvent.serial 4 ++XVisibilityEvent.send_event 8 ++XVisibilityEvent.display 12 ++XVisibilityEvent.window 16 ++XVisibilityEvent.state 20 ++XVisibilityEvent 24 ++XWMHints.flags 0 ++XWMHints.initial_state 8 ++XWMHints.icon_pixmap 12 ++XWMHints.icon_window 16 ++XWMHints.icon_x 20 ++XWMHints.icon_y 24 ++XWMHints.icon_mask 28 ++XWMHints.input 4 ++XWMHints.window_group 32 ++XWMHints 36 ++XCrossingEvent.type 0 ++XCrossingEvent.serial 4 ++XCrossingEvent.send_event 8 ++XCrossingEvent.display 12 ++XCrossingEvent.window 16 ++XCrossingEvent.root 20 ++XCrossingEvent.subwindow 24 ++XCrossingEvent.time 28 ++XCrossingEvent.x 32 ++XCrossingEvent.y 36 ++XCrossingEvent.x_root 40 ++XCrossingEvent.y_root 44 ++XCrossingEvent.mode 48 ++XCrossingEvent.detail 52 ++XCrossingEvent.same_screen 56 ++XCrossingEvent.focus 60 ++XCrossingEvent.state 64 ++XCrossingEvent 68 ++XSelectionRequestEvent.type 0 ++XSelectionRequestEvent.serial 4 ++XSelectionRequestEvent.send_event 8 ++XSelectionRequestEvent.display 12 ++XSelectionRequestEvent.owner 16 ++XSelectionRequestEvent.requestor 20 ++XSelectionRequestEvent.selection 24 ++XSelectionRequestEvent.target 28 ++XSelectionRequestEvent.property 32 ++XSelectionRequestEvent.time 36 ++XSelectionRequestEvent 40 ++XNoExposeEvent.type 0 ++XNoExposeEvent.serial 4 ++XNoExposeEvent.send_event 8 ++XNoExposeEvent.display 12 ++XNoExposeEvent.drawable 16 ++XNoExposeEvent.major_code 20 ++XNoExposeEvent.minor_code 24 ++XNoExposeEvent 28 ++XHostAddress.family 0 ++XHostAddress.length 4 ++XHostAddress.address 8 ++XHostAddress 12 ++XColormapEvent.type 0 ++XColormapEvent.serial 4 ++XColormapEvent.send_event 8 ++XColormapEvent.display 12 ++XColormapEvent.window 16 ++XColormapEvent.colormap 20 ++XColormapEvent.new 24 ++XColormapEvent.state 28 ++XColormapEvent 32 ++ColorEntry.r 0 ++ColorEntry.g 1 ++ColorEntry.b 2 ++ColorEntry.flags 3 ++ColorEntry 4 ++XResizeRequestEvent.type 0 ++XResizeRequestEvent.serial 4 ++XResizeRequestEvent.send_event 8 ++XResizeRequestEvent.display 12 ++XResizeRequestEvent.window 16 ++XResizeRequestEvent.width 20 ++XResizeRequestEvent.height 24 ++XResizeRequestEvent 28 ++Depth.depth 0 ++Depth.nvisuals 4 ++Depth.visuals 8 ++Depth 12 ++XPropertyEvent.type 0 ++XPropertyEvent.serial 4 ++XPropertyEvent.send_event 8 ++XPropertyEvent.display 12 ++XPropertyEvent.window 16 ++XPropertyEvent.atom 20 ++XPropertyEvent.time 24 ++XPropertyEvent.state 28 ++XPropertyEvent 32 ++XDestroyWindowEvent.type 0 ++XDestroyWindowEvent.serial 4 ++XDestroyWindowEvent.send_event 8 ++XDestroyWindowEvent.display 12 ++XDestroyWindowEvent.event 16 ++XDestroyWindowEvent.window 20 ++XDestroyWindowEvent 24 ++XStandardColormap.colormap 0 ++XStandardColormap.red_max 4 ++XStandardColormap.red_mult 8 ++XStandardColormap.green_max 12 ++XStandardColormap.green_mult 16 ++XStandardColormap.blue_max 20 ++XStandardColormap.blue_mult 24 ++XStandardColormap.base_pixel 28 ++XStandardColormap.visualid 32 ++XStandardColormap.killid 36 ++XStandardColormap 40 ++XComposeStatus.compose_ptr 0 ++XComposeStatus.chars_matched 4 ++XComposeStatus 8 ++AwtGraphicsConfigData.awt_depth 0 ++AwtGraphicsConfigData.awt_cmap 4 ++AwtGraphicsConfigData.awt_visInfo 8 ++AwtGraphicsConfigData.awt_num_colors 48 ++AwtGraphicsConfigData.awtImage 52 ++AwtGraphicsConfigData.AwtColorMatch 56 ++AwtGraphicsConfigData.monoImage 60 ++AwtGraphicsConfigData.monoPixmap 64 ++AwtGraphicsConfigData.monoPixmapWidth 68 ++AwtGraphicsConfigData.monoPixmapHeight 72 ++AwtGraphicsConfigData.monoPixmapGC 76 ++AwtGraphicsConfigData.pixelStride 80 ++AwtGraphicsConfigData.color_data 84 ++AwtGraphicsConfigData.glxInfo 88 ++AwtGraphicsConfigData.isTranslucencySupported 92 ++AwtGraphicsConfigData.renderPictFormat 96 ++AwtGraphicsConfigData 128 ++XColor.pixel 0 ++XColor.red 4 ++XColor.green 6 ++XColor.blue 8 ++XColor.flags 10 ++XColor.pad 11 ++XColor 12 ++XTextProperty.value 0 ++XTextProperty.encoding 4 ++XTextProperty.format 8 ++XTextProperty.nitems 12 ++XTextProperty 16 --- openjdk-9-9~b94.orig/debian/patches/multiple-pkcs11-library-init.patch +++ openjdk-9-9~b94/debian/patches/multiple-pkcs11-library-init.patch @@ -0,0 +1,76 @@ +# HG changeset patch +# User andrew +# Date 1352129932 0 +# Node ID e9c857dcb964dbfa5eef3a3590244cb4d999cf7a +# Parent 1406789608b76d0906881979335d685855f44190 +Allow multiple PKCS11 library initialisation to be a non-critical error. + +Index: b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/Config.java +=================================================================== +--- a/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/Config.java ++++ b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/Config.java +@@ -52,6 +52,7 @@ final class Config { + static final int ERR_HALT = 1; + static final int ERR_IGNORE_ALL = 2; + static final int ERR_IGNORE_LIB = 3; ++ static final int ERR_IGNORE_MULTI_INIT = 4; + + // same as allowSingleThreadedModules but controlled via a system property + // and applied to all providers. if set to false, no SunPKCS11 instances +@@ -980,6 +981,8 @@ final class Config { + handleStartupErrors = ERR_IGNORE_LIB; + } else if (val.equals("halt")) { + handleStartupErrors = ERR_HALT; ++ } else if (val.equals("ignoreMultipleInitialisation")) { ++ handleStartupErrors = ERR_IGNORE_MULTI_INIT; + } else { + throw excToken("Invalid value for handleStartupErrors:"); + } +Index: b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/SunPKCS11.java +=================================================================== +--- a/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/SunPKCS11.java ++++ b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/SunPKCS11.java +@@ -173,26 +173,37 @@ public final class SunPKCS11 extends Aut + String nssLibraryDirectory = config.getNssLibraryDirectory(); + String nssSecmodDirectory = config.getNssSecmodDirectory(); + boolean nssOptimizeSpace = config.getNssOptimizeSpace(); ++ int errorHandling = config.getHandleStartupErrors(); + + if (secmod.isInitialized()) { + if (nssSecmodDirectory != null) { + String s = secmod.getConfigDir(); + if ((s != null) && + (s.equals(nssSecmodDirectory) == false)) { +- throw new ProviderException("Secmod directory " +- + nssSecmodDirectory +- + " invalid, NSS already initialized with " +- + s); ++ String msg = "Secmod directory " + nssSecmodDirectory ++ + " invalid, NSS already initialized with " + s; ++ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT || ++ errorHandling == Config.ERR_IGNORE_ALL) { ++ throw new UnsupportedOperationException(msg); ++ } else { ++ throw new ProviderException(msg); ++ } + } + } + if (nssLibraryDirectory != null) { + String s = secmod.getLibDir(); + if ((s != null) && + (s.equals(nssLibraryDirectory) == false)) { +- throw new ProviderException("NSS library directory " ++ String msg = "NSS library directory " + + nssLibraryDirectory + + " invalid, NSS already initialized with " +- + s); ++ + s; ++ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT || ++ errorHandling == Config.ERR_IGNORE_ALL) { ++ throw new UnsupportedOperationException(msg); ++ } else { ++ throw new ProviderException(msg); ++ } + } + } + } else { --- openjdk-9-9~b94.orig/debian/patches/no-pch-build.diff +++ openjdk-9-9~b94/debian/patches/no-pch-build.diff @@ -0,0 +1,110 @@ +--- openjdk/hotspot/src/share/vm/oops/arrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/arrayKlassKlass.cpp 2013-04-15 13:57:24.992929086 +0200 +@@ -30,6 +30,7 @@ + #include "runtime/handles.inline.hpp" + #ifndef SERIALGC + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "memory/cardTableRS.hpp" +--- openjdk/hotspot/src/share/vm/oops/constantPoolKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/constantPoolKlass.cpp 2013-04-15 14:02:52.143087149 +0200 +@@ -49,6 +49,7 @@ + #endif + #ifndef SERIALGC + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "memory/cardTableRS.hpp" +--- openjdk/hotspot/src/share/vm/oops/cpCacheKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/cpCacheKlass.cpp 2013-04-15 14:04:45.219838633 +0200 +@@ -35,6 +35,7 @@ + #include "runtime/handles.inline.hpp" + #ifndef SERIALGC + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "memory/cardTableRS.hpp" +--- openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp 2013-04-15 14:07:55.861109867 +0200 +@@ -70,6 +70,7 @@ + #include "gc_implementation/g1/g1RemSet.inline.hpp" + #include "gc_implementation/g1/heapRegionSeq.inline.hpp" + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "oops/oop.pcgc.inline.hpp" +--- openjdk/hotspot/src/share/vm/oops/instanceKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/instanceKlassKlass.cpp 2013-04-15 14:08:53.541485528 +0200 +@@ -44,6 +44,7 @@ + #include "runtime/fieldDescriptor.hpp" + #ifndef SERIALGC + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "memory/cardTableRS.hpp" +--- openjdk/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp 2013-04-15 14:10:11.162003798 +0200 +@@ -42,6 +42,7 @@ + #include "gc_implementation/g1/g1RemSet.inline.hpp" + #include "gc_implementation/g1/heapRegionSeq.inline.hpp" + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "oops/oop.pcgc.inline.hpp" +--- openjdk/hotspot/src/share/vm/oops/instanceRefKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/instanceRefKlass.cpp 2013-04-15 14:11:11.726403390 +0200 +@@ -39,6 +39,7 @@ + #include "gc_implementation/g1/g1RemSet.inline.hpp" + #include "gc_implementation/g1/heapRegionSeq.inline.hpp" + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "oops/oop.pcgc.inline.hpp" +--- openjdk/hotspot/src/share/vm/oops/klassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/klassKlass.cpp 2013-04-15 14:13:01.999133769 +0200 +@@ -42,6 +42,7 @@ + #include "runtime/handles.inline.hpp" + #ifndef SERIALGC + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "memory/cardTableRS.hpp" +--- openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp 2013-04-15 14:16:10.616389484 +0200 +@@ -47,6 +47,7 @@ + #include "gc_implementation/g1/g1RemSet.inline.hpp" + #include "gc_implementation/g1/heapRegionSeq.inline.hpp" + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psCompactionManager.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" +--- openjdk/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/oops/objArrayKlassKlass.cpp 2013-04-15 14:17:01.800729154 +0200 +@@ -33,6 +33,7 @@ + #include "oops/oop.inline2.hpp" + #ifndef SERIALGC + #include "gc_implementation/parNew/parOopClosures.inline.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" + #include "memory/cardTableRS.hpp" +--- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp~ 2013-03-04 22:51:00.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp 2013-04-15 14:20:24.782079605 +0200 +@@ -28,6 +28,7 @@ + #include "gc_implementation/parallelScavenge/cardTableExtension.hpp" + #include "gc_implementation/parallelScavenge/gcTaskManager.hpp" + #include "gc_implementation/parallelScavenge/psMarkSweep.hpp" ++#include "gc_implementation/parallelScavenge/psOldGen.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.hpp" + #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" + #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" --- openjdk-9-9~b94.orig/debian/patches/nonreparenting-wm.diff +++ openjdk-9-9~b94/debian/patches/nonreparenting-wm.diff @@ -0,0 +1,61 @@ +Index: b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java +=================================================================== +--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java ++++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java +@@ -104,7 +104,8 @@ final class XWM + COMPIZ_WM = 12, + LG3D_WM = 13, + CWM_WM = 14, +- MUTTER_WM = 15; ++ MUTTER_WM = 15, ++ OTHER_NONREPARENTING_WM = 16; + public String toString() { + switch (WMID) { + case NO_WM: +@@ -601,7 +602,8 @@ final class XWM + awtWMNonReparenting = (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) ? 1 : 0; + } + return (awtWMNonReparenting == 1 || XWM.getWMID() == XWM.COMPIZ_WM +- || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM); ++ || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM ++ || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM); + } + + /* +@@ -796,9 +798,17 @@ final class XWM + * supports WIN or _NET wm spec. + */ + else if (l_net_protocol.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } else if (win.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } + /* + * Check for legacy WMs. +@@ -809,6 +819,8 @@ final class XWM + awt_wmgr = XWM.MOTIF_WM; + } else if (isOpenLook()) { + awt_wmgr = XWM.OPENLOOK_WM; ++ } else if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; + } +@@ -1340,6 +1352,7 @@ final class XWM + res = new Insets(28, 6, 6, 6); + break; + case NO_WM: ++ case OTHER_NONREPARENTING_WM: + case LG3D_WM: + res = zeroInsets; + break; --- openjdk-9-9~b94.orig/debian/patches/pass-extra-flags.diff +++ openjdk-9-9~b94/debian/patches/pass-extra-flags.diff @@ -0,0 +1,42 @@ +Index: b/hotspot/make/linux/makefiles/jsig.make +=================================================================== +--- a/hotspot/make/linux/makefiles/jsig.make ++++ b/hotspot/make/linux/makefiles/jsig.make +@@ -54,7 +54,9 @@ endif + $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) + @echo $(LOG_INFO) Making signal interposition lib... + $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ +- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl ++ $(LFLAGS_JSIG) $(EXTRA_LDFLAGS) \ ++ $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) \ ++ -o $@ $< -ldl + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) + $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ +Index: b/hotspot/make/linux/makefiles/vm.make +=================================================================== +--- a/hotspot/make/linux/makefiles/vm.make ++++ b/hotspot/make/linux/makefiles/vm.make +@@ -116,7 +116,8 @@ CFLAGS += $(CFLAGS/NOEX) + + # Extra flags from gnumake's invocation or environment + CFLAGS += $(EXTRA_CFLAGS) +-LFLAGS += $(EXTRA_CFLAGS) ++CXXFLAGS += $(EXTRA_CXXFLAGS) ++LFLAGS += $(EXTRA_LDFLAGS) + + # Don't set excutable bit on stack segment + # the same could be done by separate execstack command +Index: b/hotspot/make/linux/makefiles/saproc.make +=================================================================== +--- a/hotspot/make/linux/makefiles/saproc.make ++++ b/hotspot/make/linux/makefiles/saproc.make +@@ -73,7 +73,7 @@ ALT_SAINCDIR=-I$(ALT_SASRCDIR) -DALT_SAS + else + ALT_SAINCDIR= + endif +-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) ++SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS) + + SAARCH ?= $(BUILDARCH) + --- openjdk-9-9~b94.orig/debian/patches/ppc64le.diff +++ openjdk-9-9~b94/debian/patches/ppc64le.diff @@ -0,0 +1,166 @@ +# DP: + +Index: b/common/autoconf/generated-configure.sh +=================================================================== +--- a/common/autoconf/generated-configure.sh ++++ b/common/autoconf/generated-configure.sh +@@ -6844,7 +6844,7 @@ test -n "$target_alias" && + VAR_CPU_ENDIAN=big + ;; + powerpc64le) +- VAR_CPU=ppc64 ++ VAR_CPU=ppc64le + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little +@@ -6981,7 +6981,7 @@ $as_echo "$OPENJDK_BUILD_OS-$OPENJDK_BUI + VAR_CPU_ENDIAN=big + ;; + powerpc64le) +- VAR_CPU=ppc64 ++ VAR_CPU=ppc64le + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little +@@ -7969,7 +7969,7 @@ $as_echo "$with_jvm_variants" >&6; } + if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then + INCLUDE_SA=false + fi +- if test "x$VAR_CPU" = xppc64 ; then ++ if test "x$VAR_CPU" = xppc64 -o "x$VAR_CPU" = xppc64le ; then + INCLUDE_SA=false + fi + if test "x$OPENJDK_TARGET_CPU" = xaarch64; then +@@ -29916,6 +29916,9 @@ fi + else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" + fi ++ if test "x$OPENJDK_TARGET_CPU" = xppc64le; then ++ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DABI_ELFv2" ++ fi + if test "x$OPENJDK_TARGET_OS" = xlinux; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" + fi +Index: b/common/autoconf/hotspot-spec.gmk.in +=================================================================== +--- a/common/autoconf/hotspot-spec.gmk.in ++++ b/common/autoconf/hotspot-spec.gmk.in +@@ -71,6 +71,10 @@ ISA_DIR=$(OPENJDK_TARGET_CPU_ISADIR) + LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB) + # Old name for OPENJDK_TARGET_CPU, uses i586 and amd64, instead of x86 and x86_64. + ARCH=$(OPENJDK_TARGET_CPU_LEGACY) ++# ppc64le uses the HotSpot ppc64 build ++ifeq ($(OPENJDK_TARGET_CPU), ppc64le) ++ ARCH=ppc64 ++endif + # Legacy setting for building for a 64 bit machine. + # If yes then this expands to _LP64:=1 + @LP64@ +Index: b/common/autoconf/jdk-options.m4 +=================================================================== +--- a/common/autoconf/jdk-options.m4 ++++ b/common/autoconf/jdk-options.m4 +@@ -158,7 +158,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS + if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then + INCLUDE_SA=false + fi +- if test "x$VAR_CPU" = xppc64 ; then ++ if test "x$VAR_CPU" = xppc64 -o "x$VAR_CPU" = xppc64le ; then + INCLUDE_SA=false + fi + if test "x$OPENJDK_TARGET_CPU" = xaarch64; then +Index: b/common/autoconf/platform.m4 +=================================================================== +--- a/common/autoconf/platform.m4 ++++ b/common/autoconf/platform.m4 +@@ -115,7 +115,7 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU + VAR_CPU_ENDIAN=big + ;; + powerpc64le) +- VAR_CPU=ppc64 ++ VAR_CPU=ppc64le + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little +Index: b/common/autoconf/toolchain.m4 +=================================================================== +--- a/common/autoconf/toolchain.m4 ++++ b/common/autoconf/toolchain.m4 +@@ -979,6 +979,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_ + else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" + fi ++ if test "x$OPENJDK_TARGET_CPU" = xppc64le; then ++ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DABI_ELFv2" ++ fi + if test "x$OPENJDK_TARGET_OS" = xlinux; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" + fi +Index: b/jdk/make/lib/SoundLibraries.gmk +=================================================================== +--- a/jdk/make/lib/SoundLibraries.gmk ++++ b/jdk/make/lib/SoundLibraries.gmk +@@ -143,6 +143,10 @@ else + ifeq ($(OPENJDK_TARGET_CPU), aarch64) + LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64 + endif ++ ++ ifeq ($(OPENJDK_TARGET_CPU), ppc64le) ++ LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64LE ++ endif + endif + + LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' +Index: b/jdk/src/share/native/com/sun/media/sound/SoundDefs.h +=================================================================== +--- a/jdk/src/share/native/com/sun/media/sound/SoundDefs.h ++++ b/jdk/src/share/native/com/sun/media/sound/SoundDefs.h +@@ -43,7 +43,9 @@ + #define X_ZERO 6 + #define X_ARM 7 + #define X_PPC 8 +-#define X_AARCH64 9 ++#define X_PPC64 9 ++#define X_PPC64LE 10 ++#define X_AARCH64 11 + + // ********************************** + // Make sure you set X_PLATFORM and X_ARCH defines correctly. +Index: b/jdk/src/solaris/bin/ppc64le/jvm.cfg +=================================================================== +--- /dev/null ++++ b/jdk/src/solaris/bin/ppc64le/jvm.cfg +@@ -0,0 +1,33 @@ ++# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# This code is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License version 2 only, as ++# published by the Free Software Foundation. Oracle designates this ++# particular file as subject to the "Classpath" exception as provided ++# by Oracle in the LICENSE file that accompanied this code. ++# ++# This code is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++# version 2 for more details (a copy is included in the LICENSE file that ++# accompanied this code). ++# ++# You should have received a copy of the GNU General Public License version ++# 2 along with this work; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ++# or visit www.oracle.com if you need additional information or have any ++# questions. ++# ++# List of JVMs that can be used as an option to java, javac, etc. ++# Order is important -- first in this list is the default JVM. ++# NOTE that this both this file and its format are UNSUPPORTED and ++# WILL GO AWAY in a future release. ++# ++# You may also select a JVM in an arbitrary location with the ++# "-XXaltjvm=" option, but that too is unsupported ++# and may not be available in a future release. ++# ++-server KNOWN --- openjdk-9-9~b94.orig/debian/patches/set-exec-name.diff +++ openjdk-9-9~b94/debian/patches/set-exec-name.diff @@ -0,0 +1,47 @@ +--- openjdk/jdk/src/solaris/bin/java_md.c.orig ++++ openjdk/jdk/src/solaris/bin/java_md.c +@@ -688,8 +688,19 @@ + char buf[PATH_MAX+1]; + int len = readlink(self, buf, PATH_MAX); + if (len >= 0) { ++ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL}; ++ const char **prefix; ++ size_t prefix_len = 0; + buf[len] = '\0'; /* readlink doesn't nul terminate */ +- exec_path = JLI_StringDup(buf); ++ for (prefix = prefixes; *prefix; prefix++) { ++ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix); ++ if (!strncmp(*prefix, buf, prefix_len)) { ++ prefix_len--; ++ break; ++ } ++ prefix_len = 0; ++ } ++ exec_path = JLI_StringDup(buf + prefix_len); + } + } + #else /* !__solaris__ && !__linux */ +--- openjdk/hotspot/src/os/posix/launcher/java_md.c.orig ++++ openjdk/hotspot/src/os/posix/launcher/java_md.c +@@ -967,8 +967,19 @@ + char buf[PATH_MAX+1]; + int len = readlink(self, buf, PATH_MAX); + if (len >= 0) { +- buf[len] = '\0'; /* readlink doesn't nul terminate */ +- exec_path = JLI_StringDup(buf); ++ buf[len] = '\0'; /* readlink doesn't nul terminate */ ++ const char* prefixes[] = {"/cow/", "/persistmnt/", "/rofs/", "/rwfs/", "/squashmnt/", NULL}; ++ const char **prefix; ++ size_t prefix_len = 0; ++ for (prefix = prefixes; *prefix; prefix++) { ++ prefix_len = strlen(buf) < strlen(*prefix) ? strlen(buf) : strlen(*prefix); ++ if (!strncmp(*prefix, buf, prefix_len)) { ++ prefix_len--; ++ break; ++ } ++ prefix_len = 0; ++ } ++ exec_path = JLI_StringDup(buf + prefix_len); + } + } + #else /* !__sun && !__linux */ --- openjdk-9-9~b94.orig/debian/patches/shebang.diff +++ openjdk-9-9~b94/debian/patches/shebang.diff @@ -0,0 +1,7 @@ +--- a/jdk/src/sample/share/scripting/scriptpad/src/scripts/memory.sh ++++ b/jdk/src/sample/share/scripting/scriptpad/src/scripts/memory.sh +@@ -1,3 +1,4 @@ ++#!/bin/sh + # + # Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. + # --- openjdk-9-9~b94.orig/debian/patches/sparc-stubgenerator.diff +++ openjdk-9-9~b94/debian/patches/sparc-stubgenerator.diff @@ -0,0 +1,44 @@ +Author: Damien Raude-Morvan +Description: Fix FTBFS on sparc on stubGenerator_sparc.cpp by using explicit class typedef. + +--- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp ++++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp +@@ -1055,7 +1055,7 @@ + Label& L_loop, bool use_prefetch, bool use_bis); + + void disjoint_copy_core(Register from, Register to, Register count, int log2_elem_size, +- int iter_size, CopyLoopFunc copy_loop_func) { ++ int iter_size, StubGenerator::CopyLoopFunc copy_loop_func) { + Label L_copy; + + assert(log2_elem_size <= 3, "the following code should be changed"); +@@ -1206,7 +1206,8 @@ + __ inc(from, 8); + __ sllx(O3, left_shift, O3); + +- disjoint_copy_core(from, to, count, log2_elem_size, 16, copy_16_bytes_shift_loop); ++ StubGenerator::CopyLoopFunc aFunction = &StubGenerator::copy_16_bytes_shift_loop; ++ disjoint_copy_core(from, to, count, log2_elem_size, 16, aFunction); + + __ inccc(count, count_dec>>1 ); // + 8 bytes + __ brx(Assembler::negative, true, Assembler::pn, L_copy_last_bytes); +@@ -2085,7 +2086,8 @@ + __ dec(count, 4); // The cmp at the beginning guaranty count >= 4 + __ sllx(O3, 32, O3); + +- disjoint_copy_core(from, to, count, 2, 16, copy_16_bytes_loop); ++ StubGenerator::CopyLoopFunc aFunction = &StubGenerator::copy_16_bytes_loop; ++ disjoint_copy_core(from, to, count, 2, 16, aFunction); + + __ br(Assembler::always, false, Assembler::pt, L_copy_4_bytes); + __ delayed()->inc(count, 4); // restore 'count' +@@ -2366,7 +2368,8 @@ + // count >= 0 (original count - 8) + __ mov(from, from64); + +- disjoint_copy_core(from64, to64, count, 3, 64, copy_64_bytes_loop); ++ StubGenerator::CopyLoopFunc aFunction = &StubGenerator::copy_64_bytes_loop; ++ disjoint_copy_core(from64, to64, count, 3, 64, aFunction); + + // Restore O4(offset0), O5(offset8) + __ sub(from64, from, offset0); --- openjdk-9-9~b94.orig/debian/patches/stack-direction.diff +++ openjdk-9-9~b94/debian/patches/stack-direction.diff @@ -0,0 +1,217 @@ +# unused patch (work in progress for PARISC support) + +--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.old 2010-01-06 16:30:02.000000000 +0100 ++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2010-01-06 23:14:47.000000000 +0100 +@@ -144,8 +144,13 @@ + address addr = (address) info->si_addr; + + // check if fault address is within thread stack ++#ifdef __hppa__ ++ if (addr > thread->stack_base() && ++ addr <= thread->stack_base() + thread->stack_size()) { ++#else + if (addr < thread->stack_base() && + addr >= thread->stack_base() - thread->stack_size()) { ++#endif + // stack overflow + if (thread->in_stack_yellow_zone(addr)) { + thread->disable_stack_yellow_zone(); +@@ -294,7 +299,11 @@ + if (res != 0) { + fatal1("pthread_attr_getstack failed with errno = %d", res); + } ++#ifdef __hppa__ ++ address stack_top = stack_bottom - stack_bytes; ++#else + address stack_top = stack_bottom + stack_bytes; ++#endif + + // The block of memory returned by pthread_attr_getstack() includes + // guard pages where present. We need to trim these off. +@@ -321,7 +330,11 @@ + stack_bottom += (total_pages - guard_pages) / 2 * page_bytes; + #endif // IA64 + ++#ifdef __hppa__ ++ stack_bottom -= guard_bytes; ++#else + stack_bottom += guard_bytes; ++#endif + + pthread_attr_destroy(&attr); + +@@ -329,19 +342,36 @@ + // by pthread_attr_getstack is the maximum size it could possibly + // be given what currently mapped. This can be huge, so we cap it. + if (os::Linux::is_initial_thread()) { ++#ifdef __hppa__ ++ stack_bytes = stack_bottom - stack_top; ++#else + stack_bytes = stack_top - stack_bottom; ++#endif + + if (stack_bytes > JavaThread::stack_size_at_create()) + stack_bytes = JavaThread::stack_size_at_create(); + ++#ifdef __hppa__ ++ stack_bottom = stack_top + stack_bytes; ++#else + stack_bottom = stack_top - stack_bytes; ++#endif + } + ++#ifdef __hppa__ ++ assert(os::current_stack_pointer() <= stack_bottom, "should do"); ++ assert(os::current_stack_pointer() > stack_top, "should do"); ++#else + assert(os::current_stack_pointer() >= stack_bottom, "should do"); + assert(os::current_stack_pointer() < stack_top, "should do"); ++#endif + + *bottom = stack_bottom; ++#ifdef __hppa__ ++ *size = stack_bottom - stack_top; ++#else + *size = stack_top - stack_bottom; ++#endif + } + + address os::current_stack_base() { +--- openjdk/hotspot/src/share/vm/runtime/thread.cpp.old 2009-10-02 23:16:39.000000000 +0200 ++++ openjdk/hotspot/src/share/vm/runtime/thread.cpp 2010-01-06 23:31:24.000000000 +0100 +@@ -713,8 +713,13 @@ + else if (is_ConcurrentGC_thread()) st->print("ConcurrentGCThread"); + else st->print("Thread"); + ++#ifdef __hppa__ + st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]", + _stack_base - _stack_size, _stack_base); ++#else ++ st->print(" [stack: " PTR_FORMAT "," PTR_FORMAT "]", ++ _stack_base + _stack_size, _stack_base); ++#endif + + if (osthread()) { + st->print(" [id=%d]", osthread()->thread_id()); +@@ -792,7 +797,11 @@ + bool Thread::is_in_stack(address adr) const { + assert(Thread::current() == this, "is_in_stack can only be called from current thread"); + address end = os::current_stack_pointer(); ++#ifdef __hppa__ ++ if (stack_base() <= adr && adr <= end) return true; ++#else + if (stack_base() >= adr && adr >= end) return true; ++#endif + + return false; + } +@@ -804,7 +813,11 @@ + // should be revisited, and they should be removed if possible. + + bool Thread::is_lock_owned(address adr) const { ++#ifdef __hppa__ ++ return (_stack_base <= adr && adr <= (_stack_base + _stack_size)); ++#else + return (_stack_base >= adr && adr >= (_stack_base - _stack_size)); ++#endif + } + + bool Thread::set_as_starting_thread() { +@@ -2108,7 +2121,11 @@ + + void JavaThread::create_stack_guard_pages() { + if (! os::uses_stack_guard_pages() || _stack_guard_state != stack_guard_unused) return; ++#ifdef __hppa__ ++ address low_addr = stack_base(); ++#else + address low_addr = stack_base() - stack_size(); ++#endif + size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size(); + + int allocate = os::allocate_stack_guard_pages(); +@@ -2131,7 +2148,11 @@ + + void JavaThread::remove_stack_guard_pages() { + if (_stack_guard_state == stack_guard_unused) return; ++#ifdef __hppa__ ++ address low_addr = stack_base(); ++#else + address low_addr = stack_base() - stack_size(); ++#endif + size_t len = (StackYellowPages + StackRedPages) * os::vm_page_size(); + + if (os::allocate_stack_guard_pages()) { +@@ -2156,10 +2177,17 @@ + + // The base notation is from the stacks point of view, growing downward. + // We need to adjust it to work correctly with guard_memory() ++#ifdef __hppa__ ++ address base = stack_yellow_zone_base() + stack_yellow_zone_size(); ++ ++ guarantee(base > stack_base(),"Error calculating stack yellow zone"); ++ guarantee(base > os::current_stack_pointer(),"Error calculating stack yellow zone"); ++#else + address base = stack_yellow_zone_base() - stack_yellow_zone_size(); + + guarantee(base < stack_base(),"Error calculating stack yellow zone"); + guarantee(base < os::current_stack_pointer(),"Error calculating stack yellow zone"); ++#endif + + if (os::guard_memory((char *) base, stack_yellow_zone_size())) { + _stack_guard_state = stack_guard_enabled; +@@ -2178,7 +2206,11 @@ + + // The base notation is from the stacks point of view, growing downward. + // We need to adjust it to work correctly with guard_memory() ++#ifdef __hppa__ ++ address base = stack_yellow_zone_base() + stack_yellow_zone_size(); ++#else + address base = stack_yellow_zone_base() - stack_yellow_zone_size(); ++#endif + + if (os::unguard_memory((char *)base, stack_yellow_zone_size())) { + _stack_guard_state = stack_guard_yellow_disabled; +@@ -2192,10 +2224,17 @@ + // The base notation is from the stacks point of view, growing downward. + // We need to adjust it to work correctly with guard_memory() + assert(_stack_guard_state != stack_guard_unused, "must be using guard pages."); ++#ifdef __hppa__ ++ address base = stack_red_zone_base() + stack_red_zone_size(); ++ ++ guarantee(base > stack_base(),"Error calculating stack red zone"); ++ guarantee(base > os::current_stack_pointer(),"Error calculating stack red zone"); ++#else + address base = stack_red_zone_base() - stack_red_zone_size(); + + guarantee(base < stack_base(),"Error calculating stack red zone"); + guarantee(base < os::current_stack_pointer(),"Error calculating stack red zone"); ++#endif + + if(!os::guard_memory((char *) base, stack_red_zone_size())) { + warning("Attempt to guard stack red zone failed."); +@@ -2206,7 +2245,11 @@ + // The base notation is from the stacks point of view, growing downward. + // We need to adjust it to work correctly with guard_memory() + assert(_stack_guard_state != stack_guard_unused, "must be using guard pages."); ++#ifdef __hppa__ ++ address base = stack_red_zone_base() + stack_red_zone_size(); ++#else + address base = stack_red_zone_base() - stack_red_zone_size(); ++#endif + if (!os::unguard_memory((char *)base, stack_red_zone_size())) { + warning("Attempt to unguard stack red zone failed."); + } +@@ -2451,8 +2494,13 @@ + if (osthread()) { + st->print(", id=%d", osthread()->thread_id()); + } ++#ifdef __hppa__ ++ st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")", ++ _stack_base + _stack_size, _stack_base); ++#else + st->print(", stack(" PTR_FORMAT "," PTR_FORMAT ")", + _stack_base - _stack_size, _stack_base); ++#endif + st->print("]"); + return; + } --- openjdk-9-9~b94.orig/debian/patches/system-pcsclite.diff +++ openjdk-9-9~b94/debian/patches/system-pcsclite.diff @@ -0,0 +1,191 @@ +Index: common/autoconf/lib-bundled.m4 +=================================================================== +--- a/common/autoconf/lib-bundled.m4.orig ++++ b/common/autoconf/lib-bundled.m4 +@@ -37,6 +37,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS], + LIB_SETUP_LIBPNG + LIB_SETUP_ZLIB + LIB_SETUP_LCMS ++ LIB_SETUP_PCSCLITE + ]) + + ################################################################################ +@@ -224,3 +225,41 @@ AC_DEFUN_ONCE([LIB_SETUP_LCMS], + + AC_SUBST(USE_EXTERNAL_LCMS) + ]) ++ ++################################################################################ ++# Setup pcsclite ++################################################################################ ++AC_DEFUN_ONCE([LIB_SETUP_PCSCLITE], ++[ ++ AC_ARG_WITH(pcsclite, [AS_HELP_STRING([--with-pcsclite], ++ [use pcsclite from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) ++ ++ AC_MSG_CHECKING([for which pcsclite to use]) ++ ++ # default is bundled ++ DEFAULT_PCSCLITE=bundled ++ # if user didn't specify, use DEFAULT_PCSCLITE ++ if test "x${with_pcsclite}" = "x"; then ++ with_libpng=${DEFAULT_PCSCLITE} ++ fi ++ ++ if test "x${with_pcsclite}" = "xbundled"; then ++ USE_EXTERNAL_PCSCLITE=false ++ AC_MSG_RESULT([bundled]) ++ elif test "x${with_pcsclite}" = "xsystem"; then ++ PKG_CHECK_MODULES(PCSCLITE, libpcsclite, ++ [ PCSCLITE_FOUND=yes ], ++ [ PCSCLITE_FOUND=no ]) ++ if test "x${PCSCLITE_FOUND}" = "xyes"; then ++ USE_EXTERNAL_PCSCLITE=true ++ AC_MSG_RESULT([system]) ++ else ++ AC_MSG_RESULT([system not found]) ++ AC_MSG_ERROR([--with-pcsclite=system specified, but no pcsclite found!]) ++ fi ++ else ++ AC_MSG_ERROR([Invalid value of --with-pcsclite: ${with_pcsclite}, use 'system' or 'bundled']) ++ fi ++ ++ AC_SUBST(USE_EXTERNAL_PCSCLITE) ++]) +Index: common/autoconf/spec.gmk.in +=================================================================== +--- a/common/autoconf/spec.gmk.in.orig ++++ b/common/autoconf/spec.gmk.in +@@ -540,6 +540,7 @@ ENABLE_JFR=@ENABLE_JFR@ + ENABLE_INTREE_EC=@ENABLE_INTREE_EC@ + USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@ + USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@ ++USE_EXTERNAL_LIBPCSCLITE:=@USE_EXTERNAL_LIBPCSCLITE@ + USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@ + LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@ + MSVCR_DLL:=@MSVCR_DLL@ +Index: jdk/make/lib/Lib-java.smartcardio.gmk +=================================================================== +--- a/jdk/make/lib/Lib-java.smartcardio.gmk.orig ++++ b/jdk/make/lib/Lib-java.smartcardio.gmk +@@ -30,7 +30,7 @@ include LibCommon.gmk + LIBJ2PCSC_SRC := $(JDK_TOPDIR)/src/java.smartcardio/share/native/libj2pcsc \ + $(JDK_TOPDIR)/src/java.smartcardio/$(OPENJDK_TARGET_OS_TYPE)/native/libj2pcsc + LIBJ2PCSC_CPPFLAGS := $(addprefix -I,$(LIBJ2PCSC_SRC)) \ +- -I$(JDK_TOPDIR)/src/java.smartcardio/$(OPENJDK_TARGET_OS_TYPE)/native/libj2pcsc/MUSCLE \ ++ -I/usr/include/PCSC -DUSE_SYSTEM_LIBPCSCLITE \ + -I$(SUPPORT_OUTPUTDIR)/headers/java.smartcardio + + $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC, \ +@@ -43,7 +43,7 @@ $(eval $(call SetupNativeCompilation,BUI + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libj2pcsc/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ +- LIBS_unix := $(LIBDL), \ ++ LIBS_unix := -lpcsclite $(LIBDL), \ + LIBS_solaris := -lc, \ + LIBS_windows := winscard.lib, \ + VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ +Index: jdk/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c +=================================================================== +--- a/jdk/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c.orig ++++ b/jdk/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c +@@ -36,6 +36,7 @@ + + #include "pcsc_md.h" + ++#ifndef USE_SYSTEM_LIBPCSCLITE + void *hModule; + FPTR_SCardEstablishContext scardEstablishContext; + FPTR_SCardConnect scardConnect; +@@ -47,6 +48,7 @@ FPTR_SCardListReaders scardListReaders; + FPTR_SCardBeginTransaction scardBeginTransaction; + FPTR_SCardEndTransaction scardEndTransaction; + FPTR_SCardControl scardControl; ++#endif + + /* + * Throws a Java Exception by name +@@ -75,7 +77,9 @@ void throwIOException(JNIEnv *env, const + throwByName(env, "java/io/IOException", msg); + } + ++#ifndef USE_SYSTEM_LIBPCSCLITE + void *findFunction(JNIEnv *env, void *hModule, char *functionName) { ++ return NULL; + void *fAddress = dlsym(hModule, functionName); + if (fAddress == NULL) { + char errorMessage[256]; +@@ -85,9 +89,11 @@ void *findFunction(JNIEnv *env, void *hM + } + return fAddress; + } ++#endif + + JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize + (JNIEnv *env, jclass thisClass, jstring jLibName) { ++#ifndef USE_SYSTEM_LIBPCSCLITE + const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL); + if (libName == NULL) { + throwNullPointerException(env, "PCSC library name is null"); +@@ -141,4 +147,5 @@ JNIEXPORT void JNICALL Java_sun_security + #else + scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl132"); + #endif // __APPLE__ ++#endif + } +Index: jdk/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h +=================================================================== +--- a/jdk/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h.orig ++++ b/jdk/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h +@@ -23,6 +23,8 @@ + * questions. + */ + ++#ifndef USE_SYSTEM_LIBPCSCLITE ++ + typedef LONG (*FPTR_SCardEstablishContext)(ULONG dwScope, + const void *pvReserved1, + const void *pvReserved2, +@@ -110,3 +112,41 @@ extern FPTR_SCardListReaders scardListRe + extern FPTR_SCardBeginTransaction scardBeginTransaction; + extern FPTR_SCardEndTransaction scardEndTransaction; + extern FPTR_SCardControl scardControl; ++ ++#else ++ ++#define CALL_SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext) \ ++ (SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext)) ++ ++#define CALL_SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols) \ ++ (SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols)) ++ ++#define CALL_SCardDisconnect(hCard, dwDisposition) \ ++ (SCardDisconnect(hCard, dwDisposition)) ++ ++#define CALL_SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen) \ ++ (SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen)) ++ ++#define CALL_SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders) \ ++ (SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders)) ++ ++#define CALL_SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \ ++ pioRecvPci, pbRecvBuffer, pcbRecvLength) \ ++ (SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \ ++ pioRecvPci, pbRecvBuffer, pcbRecvLength)) ++ ++#define CALL_SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders) \ ++ (SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders)) ++ ++#define CALL_SCardBeginTransaction(hCard) \ ++ (SCardBeginTransaction(hCard)) ++ ++#define CALL_SCardEndTransaction(hCard, dwDisposition) \ ++ (SCardEndTransaction(hCard, dwDisposition)) ++ ++#define CALL_SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \ ++ pbRecvBuffer, pcbRecvLength, lpBytesReturned) \ ++ (SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \ ++ pbRecvBuffer, pcbRecvLength, lpBytesReturned)) ++ ++#endif --- openjdk-9-9~b94.orig/debian/patches/workaround_expand_exec_shield_cs_limit.diff +++ openjdk-9-9~b94/debian/patches/workaround_expand_exec_shield_cs_limit.diff @@ -0,0 +1,26 @@ +Index: b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp ++++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +@@ -849,7 +849,7 @@ void os::verify_stack_alignment() { + * updates (JDK-8023956). + */ + void os::workaround_expand_exec_shield_cs_limit() { +-#if defined(IA32) ++#if defined(IA32) && !defined(ZERO) + size_t page_size = os::vm_page_size(); + /* + * Take the highest VA the OS will give us and exec +Index: b/hotspot/src/os/linux/vm/os_linux.cpp +=================================================================== +--- a/hotspot/src/os/linux/vm/os_linux.cpp ++++ b/hotspot/src/os/linux/vm/os_linux.cpp +@@ -4723,7 +4723,7 @@ jint os::init_2(void) { + + Linux::capture_initial_stack(JavaThread::stack_size_at_create()); + +-#if defined(IA32) ++#if defined(IA32) && !defined(ZERO) + workaround_expand_exec_shield_cs_limit(); + #endif + --- openjdk-9-9~b94.orig/debian/patches/zero-architectures.diff +++ openjdk-9-9~b94/debian/patches/zero-architectures.diff @@ -0,0 +1,108 @@ +# DP: Add support for zero architectures alpha, m68k, mips*, sh4 + +Index: b/common/autoconf/platform.m4 +=================================================================== +--- a/common/autoconf/platform.m4 ++++ b/common/autoconf/platform.m4 +@@ -42,6 +42,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=little + ;; ++ alpha*) ++ VAR_CPU=alpha ++ VAR_CPU_ARCH=alpha ++ VAR_CPU_BITS=64 ++ VAR_CPU_ENDIAN=little ++ ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm +@@ -54,6 +60,48 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; ++ m68k) ++ VAR_CPU=m68k ++ VAR_CPU_ARCH=m68k ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=big ++ ;; ++ mips) ++ VAR_CPU=mips ++ VAR_CPU_ARCH=mips ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=big ++ ;; ++ mipsel) ++ VAR_CPU=mipsel ++ VAR_CPU_ARCH=mipsel ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; ++ mipsn32) ++ VAR_CPU=mipsn32 ++ VAR_CPU_ARCH=mipsn32 ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=big ++ ;; ++ mipsn32el) ++ VAR_CPU=mipsn32el ++ VAR_CPU_ARCH=mipsn32el ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; ++ mips64) ++ VAR_CPU=mips64 ++ VAR_CPU_ARCH=mips64 ++ VAR_CPU_BITS=64 ++ VAR_CPU_ENDIAN=big ++ ;; ++ mips64el) ++ VAR_CPU=mips64el ++ VAR_CPU_ARCH=mips64el ++ VAR_CPU_BITS=64 ++ VAR_CPU_ENDIAN=little ++ ;; + powerpc) + VAR_CPU=ppc + VAR_CPU_ARCH=ppc +@@ -72,6 +120,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; ++ sh*) ++ VAR_CPU=sh ++ VAR_CPU_ARCH=sh ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; + s390) + VAR_CPU=s390 + VAR_CPU_ARCH=s390 +@@ -373,8 +427,13 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS], + + # ZERO_ARCHDEF is used to enable architecture-specific code + case "${OPENJDK_TARGET_CPU}" in ++ alpha*) ZERO_ARCHDEF=ALPHA ;; ++ m68k) ZERO_ARCHDEF=M68K ;; ++ mips|mipsn32|mips64) ZERO_ARCHDEF=MIPS ;; ++ mipsel|mipsn32el|mips64el) ZERO_ARCHDEF=MIPSEL ;; + ppc) ZERO_ARCHDEF=PPC32 ;; + ppc64) ZERO_ARCHDEF=PPC64 ;; ++ sh*) ZERO_ARCHDEF=SH ;; + s390*) ZERO_ARCHDEF=S390 ;; + sparc*) ZERO_ARCHDEF=SPARC ;; + x86_64*) ZERO_ARCHDEF=AMD64 ;; +Index: b/common/autoconf/flags.m4 +=================================================================== +--- a/common/autoconf/flags.m4 ++++ b/common/autoconf/flags.m4 +@@ -922,6 +922,8 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAG + *) + ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" + esac ++ # use the default for the package builds ++ ZERO_ARCHFLAG="" + FLAGS_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""]) + AC_SUBST(ZERO_ARCHFLAG) + --- openjdk-9-9~b94.orig/debian/patches/zero-fpu-control-is-noop.diff +++ openjdk-9-9~b94/debian/patches/zero-fpu-control-is-noop.diff @@ -0,0 +1,29 @@ +Description: ZeroVM fix under IA32. Actual code in + openjdk/hotspot/src/os/linux/vm/os_linux.cpp#safe_cond_timedwait + call get_fpu_control_word and set_fpu_control_word under + any IA32 arch. + In os_linux_zero.cpp, this methods throw errors with ShouldNotCallThis. + Just replace it with just NO-OP. + TODO: Maybe just add ifndef ZERO in os_linux.cpp +Author: Damien Raude-Morvan +Last-Update: 2011-08-02 +Forwarded: http://mail.openjdk.java.net/pipermail/zero-dev/2011-August/000398.html +Index: b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +=================================================================== +--- a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp ++++ b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp +@@ -275,11 +275,12 @@ void os::Linux::init_thread_fpu_state(vo + } + + int os::Linux::get_fpu_control_word() { +- ShouldNotCallThis(); ++ // Nothing to do ++ return 0; + } + + void os::Linux::set_fpu_control_word(int fpu) { +- ShouldNotCallThis(); ++ // Nothing to do + } + + bool os::is_allocatable(size_t bytes) { --- openjdk-9-9~b94.orig/debian/patches/zero-opt.diff +++ openjdk-9-9~b94/debian/patches/zero-opt.diff @@ -0,0 +1,16 @@ +# DP: Build zero with -O2 -finline-functions instead of -O3 (still needed?) +--- openjdk/hotspot/make/linux/makefiles/gcc.make~ 2013-04-15 13:44:59.703968963 +0200 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2013-04-15 16:22:04.124240511 +0200 +@@ -170,7 +170,11 @@ + CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) + + # The flags to use for an Optimized g++ build +-OPT_CFLAGS += -O3 ++ifeq ($(ZERO_BUILD), true) ++ OPT_CFLAGS += -O2 -finline-functions ++else ++ OPT_CFLAGS += -O3 ++endif + + # Hotspot uses very unstrict aliasing turn this optimization off + OPT_CFLAGS += -fno-strict-aliasing --- openjdk-9-9~b94.orig/debian/patches/zero-sparc.diff +++ openjdk-9-9~b94/debian/patches/zero-sparc.diff @@ -0,0 +1,287 @@ +--- openjdk/hotspot/src/cpu/sparc/vm/bytecodes_sparc.hpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/cpu/sparc/vm/bytecodes_sparc.hpp 2014-01-15 10:55:36.991083672 +0000 +@@ -25,7 +25,7 @@ + #ifndef CPU_SPARC_VM_BYTECODES_SPARC_HPP + #define CPU_SPARC_VM_BYTECODES_SPARC_HPP + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + #define NLOCALS_IN_REGS 6 + #endif + +--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.old 2014-01-15 09:57:03.613191054 +0000 ++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp 2014-01-15 10:55:36.995083702 +0000 +@@ -82,7 +82,7 @@ + // Must never look like an address returned by reserve_memory, + // even in its subfields (as defined by the CPU immediate fields, + // if the CPU splits constants across multiple instructions). +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // On SPARC, 0 != %hi(any real address), because there is no + // allocation in the first 1Kb of the virtual address space. + return (char *) 0; +--- openjdk/hotspot/src/share/vm/opto/output.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/opto/output.cpp 2014-01-15 10:55:37.015083849 +0000 +@@ -682,7 +682,7 @@ + array->append(new_loc_value( _regalloc, regnum, Location::lng )); + } + #else //_LP64 +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + if (t->base() == Type::Long && OptoReg::is_reg(regnum)) { + // For SPARC we have to swap high and low words for + // long values stored in a single-register (g0-g7). +--- openjdk/hotspot/src/share/vm/opto/chaitin.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/opto/chaitin.cpp 2014-01-15 10:55:37.023083908 +0000 +@@ -723,7 +723,7 @@ + case Op_RegFlags: + case 0: // not an ideal register + lrg.set_num_regs(1); +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + lrg.set_reg_pressure(2); + #else + lrg.set_reg_pressure(1); +@@ -1328,7 +1328,7 @@ + + // Check if a color is available and if so pick the color + OptoReg::Name reg = choose_color( *lrg, chunk ); +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + debug_only(lrg->compute_set_mask_size()); + assert(lrg->num_regs() < 2 || lrg->is_bound() || is_even(reg-1), "allocate all doubles aligned"); + #endif +--- openjdk/hotspot/src/share/vm/opto/chaitin.hpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/opto/chaitin.hpp 2014-01-15 10:55:37.015083849 +0000 +@@ -293,7 +293,7 @@ + // TEMPORARILY REPLACED WITH COMMAND LINE FLAG + + //// !!!!! Magic Constants need to move into ad file +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + //#define FLOAT_PRESSURE 30 /* SFLT_REG_mask.Size() - 1 */ + //#define INT_PRESSURE 23 /* NOTEMP_I_REG_mask.Size() - 1 */ + #define FLOAT_INCREMENT(regs) regs +--- openjdk/hotspot/src/share/vm/runtime/safepoint.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/safepoint.cpp 2014-01-15 10:55:37.027083937 +0000 +@@ -765,7 +765,7 @@ + newptr, is_oop?"oop":" ", (wasoop && !is_oop) ? "STALE" : ((wasoop==false&&is_oop==false&&oldptr !=newptr)?"STOMP":" ")); + } + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + static void print_me(intptr_t *new_sp, intptr_t *old_sp, bool *was_oops) { + #ifdef _LP64 + tty->print_cr("--------+------address-----+------before-----------+-------after----------+"); +--- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2014-01-15 10:55:37.031083968 +0000 +@@ -815,7 +815,7 @@ + #ifdef _LP64 + jlong res = (jlong)low->get_int(); + #else +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // For SPARC we have to swap high and low words. + jlong res = jlong_from((jint)low->get_int(), (jint)value->get_int()); + #else +@@ -866,7 +866,7 @@ + #ifdef _LP64 + jlong res = (jlong)low->get_int(); + #else +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // For SPARC we have to swap high and low words. + jlong res = jlong_from((jint)low->get_int(), (jint)value->get_int()); + #else +--- openjdk/hotspot/src/share/vm/runtime/advancedThresholdPolicy.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/advancedThresholdPolicy.cpp 2014-01-15 10:55:37.035083997 +0000 +@@ -62,7 +62,7 @@ + } + #endif + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + if (FLAG_IS_DEFAULT(InlineSmallCode)) { + FLAG_SET_DEFAULT(InlineSmallCode, 2500); + } +--- openjdk/hotspot/src/share/vm/runtime/stackValue.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/stackValue.cpp 2014-01-15 10:55:37.023083908 +0000 +@@ -34,7 +34,7 @@ + // Stack or register value + Location loc = ((LocationValue *)sv)->location(); + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // %%%%% Callee-save floats will NOT be working on a Sparc until we + // handle the case of a 2 floats in a single double register. + assert( !(loc.is_register() && loc.type() == Location::float_in_dbl), "Sparc does not handle callee-save floats yet" ); +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2014-01-15 10:55:37.043084056 +0000 +@@ -1993,7 +1993,7 @@ + + status = status && verify_object_alignment(); + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + if (UseConcMarkSweepGC || UseG1GC) { + // Issue a stern warning if the user has explicitly set + // UseMemSetInBOT (it is known to cause issues), but allow +--- openjdk/hotspot/src/share/vm/c1/c1_Runtime1.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/c1/c1_Runtime1.cpp 2014-01-15 10:55:37.063084203 +0000 +@@ -1074,7 +1074,7 @@ + RelocIterator iter(nm, (address)instr_pc, (address)(instr_pc + 1)); + relocInfo::change_reloc_info_for_address(&iter, (address) instr_pc, + relocInfo::none, relocInfo::oop_type); +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // Sparc takes two relocations for an oop so update the second one. + address instr_pc2 = instr_pc + NativeMovConstReg::add_offset; + RelocIterator iter2(nm, instr_pc2, instr_pc2 + 1); +--- openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp 2014-01-15 10:55:37.047084085 +0000 +@@ -577,7 +577,7 @@ + monitor_address(op->in_opr()->as_constant_ptr()->as_jint(), op->result_opr()); + break; + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + case lir_pack64: + pack64(op->in_opr(), op->result_opr()); + break; +@@ -852,7 +852,7 @@ + if (!r->is_stack()) { + stringStream st; + st.print("bad oop %s at %d", r->as_Register()->name(), _masm->offset()); +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + _masm->_verify_oop(r->as_Register(), strdup(st.as_string()), __FILE__, __LINE__); + #else + _masm->verify_oop(r->as_Register()); +--- openjdk/hotspot/src/share/vm/c1/c1_LinearScan.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/c1/c1_LinearScan.cpp 2014-01-15 10:55:37.079084322 +0000 +@@ -2128,7 +2128,7 @@ + } + #endif + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + assert(assigned_reg >= pd_first_fpu_reg && assigned_reg <= pd_last_fpu_reg, "no fpu register"); + assert(interval->assigned_regHi() >= pd_first_fpu_reg && interval->assigned_regHi() <= pd_last_fpu_reg, "no fpu register"); + assert(assigned_reg % 2 == 0 && assigned_reg + 1 == interval->assigned_regHi(), "must be sequential and even"); +@@ -2726,7 +2726,7 @@ + + assert(opr->fpu_regnrLo() == opr->fpu_regnrHi(), "assumed in calculation (only fpu_regnrLo is used)"); + #endif +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + assert(opr->fpu_regnrLo() == opr->fpu_regnrHi() + 1, "assumed in calculation (only fpu_regnrHi is used)"); + #endif + #ifdef ARM +--- openjdk/hotspot/src/share/vm/c1/c1_LIR.hpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/c1/c1_LIR.hpp 2014-01-15 10:55:37.059084174 +0000 +@@ -595,7 +595,7 @@ + static LIR_Opr single_softfp(int reg) { return (LIR_Opr)((reg << LIR_OprDesc::reg1_shift) | LIR_OprDesc::float_type | LIR_OprDesc::cpu_register | LIR_OprDesc::single_size); } + static LIR_Opr double_softfp(int reg1, int reg2) { return (LIR_Opr)((reg1 << LIR_OprDesc::reg1_shift) | (reg2 << LIR_OprDesc::reg2_shift) | LIR_OprDesc::double_type | LIR_OprDesc::cpu_register | LIR_OprDesc::double_size); } + #endif +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + static LIR_Opr double_fpu(int reg1, int reg2) { return (LIR_Opr)(intptr_t)((reg1 << LIR_OprDesc::reg1_shift) | + (reg2 << LIR_OprDesc::reg2_shift) | + LIR_OprDesc::double_type | +--- openjdk/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp 2014-01-15 10:55:37.055084145 +0000 +@@ -1891,7 +1891,7 @@ + Value recv = has_receiver ? apop() : NULL; + int vtable_index = methodOopDesc::invalid_vtable_index; + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // Currently only supported on Sparc. + // The UseInlineCaches only controls dispatch to invokevirtuals for + // loaded classes which we weren't able to statically bind. +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2014-01-15 10:55:37.083084351 +0000 +@@ -3095,7 +3095,7 @@ + tty->print_cr("stack_base: " INTPTR_FORMAT, (uintptr_t) this->_stack_base); + tty->print_cr("stack_limit: " INTPTR_FORMAT, (uintptr_t) this->_stack_limit); + tty->print_cr("monitor_base: " INTPTR_FORMAT, (uintptr_t) this->_monitor_base); +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + tty->print_cr("last_Java_pc: " INTPTR_FORMAT, (uintptr_t) this->_last_Java_pc); + tty->print_cr("frame_bottom: " INTPTR_FORMAT, (uintptr_t) this->_frame_bottom); + tty->print_cr("&native_fresult: " INTPTR_FORMAT, (uintptr_t) &this->_native_fresult); +--- openjdk/hotspot/src/share/vm/utilities/macros.hpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/macros.hpp 2014-01-15 10:55:37.087084380 +0000 +@@ -207,7 +207,7 @@ + #define NOT_AMD64(code) code + #endif + +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + #define SPARC_ONLY(code) code + #define NOT_SPARC(code) + #else +--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2014-01-15 10:55:37.087084380 +0000 +@@ -243,7 +243,7 @@ + + // checking for nanness + #ifdef SOLARIS +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + inline int g_isnan(float f) { return isnanf(f); } + #else + // isnanf() broken on Intel Solaris use isnand() +--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_sparcWorks.hpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_sparcWorks.hpp 2014-01-15 10:55:37.087084380 +0000 +@@ -249,7 +249,7 @@ + + // checking for nanness + #ifdef SOLARIS +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + inline int g_isnan(float f) { return isnanf(f); } + #else + // isnanf() broken on Intel Solaris use isnand() +--- openjdk/hotspot/src/share/vm/adlc/output_h.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/output_h.cpp 2014-01-15 10:55:37.095084439 +0000 +@@ -718,7 +718,7 @@ + fprintf(fp_hpp, "class Pipeline_Use_Cycle_Mask {\n"); + + if (_pipeline->_maxcycleused <= +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + 64 + #else + 32 +--- openjdk/hotspot/src/share/vm/adlc/formssel.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/formssel.cpp 2014-01-15 10:55:37.103084499 +0000 +@@ -1020,7 +1020,7 @@ + const char *opType = NULL; + while (_matrule->base_operand(position, globals, result, name, opType)) { + if ( strcmp(opType,"ConP") == 0 ) { +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + reloc_entries += 2; // 1 for sethi + 1 for setlo + #else + ++reloc_entries; +@@ -1058,7 +1058,7 @@ + // Check for any component being an immediate float or double. + Form::DataType data_type = is_chain_of_constant(globals); + if( data_type==idealD || data_type==idealF ) { +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + // sparc required more relocation entries for floating constants + // (expires 9/98) + reloc_entries += 6; +--- openjdk/hotspot/src/share/vm/adlc/output_c.cpp.old 2014-01-14 21:26:34.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/output_c.cpp 2014-01-15 10:55:37.111084557 +0000 +@@ -779,7 +779,7 @@ + /* Do Nothing */; + + else if (_pipeline->_maxcycleused <= +-#ifdef SPARC ++#if defined(SPARC) && !defined(ZERO) + 64 + #else + 32 --- openjdk-9-9~b94.orig/debian/patches/zero-x32.diff +++ openjdk-9-9~b94/debian/patches/zero-x32.diff @@ -0,0 +1,96 @@ +# DP: Add support for x32 + +Index: b/hotspot/src/os/linux/vm/os_linux.cpp +=================================================================== +--- a/hotspot/src/os/linux/vm/os_linux.cpp ++++ b/hotspot/src/os/linux/vm/os_linux.cpp +@@ -1784,7 +1784,7 @@ void * os::dll_load(const char *filename + + #if (defined IA32) + static Elf32_Half running_arch_code=EM_386; +-#elif (defined AMD64) ++#elif (defined AMD64) || (defined X32) + static Elf32_Half running_arch_code=EM_X86_64; + #elif (defined IA64) + static Elf32_Half running_arch_code=EM_IA_64; +Index: b/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c +=================================================================== +--- a/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c ++++ b/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c +@@ -41,7 +41,6 @@ + #endif + #ifdef __linux__ + #include +-#include + #include + #include + +Index: b/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c +=================================================================== +--- a/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c ++++ b/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c +@@ -43,7 +43,6 @@ + #endif + #ifdef __linux__ + #include +-#include + #endif + + #include "jvm.h" +Index: b/common/autoconf/platform.m4 +=================================================================== +--- a/common/autoconf/platform.m4 ++++ b/common/autoconf/platform.m4 +@@ -31,10 +31,17 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU + # First argument is the cpu name from the trip/quad + case "$1" in + x86_64) +- VAR_CPU=x86_64 +- VAR_CPU_ARCH=x86 +- VAR_CPU_BITS=64 +- VAR_CPU_ENDIAN=little ++ if test "`dpkg-architecture -qDEB_HOST_ARCH`" = x32 ; then ++ VAR_CPU=x32 ++ VAR_CPU_ARCH=x86 ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ else ++ VAR_CPU=x86_64 ++ VAR_CPU_ARCH=x86 ++ VAR_CPU_BITS=64 ++ VAR_CPU_ENDIAN=little ++ fi + ;; + i?86) + VAR_CPU=x86 +@@ -442,7 +449,13 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS], + sh*) ZERO_ARCHDEF=SH ;; + s390*) ZERO_ARCHDEF=S390 ;; + sparc*) ZERO_ARCHDEF=SPARC ;; +- x86_64*) ZERO_ARCHDEF=AMD64 ;; ++ x86_64*) ++ if test "`dpkg-architecture -qDEB_HOST_ARCH`" = x32 ; then ++ ZERO_ARCHDEF=X32 ++ else ++ ZERO_ARCHDEF=AMD64 ++ fi ++ ;; + x86) ZERO_ARCHDEF=IA32 ;; + *) ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z) + esac +Index: b/jdk/make/gensrc/GensrcX11Wrappers.gmk +=================================================================== +--- a/jdk/make/gensrc/GensrcX11Wrappers.gmk ++++ b/jdk/make/gensrc/GensrcX11Wrappers.gmk +@@ -90,11 +90,6 @@ ifneq ($(COMPILE_TYPE), cross) + $(MKDIR) -p $(@D) + $(TOOL_WRAPPERGENERATOR) $(@D) $(GENSRC_SIZER_DIR)/xlibtypes.txt "sizer" $* + +- # use -m32/-m64 only if the compiler supports it +- ifeq ($(COMPILER_SUPPORTS_TARGET_BITS_FLAG), true) +- MEMORY_MODEL_FLAG="$(COMPILER_TARGET_BITS_FLAG)$*" +- endif +- + SIZER_CFLAGS := \ + -I$(JDK_TOPDIR)/src/java.base/share/native/include \ + -I$(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_EXPORT_DIR)/native/include \ --- openjdk-9-9~b94.orig/debian/rules +++ openjdk-9-9~b94/debian/rules @@ -0,0 +1,2237 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +unexport LANG LC_ALL + +dh_version := $(shell dpkg-query -f '$${Version}\n' -W debhelper | sed -n 's/^\(.\).*/\1/p') + +# using brace expansion and substring replacements (${var:0:2}). +SHELL = /bin/bash + +vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1))) + +DPKG_VARS := $(shell dpkg-architecture) +DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH) +DEB_BUILD_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_ARCH) +DEB_HOST_ARCH_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH_CPU) +DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH) + +PATH := $(CURDIR)/bin:$(PATH) +export PATH + +CHANGELOG_VARS := $(shell dpkg-parsechangelog | sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p') +PKGSOURCE := $(call vafilt,$(CHANGELOG_VARS),Source) +PKGVERSION := $(call vafilt,$(CHANGELOG_VARS),Version) + +distribution := $(shell lsb_release --id --short) +distrel := $(shell lsb_release --codename --short) +derivative := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \ + elif dpkg-vendor --derives-from Debian; then echo Debian; \ + else echo Unknown; fi) +ifeq ($(distrel),n/a) + distrel := sid +endif + +multiarch_dir = /$(DEB_HOST_MULTIARCH) + +hotspot_archs = amd64 i386 arm64 ppc64 ppc64el kfreebsd-amd64 kfreebsd-i386 +# FIXME: use bootcycle builds for zero archs? +bootcycle_build = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),yes) +bootcycle_build = yes +ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) + bootcycle_build = +endif + +shark_archs = amd64 i386 kfreebsd-amd64 kfreebsd-i386 +# Shark build but just crash +shark_archs = + +ifneq (,$(filter $(distrel),lucid precise quantal raring saucy trusty utopic lenny etch squeeze wheezy jessie sid)) + is_default = no +else + is_default = yes +endif + +srcdir = src +builddir = build +zbuilddir = build-zero +jbuilddir = build-jamvm + +VENDOR = openjdk +Vendor = OpenJDK +TOP = usr/lib/jvm +origin = openjdk +basename = openjdk-$(shortver) +ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs))) + priority = $(if $(filter yes, $(is_default)),1091,1079) + vm_name = Hotspot JIT +else ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs))) + priority = $(if $(filter yes, $(is_default)),1085,1075) + vm_name = Hotspot Shark +else + priority = $(if $(filter yes, $(is_default)),1084,1073) + vm_name = Hotspot Zero +endif +jvmver = 1.9.0 +shortver = 9 +updatever := $(shell echo $(PKGVERSION) | sed -n 's/.*u\([0-9]\+\).*/\1/p') +buildver := $(shell echo $(PKGVERSION) | sed -n 's/.*\(b[0-9]\+\).*/\1/p') + +ifneq (,$(DEB_HOST_MULTIARCH)) + jdirname = java-$(shortver)-$(origin)-$(DEB_HOST_ARCH) + jdiralias = java-$(jvmver)-$(origin)-$(DEB_HOST_ARCH) + basedir = $(TOP)/$(jdirname) + commonbasedir = $(TOP)/java-$(shortver)-$(origin)-common + commonbasedir = $(basedir) + etcdir = etc/java-$(shortver)-$(origin) +else + jdirname = java-$(shortver)-$(origin) + jdiralias = java-$(jvmver)-$(origin) + basedir = $(TOP)/$(jdirname) + commonbasedir = $(TOP)/java-$(shortver)-$(origin) + etcdir = etc/$(jdirname) +endif +security = $(etcdir)/security +ifeq ($(bootcycle_build),yes) + jreimg = bootcycle-build/images/jre + sdkimg = bootcycle-build/images/jdk + build_target = bootcycle-images +else + jreimg = images/jre + sdkimg = images/jdk + build_target = images +endif + +# Support parallel= in DEB_BUILD_OPTIONS (see #209008) +COMMA=, +SPACE = $(EMPTY) $(EMPTY) +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + NJOBS = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +endif + +with_check = $(if $(findstring nocheck, $(DEB_BUILD_OPTIONS)),,yes) +ifneq (,$(filter $(DEB_HOST_ARCH), armel)) + with_check = disabled running check on $(DEB_HOST_ARCH) +endif +#with_check = disabled for this upload + +with_docs = $(if $(findstring nodocs, $(DEB_BUILD_OPTIONS)),,yes) +ifneq (,$(findstring cacao shark, $(PKGSOURCE))) + with_docs = disabled for cacao and shark +endif + +with_wgy_zenhai = $(if $(filter $(distrel),lenny),,yes) + +arch_map := alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i586 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le sparc=sparc sparc64=sparcv9 sh4=sh s390x=s390x ia64=ia64 m68k=m68k x32=x32 +archdir_map := alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i386 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64 sparc=sparc sparc64=sparcv9 sh4=sh s390x=s390x ia64=ia64 m68k=m68k x32=x32 + +jvmarch := $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \ + $(filter $(DEB_HOST_ARCH_CPU)=%, $(arch_map)))) +archdir := $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \ + $(filter $(DEB_HOST_ARCH_CPU)=%, $(archdir_map)))) +ifeq ($(DEB_HOST_ARCH),x32) + jvmarch := x32 + archdir := x32 +endif + +default_vm = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),hotspot,zero) + +any_archs = alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +bootjdk_gcj_archs = amd64 armel armhf arm64 hppa i386 ia64 mips mipsel powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc sparc64 s390x x32 kfreebsd-i386 kfreebsd-amd64 +bootjdk_openjdk_archs = alpha arm64 mips64 mips64el +bootjdk_cacao_archs = +#ifneq (,$(filter nobootstrap, $(DEB_BUILD_OPTIONS))) + bootjdk_openjdk_archs := $(bootjdk_openjdk_archs) $(bootjdk_gcj_archs) + bootjdk_gcj_archs := +#endif + +cacao_archs = alpha amd64 armel armhf i386 powerpc powerpcspe m68k +# TODO kfreebsd porting for cacao vm +cacao_archs = + +ifeq (,$(filter $(distrel),squeeze lucid)) + jamvm_archs = amd64 armel armhf i386 mips mipsel powerpc kfreebsd-i386 kfreebsd-amd64 +endif +jamvm_archs = + +ifeq (,$(filter $(distrel),wheezy squeeze lucid)) + jamvm_defaults = +endif + +altshark_archs = powerpc ppc64 ppc64el +# Shark build but just crash +altshark_archs = + +altzero_archs = $(filter-out sparc sparc64, $(hotspot_archs)) $(altshark_archs) + +ifeq (,$(filter noaltcacao, $(DEB_BUILD_OPTIONS))) + ifneq (,$(filter $(DEB_HOST_ARCH), $(cacao_archs))) + alternate_vms += cacao + endif +endif +ifeq (,$(filter noaltzero, $(DEB_BUILD_OPTIONS))$(filter noaltshark, $(DEB_BUILD_OPTIONS))) + ifneq (,$(filter $(DEB_HOST_ARCH), $(altzero_archs))) + ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs) $(altshark_archs))) + alternate_vms += shark + zero_dir = shark + else + alternate_vms += zero + zero_dir = zero + endif + endif +endif +ifeq (,$(filter noaltjamvm, $(DEB_BUILD_OPTIONS))) + ifneq (,$(filter $(DEB_HOST_ARCH), $(jamvm_archs))) + alternate_vms += jamvm + endif +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(bootjdk_gcj_archs))) + BOOTJDK_JAVA = gcj + BOOTJDK_HOME = /usr/lib/jvm/java-gcj + ifneq (,$(filter $(distrel), wheezy)) + ifneq (,$(filter $(DEB_HOST_ARCH), m68k)) + BOOTJDK_HOME = /usr/lib/jvm/java-1.5.0-gcj-4.6 + endif + ifneq (,$(filter $(DEB_HOST_ARCH), ia64)) + BOOTJDK_HOME = /usr/lib/jvm/java-1.5.0-gcj-4.7-ia64 + endif + endif +else ifneq (,$(filter $(DEB_HOST_ARCH), $(bootjdk_openjdk_archs))) + BOOTJDK_JAVA = openjdk + BOOTJDK_HOME := $(strip $(subst /bin/javac,, $(firstword $(wildcard \ + /usr/lib/jvm/java-8-openjdk-$(DEB_HOST_ARCH)/bin/javac \ + /usr/lib/jvm/java-7-openjdk-$(DEB_HOST_ARCH)/bin/javac \ + /usr/lib/jvm/java-7-openjdk/bin/javac \ + /usr/lib/jvm/java-8-openjdk-$(DEB_HOST_ARCH)/bin/javac)))) +else ifneq (,$(filter $(DEB_HOST_ARCH), $(bootjdk_cacao_archs))) + BOOTJDK_JAVA = cacao + BOOTJDK_HOME = /usr/lib/jvm/java-6-cacao +else + $(error unknown bootstrap method for architecture $(DEB_HOST_ARCH)) +endif + +OPENJDK_VERSION = jdk$(shortver)u$(updatever)-$(buildver) + +# for Hotspot: hotspot/make/linux/makefiles/vm.make +# Don't overwrite Hotspot opt level : +# -O3 is already default option for hotspot + +# FIXME: ftbfs with -Werror=format-security +dpkg_buildflags_hs = \ + DEB_CFLAGS_MAINT_STRIP="-O2 -Werror=format-security" \ + DEB_CXXFLAGS_MAINT_STRIP="-O2 -Werror=format-security" +# jdk/make/CompileDemos.gmk (SetupJVMTIDemo) doesn't like commas in flags +dpkg_buildflags_hs += \ + DEB_LDFLAGS_MAINT_STRIP="-Wl,-z,relro -Wl,-Bsymbolic-functions" \ + DEB_LDFLAGS_MAINT_APPEND="-Xlinker -z -Xlinker relro -Xlinker -Bsymbolic-functions" +dpkg_buildflags_hs += dpkg-buildflags +export EXTRA_CPPFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CPPFLAGS) +export EXTRA_CFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CFLAGS) $(shell $(dpkg_buildflags_hs) --get CPPFLAGS) +export EXTRA_CXXFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CXXFLAGS) +export EXTRA_LDFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get LDFLAGS) + +# for JDK: jdk/make/common/Defs.gmk +# Don't overwrite JDK opt level : +# 1) with forced -03, it cause wrong Math.* computations, see #679292 and #678228 +# 2) JDK already use it's own OPTIMIZATION_LEVEL variable for each module +dpkg_buildflags_jdk = DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2" +dpkg_buildflags_jdk += dpkg-buildflags +export EXTRA_CPPFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CPPFLAGS) +export EXTRA_CFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CFLAGS) $(shell $(dpkg_buildflags_jdk) --get CPPFLAGS) +export EXTRA_CXXFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CXXFLAGS) +export EXTRA_LDFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get LDFLAGS) + +#for JamVM: Makefile.am +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +dpkg_buildflags_jamvm += DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2" +dpkg_buildflags_jamvm += DEB_CFLAGS_MAINT_APPEND="-O3" DEB_CXXFLAGS_MAINT_APPEND="-O3" +endif +dpkg_buildflags_jamvm += dpkg-buildflags +export EXTRA_CPPFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get CPPFLAGS) +export EXTRA_CFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get CFLAGS) +export EXTRA_CXXFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get CXXFLAGS) +export EXTRA_LDFLAGS_JAMVM := $(shell $(dpkg_buildflags_jamvm) --get LDFLAGS) + +#for IcedTea +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +dpkg_buildflags_it += DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2" +dpkg_buildflags_it += DEB_CFLAGS_MAINT_APPEND="-O3" DEB_CXXFLAGS_MAINT_APPEND="-O3" +endif +dpkg_buildflags_it += dpkg-buildflags +export EXTRA_CPPFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CPPFLAGS) +export EXTRA_CFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CFLAGS) +export EXTRA_CXXFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CXXFLAGS) +export EXTRA_LDFLAGS_IT := $(shell $(dpkg_buildflags_it) --get LDFLAGS) + +#for CACAO: Makefile.am +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +dpkg_buildflags_cacao += DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2" +dpkg_buildflags_cacao += DEB_CFLAGS_MAINT_APPEND="-O3" DEB_CXXFLAGS_MAINT_APPEND="-O3" +endif +dpkg_buildflags_cacao += dpkg-buildflags +export EXTRA_CPPFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get CPPFLAGS) +export EXTRA_CFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get CFLAGS) +export EXTRA_CXXFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get CXXFLAGS) +export EXTRA_LDFLAGS_CACAO := $(shell $(dpkg_buildflags_cacao) --get LDFLAGS) + +# This section should be in sync with "bd_gcc" definition +ifneq (,$(filter $(distrel),squeeze lucid)) + export CC = gcc-4.4 + export CXX = g++-4.4 +else ifneq (,$(filter $(distrel),wheezy quantal raring)) + export CC = gcc-4.7 + export CXX = g++-4.7 +else ifneq (,$(filter $(distrel),precise)) + export CC = gcc-4.6 + export CXX = g++-4.6 +else ifneq (,$(filter $(distrel),saucy trusty)) + export CC = gcc-4.8 + export CXX = g++-4.8 +else ifneq (,$(filter $(distrel),utopic vivid jessie)) + export CC = gcc-4.9 + export CXX = g++-4.9 +else ifneq (,$(filter $(distrel),wily sid stretch)) + ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) mips mipsel mips64 mips64el)) + export CC = $(DEB_HOST_GNU_TYPE)-gcc-5 + export CXX = $(DEB_HOST_GNU_TYPE)-g++-5 + # FIXME: altzero seems to build with GCC 5 on i386, amd64, ppc64el ... + ifneq (,$(filter $(DEB_HOST_ARCH), arm64)) + ZERO_CC = $(DEB_HOST_GNU_TYPE)-gcc-4.9 + ZERO_CXX = $(DEB_HOST_GNU_TYPE)-g++-4.9 + endif + else + export CC = $(DEB_HOST_GNU_TYPE)-gcc-4.9 + export CXX = $(DEB_HOST_GNU_TYPE)-g++-4.9 + endif +else + export CC = $(DEB_HOST_GNU_TYPE)-gcc-5 + export CXX = $(DEB_HOST_GNU_TYPE)-g++-5 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf)) +ifeq ($(derivative),Ubuntu) + OPT_CFLAGS/cppInterpreter_arm.o = -march=armv6 -mtune=cortex-a8 -O2 -falign-functions=64 -falign-loops=8 -g0 +else + OPT_CFLAGS/cppInterpreter_arm.o = -O2 -falign-functions=32 -falign-loops=8 -g0 +endif +export OPT_CFLAGS/cppInterpreter_arm.o +endif + +with_pulse = yes +with_pulse = + +ifneq (,$(filter $(distrel),squeeze lucid)) + with_bridge = bridge + with_jni_bridge = yes +else + with_bridge = atk +endif + +with_nss = yes + +ifneq (,$(filter $(distrel),squeeze wheezy lucid precise)) + with_check = +else + bd_jtreg = jtreg, +endif + +on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo yes) + +ifeq ($(derivative),Debian) + with_wm = $(notdir $(firstword $(wildcard /usr/bin/metacity /usr/bin/twm))) + ifneq (,$(findstring twm, $(with_wm))) + with_wm_args = -f $(CURDIR)/bin/jtreg.tmwrc + endif + bd_wm = twm | metacity, twm | dbus-x11, +else + with_wm = $(notdir $(firstword $(wildcard /usr/bin/metacity /usr/bin/twm))) + with_wm_args = + ifneq (,$(findstring twm, $(with_wm))) + with_wm_args = -f $(CURDIR)/bin/jtreg.tmwrc + endif + ifneq (,$(filter $(distrel),saucy raring quantal precise lucid)) + bd_wm = metacity | twm, dbus-x11, + else + bd_wm = twm | metacity, twm | dbus-x11, + endif +endif +ifeq ($(with_wm),metacity) + with_wm_prefix = dbus-launch --exit-with-session +endif + +ifeq (,$(filter $(distrel),squeeze wheezy lucid precise quantal raring saucy trusty)) + with_systemtap = yes + ALT_SDT_H := $(firstword $(wildcard /usr/include/*/sys/sdt.h /usr/include/sys/sdt.h)) + export ALT_SDT_H +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), sparc64)) + USE_PRECOMPILED_HEADER = 0 + export USE_PRECOMPILED_HEADER +endif + +COMMON_PATCHES = \ + autoconf-select.diff \ + hotspot-warn-no-errformat.diff \ + hotspot-set-compiler.diff \ + system-pcsclite.diff \ + ld-symbolic-functions.diff \ + hotspot-mips-align.diff \ + hotspot-no-march-i586.diff \ + hotspot-sparc-arch.diff \ + icc_loading_with_symlink.diff \ + icedtea-override-redirect-compiz.patch \ + jdk-freetypeScaler-crash.diff \ + libpcsclite-dlopen.diff \ + nonreparenting-wm.diff \ + shebang.diff \ + zero-fpu-control-is-noop.diff \ + jexec.diff \ + default-jvm-cfg.diff \ + pass-extra-flags.diff \ + hotspot-disable-werror.diff \ + workaround_expand_exec_shield_cs_limit.diff \ + zero-architectures.diff \ + adlc-parser.patch \ + multiple-pkcs11-library-init.patch \ + applet-hole.patch \ + jdk-8067331.diff \ + 8073754-stack-overflow-9-build.diff \ + m68k-support.diff \ + jdk-target-arch-define.diff \ + 8133935.diff \ + +# FIXME: update patches + #accessible-toolkit.patch # update for 8 +# include-all-srcs.diff +# disable-doclint-by-default.diff \ +# dont-strip-images.diff \ + +ifeq ($(with_bridge),atk) + COMMON_PATCHES += atk-wrapper-security.patch +else ifneq (,$(with_bridge)) + COMMON_PATCHES += java-access-bridge-security.patch +endif + +COMMON_PATCHES += \ + dnd-files.patch \ + zero-x32.diff \ + hotspot-powerpcspe.diff + +# FIXME fontconfig-wqy-microhei.patch \ +# FIXME zero-sparc.diff \ +# FIXME no-pch-build.diff \ + +# FIXME CACAO update needed +#ifeq ($(DEB_HOST_ARCH),armel) +# ifeq ($(distrel),quantal) +# DISTRIBUTION_PATCHES += cacao-armv4.diff +# else ifeq ($(distribution),Debian) +# DISTRIBUTION_PATCHES += cacao-armv4.diff +# endif +#endif + +# FIXME needs an update: +# $(if $(with_wgy_zenhai),,fontconfig-arphic-uming.diff) \ + +# FIXME: needs an update +#ifeq (,$(filter $(distrel),squeeze lucid)) +# COMMON_PATCHES += \ +# fontconfig-korean-nanum.diff \ +# fontconfig-japanese.diff +#endif + +ifeq ($(with_pulse),yes) + COMMON_PATCHES += \ + jdk-pulseaudio.diff +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), alpha)) + # FIXME: Needed for non-bootstrap builds? + COMMON_PATCHES += \ + alpha-float-const.diff +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), kfreebsd-amd64 kfreebsd-i386)) + COMMON_PATCHES += \ + kfreebsd-support-jdk.diff \ + kfreebsd-support-hotspot.diff +endif + +DEFAULT_PATCHES = \ + $(COMMON_PATCHES) \ + hotspot-libpath.diff + +# for additional zero builds +ZERO_PATCHES = \ + $(COMMON_PATCHES) \ + hotspot-libpath.diff + + +CONFIGURE_ARGS = + +# GNU/kFreeBSD don't support epoll syscall so don't try to check of it. +# FIXME need to check the flag, configure complains about it +#ifneq (,$(filter $(DEB_HOST_ARCH), kfreebsd-amd64 kfreebsd-i386)) +# CONFIGURE_ARGS += --disable-compile-against-syscalls +#endif + +# there are problems --with-alt-jar=/usr/bin/fastjar, +# see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=217 +# only use it for zero ports except powerpc (which we assume as +# fast enough to build. +ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) ia64 powerpc powerpcspe)) + CONFIGURE_ARGS += --with-alt-jar=/usr/bin/fastjar +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf)) + CONFIGURE_ARGS += \ + --disable-arm32-jit +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(cacao_archs))) + ifneq (,$(filter $(DEB_HOST_ARCH), armel)) + # TODO: test build done without --enable-softfloat + EXTRA_BUILD_ENV += CACAO_CONFIGURE_ARGS='--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)' + else + EXTRA_BUILD_ENV += CACAO_CONFIGURE_ARGS='--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)' + endif +endif + +ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs))) + CONFIGURE_ARGS += --enable-zero + ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs))) + CONFIGURE_ARGS += --enable-shark + endif +endif + +EXTRA_BUILD_ENV += MAKE_VERBOSE=y QUIETLY= LOG=debug + +# timestamp skew on kFreeBSD +EXTRA_BUILD_ENV += IGNORE_OLD_CONFIG=true + +EXTRA_BUILD_ENV += LIBFFI_LIBS=-lffi_pic + +# http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-March/026450.html +# plus needs explicit --disable-debug-symbols +EXTRA_BUILD_ENV += \ + DEBUG_BINARIES=true \ + FULL_DEBUG_SYMBOLS=0 \ + ZIP_DEBUGINFO_FILES=0 \ + STRIP_POLICY=none \ + POST_STRIP_CMD=true \ + ALT_OBJCOPY=/does_not_exist + +ifeq ($(with_pulse),yes) + CONFIGURE_ARGS += --enable-pulse-java +endif + +CONFIGURE_ARGS += --enable-system-kerberos + +ifeq ($(with_nss),yes) + CONFIGURE_ARGS += --enable-nss +else ifeq ($(with_nss),no) + CONFIGURE_ARGS += --disable-nss +endif + +ifeq ($(with_systemtap),yes) + CONFIGURE_ARGS += --enable-systemtap --with-abs-install-dir=/$(basedir) +endif + +COMMON_CONFIGURE_ARGS = +DEFAULT_CONFIGURE_ARGS = +ZERO_CONFIGURE_ARGS = + +# FIXME: --with-jvm-variants=server,zero not supported upstream +ifneq (,$(filter $(DEB_HOST_ARCH),$(hotspot_archs))) + ifneq (,$(filter $(DEB_HOST_ARCH),i386)) + DEFAULT_CONFIGURE_ARGS += --with-jvm-variants=client,server + else + DEFAULT_CONFIGURE_ARGS += --with-jvm-variants=server + endif +else + DEFAULT_CONFIGURE_ARGS += --with-jvm-variants=zero +endif +ZERO_CONFIGURE_ARGS += --with-jvm-variants=zero + +DEFAULT_CONFIGURE_ARGS += --with-boot-jdk=$(BOOTJDK_HOME) +ifeq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) + ZERO_CONFIGURE_ARGS += --with-boot-jdk=$(CURDIR)/$(builddir)/$(sdkimg) +else + ZERO_CONFIGURE_ARGS += --with-boot-jdk=$(BOOTJDK_HOME) +endif + +COMMON_CONFIGURE_ARGS += --disable-ccache + +# FIXME: zero not ready for --disable-precompiled-headers +#COMMON_CONFIGURE_ARGS += --disable-precompiled-headers +ifneq (,$(filter $(DEB_HOST_ARCH),$(hotspot_archs))) + DEFAULT_CONFIGURE_ARGS += --disable-precompiled-headers +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), powerpc)) + DEFAULT_CONFIGURE_ARGS += --with-boot-jdk-jvmargs="-XX:ThreadStackSize=2240" +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), ppc64 ppc64el)) + ZERO_CONFIGURE_ARGS += --with-boot-jdk-jvmargs="-XX:ThreadStackSize=2240" +endif + +ifeq ($(with_check),yes) + COMMON_CONFIGURE_ARGS += --with-jtreg +endif + +# FIXME: these might be out of date for AArch64 +COMMON_CONFIGURE_ARGS += \ + --with-update-version=$(updatever) \ + --with-build-number=$(buildver) +# --with-milestone=fcs \ +# --with-user-release-suffix='$(distribution) $(PKGVERSION)' \ + +# --with-debug-level=fastdebug \ + +COMMON_CONFIGURE_ARGS += \ + --with-debug-level=release \ + --disable-debug-symbols \ + --disable-zip-debug-info \ + --enable-unlimited-crypto \ + --with-zlib=system \ + --with-giflib=system \ + --with-libpng=system \ + --with-libjpeg=system \ + --with-lcms=system \ + --with-pcsclite=system \ + --with-stdc++lib=dynamic \ + --disable-warnings-as-errors + +ifneq (,$(NJOBS)) + COMMON_CONFIGURE_ARGS += --with-num-cores=$(NJOBS) +endif + +# FIXME: upstream says the extra flags are not designed for general purpose ... +# http://mail.openjdk.java.net/pipermail/jdk8u-dev/2014-July/001389.html + +# FIXME: demos fail to build with these ... +# FIXME: zero ftbfs without -fpermissive +#src/cpu/zero/vm/cppInterpreter_zero.cpp:732:30: error: invalid conversion from 'intptr_t {aka long int}' to 'const void*' [-fpermissive] +# object = (oop) locals[0]; +# ^ + +#COMMON_CONFIGURE_ARGS += \ + --with-extra-cflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CFLAGS_HS)' \ + --with-extra-cxxflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CXXFLAGS_HS)' \ + --with-extra-ldflags='$(EXTRA_LDFLAGS_HS)' + +ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs))) + DEFAULT_CONFIGURE_ARGS += \ + --with-extra-cflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CFLAGS_HS)' \ + --with-extra-ldflags='$(EXTRA_LDFLAGS_HS)' +else + DEFAULT_CONFIGURE_ARGS += \ + --with-extra-cflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CFLAGS_HS)' \ + --with-extra-cxxflags='-fpermissive' \ + --with-extra-ldflags='$(EXTRA_LDFLAGS_HS)' +endif + +ZERO_CONFIGURE_ARGS += \ + --with-extra-cflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CFLAGS_HS)' \ + --with-extra-cxxflags='-fpermissive' \ + --with-extra-ldflags='$(EXTRA_LDFLAGS_HS)' + +ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) + COMMON_CONFIGURE_ARGS += \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --target=$(DEB_HOST_GNU_TYPE) \ + BUILD_CC=$(subst $(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE),$(CC)) \ + BUILD_LD=$(subst $(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE),$(CC)) \ + BUILD_CXX=$(subst $(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE),$(CXX)) \ + +endif + +# (most) jre and jdk tools handled by the alternatives system. +# dups in heimdal-clients, krb5-user: kinit, klist, ktab, no alternatives +# use javaws from icedtea-next +# 6, 7, 8 have appletviewer, idlj, jrunscript in the jdk packages +all_jre_tools = $(filter-out appletviewer idlj javaws jrunscript, $(notdir $(wildcard $(builddir)/$(jreimg)/bin/*))) +jre_tools = $(filter policytool, $(all_jre_tools)) +jre_hl_tools := $(filter-out $(jre_tools), $(all_jre_tools)) + +corba_tools = orbd servertool tnameserv +jre_hl_tools_alt= $(filter-out $(corba_tools), $(jre_hl_tools)) $(corba_tools) +jre_tools_alt = $(filter-out kinit klist ktab, $(jre_tools)) + +all_jdk_tools = $(filter-out javaws, $(notdir $(wildcard build/$(sdkimg)/bin/*))) +jdk_tools = $(filter-out $(all_jre_tools), $(all_jdk_tools)) +jdk_tools_alt = $(filter-out java-rmi.cgi, $(jdk_tools)) + +# build dependencies +ifneq (,$(filter $(distrel),lucid precise)) + bd_autotools = autoconf2.69, automake, autotools-dev, + export AUTOCONF=autoconf2.69 +else + bd_autotools = autoconf, automake, autotools-dev, +endif + +bd_bootstrap = openjdk-8-jdk | openjdk-9-jdk, + +# This section should be in sync with "CC/CXX" definition +ifneq (,$(filter $(distrel),squeeze lucid)) + bd_gcc = g++-4.4 (>= 4.4.1), +else ifneq (,$(filter $(distrel), precise)) + bd_gcc = g++-4.6, +else ifneq (,$(filter $(distrel), wheezy)) + bd_gcc = g++-4.7, g++-4.4 [mips mipsel], +else ifneq (,$(filter $(distrel), quantal raring)) + bd_gcc = g++-4.7, +else ifneq (,$(filter $(distrel), saucy trusty)) + bd_gcc = g++-4.8, +else ifneq (,$(filter $(distrel),utopic vivid jessie)) + bd_gcc = g++-4.9, +else ifneq (,$(filter $(distrel),wily stretch sid)) + bd_gcc = g++-5 [$(hotspot_archs) mips mipsel mips64 mips64el], g++-4.9 [$(strip $(foreach a,$(hotspot_archs), !$(a)))], g++-4.9 [arm64], +else + bd_gcc = g++-5, +endif +bd_syslibs = zlib1g-dev, libattr1-dev, +ifneq (,$(filter $(distrel),squeeze lucid)) + bd_syslibs += libpng12-dev, libjpeg62-dev, +else ifneq (,$(filter $(distrel),wheezy precise quantal raring saucy)) + bd_syslibs += libpng-dev, libjpeg8-dev, +else + bd_syslibs += libpng-dev, libjpeg-dev, +endif +bd_syslibs += \ + libgif-dev, +bd_openjdk = \ + libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, \ + libasound2-dev, liblcms2-dev, libfreetype6-dev (>= 2.2.1), libgtk2.0-dev, \ + libxinerama-dev, libkrb5-dev, xsltproc, libpcsclite-dev, + +pkg_ffidev = libffi-dev + +bd_zero = \ + $(pkg_ffidev) [$(foreach a,$(hotspot_archs),!$(a))], +bd_zero = \ + $(pkg_ffidev), + +ifneq (,$(shark_archs)) + bd_zero = $(pkg_ffidev), + ifneq (,$(filter $(distrel),lucid)) + bd_shark = llvm-dev (>= 2.7) [$(foreach a,$(shark_archs) $(altshark_archs),$(a))], + bd_shark += oprofile [$(foreach a,$(shark_archs) $(altshark_archs),$(a))], + else + ifneq (,$(filter $(distrel),squeeze)) + llvm_suffix = -2.7 + else ifneq (,$(filter $(distrel),precise)) + llvm_suffix = -2.9 + else + llvm_suffix = -3.0 + endif + bd_shark = llvm$(llvm_suffix)-dev [$(foreach a,$(shark_archs) $(altshark_archs),$(a))], + ifneq (,$(filter $(DEB_HOST_ARCH),$(shark_archs) $(altshark_archs))) + CONFIGURE_ARGS += --with-llvm-config=llvm-config$(llvm_suffix) + endif + endif +endif + +ifneq (,$(cacao_archs)) + # cacao included in the openjdk tarball + bd_cacao = libtool, +endif + +ifneq (,$(filter $(distrel),lucid)) + bd_ant = ant1.8, ant1.8-optional, +else + bd_ant = ant, ant-optional, +endif + +bd_fastjar = fastjar (>= 2:0.96-0ubuntu2), +bd_xvfb = xvfb, xauth, xfonts-base, libgl1-mesa-dri [!x32], $(bd_wm) x11-xkb-utils, +bd_mauve = mauve, +ifeq ($(with_pulse),yes) + bd_pulsejava = libpulse-dev (>= 0.9.12), +endif +ifeq ($(with_nss),yes) + ifneq (,$(filter $(distrel),squeeze lucid precise quantal)) + bd_nss = libnss3-dev (>= 3.12.3), + else ifneq (,$(filter $(distrel),wheezy raring saucy trusty)) + bd_nss = libnss3-dev (>= 2:3.12.3), + else + bd_nss = libnss3-dev (>= 2:3.17.1), + endif +endif +ifeq ($(with_systemtap),yes) + bd_systemtap = systemtap-sdt-dev, +endif + +ifneq (,$(jamvm_archs)) + bd_jamvm = libtool, +endif + +dlopen_hl_depends = \ + libcups2, liblcms2-2, +ifneq (,$(filter $(distrel),squeeze lucid)) + dlopen_hl_depends += libjpeg62, +else ifneq (,$(filter $(distrel), jessie sid)) + dlopen_hl_depends += libjpeg62-turbo, +else + dlopen_hl_depends += libjpeg8, +endif +ifneq ($(with_nss),no) + ifneq (,$(filter $(distrel),squeeze lucid precise)) + dlopen_hl_depends += , libnss3-1d (>= 3.12.3) + else ifneq (,$(filter $(distrel),wheezy quantal raring saucy trusty)) + dlopen_hl_depends += , libnss3 (>= 2:3.12.3) + else + dlopen_hl_depends += , libnss3 (>= 2:3.17.1) + endif +endif +dlopen_hl_recommends = +dlopen_jre_depends = \ + libgtk2.0-0, libxrandr2, libxinerama1, libgl1-mesa-glx | libgl1 +dlopen_jre_recommends = +# these are not yet ready for multiarch +ifneq (,$(DEB_HOST_MULTIARCH)) + ifneq (,$(filter $(distrel),squeeze wheezy jessie precise quantal raring saucy trusty utopic vivid)) + dlopen_jre_recommends += , libgnome2-0, libgnomevfs2-0, libgconf2-4 + else + dlopen_jre_recommends += , libgnome-2-0, libgnomevfs2-0, libgconf-2-4 + endif +else + dlopen_jre_depends += , libgnome2-0, libgnomevfs2-0, libgconf2-4 +endif + +plugin_name = IcedTeaPlugin.so +browser_plugin_dirs = mozilla + +# .desktop files need to be multiarch installable +java_launcher = /$(basedir)/bin/java +java_launcher = /usr/bin/java +ifeq ($(derivative),Ubuntu) + java_launcher = cautious-launcher %f /$(basedir)/bin/java + java_launcher = cautious-launcher %f /usr/bin/java +endif + +ifneq (,$(filter $(distrel),squeeze wheezy lucid precise quantal raring)) + core_fonts = ttf-dejavu-extra +else + core_fonts = fonts-dejavu-extra +endif +ifneq (,$(filter $(distrel),squeeze lucid)) + cjk_fonts = ttf-baekmuk | ttf-unfonts | ttf-unfonts-core, + cjk_fonts += ttf-sazanami-gothic | ttf-kochi-gothic, + cjk_fonts += ttf-sazanami-mincho | ttf-kochi-mincho, +else + cfk_fonts = fonts-nanum, + cjk_fonts += fonts-ipafont-gothic, fonts-ipafont-mincho, +endif +cjk_fonts += $(if $(with_wgy_zenhai),ttf-wqy-microhei | ttf-wqy-zenhei,ttf-arphic-uming), +ifneq (,$(filter $(distrel),squeeze wheezy)) + cjk_fonts += ttf-indic-fonts, +else ifneq (,$(filter $(distrel), lucid maverick natty oneiric precise quantal raring saucy trusty)) + cjk_fonts += ttf-indic-fonts-core, ttf-telugu-fonts, ttf-oriya-fonts, + cjk_fonts += ttf-kannada-fonts, ttf-bengali-fonts, +else + cjk_fonts += fonts-indic, +endif + +p_jre = $(basename)-jre +p_jrehl = $(basename)-jre-headless +p_jrec = $(basename)-jre-cacao +p_jrej = $(basename)-jre-jamvm +p_jrez = $(basename)-jre-zero +p_jdk = $(basename)-jdk +p_demo = $(basename)-demo +p_src = $(basename)-source +p_doc = $(basename)-doc +p_dbg = $(basename)-dbg + +d = debian/tmp +d_jre = debian/$(p_jre) +d_jrehl = debian/$(p_jrehl) +d_jrec = debian/$(p_jrec) +d_jrej = debian/$(p_jrej) +d_jrez = debian/$(p_jrez) +d_jdk = debian/$(p_jdk) +d_demo = debian/$(p_demo) +d_src = debian/$(p_src) +d_doc = debian/$(p_doc) +d_dbg = debian/$(p_dbg) + +control_vars = \ + '-Vvm:Name=$(vm_name)' \ + '-Vdlopenhl:Depends=$(dlopen_hl_depends)' \ + '-Vdlopenhl:Recommends=$(dlopen_hl_recommends)' \ + '-Vdlopenjre:Depends=$(dlopen_jre_depends)' \ + '-Vdlopenjre:Recommends=$(dlopen_jre_recommends)' \ + '-Vpkg:pulseaudio=$(pkg_pulseaudio)' \ + '-Vxulrunner:Depends=$(xulrunner_depends)' \ + +ifneq (,$(DEB_HOST_MULTIARCH)) + control_vars += \ + '-Vmultiarch:Depends=multiarch-support' +endif + +ifneq (,$(filter-out $(hotspot_archs), $(cacao_archs))) + control_vars += '-Vcacao:Recommends=$(p_jrec) (= $${binary:Version})' +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),$(jamvm_archs))) + ifneq (,$(filter $(DEB_HOST_ARCH),$(jamvm_defaults))) + control_vars += '-Vjredefault:Depends=$(p_jrej) (= $${binary:Version})' + else ifneq (,$(filter $(DEB_HOST_ARCH),$(hotspot_archs))) + control_vars += '-Vjamvm:Suggests=$(p_jrej) (= $${binary:Version})' + else + control_vars += '-Vjamvm:Recommends=$(p_jrej) (= $${binary:Version})' + endif +endif + +ifeq ($(with_bridge),atk) + control_vars += '-Vdep:bridge=libatk-wrapper-java-jni (>= 0.30.4-0ubuntu2)' +else ifeq ($(with_bridge),yes) + ifneq (,$(DEB_HOST_MULTIARCH)) + control_vars += '-Vdep:bridge=libaccess-bridge-java-jni (>= 1.26.2-6)' + else ifeq ($(with_jni_bridge),yes) + control_vars += '-Vdep:bridge=libaccess-bridge-java-jni' + else + control_vars += '-Vdep:bridge=libaccess-bridge-java' + endif +endif + +ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs))) + ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs))) + control_vars += '-Vdefaultvm:Provides=$(p_jre)-zero, $(p_jre)-shark' + else + control_vars += '-Vdefaultvm:Provides=$(p_jre)-zero' + endif +endif +ifneq (,$(filter $(DEB_HOST_ARCH), $(shark_archs) $(altshark_archs))) + control_vars += '-Vzerovm:Provides=$(p_jre)-shark' +endif + +pkg_certs = ca-certificates-java +control_vars += '-Vcacert:Depends=$(pkg_certs)' + +ifneq (,$(filter $(distrel), squeeze wheezy jessie lucid precise quantal raring saucy trusty utopic vivid)) + control_vars += '-Vmountpoint:Depends=initscripts' +else + control_vars += '-Vmountpoint:Depends=util-linux (>= 2.26.2-4)' +endif + +pkg_jcommon = java-common (>= 0.28) +control_vars += '-Vjcommon:Depends=$(pkg_jcommon)' + +debian/control: debian/control.in debian/rules + @cp -p debian/control debian/control.old + sed \ + -e 's/@basename@/$(basename)/g' \ + -e 's/@bd_autotools@/$(bd_autotools)/g' \ + -e 's/@bd_bootstrap@/$(strip $(bd_bootstrap))/g' \ + -e 's/@bd_openjdk@/$(bd_openjdk)/g' \ + -e 's/@bd_zero@/$(bd_zero)/g' \ + -e 's/@bd_gcc@/$(bd_gcc)/g' \ + -e 's/@bd_syslibs@/$(bd_syslibs)/g' \ + -e 's/@bd_fastjar@/$(bd_fastjar)/g' \ + -e 's/@bd_mauve@/$(bd_mauve)/g' \ + -e 's/@bd_xvfb@/$(bd_xvfb)/g' \ + -e 's/@bd_cacao@/$(bd_cacao)/g' \ + -e 's/@bd_jamvm@/$(bd_jamvm)/g' \ + -e 's/@bd_pulsejava@/$(bd_pulsejava)/g' \ + -e 's/@bd_nss@/$(bd_nss)/g' \ + -e 's/@bd_systemtap@/$(bd_systemtap)/g' \ + -e 's/@bd_shark@/$(bd_shark)/g' \ + -e 's/@bd_ant@/$(bd_ant)/g' \ + -e 's/@bd_jtreg@/$(bd_jtreg)/g' \ + -e 's/@core_fonts@/$(core_fonts)/g' \ + -e 's/@cjk_fonts@/$(cjk_fonts)/g' \ + -e 's/@any_archs@/$(any_archs)/g' \ + -e 's/@cacao_archs@/$(cacao_archs)/g' \ + -e 's/@jamvm_archs@/$(jamvm_archs)/g' \ + -e 's/@hotspot_archs@/$(hotspot_archs)/g' \ + -e 's/@altzero_archs@/$(altzero_archs)/g' \ + debian/control.in \ + $(if $(cacao_archs), debian/control.cacao-jre) \ + $(if $(jamvm_archs), debian/control.jamvm-jre) \ + $(if $(altzero_archs), debian/control.zero-jre) \ + $(if $(DEB_HOST_MULTIARCH),,| grep -v '^Multi-Arch') \ + > debian/control + @if cmp -s debian/control debian/control.old; then \ + rm -f debian/control.old; \ + else \ + diff -u debian/control.old debian/control | wdiff -d -; \ + echo "debian/control did change, please restart the build"; \ + rm -f debian/control.old; \ + exit 1; \ + fi + +packaging-files: + for f in debian/*.in debian/patches/*.in; do \ + case "$$f" in debian/control.in) continue; esac; \ + f2=$$(echo $$f | sed 's/JB/$(basename)/;s/\.in$$//'); \ + sed -e 's/@JRE@/$(p_jre)/g' \ + -e 's/@JDK@/$(p_jdk)/g' \ + -e 's/@vendor@/$(Vendor)/g' \ + -e 's/@RELEASE@/$(shortver)/g' \ + -e 's/@basename@/$(basename)/g' \ + -e 's,@TOP@,$(TOP),g' \ + -e 's,@basedir@,$(basedir),g' \ + -e 's,@etcdir@,$(etcdir),g' \ + -e 's,@jdiralias@,$(jdiralias),g' \ + -e 's,@jdirname@,$(jdirname),g' \ + -e 's/@srcname@/$(srcname)/g' \ + -e 's/@jvmarch@/$(jvmarch)/g' \ + -e 's/@archdir@/$(archdir)/g' \ + -e 's/@tag@/$(tag)/g' \ + -e 's/@priority@/$(priority)/g' \ + -e 's/@mantag@/$(mantag)/g' \ + -e 's/@multiarch@/$(DEB_HOST_MULTIARCH)/g' \ + -e 's/@jre_hl_tools@/$(jre_hl_tools_alt)/g' \ + -e 's/@jre_tools@/$(jre_tools_alt)/g' \ + -e 's/@jdk_tools@/$(jdk_tools_alt)/g' \ + -e 's/@corba_tools@/$(corba_tools)/g' \ + -e 's,@j2se_lib@,$(j2se_lib),g' \ + -e 's,@j2se_share@,$(j2se_share),g' \ + -e 's,@java_launcher@,$(java_launcher),g' \ + -e 's/@cjk_fonts@/$(cjk_fonts)/g' \ + $$f > $$f2; \ + done + +configure: stamps/configure +stamps/configure: stamps/patch + @echo '========== $@ ==========' + -cat /etc/hosts + + mkdir -p bin +ifeq (,$(filter $(DEB_HOST_ARCH), alpha amd64 arm64 hppa mips64 mips64el ppc64 ppc64el s390x sparc64 x32)) + ( \ + echo '#! /bin/sh'; \ + echo 'if [ -x /usr/bin/linux32 ]; then'; \ + echo ' exec /usr/bin/linux32 /bin/uname "$$@"'; \ + echo 'else'; \ + echo ' exec /bin/uname "$$@"'; \ + echo 'fi'; \ + ) > bin/uname + chmod +x bin/uname + echo "UNAME checks" + uname -a +endif + /bin/uname -a + lsb_release -a + + -cat /proc/sys/kernel/random/entropy_avail + + mkdir -p stamps + mkdir -p $(builddir) + cd $(srcdir) && sh common/autoconf/autogen.sh + cd $(builddir) && $(EXTRA_BUILD_ENV) ../$(srcdir)/configure \ + $(DEFAULT_CONFIGURE_ARGS) \ + $(COMMON_CONFIGURE_ARGS) + + touch $@ + +stamps/zero-configure: stamps/build stamps/patch + @echo '========== $@ ==========' + mkdir -p stamps + rm -rf $(zbuilddir) + mkdir -p $(zbuilddir) + $(if $(ZERO_CC), export CC=$(ZERO_CC); export CXX=$(ZERO_CXX);) \ + cd $(zbuilddir) && $(EXTRA_BUILD_ENV) ../$(srcdir)/configure \ + $(ZERO_CONFIGURE_ARGS) \ + $(COMMON_CONFIGURE_ARGS) + + touch $@ + +stamps/jamvm-configure: stamps/jamvm-unpack stamps/patch stamps/build + @echo '========== $@ ==========' + if [ -x jamvm/autogen.sh ]; then \ + cd jamvm && NOCONFIGURE=yes ./autogen.sh; \ + fi + mkdir -p $(jbuilddir) + cd $(jbuilddir) && ../jamvm/configure \ + --prefix=$(CURDIR)/$(jbuilddir)/install \ + --with-java-runtime-library=openjdk8 \ + --with-gnu-ld \ + CPPFLAGS='$(EXTRA_CPPFLAGS_JAMVM)' \ + CFLAGS='$(EXTRA_CFLAGS_JAMVM)' \ + CXXFLAGS='$(EXTRA_CXXFLAGS_JAMVM)' \ + LDFLAGS='$(EXTRA_LDFLAGS_JAMVM)' + touch $@ + +stamps/sound-configure: stamps/build + @echo '========== $@ ==========' + rm -rf icedtea-sound + tar xf icedtea-sound.tar.xz + mv $$(tar tf icedtea-sound.tar.xz | head -1 | sed 's,/.*,,') \ + icedtea-sound + patch -p1 -R < debian/patches/icedtea-sound.diff + patch -p1 < debian/patches/icedtea-sound2.diff + if [ -x icedtea-sound/autogen.sh ]; then \ + cd icedtea-sound && ./autogen.sh; \ + fi + cd icedtea-sound && ./configure \ + --disable-maintainer-mode \ + --with-jdk-home=$(CURDIR)/$(builddir)/$(sdkimg) \ + CPPFLAGS="$(EXTRA_CPPFLAGS_IT)" \ + CFLAGS="$(EXTRA_CFLAGS_IT)" \ + CXXFLAGS="$(EXTRA_CXXFLAGS_IT)" \ + LDFLAGS="$(EXTRA_LDFLAGS_IT)" + touch $@ + +stamps/sound-build: stamps/sound-configure + @echo '========== $@ ==========' + $(MAKE) -C icedtea-sound + touch $@ + +stamps/jamvm-build: stamps/jamvm-configure + @echo '========== $@ ==========' + $(MAKE) -C $(jbuilddir) + $(MAKE) -C $(jbuilddir) install + rm -rf $(builddir)/$(sdkimg)/lib/$(archdir)/jamvm + mkdir -p $(builddir)/$(sdkimg)/lib/$(archdir)/jamvm + cp -p $(jbuilddir)/install/lib/libjvm.so \ + $(builddir)/$(sdkimg)/lib/$(archdir)/jamvm/. + cp -p $(builddir)/$(sdkimg)/lib/$(archdir)/server/Xusage.txt \ + $(builddir)/$(sdkimg)/lib/$(archdir)/jamvm/. + touch $@ + +unpack: stamps/unpack $(if $(jamvm_archs),stamps/jamvm-unpack) +stamps/unpack: + rm -rf $(srcdir) + tar xf root.tar.xz + mv $$(tar tf root.tar.xz | head -1 | sed 's,/.*,,') $(srcdir) + chmod +x $(srcdir)/configure + for tb in corba jaxp jaxws langtools hotspot jdk nashorn; do \ + d=$$(tar tf $$tb.tar.xz | head -1 | sed 's,/.*,,'); \ + tar -C $(srcdir) -x -f $$tb.tar.xz; \ + mv $(srcdir)/$$d $(srcdir)/$$tb; \ + done + + $(MAKE) -f debian/rules packaging-files + + mkdir -p stamps + touch $@ + +stamps/jamvm-unpack: + mkdir -p stamps + rm -rf jamvm jamvm-* + tar xf jamvm.tar.gz + mv jamvm-2* jamvm + patch -p1 < debian/patches/kfreebsd-support-jamvm.diff + patch -p1 < debian/patches/jamvm-fix.diff + @mkdir -p stamps + touch $@ + +patch: stamps/patch +stamps/patch: stamps/unpack $(if $(jamvm_archs),stamps/jamvm-unpack) + for i in $(DEFAULT_PATCHES); do \ + echo $$i; \ + done > $(srcdir)/series + + cd $(srcdir) && \ + QUILT_PATCHES=../debian/patches quilt --quiltrc - push -a + ( \ + echo ""; echo "Patches applied in this version:"; \ + for i in $$(egrep -v '^#|^ *$$' $(srcdir)/series); do \ + echo ""; echo "$$i:"; \ + sed -n 's/^# *DP: */ /p' debian/patches/$$i; \ + done \ + ) > stamps/pxx + mv stamps/pxx $@ + +ifeq ($(with_check),yes) + ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el sh4)) + with_mauve_check = $(default_vm) + endif + ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) alpha arm64 armel armhf ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el s390x sh4 x32)) + with_jtreg_check = $(default_vm) + endif + + ifneq (,$(filter cacao, $(alternate_vms))) + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 powerpc powerpcspe sparc)) + # only activate after testing + with_mauve_check += cacao + endif + ifneq (,$(filter $(DEB_HOST_ARCH), alpha amd64 armel armhf i386 mips mipsel mips64 mips64el powerpc powerpcspe)) + # only activate after testing; hangs several tests. + with_jtreg_check += cacao + endif + endif + + ifneq (,$(filter jamvm, $(alternate_vms))) + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 )) + # only activate after testing + with_mauve_check += jamvm + endif + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386)) + # only activate after testing; hangs several tests. + with_jtreg_check += jamvm + endif + endif + + ifneq (,$(filter shark, $(alternate_vms))) + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 powerpc powerpcspe)) + # only activate after testing + with_mauve_check += $(if $(filter $(DEB_HOST_ARCH),$(altshark_archs)),shark,zero) + endif + # shark hangs on ppc64 + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 powerpc powerpcspe)) + # only activate after testing; hangs several tests. + with_jtreg_check += $(if $(filter $(DEB_HOST_ARCH),$(altshark_archs)),shark,zero) + endif + endif + + ifneq (,$(filter zero, $(alternate_vms))) + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386)) + # only activate after testing + with_mauve_check += zero + endif + ifneq (,$(filter $(DEB_HOST_ARCH), arm64 amd64 i386)) + # only activate after testing; hangs several tests. + with_jtreg_check += zero + endif + endif + + with_mauve_check = +endif + +# these are best guesses depending on the architecture and the build machines +# some tests require 4min to run, so set the minimum timeout to 3 x 2min. +ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 m68k mips mipsel mips64 mips64el powerpc powerpcspe x32)) + JTREG_OPTIONS = -timeout:5 +else + JTREG_OPTIONS = -timeout:3 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf)) + JTREG_OPTIONS += -Xmx256M -vmoption:-Xmx256M +endif + +build_stamps = \ + stamps/build \ + $(if $(filter $(DEB_HOST_ARCH),$(altzero_archs)),stamps/zero-build) \ + $(if $(filter $(DEB_HOST_ARCH),$(jamvm_archs)),stamps/jamvm-build) + +ifeq ($(with_pulse),yes) + build_stamps += stamps/sound-build +endif + +build_stamps += stamps/jtreg-check-default + +ifeq (0,1) +build_stamps += stamps/mauve-check-default stamps/jtreg-check-default +#build_stamps += $(if $(filter cacao, $(alternate_vms)),stamps/mauve-check-cacao stamps/jtreg-check-cacao) +build_stamps += $(if $(filter jamvm, $(alternate_vms)),stamps/mauve-check-jamvm stamps/jtreg-check-jamvm) +build_stamps += $(if $(filter zero, $(alternate_vms)),stamps/mauve-check-zero stamps/jtreg-check-zero) +ifneq (,$(filter shark, $(alternate_vms))) + ifneq (,$(filter $(DEB_HOST_ARCH),$(altshark_archs))) + build_stamps += stamps/mauve-check-shark stamps/jtreg-check-shark + else + build_stamps += stamps/mauve-check-zero stamps/jtreg-check-zero + endif +endif +endif + +pre-build: +ifneq (,$(filter $(DEB_HOST_ARCH),s390)) + @echo explicitely fail the build for $(DEB_HOST_ARCH), patches not updated +#else ifneq (,$(filter $(DEB_HOST_ARCH),armel)) +# @echo explicitely fail the build for $(DEB_HOST_ARCH), ARM assembler interpreter not yet ported + false +endif + +build-arch: build +build-indep: build stamps/build-docs +build: pre-build $(build_stamps) + if [ -f buildwatch.pid ]; then \ + pid=$$(cat buildwatch.pid); \ + kill -1 $$pid || :; sleep 1; kill -9 $$pid || :; \ + fi + rm -f buildwatch.pid + +stamps/build: stamps/configure + @echo '========== $@ ==========' +ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 m68k mips mipsel mips64 mips64el powerpc powerpcspe s390x sparc sparc64)) + sh -c 'sh debian/buildwatch.sh $(CURDIR)/$(builddir) &' +endif + if $(EXTRA_BUILD_ENV) $(MAKE) -C $(builddir) $(build_target); then \ + : ; \ + else \ + if [ -f buildwatch.pid ]; then \ + pid=$$(cat buildwatch.pid); \ + kill -1 $$pid || :; sleep 1; kill -9 $$pid || :; \ + fi; \ + false; \ + fi + + touch $@ + +stamps/zero-build: stamps/zero-configure + @echo '========== $@ ==========' + : # FIXME: build using the just built jdk, and build the vm only + $(EXTRA_BUILD_ENV) $(MAKE) -C $(zbuilddir) $(build_target) + rm -rf $(builddir)/$(sdkimg)/lib/$(archdir)/zero + cp -a $(zbuilddir)/$(sdkimg)/lib/$(archdir)/server \ + $(builddir)/$(sdkimg)/lib/$(archdir)/zero + touch $@ + +stamps/build-docs: stamps/build + @echo '========== $@ ==========' + $(MAKE) -C $(builddir) docs + touch $@ + +stamps/xvfb-check: + mkdir -p bin + ( \ + echo '#!/bin/sh'; \ + echo '$(with_wm_prefix) $(with_wm) $(with_wm_args) &'; \ + echo 'pid=$$!'; \ + echo 'sleep 3'; \ + echo '"$$@"'; \ + echo 'kill -9 $$pid'; \ + ) > bin/my-jtreg-run + chmod 755 bin/my-jtreg-run + mkdir -p test +ifeq (,$(wildcard /usr/bin/$(with_wm))) + echo 'xvfb-run -a -e $(CURDIR)/test/xvfb-run.log -s "-extension GLX" "$$@"' > bin/my-xvfb-run +else + echo 'xvfb-run -a -e $(CURDIR)/test/xvfb-run.log -s "-extension GLX" my-jtreg-run "$$@"' > bin/my-xvfb-run + ifeq ($(with_wm),twm) + grep -v '^include-menu-defs' /etc/X11/twm/system.twmrc-menu > bin/jtreg.tmwrc + echo RandomPlacement >> bin/jtreg.tmwrc + endif +endif + if ! /bin/sh bin/my-xvfb-run true ; then \ + echo "error running $$(cat bin/my-xvfb-run)"; \ + cat test/xvfb-run.log; \ + sed -i 's/ -s *"[^"]*"//' bin/my-xvfb-run; \ + if ! /bin/sh bin/my-xvfb-run true ; then \ + echo "error running $$(cat bin/my-xvfb-run)"; \ + cat test/xvfb-run.log; \ + rm -f bin/my-xvfb-run; \ + fi; \ + fi + if [ -f bin/my-xvfb-run ]; then \ + echo "using $$(cat bin/my-xvfb-run)"; \ + fi + touch $@ + +XVFB_RUN_CMD = xvfb-run -a -e $(CURDIR)/test/xvfb-run.log -s "-extension GLX" +ifneq (,$(wildcard /usr/bin/$(with_wm))) + XVFB_RUN_CMD += $(CURDIR)/bin/my-jtreg-run +endif + +stamps/mauve-check-default: stamps/build stamps/xvfb-check + $(MAKE) -f debian/rules mauve-run-check VMNAME=$(default_vm) VMARGS= + touch $@ + +stamps/mauve-check-cacao: stamps/xvfb-check + $(MAKE) -f debian/rules mauve-run-check VMNAME=cacao VMARGS='-vmarg -cacao' + touch $@ + +stamps/mauve-check-jamvm: stamps/xvfb-check + $(MAKE) -f debian/rules mauve-run-check VMNAME=jamvm VMARGS='-vmarg -jamvm' + touch $@ + +stamps/mauve-check-shark: stamps/xvfb-check + $(MAKE) -f debian/rules mauve-run-check VMNAME=shark VMARGS='-vmarg -shark' + touch $@ + +stamps/mauve-check-zero: stamps/xvfb-check + $(MAKE) -f debian/rules mauve-run-check VMNAME=zero VMARGS='-vmarg -zero' + touch $@ + +stamps/mauve-build: stamps/build + rm -rf build/mauve + mkdir -p build/mauve +ifeq ($(with_mauve_check),yes) + tar -x -C build -f /usr/src/mauve.tar.gz + cd build/mauve \ + && aclocal \ + && automake \ + && autoconf \ + && PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH \ + ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) + PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH $(MAKE) -C build/mauve +endif + touch $@ + +stamps/mauve-check: stamps/build stamps/mauve-build stamps/xvfb-check + +mauve-run-check: + rm -rf build/mauve build/mauve-$(VMNAME) +ifneq (,$(filter $(VMNAME), $(with_mauve_check))) + tar -x -C build -f /usr/src/mauve.tar.gz + mv build/mauve build/mauve-$(VMNAME) + cd build/mauve-$(VMNAME) \ + && aclocal \ + && automake \ + && autoconf \ + && PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH ./configure \ + --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) + PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH $(MAKE) -C build/mauve-$(VMNAME) + + if [ -f bin/my-xvfb-run ]; then \ + cd build/mauve-$(VMNAME) && \ + JAVA_HOME=$(CURDIR)/build/$(sdkimg) \ + PATH=$(CURDIR)/build/$(sdkimg)/bin:$$PATH \ + time /bin/sh $(CURDIR)/bin/my-xvfb-run java Harness \ + -vm $(CURDIR)/build/$(sdkimg)/bin/java \ + $(VMARGS) \ + -file $(CURDIR)/debian/mauve_tests \ + -timeout 30000 2>&1 \ + | tee mauve_output-$(VMNAME); \ + else \ + echo "mauve testsuite not run for this build (xvfb failures)" \ + > build/mauve-$(VMNAME)/mauve_output-$(VMNAME); \ + cat test/xvfb-run.log >> build/mauve-$(VMNAME)/mauve_output-$(VMNAME); \ + fi + @sleep 5 +else + mkdir -p build/mauve-$(VMNAME) + echo "mauve testsuite not run for this build" \ + > build/mauve-$(VMNAME)/mauve_output-$(VMNAME) +endif + +stamps/jtreg-check-default: stamps/build stamps/xvfb-check + $(MAKE) -f debian/rules jtreg-run-check VMNAME=$(default_vm) VMARGS= \ + TEST_SUITES='hotspot langtools' +# $(if $(filter $(default_vm),hotspot),TEST_SUITES='hotspot langtools jdk',TEST_SUITES='hotspot langtools') + touch $@ + +stamps/jtreg-check-cacao: stamps/build stamps/xvfb-check + $(MAKE) -f debian/rules jtreg-run-check VMNAME=cacao VMARGS='-vmoption:-cacao' \ + TEST_SUITES='hotspot langtools' + touch $@ + +stamps/jtreg-check-jamvm: stamps/build stamps/xvfb-check + ICEDTEA_JTREG_OTHERVM=-othervm \ + $(MAKE) -f debian/rules jtreg-run-check VMNAME=jamvm VMARGS='-vmoption:-jamvm' \ + TEST_SUITES='hotspot langtools' + touch $@ + +stamps/jtreg-check-shark: stamps/build stamps/xvfb-check + $(MAKE) -f debian/rules jtreg-run-check VMNAME=shark VMARGS='-vmoption:-shark' \ + TEST_SUITES='hotspot langtools' + touch $@ + +stamps/jtreg-check-zero: stamps/build stamps/xvfb-check + $(MAKE) -f debian/rules jtreg-run-check VMNAME=zero VMARGS='-vmoption:-zero' \ + TEST_SUITES='langtools hotspot' + touch $@ + +jtreg-run-check: + mkdir -p test +ifneq (,$(filter $(VMNAME), $(with_jtreg_check))) + if [ ! -f $(builddir)/$(sdkimg)/conf/security/java.security.install ]; then \ + fgrep -v 'sun.security.pkcs11' $(builddir)/$(sdkimg)/conf/security/java.security \ + > $(builddir)/$(sdkimg)/conf/security/java.security.test; \ + mv $(builddir)/$(sdkimg)/conf/security/java.security \ + $(builddir)/$(sdkimg)/conf/security/java.security.install; \ + mv $(builddir)/$(sdkimg)/conf/security/java.security.test \ + $(builddir)/$(sdkimg)/conf/security/java.security; \ + fi + + @echo "BEGIN jtreg" + time $(MAKE) -f debian/rules -k jtregcheck \ + $(if $(TEST_SUITES),TEST_SUITES="$(TEST_SUITES)") \ + JTREG_OPTIONS='$(VMARGS) $(JTREG_OPTIONS)' \ + 2>&1 | tee test/jtreg_output-$(VMNAME) + @echo "END jtreg" + + if [ -f $(builddir)/$(sdkimg)/conf/security/java.security.install ]; then \ + mv $(builddir)/$(sdkimg)/conf/security/java.security.install \ + $(builddir)/$(sdkimg)/conf/security/java.security; \ + fi + +# for i in check-hotspot.log check-jdk.log check-langtools.log jtreg-summary.log; do \ +# if [ -f test/$$i ]; then \ + mv test/$$i test/$${i%*.log}-$(VMNAME).log; \ +# else \ +# mkdir -p test; \ +# cp test/jtreg_output-$(VMNAME) test/$${i%*.log}-$(VMNAME).log; \ +# fi; \ +# done + + for i in check-hotspot.log check-jdk.log check-langtools.log jtreg-summary.log; do \ + if [ -f test/$$i ]; then \ + mv test/$$i test/$${i%*.log}-$(VMNAME).log; \ + else \ + mkdir -p test; \ + fi; \ + done + + @echo "BEGIN jtreg-summary-$(VMNAME)" + -cat test/jtreg-summary-$(VMNAME).log + @echo "END jtreg-summary-$(VMNAME)" + + : # kill testsuite processes still hanging + @pids=$$($(jtreg_pids)); \ + if [ -n "$$pids" ]; then \ + echo "killing processes..."; \ + $(jtreg_processes); \ + kill -1 $$pids; \ + sleep 2; \ + pids=$$($(jtreg_pids)); \ + if [ -n "$$pids" ]; then \ + echo "trying harder..."; \ + $(jtreg_processes); \ + kill -9 $$pids; \ + sleep 2; \ + fi; \ + else \ + echo "nothing to cleanup"; \ + fi; \ + pids=$$($(jtreg_pids)); \ + if [ -n "$$pids" ]; then \ + echo "leftover processes..."; \ + $(jtreg_processes); \ + fi + + -for i in hotspot langtools jdk; do \ + test -f test/check-$$i-$(VMNAME).log || continue; \ + for t in $$(egrep '^(FAILED|Error)' test/check-$$i-$(VMNAME).log | sed 's/.* \(.*\)\.[^.][^.]*$$/\1/'); do \ + echo test/$$i/JTwork/$$t.jtr; \ + done; \ + done > test/failed_tests-$(VMNAME).list; \ + GZIP=-9vn tar -C . -c -z -f test/failed_tests-$(VMNAME).tar.gz -T test/failed_tests-$(VMNAME).list +else + echo "jtreg harness not run for this build" > test/jtreg_output-$(VMNAME) +endif + +# ---------------------------------------------------------------------------- +# jtreg targets taken from IcedTea + +export JTREG_HOME=/usr/share/java + +TESTS_TO_RUN = $(addprefix check-,$(TEST_SUITES)) + +check-hotspot: stamps/build + mkdir -p test/hotspot/JTwork test/hotspot/JTreport + JT_JAVA=$(BOOTJDK_HOME) jtreg -v1 -a -ignore:quiet \ + -w:test/hotspot/JTwork -r:test/hotspot/JTreport \ + -jdk:$(builddir)/$(sdkimg) \ + $(JTREG_OPTIONS) \ + $(CURDIR)/$(srcdir)/hotspot/test \ + | tee test/$@.log + +check-langtools: stamps/build + mkdir -p test/langtools/JTwork test/langtools/JTreport + JT_JAVA=$(BOOTJDK_HOME) jtreg -v1 -a -ignore:quiet \ + -w:test/langtools/JTwork -r:test/langtools/JTreport \ + $${JTREG_OTHERVM:--samevm} \ + -jdk:$(builddir)/$(sdkimg) \ + $(JTREG_OPTIONS) \ + -exclude:debian/excludelist.langtools.jtx \ + $(CURDIR)/$(srcdir)/langtools/test \ + | tee test/$@.log + +check-jdk: stamps/build stamps/xvfb-check + mkdir -p test/jdk/JTwork test/jdk/JTreport + set -x; \ + if test "x$${DISPLAY}" = "x"; then XVFB_RUN="$(XVFB_RUN_CMD)"; fi; \ + if test "x$${DISPLAY}" = "x" && test "x$${XVFB_RUN}" = "x"; then \ + echo "WARNING: DISPLAY not set and xvfb-run not found"; \ + fi; \ + $(if $(DISPLAY),,$(XVFB_RUN_CMD)) \ + JT_JAVA=$(BOOTJDK_HOME) jtreg -v1 -a -ignore:quiet \ + -w:test/jdk/JTwork -r:test/jdk/JTreport \ + $${JTREG_OTHERVM:--samevm} \ + -jdk:$(builddir)/$(sdkimg) \ + $(JTREG_OPTIONS) \ + -exclude:debian/excludelist.jdk.jtx \ + $(CURDIR)/$(srcdir)/jdk/test \ + | tee test/$@.log + +# FIXME: this might need some adjustment for other OS than Linux +jtreg_processes = ps x -ww -o pid,ppid,args \ + | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,/scratch)/' \ + | $(SED) 's,$(CURDIR)/$(builddir)/$(sdkimg),,g;s,$(CURDIR),,g' +jtreg_pids = ps x --no-headers -ww -o pid,ppid,args \ + | awk '$$2 == 1 && $$3 ~ /^$(subst /,\/,$(CURDIR)/$(builddir)/$(sdkimg))/ {print $$1}' + +jtregcheck: $(TESTS_TO_RUN) + for i in $(TEST_SUITES); do \ + echo "--------------- jtreg console summary for $$i ---------------"; \ + egrep -v '^(Passed:|Directory|Re[a-z]+\ written\ to)' test/check-$$i.log; \ + done | tee test/jtreg-summary.log + + : # kill testsuite processes still hanging + @pids=$$($(jtreg_pids)); \ + if [ -n "$$pids" ]; then \ + echo "killing processes..."; \ + $(jtreg_processes); \ + kill -1 $$pids; \ + sleep 2; \ + pids=$$($(jtreg_pids)); \ + if [ -n "$$pids" ]; then \ + echo "try harder..."; \ + $(jtreg_processes); \ + kill -9 $$pids; \ + sleep 2; \ + fi; \ + else \ + echo "nothing to cleanup"; \ + fi; \ + pids=$$($(jtreg_pids)); \ + if [ -n "$$pids" ]; then \ + echo "leftover processes..."; \ + $(jtreg_processes); \ + fi + +# ---------------------------------------------------------------------------- + +clean: debian-clean + dh_testdir + dh_testroot + rm -rf $(srcdir) jamvm + rm -rf stamps build build-* test + rm -rf icedtea-sound + rm -rf autom4te.cache + rm -rf bin + rm -f buildwatch.pid + + dh_clean + +debian-clean: + dh_testdir + dh_testroot + dh_prep || dh_clean -k + for f in debian/*.in debian/patches/*.in; do \ + f2=$$(echo $$f | sed 's/JB/$(basename)/;s/\.in$$//'); \ + case "$$f2" in debian/control) continue; esac; \ + rm -f $$f2; \ + done + rm -f debian/*.install debian/*.links debian/*.debhelper.log + +lib_ext_dirs = common $(sort $(foreach arch,$(arch_map),$(firstword $(subst =,$(SPACE),$(arch))))) +ifeq ($(derivative),Ubuntu) + lib_ext_dirs := $(filter-out arm hppa m68k mips% powerpcspe s390% sh%, $(lib_ext_dirs)) +else + lib_ext_dirs := $(filter-out arm hppa, $(lib_ext_dirs)) +endif + +install: packaging-files + dh_testdir + dh_testroot + dh_prep || dh_clean -k + rm -f debian/*.install debian/*.links + dh_installdirs + + @echo "all_jre_tools: $(all_jre_tools)" + @echo "jre_tools: $(jre_tools)" + @echo "jre_hl_tools: $(jre_hl_tools)" + @echo "all_jdk_tools: $(all_jdk_tools)" + @echo "jdk_tools: $(jdk_tools)" + + : # install into temporary location + mkdir -p $(d)/$(basedir) + cp -a $(builddir)/$(sdkimg)/* $(d)/$(basedir)/ + +ifeq ($(with_pulse),yes) +# FIXME: ext no longer supported +# cp icedtea-sound/icedtea-sound.jar $(d)/$(basedir)/lib/ext/. +# cp icedtea-sound/build/native/libicedtea-sound.so \ +# $(d)/$(basedir)/lib/$(archdir)/. +endif + + chmod -R u+w $(d) + + : # use javaws from icedtea-netx + find $(d) -name 'javaws*' | xargs -r rm -f + + : # install default jvm config file + cp debian/jvm.cfg-default $(d)/$(basedir)/lib/$(archdir)/ + + : # compress manpages + find $(d)/$(basedir)/man -type f ! -type l | xargs gzip -9v -n + + mkdir -p $(d)/$(etcdir)/security + mkdir -p $(d)/$(etcdir)/management + +ifeq (0,1) + : # rename templates (comments only) to config files, + : # and move to /$(etcdir) + for i in \ + conf/management/jmxremote.password \ + conf/management/snmp.acl; \ + do \ + mv $(d)/$(basedir)/$$i.template $(d)/$(etcdir)/$$i; \ + done +else + : # FIXME: what to do about these? + for i in \ + conf/management/jmxremote.password \ + conf/management/snmp.acl; \ + do \ + rm -f $(d)/$(basedir)/$$i.template; \ + done +endif + +ifeq ($(with_bridge),atk) + ifneq (,$(filter $(distrel),lenny wheezy squeeze jessie lucid precise quantal raring saucy trusty utopic vivid)) + cp -p debian/accessibility-atk.properties.disabled \ + $(d)/$(basedir)/lib/accessibility.properties + else + cp -p debian/accessibility-atk.properties.enabled \ + $(d)/$(basedir)/lib/accessibility.properties + endif +else + cp -p debian/accessibility.properties $(d)/$(basedir)/lib/ +endif + cp -p debian/swing.properties $(d)/$(basedir)/lib/ + +ifneq (,$(pkg_certs)) + rm -f $(d)/$(basedir)/lib/security/cacerts +endif + + : # FIXME: merge nss changes from IcedTea + cp debian/nss.cfg $(d)/$(basedir)/conf/security/nss.cfg + + : # move config files to $(etcdir) and symlink them. + for i in \ + lib/accessibility.properties \ + conf/logging.properties \ + conf/sound.properties \ + conf/net.properties \ + lib/psfontj2d.properties \ + lib/psfont.properties.ja \ + lib/swing.properties \ + conf/management/jmxremote.access \ + conf/management/management.properties \ + conf/security/java.policy \ + conf/security/java.security \ + $$([ -f $(d)/$(basedir)/conf/security/nss.cfg ] && echo conf/security/nss.cfg) \ + $(if $(findstring ca-cert,$(pkg_certs)),,lib/security/cacerts) \ + lib/security/blacklisted.certs; \ + do \ + dest=$$(echo $$i | sed 's,^[^/]*/,,'); \ + mv $(d)/$(basedir)/$$i $(d)/$(etcdir)/$$dest; \ + done + mv $(d)/$(basedir)/lib/$(archdir)/jvm.cfg \ + $(d)/$(etcdir)/ +ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs))) + printf -- '-zero KNOWN\n' >> $(d)/$(etcdir)/jvm.cfg +else + printf -- '-zero ALIASED_TO -server\n' >> $(d)/$(etcdir)/jvm.cfg +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(jamvm_archs))) + printf -- '-jamvm KNOWN\n' >> $(d)/$(etcdir)/jvm.cfg +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),$(jamvm_defaults))) + grep '^[# ]' $(d)/$(etcdir)/jvm.cfg \ + > $(d)/$(etcdir)/jvm.cfg.new + grep 'jamvm' $(d)/$(etcdir)/jvm.cfg \ + >> $(d)/$(etcdir)/jvm.cfg.new + egrep -v '^[# ]|jamvm' $(d)/$(etcdir)/jvm.cfg \ + >> $(d)/$(etcdir)/jvm.cfg.new + mv $(d)/$(etcdir)/jvm.cfg.new $(d)/$(etcdir)/jvm.cfg +endif + : # FIXME: avian working with 8? + : # printf -- '-avian KNOWN\n' >> $(d)/$(etcdir)/jvm.cfg + + : # remove files which we do not want to distribute + + : # remove empty directories + + : # FIXME: fix, move and install tapset files + rm -rf $(d)/$(basedir)/tapset + + : # TODO: why do we provide a custom font.properties.ja? + : # cp -p debian/font.properties.ja $(d_jbin)/$(etcdir)/. +# cp debian/font.properties.wgy_zenhai \ +# $(d)/$(etcdir)/font.properties.ja + + + : # now move things to the packages. it is so ****** to create + : # .install files first. dh_movefiles did do the job perfectly + + : # $(p_jrehl).install / $(p_jre).install + ( \ + echo 'etc'; \ + echo '$(basedir)/lib/ct.sym'; \ + echo '$(basedir)/lib/jexec'; \ + echo '$(basedir)/jrt-fs.jar'; \ + echo '$(basedir)/release'; \ + echo '$(basedir)/lib/security/*_policy.jar'; \ + echo '$(basedir)/lib/modules/*.jimage'; \ + echo '$(basedir)/lib/tzdb.dat'; \ + echo '$(basedir)/lib/classlist'; \ + ) > debian/$(p_jrehl).install + $(RM) debian/$(p_jre).install + + : # jre binaries and man pages + for i in $(jre_hl_tools); do \ + case "$$i" in \ + *policytool*) p=debian/$(p_jre).install;; \ + *) p=debian/$(p_jrehl).install; \ + esac; \ + echo $(basedir)/bin/$$i >> $$p; \ + if [ -f $(d)/$(basedir)/man/man1/$$i.1.gz ]; then \ + echo $(basedir)/man/man1/$$i.1.gz >> $$p; \ + echo $(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz >> $$p; \ + fi; \ + done + + cd $(CURDIR)/$(d); \ + for i in $(basedir)/lib/$(archdir)/*; do \ + case "$$i" in \ + */libjavagtk.so|*/libsplashscreen.so|*/libjsoundalsa.so|$(if $(with_pulse),*/libicedtea-sound.so|)*/xawt) echo $$i >> ../$(p_jre).install;; \ + */cacao) echo $$i >> ../$(p_jrec).install;; \ + */jamvm) echo $$i >> ../$(p_jrej).install;; \ + */zero|*/shark) echo $$i >> ../$(p_jrez).install;; \ + *) echo $$i >> ../$(p_jrehl).install; \ + esac; \ + done + + : # $(p_jrehl).install + ( \ + echo '$(basedir)/ASSEMBLY_EXCEPTION'; \ + echo '$(basedir)/THIRD_PARTY_README'; \ + echo '$(basedir)/LICENSE'; \ + echo '$(basedir)/man/ja'; \ + ) >> debian/$(p_jrehl).install + + : # $(p_jdk).install + ( \ + echo '$(basedir)/include'; \ + for i in $(jdk_tools); do \ + echo $(basedir)/bin/$$i; \ + if [ -f $(d)/$(basedir)/man/man1/$$i.1.gz ]; then \ + echo $(basedir)/man/man1/$$i.1.gz; \ + echo $(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz; \ + fi; \ + done; \ + ) > debian/$(p_jdk).install + + : # $(p_src).install + ( \ + echo '$(basedir)/src.zip $(TOP)/$(basename)/'; \ + ) > debian/$(p_src).install + + : # move demos and samples, create symlinks for $(p_demo) + mkdir -p $(d)/usr/share/doc/$(p_jrehl)/demo + for i in $(d)/$(basedir)/demo/*; do \ + b=$$(basename $$i); \ + case "$$i" in \ + */jvmti) \ + echo $(basedir)/demo/$$b usr/share/doc/$(p_jrehl)/demo/$$b >> $(d_demo).links;; \ + *) \ + mv $$i $(d)/usr/share/doc/$(p_jrehl)/demo/$$b; \ + echo usr/share/doc/$(p_jrehl)/demo/$$b $(basedir)/demo/$$b >> $(d_demo).links;; \ + esac; \ + done + mv $(d)/$(basedir)/sample $(d)/usr/share/doc/$(p_jrehl)/examples + echo usr/share/doc/$(p_jrehl)/examples $(basedir)/sample >> $(d_demo).links + echo usr/share/doc/$(p_jre) usr/share/doc/$(p_demo) >> $(d_demo).links + + : # $(p_demo).install + ( \ + echo '$(basedir)/demo'; \ + echo 'usr/share/doc/$(p_jrehl)/examples'; \ + echo 'usr/share/doc/$(p_jrehl)/demo'; \ + ) > debian/$(p_demo).install + + : # $(p_dbg).install +ifneq (,$(wildcard $(d)/$(basedir)/lib/$(archdir)/*.diz)) + ( \ + echo '$(basedir)/lib/$(archdir)/*.diz'; \ + echo '$(basedir)/lib/$(archdir)/*/*.diz'; \ + ) > debian/$(p_dbg).install +endif +ifneq (,$(wildcard $(d)/$(basedir)/lib/$(archdir)/*.debuginfo)) + ( \ + echo '$(basedir)/lib/$(archdir)/*.debuginfo'; \ + echo '$(basedir)/lib/$(archdir)/*/*.debuginfo'; \ + ) > debian/$(p_dbg).install +endif + + dh_install --sourcedir=debian/tmp --fail-missing -XLICENSE -Xrelease + + find $(d_jrehl) $(d_jre) $(d_jrez) $(d_jrec) $(d_jrej) -type f \ + \( -name '*.debuginfo' -o -name '*.diz' \) -print | xargs -r rm -f + +ifeq (0,1) +# FIXME: ext no longer supported + : # give all permissions to cross-VM extension directory + sed -i \ + -e '/permission java\.security\.AllPermission;/,/};/c\' \ + -e ' permission java.security.AllPermission;\' \ + -e '};\' \ + -e '\' \ + $(if $(DEB_HOST_MULTIARCH),$(foreach i, $(lib_ext_dirs), \ + -e 'grant codeBase "file:/$(TOP)/java-$(shortver)-$(origin)-$(i)/lib/ext/*" {\' \ + -e ' permission java.security.AllPermission;\' \ + -e '};\')) \ + -e '\' \ + -e '// Comment this out if you want to give all permissions to the\' \ + -e '// Debian Java repository too:\' \ + -e '//grant codeBase "file:/usr/share/java/repository/-" {\' \ + -e '// permission java.security.AllPermission;\' \ + -e '//};\' \ + -e '' \ + $(d_jrehl)/$(security)/java.policy +# 'make Emacs Makefile mode happy +endif + + dh_installdirs -p$(p_jrehl) \ + usr/share/doc/$(p_jrehl) \ + usr/share/binfmts + + dh_installdirs -p$(p_jre) \ + usr/share/applications \ + usr/share/application-registry \ + usr/share/mime-info \ + usr/share/pixmaps + + : # add GNOME stuff + cp -p debian/$(basename)-policytool.desktop \ + $(d_jre)/usr/share/applications/ +ifneq (,$(findstring cautious-launcher, $(java_launcher))) + cp -p debian/$(basename)-java.desktop \ + $(d_jre)/usr/share/applications/ +endif + + for i in archive; do \ + cp debian/$(basename)-$$i.applications \ + $(d_jre)/usr/share/application-registry/; \ + cp debian/$(basename)-$$i.keys $(d_jre)/usr/share/mime-info/; \ + cp debian/$(basename)-$$i.mime $(d_jre)/usr/share/mime-info/; \ + done + + cp -p debian/sun_java.xpm \ + $(d_jre)/usr/share/pixmaps/$(basename).xpm + + mkdir -p $(d_demo)/usr/share/pixmaps + cp -p debian/sun_java_app.xpm \ + $(d_demo)/usr/share/pixmaps/$(basename)-app.xpm + +ifeq (0,1) +# FIXME: not available in 8 + : # install icons + for i in 16 24 32 48; do \ + install -D -m 644 -p jdk/src/solaris/classes/sun/awt/X11/java-icon$${i}.png \ + $(d_jre)/usr/share/icons/hicolor/$${i}x$${i}/apps/$(basename).png; \ + done +endif + + : # create docdir symlinks for $(p_jrehl) + ( \ + echo usr/share/doc/$(p_jrehl) $(basedir)/docs; \ + ) > $(d_jrehl).links +ifneq (,$(DEB_HOST_MULTIARCH)) + echo '/$(basedir) /usr/lib/jvm/$(jdirname)' >> $(d_jrehl).links +endif + + : # create docdir symlinks for $(p_jre) + ( \ + echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jre); \ + ) > $(d_jre).links + +ifneq (,$(filter shark zero, $(alternate_vms))) + : # create docdir symlinks for $(p_jrez) + ( \ + echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jrez); \ + ) > $(d_jrez).links +endif + + : # create docdir symlinks for $(p_src) + ( \ + echo usr/share/doc/$(p_jre) usr/share/doc/$(p_src); \ + ) > $(d_src).links + + : # create docdir symlinks for $(p_jdk) + ( \ + echo usr/share/doc/$(p_jre) usr/share/doc/$(p_jdk); \ + ) > $(d_jdk).links +# doesn't work, no package dependency +ifneq (,$(DEB_HOST_MULTIARCH)) + echo '$(TOP)/$(basename)/src.zip $(basedir)/src.zip' >> $(d_jdk).links +endif + + : # create docdir symlinks for $(p_dbg) + ( \ + echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_dbg); \ + ) > $(d_dbg).links + +ifeq (0,1) +# FIXME: ext not longer supported +ifeq ($(with_bridge),atk) + : # create links for the atk wrapper + echo "usr/share/java/java-atk-wrapper.jar $(basedir)/lib/ext/java-atk-wrapper.jar" \ + >> $(d_jre).links + echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/ext/libatk-wrapper.so" \ + >> $(d_jre).links +else ifeq ($(with_bridge),yes) + : # create links for the gnome accessibility bridge + echo "usr/share/java/gnome-java-bridge.jar $(basedir)/lib/ext/gnome-java-bridge.jar" \ + >> $(d_jre).links + ifeq ($(with_jni_bridge),yes) + echo "usr/lib$(multiarch_dir)/jni/libjava-access-bridge-jni.so $(basedir)/lib/ext/libjava-access-bridge-jni.so" \ + >> $(d_jre).links + endif +endif +endif + + : # create links for the config files + find $(d_jrehl)/$(etcdir) -type f ! -name jvm.cfg \ + -printf "$(etcdir)/%P $(basedir)/lib/%P\n" >> $(d_jrehl).links +ifneq (,$(DEB_HOST_MULTIARCH)) + mv $(d_jrehl)/$(etcdir)/jvm.cfg \ + $(d_jrehl)/$(etcdir)/jvm-$(DEB_HOST_ARCH).cfg + ( \ + echo "$(etcdir)/jvm-$(DEB_HOST_ARCH).cfg $(basedir)/lib/$(archdir)/jvm.cfg"; \ + ) >> $(d_jrehl).links +else + ( \ + echo "$(etcdir)/jvm.cfg $(basedir)/lib/$(archdir)/jvm.cfg"; \ + ) >> $(d_jrehl).links +endif +ifneq (,$(pkg_certs)) + echo "etc/ssl/certs/java/cacerts $(basedir)/lib/security/cacerts" \ + >> $(d_jrehl).links +endif + + @echo JRE_HL_TOOLS: $(jre_hl_tools_alt) jexec + @echo JRE_TOOLS: $(jre_tools_alt) + @echo JDK_TOOLS: $(jdk_tools_alt) + ( \ + echo 'name=$(jdirname)'; \ + echo 'alias=$(jdiralias)'; \ + echo 'priority=$(priority)'; \ + echo 'section=main'; \ + echo ''; \ + for i in $(jre_hl_tools_alt); do \ + echo "hl $$i /$(basedir)/bin/$$i"; \ + done; \ + echo "hl jexec /$(basedir)/lib/jexec"; \ + for i in $(jre_tools_alt); do \ + echo "jre $$i /$(basedir)/bin/$$i"; \ + done; \ + for i in $(jdk_tools_alt); do \ + echo "jdk $$i /$(basedir)/bin/$$i"; \ + done; \ + for d in $(browser_plugin_dirs); do \ + echo "plugin $$d-javaplugin.so /$(basedir)/lib/$(archdir)/$(plugin_name)"; \ + done; \ + ) > $(d_jrehl)/$(TOP)/.$(jdiralias).jinfo + + ( \ + echo 'package $(basename)'; \ + echo 'interpreter /usr/bin/jexec'; \ + echo 'magic PK\x03\x04'; \ + ) > $(d_jrehl)/$(basedir)/lib/jar.binfmt + + : # another jvm symlink + ln -sf $(jdirname) $(d_jrehl)/usr/lib/jvm/$(jdiralias) + +ifeq ($(with_systemtap),yes FIXME) + : # systemtap support + mkdir -p $(d_jrehl)/usr/share/systemtap/tapset + cp -p build/tapset/hotspot.stp $(d_jrehl)/usr/share/systemtap/tapset/ +endif + + : # install lintian overrides + for FILE in debian/*.overrides; do \ + PKG=`basename $$FILE .overrides`; \ + install -D -m644 $$FILE debian/$$PKG/usr/share/lintian/overrides/$$PKG; \ + done + +nodocs = $(if $(findstring nodocs, $(DEB_BUILD_OPTIONS)),-N$(p_doc)) +nojrec = $(if $(filter cacao, $(alternate_vms)),,-N$(p_jrec)) +nojrej = $(if $(filter jamvm, $(alternate_vms)),,-N$(p_jrej)) +nojrez = $(if $(filter shark zero, $(alternate_vms)),,-N$(p_jrez)) + +# Build architecture independant packages +binary-indep: build-indep + dh_testdir + dh_testroot +ifeq ($(with_docs),yes) + dh_installchangelogs -p$(p_doc) + dh_installdocs -p$(p_doc) + mkdir -p $(d_doc)/usr/share/doc/$(p_jrehl) + for i in $(builddir)/images/docs/*; do \ + [ -e $$i ] || continue; \ + b=$$(basename $$i); \ + cp -a $$i $(d_doc)/usr/share/doc/$(p_jrehl)/; \ + ln -sf ../$(p_jrehl)/$$b $(d_doc)/usr/share/doc/$(p_doc)/$$b; \ + done +endif +# FIXME: desktop and menu files not ready for multiarch. #658321 +ifeq (,$(DEB_HOST_MULTIARCH)) + dh_installmenu -i $(nodocs) +endif + -dh_icons -i $(nodocs) || dh_iconcache -i $(nodocs) +# dh_installdebconf -i $(nodocs) + dh_link -i $(nodocs) + dh_compress -i $(nodocs) -Xexamples -Xdemo -Xpackage-list + dh_fixperms -i $(nodocs) + dh_installdeb -i $(nodocs) + dh_gencontrol -i $(nodocs) -- $(control_vars) + dh_md5sums -i $(nodocs) + dh_builddeb -i $(nodocs) $(bd_options) + +absarchdir = $(CURDIR)/$(d_jrehl)/$(basedir)/lib/$(archdir) +shlibdeps_ld_path =$(absarchdir):$(absarchdir)/client:$(absarchdir)/server:$(absarchdir)/native_threads$(if $(xulrunner_depends),:$(shell pkg-config --libs-only-L libxul | sed 's/^-L//;s/-devel//;s,/lib *$$,,')) + +# pass vm name as first argument +define install_test_results + mkdir -p $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH) +# -cp mauve-$(1)/mauve_output-$(1) \ +# $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/mauve_output-$(1).log + -cp jtreg_output-$(1) \ + $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/jtreg_output-$(1).log + -cp test/jtreg-summary-$(1).log test/check-*-$(1).log \ + $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/ + -cp test/failed_tests-$(1).tar.gz \ + $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/failed_tests-$(1).tar.gz +endef + +# Build architecture dependant packages +binary-arch: build install + dh_testdir + dh_testroot + + dh_installchangelogs -p$(p_jrehl) + dh_installdocs -p$(p_jrehl) \ + debian/JAVA_HOME \ + debian/README.alternatives \ + debian/README.Debian +ifeq (0,1) +# FIXME: IcedTea specific bits + for i in AUTHORS NEWS README; do \ + cp -p $$i $(d_jrehl)/usr/share/doc/$(p_jrehl)/$$i.IcedTea; \ + done +endif + $(call install_test_results,$(default_vm)) + +ifneq (,$(filter cacao, $(alternate_vms))) + dh_installchangelogs -p$(p_jrec) + dh_installdocs -p$(p_jrec) + $(call install_test_results,cacao) +endif +ifneq (,$(filter jamvm, $(alternate_vms))) + dh_installchangelogs -p$(p_jrej) + dh_installdocs -p$(p_jrej) + $(call install_test_results,jamvm) +endif +ifneq (,$(filter zero, $(alternate_vms))) + $(call install_test_results,zero) +endif +# FIXME: desktop and menu files not ready for multiarch. #658321 +ifeq (,$(DEB_HOST_MULTIARCH)) + dh_installmenu -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) +endif + -dh_icons -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) \ + || dh_iconcache -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) +# dh_installdebconf -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) + dh_link -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) + $(if $(filter $(dh_version), 5 6 7 8),NADA=,DH_COMPAT=9) dh_strip -s \ + $(nodemo) $(nojrec) $(nojrej) $(nojrez) \ + -Xlibjvm.so -X.debuginfo --dbg-package=$(p_dbg) + +ifeq (,$(findstring nostrip, $(DEB_BUILD_OPTIONS))) + set -ex; \ + for i in {$(d_jrehl),$(d_jre),$(d_jrec),$(d_jrez)}/$(basedir)/lib/$(archdir)/*/libjvm.so; do \ + [ -f $$i ] || continue; \ + b_id=$$(LC_ALL=C readelf -n $$i | sed -n 's/ *Build ID: *\([0-9a-f][0-9a-f]*\)/\1/p'); \ + if [ -z "$$b_id" ] || [ "$(dh_version)" -lt 9 ]; then \ + id=$$(echo $$i | sed -r 's,debian/[^/]+,$(d_dbg)/usr/lib/debug,'); \ + echo strip $$i; \ + mkdir -p $$(dirname $$id); \ + objcopy --only-keep-debug $$i $$id; \ + chmod 644 $$id; \ + strip --remove-section=.comment --remove-section=.note \ + --strip-debug $$i; \ + objcopy --add-gnu-debuglink $$id $$i; \ + else \ + d=$(d_dbg)/usr/lib/debug/.build-id/$${b_id:0:2}; \ + mkdir -p $$d; \ + objcopy --only-keep-debug --compress-debug-sections \ + $$i $$d/$$b_id.debug; \ + chmod 644 $$d/$$b_id.debug; \ + strip --remove-section=.comment --remove-section=.note \ + $$i; \ + objcopy --add-gnu-debuglink \ + $$d/$$b_id.debug $$i; \ + fi; \ + done +endif + + dh_compress -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) -Xexamples -Xdemo -Xpackage-list + dh_fixperms -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) + dh_makeshlibs -p$(p_jrehl) -p$(p_jre) + dh_shlibdeps -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) -L $(p_jrehl) \ + -l$(shlibdeps_ld_path) \ + -- + dh_installdeb -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) + dh_gencontrol -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) \ + -- $(control_vars) + dh_md5sums -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) + : # FIXME: something seems to hang here ... + -ps afx + NO_PKG_MANGLE=1 \ + dh_builddeb -s $(nodemo) $(nojrec) $(nojrej) $(nojrez) #$(bd_options) + +is_release = +hg_project = jdk9 +hg_tag = jdk9-b94 +package_version = $(subst jdk,,$(hg_tag)) +ifneq ($(is_release),yes) + package_version := $(subst -,~,$(package_version)) +endif +hg_url = http://hg.openjdk.java.net/jdk9/$(hg_project) +origdir = ../openjdk-9-$(package_version).orig +get-orig: + mkdir $(origdir) + wget -O $(origdir)/root.tar.bz2 $(hg_url)/archive/$(hg_tag).tar.bz2 + for repo in corba jaxp jaxws langtools hotspot jdk nashorn; do \ + wget -O $(origdir)/$$repo.tar.bz2 \ + $(hg_url)/$$repo/archive/$(hg_tag).tar.bz2; \ + done + wget -O $(origdir)/icedtea-sound.tar.xz \ + http://icedtea.classpath.org/download/source/icedtea-sound-1.0.1.tar.xz + +# wget -O $(origdir)/icedtea-sound.tar.bz2 \ +# http://icedtea.classpath.org/hg/icedtea-sound/archive/tip.tar.bz2 + +# wget -O $(origdir)/jamvm.tar.gz \ +# http://downloads.sourceforge.net/project/jamvm/jamvm/JamVM%202.0.0/jamvm-2.0.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fjamvm%2Ffiles%2Fjamvm%2FJamVM%25202.0.0%2F&ts=1422282260&use_mirror=netcologne + + : # remove JSON license from THIRD_PARTY_README; no files shipped + set -ex; \ + for repo in root corba jaxp jaxws langtools hotspot jdk nashorn; do \ + d=$$(tar tf $(origdir)/$$repo.tar.bz2 | head -1 | sed 's,/.*,,'); \ + tar xf $(origdir)/$$repo.tar.bz2; \ + find $$d -maxdepth 2 -name THIRD_PARTY_README; \ + for f in $$(find $$d -maxdepth 2 -name THIRD_PARTY_README); do \ + awk '/^%% This notice is provided with respect to JSON/ { skip=1 } skip == 0 {print} /^----------/ { skip = 0} ' $$f > $$f.new; \ + diff -u $$f $$f.new || true; \ + mv $$f.new $$f; \ + done; \ + case $$repo in jdk) \ + rm -v -rf $$d/src/java.base/share/native/libzip/zlib-*; \ + find $$d/src/java.desktop/share/native/libjavajpeg \ + ! -name imageioJPEG.c ! -name jpegdecoder.c ! -name jinclude.h \ + -type f -print -delete; \ + rm -v -rf $$d/src/java.desktop/share/native/libsplashscreen/giflib; \ + rm -v -rf $$d/src/java.desktop/share/native/libsplashscreen/libpng; \ + rm -v -f $$d/src/java.desktop/share/native/liblcms/cms*.c; \ + rm -v -f $$d/src/java.desktop/share/native/liblcms/lcms2*.h; \ + rm -v -rf $$d/src/java.smartcardio/unix/native/libj2pcsc/MUSCLE; \ + esac; \ + tar cfJ $(origdir)/$$repo.tar.xz $$d; \ + rm -rf $$d; \ + rm -f $(origdir)/$$repo.tar.bz2; \ + done + +binary: binary-arch binary-indep +.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install packaging-files --- openjdk-9-9~b94.orig/debian/sharedmimeinfo +++ openjdk-9-9~b94/debian/sharedmimeinfo @@ -0,0 +1,12 @@ + + + + Java Archive + + + + + Java Web Start application + + + --- openjdk-9-9~b94.orig/debian/source/format +++ openjdk-9-9~b94/debian/source/format @@ -0,0 +1 @@ +1.0 --- openjdk-9-9~b94.orig/debian/source/lintian-overrides +++ openjdk-9-9~b94/debian/source/lintian-overrides @@ -0,0 +1 @@ +openjdk-8 source: quilt-build-dep-but-no-series-file --- openjdk-9-9~b94.orig/debian/sun_java.xpm +++ openjdk-9-9~b94/debian/sun_java.xpm @@ -0,0 +1,194 @@ +/* XPM */ +static char *sun_java[] = { +/* columns rows colors chars-per-pixel */ +"32 32 156 2", +" c #34479E", +". c #4152A3", +"X c #4153A2", +"o c #4153A3", +"O c #4D5EA8", +"+ c #4D5EA9", +"@ c #4E5EA9", +"# c #5A69AD", +"$ c #5A69AE", +"% c #5A69AF", +"& c #5A6AAD", +"* c #6675B3", +"= c #6775B2", +"- c #6775B3", +"; c #6776B3", +": c #6775B5", +"> c #6776B4", +", c #7480B7", +"< c #7380B8", +"1 c #7381B8", +"2 c #7380BA", +"3 c #7481B8", +"4 c #D12124", +"5 c #D42F31", +"6 c #D73D3E", +"7 c #D94A4A", +"8 c #D94A4B", +"9 c #DA4A4A", +"0 c #DA4B4B", +"q c #DC5957", +"w c #DC5858", +"e c #DD5859", +"r c #DD5959", +"t c #DF6664", +"y c #E06664", +"u c #E27471", +"i c #E27570", +"p c #E27472", +"a c #E37472", +"s c #E27574", +"d c #E37474", +"f c #E5827E", +"g c #E5837F", +"h c #818BBD", +"j c #818CBC", +"k c #808CBE", +"l c #818DC0", +"z c #8D97C2", +"x c #8D97C3", +"c c #8D97C5", +"v c #8E98C5", +"b c #99A2C7", +"n c #99A3C7", +"m c #99A2C8", +"M c #99A3C8", +"N c #99A2CA", +"B c #99A2CB", +"V c #A6AECD", +"C c #A5AED2", +"Z c #A6AED0", +"A c #B3B9D3", +"S c #B2B9D4", +"D c #B3B9D5", +"F c #B2B9D6", +"G c #B3BAD5", +"H c #BFC4D6", +"J c #BFC5D7", +"K c #BFC5D8", +"L c #BFC5D9", +"P c #BFC5DA", +"I c #BFC5DB", +"U c #BFC5DC", +"Y c #BFC5DD", +"T c #E58381", +"R c #E68380", +"E c #E88F89", +"W c #E88F8B", +"Q c #E8908A", +"! c #EB9D99", +"~ c #EB9D9A", +"^ c #EB9D9D", +"/ c #EDABA2", +"( c #EEABA6", +") c #EDACA6", +"_ c #F0B9B1", +"` c #F1B9B1", +"' c #F0B9B6", +"] c #F3C7BD", +"[ c #CCD0DA", +"{ c #CCD1DA", +"} c #CDD0DA", +"| c #CCD0DC", +" . c #CCD0DD", +".. c #CCD1DD", +"X. c #CCD0DE", +"o. c #CCD1DE", +"O. c #CCD1DF", +"+. c #D8DBDF", +"@. c #CCD0E0", +"#. c #D8DCE1", +"$. c #D9DCE1", +"%. c #D9DCE3", +"&. c #D9DCE4", +"*. c #D9DCE5", +"=. c #D9DCE6", +"-. c #D9DCE7", +";. c #D9DCE8", +":. c #F6D5CB", +">. c #F6D5CD", +",. c #F6D5D3", +"<. c #F9E3D7", +"1. c #F9E3DA", +"2. c #F9E3DB", +"3. c #E6E7E7", +"4. c #E5E7E9", +"5. c #E5E7EC", +"6. c #E5E8E8", +"7. c #E6E8E9", +"8. c #E6E8EA", +"9. c #E6E8EB", +"0. c #E5E8EC", +"q. c #E6E8EC", +"w. c #F9E3E1", +"e. c #F2F3EC", +"r. c #FCF0E1", +"t. c #FCF0E3", +"y. c #FCF1E5", +"u. c #FCF0E7", +"i. c #FCF1E6", +"p. c #FCF1E7", +"a. c #FCF1E8", +"s. c #FFFEED", +"d. c #FFFEEE", +"f. c #FFFEEF", +"g. c #F2F3F0", +"h. c #F2F3F1", +"j. c #F2F3F2", +"k. c #F2F3F4", +"l. c #FFFEF0", +"z. c #FFFEF1", +"x. c #FFFEF2", +"c. c #FFFEF3", +"v. c #FFFFF3", +"b. c #FFFFF4", +"n. c #FFFFF5", +"m. c #FFFFF6", +"M. c #FFFFF7", +"N. c #FFFFF8", +"B. c #FFFFF9", +"V. c #FFFFFA", +"C. c #FFFFFB", +"Z. c #FFFFFC", +"A. c #FFFFFD", +"S. c #FFFFFE", +"D. c gray100", +"F. c None", +/* pixels */ +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.w.~ F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.r F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.' q F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.M.q u F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.M.M.! 4 1.F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.M.M.f 4 E M.M.F.w.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.M.i.t 4 i x.1.g u ,.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.M.>.7 4 f r.f 5 ! C.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.1.5 4 / r.7 5 >.M.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.M.q 4 E d.i 4 >.M.F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.M.4 5 d.d.4 6 x.x.F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.7 7 d.d.4 4 :.M.F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.M./ 4 <.x.q 4 7 i.F.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.M.u t x.] 4 4 ) M.F.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.u.7 _ x.E 4 ! M.M.F.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.h.@.4.M.i.u i._ 5 i.M.F.-.N : c @.M.F.F.F.F.F.", +"F.F.F.F.F.F.k.B O h P x.x.M.x.i.a :.x.M.9.L @.L O c M.F.F.F.F.", +"F.F.F.F.F.F.> X c n b n n n n h = & X v M.M.M.8. M.F.F.F.F.", +"F.F.F.F.F.F.F.+...N n n n N N n J ..4.M.M.M.x.M.M. M.F.F.F.F.", +"F.F.F.F.F.F.F.M.+.O ..x.d.x.d.x.x.3.L 8.M.M.M.x. . X M.F.F.F.F.", +"F.F.F.F.F.F.F.M.F X = = = = O 8.M.M.h.& S M.F.F.F.F.", +"F.F.F.F.F.F.F.M.M...z = = = = = j V %.x.F.M.9.% S M.F.F.F.F.F.", +"F.F.F.F.F.F.F.M.M.4.n d.d.d.d.x.d.x.M.M.M.S X l 5.F.M.F.F.F.F.F.", +"F.F.F.F.F.F.M.M.x.= O = = = = o = -.-.S h.M.F.M.F.F.F.F.F.F.", +"F.F.F.F.F.M.-.{ { %., , A x.M.M.M.M.M.F.F.F.F.F.F.F.", +"F.F.F.F.F O , J e.x.d.d.{ { { +.x.x.x.M.M.M.M.M.=.Y F.F.F.F.F.F.", +"F.F.F.F. O z H %.d.x.x.d.d.d.d.x.x.x.x...K N O C C.F.F.F.F.F.", +"F.F.F.F.N O # = = = = = O O L C.F.F.F.F.F.F.", +"F.F.F.F.M.M.%.V > & O = N =.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.M.M.M.M.x.x.M.M.M.M.M.M.M.M.M.F.F.F.F.F.F.F.F.F.F.", +"F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F." +}; --- openjdk-9-9~b94.orig/debian/sun_java_app.xpm +++ openjdk-9-9~b94/debian/sun_java_app.xpm @@ -0,0 +1,199 @@ +/* XPM */ +static char * dukejre_xpm[] = { +"32 32 164 2", +" c None", +". c #000000", +"+ c #2D2D2D", +"@ c #363636", +"# c #313131", +"$ c #3E3E3E", +"% c #3D3D3D", +"& c #2B2B2B", +"* c #444444", +"= c #494949", +"- c #373737", +"; c #1C1C1C", +"> c #545454", +", c #434343", +"' c #272727", +") c #0B0B0B", +"! c #414141", +"~ c #5C5C5C", +"{ c #4F4F4F", +"] c #141414", +"^ c #3A3A3A", +"/ c #585858", +"( c #403A3A", +"_ c #32201F", +": c #090202", +"< c #4F4E4E", +"[ c #833D3E", +"} c #BE3432", +"| c #D63736", +"1 c #79201F", +"2 c #040101", +"3 c #251313", +"4 c #212121", +"5 c #9A5857", +"6 c #EBB9B9", +"7 c #E03A38", +"8 c #CA3430", +"9 c #862221", +"0 c #251211", +"a c #774C35", +"b c #CC5213", +"c c #A25151", +"d c #B23D3C", +"e c #AC2B29", +"f c #8F2422", +"g c #691A19", +"h c #321D1E", +"i c #7E3D20", +"j c #D55A0D", +"k c #8E3F10", +"l c #250F0F", +"m c #5D1615", +"n c #631817", +"o c #661918", +"p c #501313", +"q c #200909", +"r c #3D3A39", +"s c #6D341B", +"t c #AE4F14", +"u c #CC5515", +"v c #44403F", +"w c #381414", +"x c #310C0C", +"y c #220908", +"z c #1F0B0B", +"A c #413939", +"B c #525252", +"C c #9B6343", +"D c #D96319", +"E c #D3A88C", +"F c #D7D7D7", +"G c #868383", +"H c #797777", +"I c #898989", +"J c #A3A3A3", +"K c #DBDBDB", +"L c #E27626", +"M c #DE6F21", +"N c #E9E8E7", +"O c #EDEDED", +"P c #F8F8F8", +"Q c #FFFFFF", +"R c #EC7A20", +"S c #E27728", +"T c #ED7C21", +"U c #E5E1DE", +"V c #EEEEEE", +"W c #F6F6F6", +"X c #FDFDFD", +"Y c #B76D3E", +"Z c #E5711D", +"` c #F0851E", +" . c #ED7D24", +".. c #F18B1D", +"+. c #C75810", +"@. c #CC5616", +"#. c #E36F1D", +"$. c #F2911A", +"%. c #FBFBFB", +"&. c #F9F6F2", +"*. c #F9AA14", +"=. c #F08A1D", +"-. c #D35E13", +";. c #E16D1C", +">. c #F49B18", +",. c #B9B9B9", +"'. c #FAFAFA", +"). c #F49818", +"!. c #E3701D", +"~. c #A1480F", +"{. c #E06B1C", +"]. c #FCFCFC", +"^. c #E26D1C", +"/. c #0F0F0F", +"(. c #DE691B", +"_. c #F6A016", +":. c #E97E1C", +"<. c #F7A117", +"[. c #EB7A20", +"}. c #E4701D", +"|. c #837B77", +"1. c #A0938A", +"2. c #717171", +"3. c #959595", +"4. c #E1A27A", +"5. c #DB844B", +"6. c #D6671F", +"7. c #D56318", +"8. c #D6671B", +"9. c #DB6616", +"0. c #DE6614", +"a. c #D96B1C", +"b. c #D66A21", +"c. c #D7996D", +"d. c #C0BFBF", +"e. c #393939", +"f. c #686868", +"g. c #8F8F8F", +"h. c #D3D3D3", +"i. c #D1D1D1", +"j. c #CFCFCF", +"k. c #DCDCDC", +"l. c #D8D8D8", +"m. c #C0C0C0", +"n. c #C3C3C3", +"o. c #333333", +"p. c #696969", +"q. c #606060", +"r. c #E6E6E6", +"s. c #A0A0A0", +"t. c #8A8A8A", +"u. c #5F5F5F", +"v. c #8C8C8C", +"w. c #B6B6B6", +"x. c #BDBDBD", +"y. c #262626", +"z. c #7C7C7C", +"A. c #C2C2C2", +"B. c #C1C1C1", +"C. c #B5B5B5", +"D. c #6E6E6E", +"E. c #868686", +"F. c #ABABAB", +"G. c #292929", +" ", +" . . ", +" . . . . ", +" . . . . ", +" + . . . . . . ", +" @ # . . . . . . . ", +" $ % & . . . . . . ", +" * = - ; . . . . . ", +" * > , ' ) . . . . . . ", +" ! ~ { # ] . . . . ", +" ^ / / ( _ : . . . ", +" # < [ } | 1 2 . ", +" 3 4 5 6 7 8 9 0 a b . ", +" 3 3 c d e f g h i j . ", +" k l m n o p q r s j . ", +" t u v w x y z A B C j . ", +" $ . D E F G H I J K j L . ", +" $ . M j N O P Q Q Q j R j ", +" $ $ . S T j U V W X j T T j Y ", +" $ . . Z ` T j j j j j ...T j +. ", +" . . @.#.$.%.%.%.%.%.%.&.*.=.j -. ", +" . . @.;.>.%.%.,.. '.%.%.*.).!.j ~. ", +" . . @.{.*.%.%.%.. ].].%.*.*.^.j j ", +" /.. j (.*.%.'.%.. '.%.%.*._.^.j j ", +" . . . j :.%.'.%.%.'.'.%.<.[.}.j |. ", +" . . # . . j j j T T T T T T T j 1.2. ", +" . ^ 3.O 4.5.6.7.8.9.0.a.b.c.d.e.f. ", +" ] . g.O h.i.j.j.h.h.h.k.l.m.n.o.p. ", +" q.O O r.s.t.$ $ $ u.v.3.w.x.y.u. ", +" z.A.B.C.D.$ $ $ $ u.E.F.& u. ", +" # F.F.D.$ $ $ $ ' G.e.u. ", +" $ $ $ $ $ $ $ "}; --- openjdk-9-9~b94.orig/debian/swing.properties +++ openjdk-9-9~b94/debian/swing.properties @@ -0,0 +1,2 @@ +# uncomment to set the default look and feel to GTK +#swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel --- openjdk-9-9~b94.orig/debian/update-hgrev.sh +++ openjdk-9-9~b94/debian/update-hgrev.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +tarballs=(corba.tar.gz hotspot.tar.gz jaxp.tar.gz jaxws.tar.gz jdk-dfsg.tar.gz langtools-dfsg.tar.gz openjdk.tar.gz) +varhgchange=(CORBA_CHANGESET HOTSPOT_CHANGESET JAXP_CHANGESET JAXWS_CHANGESET JDK_CHANGESET LANGTOOLS_CHANGESET OPENJDK_CHANGESET) +tarballdir=. + +makefile1=Makefile.am + +function update_var() { + varname=$1 + newsum=$2 + + echo "$varname: ${newsum}" + if [ -f $makefile1 ]; then + sed -i "s/\(^$varname\)\(..*$\)/\1 = ${newsum}/" $makefile1 + fi +} + +function actual_tar_rev() { + tar=$1 + + revision=$(tar tf $tar | head -1 | sed 's,/.*,,' | sed 's,.*-,,') +} + +# For all modules +for (( i = 0 ; i < ${#varhgchange[@]} ; i++ )); do + actual_tar_rev $tarballdir/${tarballs[$i]} + update_var ${varhgchange[$i]} $revision +done --- openjdk-9-9~b94.orig/debian/update-shasum.sh +++ openjdk-9-9~b94/debian/update-shasum.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +tarballs=(jdk-dfsg.tar.gz langtools-dfsg.tar.gz) +varshasum=(JDK_SHA256SUM LANGTOOLS_SHA256SUM) +tarballdir=. + +makefile1=Makefile.am + +function update_var() { + varname=$1 + newsum=$2 + + echo "$varname: ${newsum}" + if [ -f $makefile1 ]; then + sed -i "s/\(^$varname\)\(..*$\)/\1 = ${newsum}/" $makefile1 + fi +} + +# For all modules +for (( i = 0 ; i < ${#tarballs[@]} ; i++ )); do + newsum=$(sha256sum $tarballdir/${tarballs[$i]} | cut -f 1 -d ' ') + update_var ${varshasum[$i]} $newsum +done + +# Use downloaded cacao source tarball +#newsum=$(sha256sum $tarballdir/cacao-*.tar.* | cut -f 1 -d ' ') +#update_var "CACAO_SHA256SUM" $newsum