diff options
author | Karl Trygve Kalleberg <karltk@gentoo.org> | 2004-06-21 19:20:37 +0000 |
---|---|---|
committer | Karl Trygve Kalleberg <karltk@gentoo.org> | 2004-06-21 19:20:37 +0000 |
commit | 7b3068bcbb52bb7cf6cd085af6355f25cdbaaaf3 (patch) | |
tree | 37f091cd89698ba41da8e56339c69e2e3473c98b /dev-java/sun-jdk | |
parent | Added dev-java/sun-jdk:jce (diff) | |
download | gentoo-2-7b3068bcbb52bb7cf6cd085af6355f25cdbaaaf3.tar.gz gentoo-2-7b3068bcbb52bb7cf6cd085af6355f25cdbaaaf3.tar.bz2 gentoo-2-7b3068bcbb52bb7cf6cd085af6355f25cdbaaaf3.zip |
Fixes #54676.
Diffstat (limited to 'dev-java/sun-jdk')
-rw-r--r-- | dev-java/sun-jdk/ChangeLog | 8 | ||||
-rw-r--r-- | dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.04-r2 | 2 | ||||
-rw-r--r-- | dev-java/sun-jdk/sun-jdk-1.4.2.04-r2.ebuild | 215 |
3 files changed, 224 insertions, 1 deletions
diff --git a/dev-java/sun-jdk/ChangeLog b/dev-java/sun-jdk/ChangeLog index a34fb4fd7d35..74da97cabd15 100644 --- a/dev-java/sun-jdk/ChangeLog +++ b/dev-java/sun-jdk/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-java/sun-jdk # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.73 2004/06/11 22:28:53 lv Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.74 2004/06/21 19:20:37 karltk Exp $ + +*sun-jdk-1.4.2.04-r2 (21 Jun 2004) + + 21 Jun 2004; Karl Trygve Kalleberg <karltk@gentoo.org> + sun-jdk-1.4.2.04-r2.ebuild: Renamed 'ssl' useflag to 'jce', fixes + #54676, thanks to Thomas Matthijs <axxo@keanu.be>. *sun-jdk-1.5.0_beta2 (11 Jun 2004) diff --git a/dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.04-r2 b/dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.04-r2 new file mode 100644 index 000000000000..cdb86f04cc1a --- /dev/null +++ b/dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.04-r2 @@ -0,0 +1,2 @@ +MD5 cc27ac6189062214c072cb5b4ae068fa j2sdk-1_4_2_04-linux-i586.bin 35829260 +MD5 ff961c5f5326191c5ac2e4624d756f7e jce_policy-1_4_2.zip 12195 diff --git a/dev-java/sun-jdk/sun-jdk-1.4.2.04-r2.ebuild b/dev-java/sun-jdk/sun-jdk-1.4.2.04-r2.ebuild new file mode 100644 index 000000000000..243484357d28 --- /dev/null +++ b/dev-java/sun-jdk/sun-jdk-1.4.2.04-r2.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/sun-jdk-1.4.2.04-r2.ebuild,v 1.1 2004/06/21 19:20:37 karltk Exp $ + +IUSE="doc gnome kde mozilla jce" + +inherit java nsplugins + +MY_PV="j2sdk-${PV//./_}-linux-i586" +At="${MY_PV}.bin" +jce_policy="jce_policy-1_4_2.zip" +S="${WORKDIR}/j2sdk1.4.2_04" +DESCRIPTION="Sun's J2SE Development Kit, version 1.4.2_04" +HOMEPAGE="http://java.sun.com/j2se/1.4.2/download.html" +SRC_URI="${At} + jce? ( ${jce_policy} )" +SLOT="1.4" +LICENSE="sun-bcla-java-vm" +KEYWORDS="x86 -ppc -sparc -alpha -mips -hppa" +RESTRICT="fetch" + +DEPEND=">=dev-java/java-config-1.1.5 + sys-apps/sed + app-arch/unzip + doc? ( =dev-java/java-sdk-docs-1.4.2* )" + +RDEPEND="sys-libs/lib-compat" + +PROVIDE="virtual/jre-1.4.2 + virtual/jdk-1.4.2 + virtual/java-scheme-2" + +PACKED_JARS="lib/tools.jar jre/lib/rt.jar jre/lib/jsse.jar jre/lib/charsets.jar +jre/lib/ext/localedata.jar jre/lib/plugin.jar jre/javaws/javaws.jar" + +# this is needed for proper operating under a PaX kernel without activated grsecurity acl +CHPAX_CONSERVATIVE_FLAGS="pemsv" + +pkg_nofetch() { + einfo "Please download ${At} from:" + einfo ${HOMEPAGE} + einfo "(SDK 32-bit/64-bit for Windows/Linux/Solaris SPARC 32-bit for Solaris x86, then select download Linux Self-extracting." + einfo "and move it to ${DISTDIR}" + if use jce; then + einfo "Also download ${jce_policy} from:" + einfo ${HOMEPAGE} + einfo "Java(TM) Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files" + einfo "and move it to ${DISTDIR}" + fi +} + +src_unpack() { + if [ ! -r ${DISTDIR}/${At} ]; then + eerror "cannot read ${MY_PV}.bin. Please check the permission and try again." + die + fi + if use jce; then + if [ ! -r ${DISTDIR}/${jce_policy} ]; then + eerror "cannot read ${jce_policy}. Please check the permission and try again." + die + fi + fi + #Search for the ELF Header + testExp=`echo -e "\177\105\114\106\001\001\001"` + startAt=`grep -aonm 1 ${testExp} ${DISTDIR}/${At} | cut -d: -f1` + tail -n +${startAt} ${DISTDIR}/${At} > install.sfx + chmod +x install.sfx + ./install.sfx || die + rm install.sfx + + if [ -f ${S}/lib/unpack ]; then + UNPACK_CMD=${S}/lib/unpack + chmod +x $UNPACK_CMD + for i in $PACKED_JARS; do + PACK_FILE=${S}/`dirname $i`/`basename $i .jar`.pack + if [ -f ${PACK_FILE} ]; then + echo " unpacking: $i" + $UNPACK_CMD ${PACK_FILE} ${S}/$i + rm -f ${PACK_FILE} + fi + done + fi +} + +src_install () { + local dirs="bin include jre lib man" + dodir /opt/${P} + + for i in $dirs ; do + cp -dPR $i ${D}/opt/${P}/ + done + + dodoc COPYRIGHT README LICENSE THIRDPARTYLICENSEREADME.txt + dohtml README.html + dodir /opt/${P}/share/ + cp -a demo src.zip ${D}/opt/${P}/share/ + + if use jce ; then + # Using unlimited jce while still retaining the strong jce + # May have repercussions when you find you cannot symlink libraries + # in classpaths. + cd ${D}/opt/${P}/jre/lib/security + unzip ${DISTDIR}/${jce_policy} + mv jce unlimited-jce + dodir /opt/${P}/jre/lib/security/strong-jce + mv ${D}/opt/${P}/jre/lib/security/US_export_policy.jar ${D}/opt/${P}/jre/lib/security/strong-jce + mv ${D}/opt/${P}/jre/lib/security/local_policy.jar ${D}/opt/${P}/jre/lib/security/strong-jce + dosym /opt/${P}/jre/lib/security/unlimited-jce/US_export_policy.jar /opt/${P}/jre/lib/security/ + dosym /opt/${P}/jre/lib/security/unlimited-jce/local_policy.jar /opt/${P}/jre/lib/security/ + fi + + local plugin_dir="ns610" + if has_version '>=gcc-3.2*' ; then + plugin_dir="ns610-gcc32" + fi + if use mozilla ; then + install_mozilla_plugin /opt/${P}/jre/plugin/i386/$plugin_dir/libjavaplugin_oji.so + fi + inst_plugin /opt/${P}/jre/plugin/i386/$plugin_dir/libjavaplugin_oji.so + + # create dir for system preferences + dodir /opt/${P}/.systemPrefs + + # install control panel for Gnome/KDE + sed -e "s/INSTALL_DIR\/JRE_NAME_VERSION/\/opt\/${P}\/jre/" \ + -e "s/\(Name=Java\)/\1 Control Panel/" \ + ${D}/opt/${P}/jre/plugin/desktop/sun_java.desktop > \ + ${T}/sun_java.desktop + + if use gnome ; then + #TODO check this on Gnome + dodir /usr/share/applications + insinto /usr/share/applications + doins ${T}/sun_java.desktop + fi + if use kde ; then + dodir /usr/share/applnk/Internet + insinto /usr/share/applnk/Internet + doins ${T}/sun_java.desktop + fi + + set_java_env ${FILESDIR}/${VMHANDLE} + + # TODO prepman "fixes" symlink ja -> ja__JP.eucJP in 'man' directory, + # creating ja.gz -> ja_JP.eucJP.gz. This is broken as ja_JP.eucJP + # is a directory and will not be gzipped ;) +} + +pkg_postinst () { + # Create files used as storage for system preferences. + touch /opt/${P}/.systemPrefs/.system.lock + chmod 644 /opt/${P}/.systemPrefs/.system.lock + touch /opt/${P}/.systemPrefs/.systemRootModFile + chmod 644 /opt/${P}/.systemPrefs/.systemRootModFile + + # Set as default VM if none exists + java_pkg_postinst + + #Show info about netscape + if has_version '>=netscape-navigator-4.79-r1' || has_version '>=netscape-communicator-4.79-r1' ; then + einfo "********************************************************" + einfo "If you want to install the plugin for Netscape 4.x, type" + einfo + einfo " cd /usr/lib/nsbrowser/plugins/" + einfo " ln -sf /opt/${P}/jre/plugin/i386/ns4/libjavaplugin.so" + einfo "********************************************************" + echo + fi + + # if chpax is on the target system, set the appropriate PaX flags + # this will not hurt the binary, it modifies only unused ELF bits + # but may confuse things like AV scanners and automatic tripwire + if has_version "sys-apps/chpax" + then + einfo "setting up conservative PaX flags for jar, javac and java" + + for paxkills in "jar" "javac" "java" + do + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${PN}-${PV}/bin/$paxkills + done + + # /opt/sun-jdk-1.4.2.03/jre/bin/java_vm + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${PN}-${PV}/jre/bin/java_vm + + einfo "you should have seen lots of chpax output above now" + ewarn "make sure the grsec ACL contains those entries also" + ewarn "because enabling it will override the chpax setting" + ewarn "on the physical files - help for PaX and grsecurity" + ewarn "can be given by #gentoo-hardened + pappy@gentoo.org" + fi + + #Thanks to Douglas Pollock <douglas.pollock@magma.ca> for this + #comment found on the sun-jdk 1.2.2 ebuild that he sent. + einfo "*********************************************************" + eerror "Some parts of Sun's JDK require XFree86 to be installed." + eerror "Be careful which Java libraries you attempt to use." + einfo "*********************************************************" + echo + + einfo "******************************************************" + einfo " After installing ${P} this" + einfo " was set as the default JVM to run." + einfo " When finished please run the following so your" + einfo " enviroment gets updated." + eerror " /usr/sbin/env-update && source /etc/profile" + einfo " Or use java-config program to set your preferred VM" + einfo "******************************************************" + + echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null + echo -ne "\a" ; sleep 1 + echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null + echo -ne "\a" ; sleep 1 + sleep 8 + +} |