From: Emmanuel Bourg Date: Wed, 5 Jun 2013 12:43:03 +0000 (+0200) Subject: Renamed the script files (j2sdk->jdk, j2re->jre, j2se->javase) X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fjava-package.git;a=commitdiff_plain;h=1c05d6f0e114cff3d49a4a32348a0c154012ac1d Renamed the script files (j2sdk->jdk, j2re->jre, j2se->javase) --- diff --git a/lib/j2re.sh b/lib/j2re.sh deleted file mode 100644 index 864f141..0000000 --- a/lib/j2re.sh +++ /dev/null @@ -1,45 +0,0 @@ - -j2re_control() { - j2se_control - cat << EOF -Package: $j2se_package -Architecture: any -Depends: \${shlibs:Depends} -Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2 -Provides: java-virtual-machine, java-runtime, java2-runtime, java5-runtime, java6-runtime, java-runtime-headless, java2-runtime-headless, java5-runtime-headless, java6-runtime-headless, java-browser-plugin, j2re${j2se_release} -Replaces: ${j2se_package}debian -Description: $j2se_title - The Java(TM) SE Runtime Environment contains the Java virtual machine, - runtime class libraries, and Java application launcher that are - necessary to run programs written in the Java progamming language - (this includes the Java 2 Plug-In for Netscape and Mozilla - browsers). It is not a development environment and doesn't contain - development tools such as compilers or debuggers. For development - tools, see the Java 2 SDK, Standard Edition. - . - This package has been automatically created with java-package ($version). -EOF -} - -# build debian package -j2re_run() { - echo - diskfree "$j2se_required_space" - read_maintainer_info - j2se_package="$j2se_vendor-java$j2se_release-jre" - j2se_name="jre-$j2se_release-$j2se_vendor-$j2se_arch" - local target="$install_dir$jvm_base$j2se_name" - install -d -m 755 "$( dirname "$target" )" - extract_bin "$archive_path" "$j2se_expected_min_size" "$target" - rm -rf "$target/.systemPrefs" - echo "7" > "$debian_dir/compat" - j2se_readme > "$debian_dir/README.Debian" - j2se_changelog > "$debian_dir/changelog" - j2re_control > "$debian_dir/control" - j2se_copyright > "$debian_dir/copyright" - j2se_install_scripts - install -d "$target/debian" - j2se_info > "$target/debian/info" - eval "$j2se_jinfo" > "$install_dir$jvm_base.$j2se_name.jinfo" - j2se_build -} diff --git a/lib/j2sdk-doc.sh b/lib/j2sdk-doc.sh deleted file mode 100644 index be98bfd..0000000 --- a/lib/j2sdk-doc.sh +++ /dev/null @@ -1,58 +0,0 @@ -j2sdk_doc_control() { - j2se_control - cat << EOF -Package: $j2se_package -Architecture: any -Depends: -Recommends: -Provides: -Replaces: -Description: $j2se_title - The Java(TM) SE JDK is a development environment for building - applications, applets, and components that can be deployed on the - Java(TM) platform. - . - This package provides the official API documentation published - by Oracle. - . - This package has been automatically created with java-package ($version). -EOF -} - -j2sdk_doc_doc-base() { - cat << EOF -Document: $j2se_package -Title: $j2se_title -Author: $maintainer_name -Abstract: This is the API Javadoc provided by the vendor -Section: Programming - -Format: HTML -Index: /usr/share/doc/$j2se_vendor-java$j2se_release-doc/index.html -Files: /usr/share/doc/$j2se_vendor-java$j2se_release-doc/*.html - -EOF -} - -# build debian package -j2sdk_doc_run() { - echo - diskfree "$j2se_required_space" - read_maintainer_info - j2se_package="$j2se_vendor-java$j2se_release-doc" - j2se_name="jdk$j2se_release-$j2se_vendor-doc" - local target="$install_dir$javadoc_base$j2se_name" - install -d -m 755 "$( dirname "$target" )" - extract_bin "$archive_path" "$j2se_expected_min_size" "$target" - rm -rf "$target/.systemPrefs" - echo "7" > "$debian_dir/compat" - j2se_readme > "$debian_dir/README.Debian" - j2se_changelog > "$debian_dir/changelog" - j2sdk_doc_control > "$debian_dir/control" - j2se_copyright > "$debian_dir/copyright" - j2sdk_doc_doc-base > "$debian_dir/$j2se_package.doc-base" - j2se_install_scripts - install -d "$target/debian" - j2se_info > "$target/debian/info" - j2se_build -} diff --git a/lib/j2sdk.sh b/lib/j2sdk.sh deleted file mode 100644 index 778b370..0000000 --- a/lib/j2sdk.sh +++ /dev/null @@ -1,58 +0,0 @@ - -j2sdk_control() { - j2se_control - java_browser_plugin="java-browser-plugin, " - depends="\${shlibs:Depends}" - if [ "${DEB_BUILD_ARCH:0:3}" = "arm" ]; then - # ARM is only softfloat ATM so if building on armhf - # force the dependencies to pickup cross platform fu - if [ "${DEB_BUILD_ARCH}" == "armhf" ]; then - depends="libc6-armel, libsfgcc1, libsfstdc++6" - fi - # No browser on ARM yet - java_browser_plugin="" - fi - cat << EOF -Package: $j2se_package -Architecture: any -Depends: $depends -Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2, libstdc++5 -Provides: java-virtual-machine, java-runtime, java2-runtime, $java_browser_plugin java-compiler, java2-compiler, java-runtime-headless, java2-runtime-headless, java-sdk, java2-sdk, j2sdk$j2se_release, j2re$j2se_release -Replaces: ${j2se_package}debian -Description: $j2se_title - The Java(TM) SE JDK is a development environment for building - applications, applets, and components that can be deployed on the - Java(TM) platform. - . - The Java(TM) SE JDK software includes tools useful for developing and - testing programs written in the Java programming language and running - on the Java platform. These tools are designed to be used from the - command line. Except for appletviewer, these tools do not provide a - graphical user interface. - . - This package has been automatically created with java-package ($version). -EOF -} - -# build debian package -j2sdk_run() { - echo - diskfree "$j2se_required_space" - read_maintainer_info - j2se_package="$j2se_vendor-java$j2se_release-jdk" - j2se_name="jdk-$j2se_release-$j2se_vendor-$j2se_arch" - local target="$install_dir$jvm_base$j2se_name" - install -d -m 755 "$( dirname "$target" )" - extract_bin "$archive_path" "$j2se_expected_min_size" "$target" - rm -rf "$target/.systemPrefs" - echo "7" > "$debian_dir/compat" - j2se_readme > "$debian_dir/README.Debian" - j2se_changelog > "$debian_dir/changelog" - j2sdk_control > "$debian_dir/control" - j2se_copyright > "$debian_dir/copyright" - j2se_install_scripts - install -d "$target/debian" - j2se_info > "$target/debian/info" - eval "$j2se_jinfo" > "$install_dir$jvm_base.$j2se_name.jinfo" - j2se_build -} diff --git a/lib/j2se.sh b/lib/j2se.sh deleted file mode 100644 index a98a915..0000000 --- a/lib/j2se.sh +++ /dev/null @@ -1,248 +0,0 @@ -j2se_readme() { - cat << EOF -Package for $j2se_title ---- - -This package has been automatically created with java-package ($version). -All files from the original distribution should have been installed in -the directory $jvm_base$j2se_name. Please take a look at this directory for -further information. - -EOF -} - -j2se_changelog() { - cat << EOF -$j2se_package ($j2se_version) unstable; urgency=low - - * This package was created with java-package ($version). - - -- $maintainer_name <$maintainer_email> $( date -R ) - -EOF -} - -j2se_control() { - cat << EOF -Source: $j2se_package -Section: non-free/devel -Priority: optional -Maintainer: $maintainer_name <$maintainer_email> -Build-Depends: debhelper (>= 4.0.0) -Standards-Version: 3.7.2 - -EOF -} - -j2se_copyright() { - cat << EOF ----------------------------------------------------------------------- - -This file contains a copy of all copyright files found in the original -distribution. The original copyright files and further information can -be found in the directory $jvm_base$j2se_name and its -subdirectories. - ----------------------------------------------------------------------- -EOF - ( - cd "$install_dir" - find * -type f -iname copyright | - while read file; do - cat << EOF - -File: /$file - ----------------------------------------------------------------------- - -EOF - cat "$file" - cat << EOF - ----------------------------------------------------------------------- -EOF - done - ) -} - -j2se_install_scripts() { - cat > "$debian_dir/postinst" << EOF -#!/bin/bash - -set -e - -if [ "\$1" = configure ]; then - - # Common functions for all install scripts - - # install_alternatives program_base programs - install_alternatives() { - program_base="\$1" - shift - for program in \$*; do - if [[ -f "\$program_base/\$program" ]]; then - update-alternatives \\ - --install "/usr/bin/\$program" "\$program" "\$program_base/\$program" $j2se_priority \\ - --slave "/usr/share/man/man1/\$program.1.gz" "\$program.1.gz" "$jvm_base$j2se_name/man/man1/\$program.1.gz" - fi - done - } - - # install_alternatives_no_man program_base programs - install_no_man_alternatives() { - program_base="\$1" - shift - for program in \$*; do - if [[ -f "\$program_base/\$program" ]]; then - update-alternatives --install "/usr/bin/\$program" "\$program" "\$program_base/\$program" $j2se_priority - fi - done - } - - # install_browser_plugin link_path link_name plugin_name plugin - install_browser_plugin() { - local link_path="\$1" - local link_name="\$2" - local plugin_name="\$3" - local plugin="\$4" - [ -d "\$link_path" ] || install -d -m 755 "\$link_path" - if [[ -f "\$plugin" ]]; then - update-alternatives --install "\$link_path/\$link_name" "\$plugin_name" "\$plugin" $j2se_priority - fi - } - -EOF - eval "$j2se_install" >> "$debian_dir/postinst" - - cat >> "$debian_dir/postinst" << EOF -fi - -#DEBHELPER# - -exit 0 -EOF - chmod 755 "$debian_dir/postinst" - - cat > "$debian_dir/prerm" << EOF -#!/bin/bash - -set -e - -case "\$1" in - remove | deconfigure) - - # Common functions for all remove scripts - - # remove_alternatives program_base programs - remove_alternatives() { - program_base="\$1" - shift - for program in \$*; do - update-alternatives --remove "\$program" "\$program_base/\$program" - done - } - - # remove_browser_plugin plugin_name plugin - remove_browser_plugin() { - local plugin_name="\$1" - local plugin="\$2" - update-alternatives --remove "\$plugin_name" "\$plugin" - } - -EOF - eval "$j2se_remove" >> "$debian_dir/prerm" - - cat >> "$debian_dir/prerm" << EOF - ;; -esac - -#DEBHELPER# - -exit 0 -EOF - chmod 755 "$debian_dir/prerm" -} - -j2se_info() { - cat << EOF -version="$version" -j2se_version="$j2se_version" -maintainer_name="$maintainer_name" -maintainer_email="$maintainer_email" -date="$( date +%Y/%m/%d )" -EOF -} - -# jinfos prefix program_base programs -jinfos() { - prefix="$1" - program_base="$2" - shift ; shift - for program in $*; do - echo "$prefix $program $program_base$program" - done -} - -j2se_build() { - cd "$tmp" - echo "Create debian package:" - - #export DH_VERBOSE=1 - export DH_COMPAT=7 - export DH_OPTIONS=--tmpdir="$install_dir" - - echo " dh_testdir" - dh_testdir - echo " dh_testroot" - dh_testroot - echo " dh_installchangelogs" - dh_installchangelogs - # Problem: dh_installchangelogs thinks this is a native package. - echo " dh_installdocs" - dh_installdocs - # dh_install - # dh_link - # Conditionally wrapping this as not all JRE/JDKs have man directories - if [ -e "$install_dir/$jvm_base$j2se_name/man" ]; then - echo " dh_compress" - dh_compress $( find "$install_dir/$jvm_base$j2se_name/man" -type f ! -name "*.gz" ) - fi - echo " dh_fixperms" - dh_fixperms - echo " dh_installdeb" - dh_installdeb - echo " dh_shlibdeps" - ldpath= - for dir in $( find "$install_dir" -type f -name "*.so*" -printf "%h\n" | sort -u ); do - if [[ -z "$ldpath" ]]; then - ldpath="$dir" - else - ldpath="$ldpath:$dir" - fi - done - # suppress some warnings - dh_shlibdeps -l"$ldpath" 2>&1 | - { grep -v "warning: format of \`NEEDED lib.*\.so' not recognized" >&2 || true; } - echo " dh_gencontrol" - dh_gencontrol - echo " dh_md5sums" - dh_md5sums - echo " dh_builddeb" - dh_builddeb --destdir="$tmp" - local deb_filename="$( echo "${j2se_package}_"*.deb )" - echo " copy $deb_filename into directory $working_dir/" - cp "$deb_filename" "$working_dir/" - if [ -n "$genchanges" ]; then - echo " dpkg-genchanges" - local changes_filename="${deb_filename%.deb}.changes" - dpkg-genchanges -b -u. > "$changes_filename" - echo " copy $changes_filename into directory $working_dir/" - cp "$changes_filename" "$working_dir/" - fi - cat << EOF - -The Debian package has been created in the current directory. You can -install the package as root (e.g. dpkg -i $deb_filename). - -EOF -} diff --git a/lib/javase.sh b/lib/javase.sh new file mode 100644 index 0000000..a98a915 --- /dev/null +++ b/lib/javase.sh @@ -0,0 +1,248 @@ +j2se_readme() { + cat << EOF +Package for $j2se_title +--- + +This package has been automatically created with java-package ($version). +All files from the original distribution should have been installed in +the directory $jvm_base$j2se_name. Please take a look at this directory for +further information. + +EOF +} + +j2se_changelog() { + cat << EOF +$j2se_package ($j2se_version) unstable; urgency=low + + * This package was created with java-package ($version). + + -- $maintainer_name <$maintainer_email> $( date -R ) + +EOF +} + +j2se_control() { + cat << EOF +Source: $j2se_package +Section: non-free/devel +Priority: optional +Maintainer: $maintainer_name <$maintainer_email> +Build-Depends: debhelper (>= 4.0.0) +Standards-Version: 3.7.2 + +EOF +} + +j2se_copyright() { + cat << EOF +---------------------------------------------------------------------- + +This file contains a copy of all copyright files found in the original +distribution. The original copyright files and further information can +be found in the directory $jvm_base$j2se_name and its +subdirectories. + +---------------------------------------------------------------------- +EOF + ( + cd "$install_dir" + find * -type f -iname copyright | + while read file; do + cat << EOF + +File: /$file + +---------------------------------------------------------------------- + +EOF + cat "$file" + cat << EOF + +---------------------------------------------------------------------- +EOF + done + ) +} + +j2se_install_scripts() { + cat > "$debian_dir/postinst" << EOF +#!/bin/bash + +set -e + +if [ "\$1" = configure ]; then + + # Common functions for all install scripts + + # install_alternatives program_base programs + install_alternatives() { + program_base="\$1" + shift + for program in \$*; do + if [[ -f "\$program_base/\$program" ]]; then + update-alternatives \\ + --install "/usr/bin/\$program" "\$program" "\$program_base/\$program" $j2se_priority \\ + --slave "/usr/share/man/man1/\$program.1.gz" "\$program.1.gz" "$jvm_base$j2se_name/man/man1/\$program.1.gz" + fi + done + } + + # install_alternatives_no_man program_base programs + install_no_man_alternatives() { + program_base="\$1" + shift + for program in \$*; do + if [[ -f "\$program_base/\$program" ]]; then + update-alternatives --install "/usr/bin/\$program" "\$program" "\$program_base/\$program" $j2se_priority + fi + done + } + + # install_browser_plugin link_path link_name plugin_name plugin + install_browser_plugin() { + local link_path="\$1" + local link_name="\$2" + local plugin_name="\$3" + local plugin="\$4" + [ -d "\$link_path" ] || install -d -m 755 "\$link_path" + if [[ -f "\$plugin" ]]; then + update-alternatives --install "\$link_path/\$link_name" "\$plugin_name" "\$plugin" $j2se_priority + fi + } + +EOF + eval "$j2se_install" >> "$debian_dir/postinst" + + cat >> "$debian_dir/postinst" << EOF +fi + +#DEBHELPER# + +exit 0 +EOF + chmod 755 "$debian_dir/postinst" + + cat > "$debian_dir/prerm" << EOF +#!/bin/bash + +set -e + +case "\$1" in + remove | deconfigure) + + # Common functions for all remove scripts + + # remove_alternatives program_base programs + remove_alternatives() { + program_base="\$1" + shift + for program in \$*; do + update-alternatives --remove "\$program" "\$program_base/\$program" + done + } + + # remove_browser_plugin plugin_name plugin + remove_browser_plugin() { + local plugin_name="\$1" + local plugin="\$2" + update-alternatives --remove "\$plugin_name" "\$plugin" + } + +EOF + eval "$j2se_remove" >> "$debian_dir/prerm" + + cat >> "$debian_dir/prerm" << EOF + ;; +esac + +#DEBHELPER# + +exit 0 +EOF + chmod 755 "$debian_dir/prerm" +} + +j2se_info() { + cat << EOF +version="$version" +j2se_version="$j2se_version" +maintainer_name="$maintainer_name" +maintainer_email="$maintainer_email" +date="$( date +%Y/%m/%d )" +EOF +} + +# jinfos prefix program_base programs +jinfos() { + prefix="$1" + program_base="$2" + shift ; shift + for program in $*; do + echo "$prefix $program $program_base$program" + done +} + +j2se_build() { + cd "$tmp" + echo "Create debian package:" + + #export DH_VERBOSE=1 + export DH_COMPAT=7 + export DH_OPTIONS=--tmpdir="$install_dir" + + echo " dh_testdir" + dh_testdir + echo " dh_testroot" + dh_testroot + echo " dh_installchangelogs" + dh_installchangelogs + # Problem: dh_installchangelogs thinks this is a native package. + echo " dh_installdocs" + dh_installdocs + # dh_install + # dh_link + # Conditionally wrapping this as not all JRE/JDKs have man directories + if [ -e "$install_dir/$jvm_base$j2se_name/man" ]; then + echo " dh_compress" + dh_compress $( find "$install_dir/$jvm_base$j2se_name/man" -type f ! -name "*.gz" ) + fi + echo " dh_fixperms" + dh_fixperms + echo " dh_installdeb" + dh_installdeb + echo " dh_shlibdeps" + ldpath= + for dir in $( find "$install_dir" -type f -name "*.so*" -printf "%h\n" | sort -u ); do + if [[ -z "$ldpath" ]]; then + ldpath="$dir" + else + ldpath="$ldpath:$dir" + fi + done + # suppress some warnings + dh_shlibdeps -l"$ldpath" 2>&1 | + { grep -v "warning: format of \`NEEDED lib.*\.so' not recognized" >&2 || true; } + echo " dh_gencontrol" + dh_gencontrol + echo " dh_md5sums" + dh_md5sums + echo " dh_builddeb" + dh_builddeb --destdir="$tmp" + local deb_filename="$( echo "${j2se_package}_"*.deb )" + echo " copy $deb_filename into directory $working_dir/" + cp "$deb_filename" "$working_dir/" + if [ -n "$genchanges" ]; then + echo " dpkg-genchanges" + local changes_filename="${deb_filename%.deb}.changes" + dpkg-genchanges -b -u. > "$changes_filename" + echo " copy $changes_filename into directory $working_dir/" + cp "$changes_filename" "$working_dir/" + fi + cat << EOF + +The Debian package has been created in the current directory. You can +install the package as root (e.g. dpkg -i $deb_filename). + +EOF +} diff --git a/lib/jdk-doc.sh b/lib/jdk-doc.sh new file mode 100644 index 0000000..be98bfd --- /dev/null +++ b/lib/jdk-doc.sh @@ -0,0 +1,58 @@ +j2sdk_doc_control() { + j2se_control + cat << EOF +Package: $j2se_package +Architecture: any +Depends: +Recommends: +Provides: +Replaces: +Description: $j2se_title + The Java(TM) SE JDK is a development environment for building + applications, applets, and components that can be deployed on the + Java(TM) platform. + . + This package provides the official API documentation published + by Oracle. + . + This package has been automatically created with java-package ($version). +EOF +} + +j2sdk_doc_doc-base() { + cat << EOF +Document: $j2se_package +Title: $j2se_title +Author: $maintainer_name +Abstract: This is the API Javadoc provided by the vendor +Section: Programming + +Format: HTML +Index: /usr/share/doc/$j2se_vendor-java$j2se_release-doc/index.html +Files: /usr/share/doc/$j2se_vendor-java$j2se_release-doc/*.html + +EOF +} + +# build debian package +j2sdk_doc_run() { + echo + diskfree "$j2se_required_space" + read_maintainer_info + j2se_package="$j2se_vendor-java$j2se_release-doc" + j2se_name="jdk$j2se_release-$j2se_vendor-doc" + local target="$install_dir$javadoc_base$j2se_name" + install -d -m 755 "$( dirname "$target" )" + extract_bin "$archive_path" "$j2se_expected_min_size" "$target" + rm -rf "$target/.systemPrefs" + echo "7" > "$debian_dir/compat" + j2se_readme > "$debian_dir/README.Debian" + j2se_changelog > "$debian_dir/changelog" + j2sdk_doc_control > "$debian_dir/control" + j2se_copyright > "$debian_dir/copyright" + j2sdk_doc_doc-base > "$debian_dir/$j2se_package.doc-base" + j2se_install_scripts + install -d "$target/debian" + j2se_info > "$target/debian/info" + j2se_build +} diff --git a/lib/jdk.sh b/lib/jdk.sh new file mode 100644 index 0000000..778b370 --- /dev/null +++ b/lib/jdk.sh @@ -0,0 +1,58 @@ + +j2sdk_control() { + j2se_control + java_browser_plugin="java-browser-plugin, " + depends="\${shlibs:Depends}" + if [ "${DEB_BUILD_ARCH:0:3}" = "arm" ]; then + # ARM is only softfloat ATM so if building on armhf + # force the dependencies to pickup cross platform fu + if [ "${DEB_BUILD_ARCH}" == "armhf" ]; then + depends="libc6-armel, libsfgcc1, libsfstdc++6" + fi + # No browser on ARM yet + java_browser_plugin="" + fi + cat << EOF +Package: $j2se_package +Architecture: any +Depends: $depends +Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2, libstdc++5 +Provides: java-virtual-machine, java-runtime, java2-runtime, $java_browser_plugin java-compiler, java2-compiler, java-runtime-headless, java2-runtime-headless, java-sdk, java2-sdk, j2sdk$j2se_release, j2re$j2se_release +Replaces: ${j2se_package}debian +Description: $j2se_title + The Java(TM) SE JDK is a development environment for building + applications, applets, and components that can be deployed on the + Java(TM) platform. + . + The Java(TM) SE JDK software includes tools useful for developing and + testing programs written in the Java programming language and running + on the Java platform. These tools are designed to be used from the + command line. Except for appletviewer, these tools do not provide a + graphical user interface. + . + This package has been automatically created with java-package ($version). +EOF +} + +# build debian package +j2sdk_run() { + echo + diskfree "$j2se_required_space" + read_maintainer_info + j2se_package="$j2se_vendor-java$j2se_release-jdk" + j2se_name="jdk-$j2se_release-$j2se_vendor-$j2se_arch" + local target="$install_dir$jvm_base$j2se_name" + install -d -m 755 "$( dirname "$target" )" + extract_bin "$archive_path" "$j2se_expected_min_size" "$target" + rm -rf "$target/.systemPrefs" + echo "7" > "$debian_dir/compat" + j2se_readme > "$debian_dir/README.Debian" + j2se_changelog > "$debian_dir/changelog" + j2sdk_control > "$debian_dir/control" + j2se_copyright > "$debian_dir/copyright" + j2se_install_scripts + install -d "$target/debian" + j2se_info > "$target/debian/info" + eval "$j2se_jinfo" > "$install_dir$jvm_base.$j2se_name.jinfo" + j2se_build +} diff --git a/lib/jre.sh b/lib/jre.sh new file mode 100644 index 0000000..864f141 --- /dev/null +++ b/lib/jre.sh @@ -0,0 +1,45 @@ + +j2re_control() { + j2se_control + cat << EOF +Package: $j2se_package +Architecture: any +Depends: \${shlibs:Depends} +Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2 +Provides: java-virtual-machine, java-runtime, java2-runtime, java5-runtime, java6-runtime, java-runtime-headless, java2-runtime-headless, java5-runtime-headless, java6-runtime-headless, java-browser-plugin, j2re${j2se_release} +Replaces: ${j2se_package}debian +Description: $j2se_title + The Java(TM) SE Runtime Environment contains the Java virtual machine, + runtime class libraries, and Java application launcher that are + necessary to run programs written in the Java progamming language + (this includes the Java 2 Plug-In for Netscape and Mozilla + browsers). It is not a development environment and doesn't contain + development tools such as compilers or debuggers. For development + tools, see the Java 2 SDK, Standard Edition. + . + This package has been automatically created with java-package ($version). +EOF +} + +# build debian package +j2re_run() { + echo + diskfree "$j2se_required_space" + read_maintainer_info + j2se_package="$j2se_vendor-java$j2se_release-jre" + j2se_name="jre-$j2se_release-$j2se_vendor-$j2se_arch" + local target="$install_dir$jvm_base$j2se_name" + install -d -m 755 "$( dirname "$target" )" + extract_bin "$archive_path" "$j2se_expected_min_size" "$target" + rm -rf "$target/.systemPrefs" + echo "7" > "$debian_dir/compat" + j2se_readme > "$debian_dir/README.Debian" + j2se_changelog > "$debian_dir/changelog" + j2re_control > "$debian_dir/control" + j2se_copyright > "$debian_dir/copyright" + j2se_install_scripts + install -d "$target/debian" + j2se_info > "$target/debian/info" + eval "$j2se_jinfo" > "$install_dir$jvm_base.$j2se_name.jinfo" + j2se_build +} diff --git a/lib/oracle-j2re.sh b/lib/oracle-j2re.sh deleted file mode 100644 index db287cd..0000000 --- a/lib/oracle-j2re.sh +++ /dev/null @@ -1,108 +0,0 @@ -# Detect product -j2se_detect_oracle_j2re=oracle_j2re_detect -oracle_j2re_detect() { - - if [[ $archive_name =~ jre-([0-9]+)u([0-9]+)-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]] - then - j2se_release=${BASH_REMATCH[1]} - j2se_update=${BASH_REMATCH[2]} - j2se_arch=${BASH_REMATCH[3]} - j2se_version=$j2se_release.$j2se_update - j2se_priority=$((310 + $j2se_release - 1)) - j2se_expected_min_size=85 #Mb - - # check if the architecture matches - let compatible=1 - - case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in - i386|i486-linux-gnu) - if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi - ;; - amd64|x86_64-linux-gnu) - if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi - ;; - esac - - if [[ $compatible == 0 ]] - then - echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" - return - fi - - - cat << EOF - -Detected product: - Java(TM) Runtime Environment (JRE) - Standard Edition, Version $j2se_release Update $j2se_update - Oracle(TM) -EOF - if read_yn "Is this correct [Y/n]: "; then - j2se_found=true - j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) - j2se_vendor="oracle" - j2se_title="Java(TM) JRE, Standard Edition, Oracle(TM)" - - j2se_install=oracle_j2re_install - j2se_remove=oracle_j2re_remove - j2se_jinfo=oracle_j2re_jinfo - oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" - oracle_jre_bin_jre="javaws policytool" - oracle_no_man_jre_bin_jre="ControlPanel" - oracle_jre_lib_hl="jexec" - j2re_run - fi - fi -} - -oracle_j2re_install() { - cat << EOF -if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then - exit 0 -fi - -install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl -install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre -install_no_man_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre -install_no_man_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl - -plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH" -for b in $browser_plugin_dirs;do - install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" -done -EOF -} - -oracle_j2re_remove() { - cat << EOF -if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then - exit 0 -fi - -remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl -remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre -remove_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre -remove_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl - -plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH" -for b in $browser_plugin_dirs;do - remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" -done -EOF -} - -oracle_j2re_jinfo() { - cat << EOF -name=$j2se_name -priority=$j2se_priority -section=main -EOF - jinfos "hl" $jvm_base$j2se_name/bin/ $oracle_jre_bin_hl - jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_jre_bin_jre - jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_no_man_jre_bin_jre - jinfos "hl" $jvm_base$j2se_name/lib/ $oracle_jre_lib_hl - for b in $browser_plugin_dirs;do - echo "plugin $b-javaplugin.so $jvm_base$j2se_name/lib/$DEB_BUILD_ARCH/libnpjp2.so" - done -} - diff --git a/lib/oracle-j2sdk-doc.sh b/lib/oracle-j2sdk-doc.sh deleted file mode 100644 index 1bcf07f..0000000 --- a/lib/oracle-j2sdk-doc.sh +++ /dev/null @@ -1,70 +0,0 @@ -# Detect product -oracle_j2sdk_doc_detect() { - - if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-apidocs\.zip ]] - then - j2se_release=${BASH_REMATCH[1]} - j2se_update=${BASH_REMATCH[2]} - j2se_version=$j2se_release.$j2se_update - - case "$j2se_release" in - 6) # JDK 6 - j2se_expected_min_size=44 #Mb - ;; - *) # JDK 7 and higher - j2se_expected_min_size=290 #Mb - ;; - esac - - cat << EOF - -Detected product: - Java(TM) Development Kit (JDK) Documentation - Standard Edition, Version $j2se_release Update $j2se_update - Oracle(TM) -EOF - if read_yn "Is this correct [Y/n]: "; then - j2se_found=true - j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) - j2se_vendor="oracle" - j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM) Documentation" - - j2se_install=oracle_j2sdk_doc_install - j2se_remove=oracle_j2sdk_doc_remove - j2sdk_doc_run - fi - fi -} - -j2se_detect_j2sdk_doc_oracle=oracle_j2sdk_doc_detect - -oracle_j2sdk_doc_install() { - cat << EOF -if [ ! -e "$javadoc_base$j2se_name" ]; then - exit 0 -fi - -# Register the documentation in the various documentation systems, i.e. dhelp and dwww. -if [ "\$1" = configure ] ; then - if which install-docs >/dev/null 2>&1; then - install-docs -i $javadoc_base$j2se_name - fi -fi -EOF -} - -oracle_j2sdk_doc_remove() { - cat << EOF -if [ ! -e "$javadoc_base$j2se_name" ]; then - exit 0 -fi - -# Unregister documentation from the various documentation systems, i.e. dhelp and dwww. -if [ "\$1" = configure ] ; then - if which install-docs >/dev/null 2>&1; then - install-docs -r $javadoc_base$j2se_name - fi -fi -EOF -} - diff --git a/lib/oracle-j2sdk.sh b/lib/oracle-j2sdk.sh deleted file mode 100644 index 090c2cf..0000000 --- a/lib/oracle-j2sdk.sh +++ /dev/null @@ -1,148 +0,0 @@ -# Detect product -j2se_detect_oracle_j2sdk=oracle_j2sdk_detect -oracle_j2sdk_detect() { - - if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]] - then - j2se_release=${BASH_REMATCH[1]} - j2se_update=${BASH_REMATCH[2]} - j2se_arch=${BASH_REMATCH[3]} - j2se_version=$j2se_release.$j2se_update - j2se_priority=$((310 + $j2se_release)) - j2se_expected_min_size=130 #Mb - - # check if the architecture matches - let compatible=1 - - case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in - i386|i486-linux-gnu) - if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi - ;; - amd64|x86_64-linux-gnu) - if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi - ;; - armhf|armel|arm-linux-gnueabihf|arm-linux-gnueabi) - case "$archive_name" in - "jdk-7u"[0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:1}${revision} - j2se_expected_min_size=100 #Mb - j2se_priority=317 - found=true - ;; - "jdk-7u"[0-9][0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:2}${revision} - j2se_expected_min_size=60 #Mb - j2se_priority=317 - found=true - ;; - esac - ;; - esac - - if [[ $compatible == 0 ]] - then - echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" - return - fi - - - cat << EOF - -Detected product: - Java(TM) Development Kit (JDK) - Standard Edition, Version $j2se_release Update $j2se_update - Oracle(TM) -EOF - if read_yn "Is this correct [Y/n]: "; then - j2se_found=true - j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) - j2se_vendor="oracle" - j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)" - - j2se_install=oracle_j2sdk_install - j2se_remove=oracle_j2sdk_remove - j2se_jinfo=oracle_j2sdk_jinfo - if [ "${DEB_BUILD_ARCH:0:3}" = "arm" ]; then - oracle_jre_bin_hl="java keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" - oracle_jre_bin_jre="policytool" - else - oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" - oracle_jre_bin_jre="javaws policytool" - fi - if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then - oracle_no_man_jre_bin_jre="ControlPanel" - fi - oracle_jre_lib_hl="jexec" - oracle_bin_jdk="appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd native2ascii rmic serialver" - j2sdk_run - fi - fi -} - -oracle_j2sdk_install() { - cat << EOF -if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then - exit 0 -fi - -install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl -install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre -if [ -n "$oracle_no_man_jre_bin_jre" ]; then - install_no_man_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre -fi -install_no_man_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl -install_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk - -# No plugin for ARM architecture yet -if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then -plugin_dir="$jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH" -for b in $browser_plugin_dirs;do - install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" -done -fi -EOF -} - -oracle_j2sdk_remove() { - cat << EOF -if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then - exit 0 -fi - -remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl -remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre -if [ -n "$oracle_no_man_jre_bin_jre" ]; then - remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre -fi -remove_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl -remove_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk - -# No plugin for ARM architecture yet -if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then -plugin_dir="$jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH" -for b in $browser_plugin_dirs;do - remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" -done -fi -EOF -} - -oracle_j2sdk_jinfo() { - cat << EOF -name=$j2se_name -priority=$j2se_priority -section=main -EOF - jinfos "hl" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_hl - jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_jre - if [ -n "$oracle_no_man_jre_bin_jre" ]; then - jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_no_man_jre_bin_jre - fi - jinfos "hl" $jvm_base$j2se_name/jre/lib/ $oracle_jre_lib_hl - jinfos "jdk" $jvm_base$j2se_name/bin/ $oracle_bin_jdk - if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then - for b in $browser_plugin_dirs;do - echo "plugin iceweasel-javaplugin.so $jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH/libnpjp2.so" - done - fi -} diff --git a/lib/oracle-jdk-doc.sh b/lib/oracle-jdk-doc.sh new file mode 100644 index 0000000..1bcf07f --- /dev/null +++ b/lib/oracle-jdk-doc.sh @@ -0,0 +1,70 @@ +# Detect product +oracle_j2sdk_doc_detect() { + + if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-apidocs\.zip ]] + then + j2se_release=${BASH_REMATCH[1]} + j2se_update=${BASH_REMATCH[2]} + j2se_version=$j2se_release.$j2se_update + + case "$j2se_release" in + 6) # JDK 6 + j2se_expected_min_size=44 #Mb + ;; + *) # JDK 7 and higher + j2se_expected_min_size=290 #Mb + ;; + esac + + cat << EOF + +Detected product: + Java(TM) Development Kit (JDK) Documentation + Standard Edition, Version $j2se_release Update $j2se_update + Oracle(TM) +EOF + if read_yn "Is this correct [Y/n]: "; then + j2se_found=true + j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) + j2se_vendor="oracle" + j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM) Documentation" + + j2se_install=oracle_j2sdk_doc_install + j2se_remove=oracle_j2sdk_doc_remove + j2sdk_doc_run + fi + fi +} + +j2se_detect_j2sdk_doc_oracle=oracle_j2sdk_doc_detect + +oracle_j2sdk_doc_install() { + cat << EOF +if [ ! -e "$javadoc_base$j2se_name" ]; then + exit 0 +fi + +# Register the documentation in the various documentation systems, i.e. dhelp and dwww. +if [ "\$1" = configure ] ; then + if which install-docs >/dev/null 2>&1; then + install-docs -i $javadoc_base$j2se_name + fi +fi +EOF +} + +oracle_j2sdk_doc_remove() { + cat << EOF +if [ ! -e "$javadoc_base$j2se_name" ]; then + exit 0 +fi + +# Unregister documentation from the various documentation systems, i.e. dhelp and dwww. +if [ "\$1" = configure ] ; then + if which install-docs >/dev/null 2>&1; then + install-docs -r $javadoc_base$j2se_name + fi +fi +EOF +} + diff --git a/lib/oracle-jdk.sh b/lib/oracle-jdk.sh new file mode 100644 index 0000000..090c2cf --- /dev/null +++ b/lib/oracle-jdk.sh @@ -0,0 +1,148 @@ +# Detect product +j2se_detect_oracle_j2sdk=oracle_j2sdk_detect +oracle_j2sdk_detect() { + + if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]] + then + j2se_release=${BASH_REMATCH[1]} + j2se_update=${BASH_REMATCH[2]} + j2se_arch=${BASH_REMATCH[3]} + j2se_version=$j2se_release.$j2se_update + j2se_priority=$((310 + $j2se_release)) + j2se_expected_min_size=130 #Mb + + # check if the architecture matches + let compatible=1 + + case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in + i386|i486-linux-gnu) + if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi + ;; + amd64|x86_64-linux-gnu) + if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi + ;; + armhf|armel|arm-linux-gnueabihf|arm-linux-gnueabi) + case "$archive_name" in + "jdk-7u"[0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED + j2se_version=1.7.0+update${archive_name:6:1}${revision} + j2se_expected_min_size=100 #Mb + j2se_priority=317 + found=true + ;; + "jdk-7u"[0-9][0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED + j2se_version=1.7.0+update${archive_name:6:2}${revision} + j2se_expected_min_size=60 #Mb + j2se_priority=317 + found=true + ;; + esac + ;; + esac + + if [[ $compatible == 0 ]] + then + echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" + return + fi + + + cat << EOF + +Detected product: + Java(TM) Development Kit (JDK) + Standard Edition, Version $j2se_release Update $j2se_update + Oracle(TM) +EOF + if read_yn "Is this correct [Y/n]: "; then + j2se_found=true + j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) + j2se_vendor="oracle" + j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)" + + j2se_install=oracle_j2sdk_install + j2se_remove=oracle_j2sdk_remove + j2se_jinfo=oracle_j2sdk_jinfo + if [ "${DEB_BUILD_ARCH:0:3}" = "arm" ]; then + oracle_jre_bin_hl="java keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" + oracle_jre_bin_jre="policytool" + else + oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" + oracle_jre_bin_jre="javaws policytool" + fi + if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then + oracle_no_man_jre_bin_jre="ControlPanel" + fi + oracle_jre_lib_hl="jexec" + oracle_bin_jdk="appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd native2ascii rmic serialver" + j2sdk_run + fi + fi +} + +oracle_j2sdk_install() { + cat << EOF +if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then + exit 0 +fi + +install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl +install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre +if [ -n "$oracle_no_man_jre_bin_jre" ]; then + install_no_man_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre +fi +install_no_man_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl +install_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk + +# No plugin for ARM architecture yet +if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then +plugin_dir="$jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH" +for b in $browser_plugin_dirs;do + install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" +done +fi +EOF +} + +oracle_j2sdk_remove() { + cat << EOF +if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then + exit 0 +fi + +remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl +remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre +if [ -n "$oracle_no_man_jre_bin_jre" ]; then + remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre +fi +remove_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl +remove_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk + +# No plugin for ARM architecture yet +if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then +plugin_dir="$jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH" +for b in $browser_plugin_dirs;do + remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" +done +fi +EOF +} + +oracle_j2sdk_jinfo() { + cat << EOF +name=$j2se_name +priority=$j2se_priority +section=main +EOF + jinfos "hl" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_hl + jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_jre + if [ -n "$oracle_no_man_jre_bin_jre" ]; then + jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_no_man_jre_bin_jre + fi + jinfos "hl" $jvm_base$j2se_name/jre/lib/ $oracle_jre_lib_hl + jinfos "jdk" $jvm_base$j2se_name/bin/ $oracle_bin_jdk + if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then + for b in $browser_plugin_dirs;do + echo "plugin iceweasel-javaplugin.so $jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH/libnpjp2.so" + done + fi +} diff --git a/lib/oracle-jre.sh b/lib/oracle-jre.sh new file mode 100644 index 0000000..db287cd --- /dev/null +++ b/lib/oracle-jre.sh @@ -0,0 +1,108 @@ +# Detect product +j2se_detect_oracle_j2re=oracle_j2re_detect +oracle_j2re_detect() { + + if [[ $archive_name =~ jre-([0-9]+)u([0-9]+)-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]] + then + j2se_release=${BASH_REMATCH[1]} + j2se_update=${BASH_REMATCH[2]} + j2se_arch=${BASH_REMATCH[3]} + j2se_version=$j2se_release.$j2se_update + j2se_priority=$((310 + $j2se_release - 1)) + j2se_expected_min_size=85 #Mb + + # check if the architecture matches + let compatible=1 + + case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in + i386|i486-linux-gnu) + if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi + ;; + amd64|x86_64-linux-gnu) + if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi + ;; + esac + + if [[ $compatible == 0 ]] + then + echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" + return + fi + + + cat << EOF + +Detected product: + Java(TM) Runtime Environment (JRE) + Standard Edition, Version $j2se_release Update $j2se_update + Oracle(TM) +EOF + if read_yn "Is this correct [Y/n]: "; then + j2se_found=true + j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) + j2se_vendor="oracle" + j2se_title="Java(TM) JRE, Standard Edition, Oracle(TM)" + + j2se_install=oracle_j2re_install + j2se_remove=oracle_j2re_remove + j2se_jinfo=oracle_j2re_jinfo + oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" + oracle_jre_bin_jre="javaws policytool" + oracle_no_man_jre_bin_jre="ControlPanel" + oracle_jre_lib_hl="jexec" + j2re_run + fi + fi +} + +oracle_j2re_install() { + cat << EOF +if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then + exit 0 +fi + +install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl +install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre +install_no_man_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre +install_no_man_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl + +plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH" +for b in $browser_plugin_dirs;do + install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" +done +EOF +} + +oracle_j2re_remove() { + cat << EOF +if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then + exit 0 +fi + +remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl +remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre +remove_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre +remove_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl + +plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH" +for b in $browser_plugin_dirs;do + remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so" +done +EOF +} + +oracle_j2re_jinfo() { + cat << EOF +name=$j2se_name +priority=$j2se_priority +section=main +EOF + jinfos "hl" $jvm_base$j2se_name/bin/ $oracle_jre_bin_hl + jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_jre_bin_jre + jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_no_man_jre_bin_jre + jinfos "hl" $jvm_base$j2se_name/lib/ $oracle_jre_lib_hl + for b in $browser_plugin_dirs;do + echo "plugin $b-javaplugin.so $jvm_base$j2se_name/lib/$DEB_BUILD_ARCH/libnpjp2.so" + done +} +