From 947b5481ca5a33abca7c7ce3d0e65926d690a7ee Mon Sep 17 00:00:00 2001 From: Thomas Matthijs Date: Tue, 15 Nov 2005 16:47:52 +0000 Subject: [PATCH] version bump Package-Manager: portage-2.0.53_rc7 --- dev-java/sun-jdk/ChangeLog | 8 +- dev-java/sun-jdk/Manifest | 3 + .../sun-jdk/files/digest-sun-jdk-1.4.2.10 | 2 + dev-java/sun-jdk/files/sun-jdk-1.4.2.10 | 12 + dev-java/sun-jdk/sun-jdk-1.4.2.09.ebuild | 4 +- dev-java/sun-jdk/sun-jdk-1.4.2.10.ebuild | 205 ++++++++++++++++++ dev-java/sun-jre-bin/ChangeLog | 8 +- dev-java/sun-jre-bin/Manifest | 2 + .../files/digest-sun-jre-bin-1.4.2.10 | 1 + .../sun-jre-bin/files/sun-jre-bin-1.4.2.10 | 11 + .../sun-jre-bin/sun-jre-bin-1.4.2.10.ebuild | 166 ++++++++++++++ 11 files changed, 418 insertions(+), 4 deletions(-) create mode 100644 dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.10 create mode 100644 dev-java/sun-jdk/files/sun-jdk-1.4.2.10 create mode 100644 dev-java/sun-jdk/sun-jdk-1.4.2.10.ebuild create mode 100644 dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.10 create mode 100644 dev-java/sun-jre-bin/files/sun-jre-bin-1.4.2.10 create mode 100644 dev-java/sun-jre-bin/sun-jre-bin-1.4.2.10.ebuild diff --git a/dev-java/sun-jdk/ChangeLog b/dev-java/sun-jdk/ChangeLog index 3c1eab4f149c..2f1be4b45e80 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-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.126 2005/11/11 11:21:07 axxo Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/ChangeLog,v 1.127 2005/11/15 16:45:58 axxo Exp $ + +*sun-jdk-1.4.2.10 (15 Nov 2005) + + 15 Nov 2005; Thomas Matthijs +files/sun-jdk-1.4.2.10, + sun-jdk-1.4.2.09.ebuild, +sun-jdk-1.4.2.10.ebuild: + version bump 11 Nov 2005; Thomas Matthijs sun-jdk-1.4.2.09.ebuild, sun-jdk-1.5.0.05.ebuild: diff --git a/dev-java/sun-jdk/Manifest b/dev-java/sun-jdk/Manifest index 216efea97890..72bcbdf5b779 100644 --- a/dev-java/sun-jdk/Manifest +++ b/dev-java/sun-jdk/Manifest @@ -2,14 +2,17 @@ MD5 3e087930b4b577480831dd5aa23cd95c ChangeLog 26111 MD5 92fc551c12c9a260dd9ced69d15cf0f3 files/digest-sun-jdk-1.2.2.017 78 MD5 7339eea38c2cfdfdc4cd777a02c4cbc1 files/digest-sun-jdk-1.3.1.16 76 MD5 ce8f1c0c94a74aadae5d58b68c254161 files/digest-sun-jdk-1.4.2.09 140 +MD5 26916b6de74c3d0ffd1eb22f64073ead files/digest-sun-jdk-1.4.2.10 140 MD5 40541411b01ed36dc30322d7a5ab2ee9 files/digest-sun-jdk-1.5.0.05 212 MD5 64ade01a917993ba9712b2c0d2f4a580 files/javaws-waitid.c 833 MD5 ac1c6e8860b4cb03e284664cacf7a977 files/sun-jdk-1.2.2.017 328 MD5 0b7cc36964f2fa50ad778e865f0cc851 files/sun-jdk-1.3.1.16 471 MD5 ca5181076e4ba09c94548af2da8690dd files/sun-jdk-1.4.2.09 646 +MD5 ca5181076e4ba09c94548af2da8690dd files/sun-jdk-1.4.2.10 646 MD5 50d600429785f626eef0bb4048cbc009 files/sun-jdk-1.5.0.05 613 MD5 16c9e337522b7e477aece60ff98dde54 metadata.xml 239 MD5 6e6334f4e89e27aca419bc2dea752336 sun-jdk-1.2.2.017.ebuild 2898 MD5 89ea449d6a1117e1995a2d7bf53a3d0d sun-jdk-1.3.1.16.ebuild 4149 MD5 6cd767082a01281468d7ba4a640c79ad sun-jdk-1.4.2.09.ebuild 6868 +MD5 6cd767082a01281468d7ba4a640c79ad sun-jdk-1.4.2.10.ebuild 6868 MD5 881e1d3c90a77528a35f1953302c7450 sun-jdk-1.5.0.05.ebuild 7350 diff --git a/dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.10 b/dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.10 new file mode 100644 index 000000000000..8a63154ee56f --- /dev/null +++ b/dev-java/sun-jdk/files/digest-sun-jdk-1.4.2.10 @@ -0,0 +1,2 @@ +MD5 c565e255b183e2284415238369108c11 j2sdk-1_4_2_10-linux-i586.bin 36446523 +MD5 ff961c5f5326191c5ac2e4624d756f7e jce_policy-1_4_2.zip 12195 diff --git a/dev-java/sun-jdk/files/sun-jdk-1.4.2.10 b/dev-java/sun-jdk/files/sun-jdk-1.4.2.10 new file mode 100644 index 000000000000..2c8f6457f2b5 --- /dev/null +++ b/dev-java/sun-jdk/files/sun-jdk-1.4.2.10 @@ -0,0 +1,12 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/files/sun-jdk-1.4.2.10,v 1.1 2005/11/15 16:45:58 axxo Exp $ + +VERSION="Sun JDK @PV@" +JAVA_HOME=/opt/@P@ +JDK_HOME=/opt/@P@ +JAVAC=${JAVA_HOME}/bin/javac +ADDPATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${JAVA_HOME}/jre/javaws" +ADDLDPATH="${JAVA_HOME}/jre/lib/@PLATFORM@/:${JAVA_HOME}/jre/lib/@PLATFORM@/native_threads/:${JAVA_HOME}/jre/lib/@PLATFORM@/classic/:${JAVA_HOME}/jre/lib/@PLATFORM@/server/" +MANPATH="/opt/@P@/man" +ENV_VARS="JAVA_HOME JDK_HOME JAVAC ADDPATH ADDLDPATH MANPATH" diff --git a/dev-java/sun-jdk/sun-jdk-1.4.2.09.ebuild b/dev-java/sun-jdk/sun-jdk-1.4.2.09.ebuild index 80098f2098cd..b9f8ae805afd 100644 --- a/dev-java/sun-jdk/sun-jdk-1.4.2.09.ebuild +++ b/dev-java/sun-jdk/sun-jdk-1.4.2.09.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # 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.09.ebuild,v 1.9 2005/11/11 11:21:07 axxo Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/sun-jdk-1.4.2.09.ebuild,v 1.10 2005/11/15 16:45:58 axxo Exp $ inherit java eutils @@ -58,7 +58,7 @@ pkg_nofetch() { src_unpack() { if [ ! -r ${DISTDIR}/${At} ]; then - die "cannot read ${MY_PV}.bin. Please check the permission and try again." + die "cannot read ${At}.bin. Please check the permission and try again." fi if use jce; then if [ ! -r ${DISTDIR}/${jce_policy} ]; then diff --git a/dev-java/sun-jdk/sun-jdk-1.4.2.10.ebuild b/dev-java/sun-jdk/sun-jdk-1.4.2.10.ebuild new file mode 100644 index 000000000000..b3400cbe5213 --- /dev/null +++ b/dev-java/sun-jdk/sun-jdk-1.4.2.10.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2005 Gentoo Foundation +# 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.10.ebuild,v 1.1 2005/11/15 16:45:58 axxo Exp $ + +inherit java eutils + +MY_PV=${PV%.*}_${PV##*.} +MY_P=j2sdk${MY_PV} +MY_PVB=${PV%.*} + +At="j2sdk-${PV//./_}-linux-i586.bin" +jce_policy="jce_policy-${MY_PVB//./_}.zip" + +S="${WORKDIR}/${MY_P}" +DESCRIPTION="Sun's J2SE Development Kit" +HOMEPAGE="http://java.sun.com/j2se/1.4.2/" +SRC_URI="${At} + jce? ( ${jce_policy} )" +SLOT="1.4" +LICENSE="sun-bcla-java-vm" +KEYWORDS="-* ~x86" +RESTRICT="fetch" +IUSE="doc browserplugin nsplugin jce mozilla examples" + +#glibc dep: #102423 +DEPEND=">=dev-java/java-config-1.1.5 + >=sys-libs/glibc-2.3.5 + sys-apps/sed + app-arch/unzip + doc? ( =dev-java/java-sdk-docs-1.4.2* )" + +RDEPEND="sys-libs/lib-compat" + +PROVIDE="virtual/jre virtual/jdk" + +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="pemrsv" + +DOWNLOAD_URL="http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2sdk-${MY_PV}-oth-JPR&SiteId=JSC&TransactionId=noreg" +DOWNLOAD_URL_JCE="http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7503-jce-${MY_PVB}-oth-JPR&SiteId=JSC&TransactionId=noreg" + +pkg_nofetch() { + einfo "Please download ${At} from:" + einfo ${DOWNLOAD_URL} + 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 + echo + einfo "Also download ${jce_policy} from:" + einfo ${DOWNLOAD_URL_JCE} + 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 + die "cannot read ${At}.bin. Please check the permission and try again." + fi + if use jce; then + if [ ! -r ${DISTDIR}/${jce_policy} ]; then + die "cannot read ${jce_policy}. Please check the permission and try again." + 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 + sed -i 's#/tmp/unpack.log#/dev/null\x00\x00\x00\x00\x00\x00#g' $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 + #javaws hack + cd ${S} + sed -i "s,^exec,export LD_PRELOAD=/opt/${P}/jre/javaws/javaws-waitid.so\nexec," jre/javaws/javaws || die "javaws sed failed" +} + +src_compile() { + gcc -O2 -fPIC -g0 -shared -o ${S}/jre/javaws/javaws-waitid.so ${FILESDIR}/javaws-waitid.c || die "failed to compile javaws hack" +} + +src_install() { + local dirs="bin include jre lib man" + dodir /opt/${P} + + for i in $dirs ; do + cp -PR $i ${D}/opt/${P}/ + done + + dodoc COPYRIGHT README LICENSE THIRDPARTYLICENSEREADME.txt + dohtml README.html + dodir /opt/${P}/share/ + if use examples; then + cp -pPR demo ${D}/opt/${P}/share/ + fi + cp -pPR 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 + + if use nsplugin || # global useflag for netscape-compat plugins + use browserplugin || # deprecated but honor for now + use mozilla; then # wrong but used to honor it + local plugin_dir="ns610" + if has_version '>=sys-devel/gcc-3.2' ; then + plugin_dir="ns610-gcc32" + fi + + install_mozilla_plugin /opt/${P}/jre/plugin/i386/${plugin_dir}/libjavaplugin_oji.so + fi + + # 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 + + domenu ${T}/sun_java.desktop + + set_java_env ${FILESDIR}/${VMHANDLE} +} + +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 '>=www-client/netscape-navigator-4.79-r1' || has_version '>=www-client/netscape-communicator-4.79-r1' ; then + echo + 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" + 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 + echo + einfo "setting up conservative PaX flags for jar, javac and java" + + for paxkills in "jar" "javac" "java" "javah" "javadoc" + do + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/bin/$paxkills + done + + # /opt/sun-jdk-1.4.2.03/jre/bin/java_vm + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/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 + hardened@gentoo.org" + fi + + echo + eerror "Some parts of Sun's JDK require virtual/x11 to be installed." + eerror "Be careful which Java libraries you attempt to use." + + if ! use nsplugin && ( use browserplugin || use mozilla ); then + echo + ewarn "The 'browserplugin' and 'mozilla' useflags will not be honored in" + ewarn "future jdk/jre ebuilds for plugin installation. Please" + ewarn "update your USE to include 'nsplugin'." + fi +} diff --git a/dev-java/sun-jre-bin/ChangeLog b/dev-java/sun-jre-bin/ChangeLog index bfb56c5c9fc4..3755db084dbd 100644 --- a/dev-java/sun-jre-bin/ChangeLog +++ b/dev-java/sun-jre-bin/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-java/sun-jre-bin # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jre-bin/ChangeLog,v 1.34 2005/10/18 20:22:25 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jre-bin/ChangeLog,v 1.35 2005/11/15 16:47:52 axxo Exp $ + +*sun-jre-bin-1.4.2.10 (15 Nov 2005) + + 15 Nov 2005; Thomas Matthijs + +files/sun-jre-bin-1.4.2.10, +sun-jre-bin-1.4.2.10.ebuild: + version bump 18 Oct 2005; Aron Griffis sun-jre-bin-1.4.2.08.ebuild, sun-jre-bin-1.4.2.08-r1.ebuild, diff --git a/dev-java/sun-jre-bin/Manifest b/dev-java/sun-jre-bin/Manifest index 522fc5fcf3c7..8fd4fbd57865 100644 --- a/dev-java/sun-jre-bin/Manifest +++ b/dev-java/sun-jre-bin/Manifest @@ -1,9 +1,11 @@ MD5 3c70886552a768448a1a42226028d9f8 ChangeLog 6649 MD5 74299380ad85352daa11ed361d0ae7c4 files/digest-sun-jre-bin-1.4.2.09 75 +MD5 e62fb7994ee4fc5c246eb5f053746d8b files/digest-sun-jre-bin-1.4.2.10 75 MD5 ebf375761c2ad0048952e100b454dd8e files/digest-sun-jre-bin-1.5.0.05 149 MD5 64ade01a917993ba9712b2c0d2f4a580 files/javaws-waitid.c 833 MD5 d18163e6fa7ea0858c360d08eed4f0ab files/sun-jre-bin-1.4.2.09 571 MD5 6007d953795be8bd8064d7809acd957e files/sun-jre-bin-1.5.0.05 575 MD5 ca35f917561afc166491d77810b71095 metadata.xml 242 MD5 c432010b040e6430f1a38f559332fe42 sun-jre-bin-1.4.2.09.ebuild 5334 +MD5 c432010b040e6430f1a38f559332fe42 sun-jre-bin-1.4.2.10.ebuild 5334 MD5 583700cb2022c82823ab0ac0be890e97 sun-jre-bin-1.5.0.05.ebuild 5540 diff --git a/dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.10 b/dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.10 new file mode 100644 index 000000000000..63fb1d534950 --- /dev/null +++ b/dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.10 @@ -0,0 +1 @@ +MD5 e9a9cb196308783c72666f3707b84919 j2re-1_4_2_10-linux-i586.bin 14417572 diff --git a/dev-java/sun-jre-bin/files/sun-jre-bin-1.4.2.10 b/dev-java/sun-jre-bin/files/sun-jre-bin-1.4.2.10 new file mode 100644 index 000000000000..ab374e45d8d1 --- /dev/null +++ b/dev-java/sun-jre-bin/files/sun-jre-bin-1.4.2.10 @@ -0,0 +1,11 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jre-bin/files/sun-jre-bin-1.4.2.10,v 1.1 2005/11/15 16:47:52 axxo Exp $ + +VERSION="Sun JRE @PV@" +JAVA_HOME=/opt/@P@ +JRE_HOME=/opt/@P@ +ADDPATH="${JAVA_HOME}/bin:${JAVA_HOME}/javaws" +ADDLDPATH="${JAVA_HOME}/lib/@PLATFORM@/:${JAVA_HOME}/lib/@PLATFORM@/native_threads/:${JAVA_HOME}/lib/@PLATFORM@/classic/:${JAVA_HOME}/lib/@PLATFORM@/server" +MANPATH="/opt/@P@/man" +ENV_VARS="JAVA_HOME JRE_HOME ADDPATH ADDLDPATH MANPATH" diff --git a/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.10.ebuild b/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.10.ebuild new file mode 100644 index 000000000000..08bfd542ea50 --- /dev/null +++ b/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.10.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.10.ebuild,v 1.1 2005/11/15 16:47:52 axxo Exp $ + +inherit java eutils + +MY_PV=${PV%.*}_${PV##*.} +MY_PV2=${PV//./_} +At="j2re-${MY_PV2}-linux-i586.bin" +S="${WORKDIR}/j2re${MY_PV}" +DESCRIPTION="Sun's J2SE Platform" +HOMEPAGE="http://java.sun.com/j2se/1.4.2/" +SRC_URI=${At} +SLOT="1.4" +LICENSE="sun-bcla-java-vm-1.4.2" +KEYWORDS="-* ~x86" +RESTRICT="fetch" +IUSE="browserplugin nsplugin mozilla" + +DEPEND=">=dev-java/java-config-1.1.5 + sys-apps/sed" + +RDEPEND="sys-libs/lib-compat" + +PROVIDE="virtual/jre" + +PACKED_JARS="lib/rt.jar lib/jsse.jar lib/charsets.jar +lib/ext/localedata.jar lib/plugin.jar javaws/javaws.jar" + +# this is needed for proper operating under a PaX kernel without activated grsecurity acl +CHPAX_CONSERVATIVE_FLAGS="pemsv" + +DOWNLOAD_URL="http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2re-${MY_PV}-oth-JPR&SiteId=JSC&TransactionId=noreg" + +pkg_nofetch() { + einfo "Please download ${At} from:" + einfo ${DOWNLOAD_URL} + einfo "(select the \"Linux self-extracting file\" package format of the JRE" + einfo "and move it to ${DISTDIR}" +} + +src_unpack() { + if [ ! -r ${DISTDIR}/${At} ]; then + eerror "cannot read ${At}. Please check the permission and try again." + die + 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 + sed -i 's#/tmp/unpack.log#/dev/null\x00\x00\x00\x00\x00\x00#g' $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 + cd ${S} + sed -i "s,^exec,export LD_PRELOAD=/opt/${P}/javaws/javaws-waitid.so\nexec," javaws/javaws || die "javaws sed failed" +} + +src_compile() { + gcc -O2 -fPIC -g0 -shared -o ${S}/javaws/javaws-waitid.so ${FILESDIR}/javaws-waitid.c || die "failed to compile javaws hack" +} + + +src_install() { + local dirs="bin lib man javaws plugin" + dodir /opt/${P} + + for i in $dirs ; do + cp -pPR $i ${D}/opt/${P}/ + done + + dodoc CHANGES COPYRIGHT README LICENSE THIRDPARTYLICENSEREADME.txt + dohtml Welcome.html ControlPanel.html + + if use nsplugin || # global useflag for netscape-compat plugins + use browserplugin || # deprecated but honor for now + use mozilla; then # wrong but used to honor it + local plugin_dir="ns610" + if has_version '>=sys-devel/gcc-3.2' ; then + plugin_dir="ns610-gcc32" + fi + install_mozilla_plugin /opt/${P}/plugin/i386/$plugin_dir/libjavaplugin_oji.so + fi + + # 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}/" \ + -e "s/\(Name=Java\)/\1 Control Panel/" \ + ${D}/opt/${P}/plugin/desktop/sun_java.desktop > \ + ${T}/sun_java-jre.desktop + domenu ${T}/sun_java-jre.desktop + + 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 + + java_pkg_postinst + + if ! use nsplugin && ( use browserplugin || use mozilla ); then + echo + ewarn "The 'browserplugin' and 'mozilla' useflags will not be honored in" + ewarn "future jdk/jre ebuilds for plugin installation. Please" + ewarn "update your USE to include 'nsplugin'." + fi + + # Show info about netscape + if has_version '>=www-client/netscape-navigator-4.79-r1' || has_version '>=www-client/netscape-communicator-4.79-r1' ; then + echo + 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" + 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 + echo + einfo "setting up conservative PaX flags for jar, javac and java" + + for paxkills in "java" + do + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/bin/$paxkills + done + + # /opt/sun-jdk-1.4.2.03/bin/java_vm + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/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 + hardened@gentoo.org" + fi + + echo + eerror "Some parts of Sun's JDK require virtual/x11 to be installed." + eerror "Be careful which Java libraries you attempt to use." +} -- 2.26.2