diff options
author | Thomas Matthijs <axxo@gentoo.org> | 2005-07-11 13:21:56 +0000 |
---|---|---|
committer | Thomas Matthijs <axxo@gentoo.org> | 2005-07-11 13:21:56 +0000 |
commit | 176800f6cc12824138c6d3093082b9ad652a933c (patch) | |
tree | 7cd45938d0b37aa81c56346b2f744b65100da3ad /dev-java/sun-jre-bin | |
parent | welcome browserplugin (diff) | |
download | historical-176800f6cc12824138c6d3093082b9ad652a933c.tar.gz historical-176800f6cc12824138c6d3093082b9ad652a933c.tar.bz2 historical-176800f6cc12824138c6d3093082b9ad652a933c.zip |
bug 69542: javaws broken, add preload hack. bug 94056: useflag rename mozilla -> browserplugin
Package-Manager: portage-2.0.51.22-r1
Diffstat (limited to 'dev-java/sun-jre-bin')
-rw-r--r-- | dev-java/sun-jre-bin/Manifest | 17 | ||||
-rw-r--r-- | dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.08-r1 | 1 | ||||
-rw-r--r-- | dev-java/sun-jre-bin/files/javaws-waitid.c | 33 | ||||
-rw-r--r-- | dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08-r1.ebuild | 163 | ||||
-rw-r--r-- | dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.ebuild | 18 | ||||
-rw-r--r-- | dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.ebuild | 14 |
6 files changed, 222 insertions, 24 deletions
diff --git a/dev-java/sun-jre-bin/Manifest b/dev-java/sun-jre-bin/Manifest index 7e9b399b3365..d4fad6bbbb8f 100644 --- a/dev-java/sun-jre-bin/Manifest +++ b/dev-java/sun-jre-bin/Manifest @@ -1,18 +1,11 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 f616a1f2c6d082217298811f4b31227d sun-jre-bin-1.4.2.08.ebuild 4610 -MD5 f315428e927a7b623c56519222470d78 sun-jre-bin-1.5.0.04.ebuild 4974 +MD5 83314efefc0cff74b53433b89caa7b44 sun-jre-bin-1.4.2.08.ebuild 4588 +MD5 3348bcb35647775d996a853abf781da7 sun-jre-bin-1.4.2.08-r1.ebuild 4861 +MD5 8e89ca6a06a16602d5b0904cd01537da sun-jre-bin-1.5.0.04.ebuild 4986 MD5 c3c6b18d50bc518c15fbfbb94174b007 ChangeLog 5405 MD5 ca35f917561afc166491d77810b71095 metadata.xml 242 MD5 8f5aa278070a1b37d88a9abe3f238c31 files/digest-sun-jre-bin-1.4.2.08 75 MD5 375f1fcc6d5fbf77a2202df4851b0033 files/digest-sun-jre-bin-1.5.0.04 149 +MD5 8f5aa278070a1b37d88a9abe3f238c31 files/digest-sun-jre-bin-1.4.2.08-r1 75 +MD5 64ade01a917993ba9712b2c0d2f4a580 files/javaws-waitid.c 833 MD5 5a80336551071fdccb6dda6f2e08a79d files/sun-jre-bin-1.4.2.08 439 MD5 25c2e617fdcc9fa2215a8682748b64f3 files/sun-jre-bin-1.5.0.04 439 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.1 (GNU/Linux) - -iD8DBQFCwUuV/rLF9B432nYRAtrQAJ0Ui+N4ajiamxI7BCL/gQ2MXJDE1wCgnJsp -kHpTIMro+Pgkj6B4B58sW9A= -=B/gF ------END PGP SIGNATURE----- diff --git a/dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.08-r1 b/dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.08-r1 new file mode 100644 index 000000000000..ff0f856c8025 --- /dev/null +++ b/dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.08-r1 @@ -0,0 +1 @@ +MD5 fa26930175b18ab4b2ad67eb7f43eb14 j2re-1_4_2_08-linux-i586.bin 14389429 diff --git a/dev-java/sun-jre-bin/files/javaws-waitid.c b/dev-java/sun-jre-bin/files/javaws-waitid.c new file mode 100644 index 000000000000..eea428d79c75 --- /dev/null +++ b/dev-java/sun-jre-bin/files/javaws-waitid.c @@ -0,0 +1,33 @@ +/* Quick and dirty pre-loaded DSO to make buggy javawsbin + in JDK 1.4.2_07 work on Linux with kernel 2.6.x and + glibc 2.3.4. + + Compilation: + gcc -O2 -fPIC -g0 -shared -o mywait.so mywait.c + + Usage (Bash): + LD_PRELOAD=/path/to/mywait.so /path/to/javaws <Launcher URL> + + + Taken from: http://www.advogato.org/person/rmathew/diary.html?start=71 + */ +#include <dlfcn.h> +#include <sys/wait.h> + + int (*real_waitid)( idtype_t, id_t, siginfo_t *, int); + + int +waitid( idtype_t idtype, id_t id, siginfo_t *infop, int options) +{ + int retVal = -1; + + void *handle = dlopen( "/lib/libc.so.6", RTLD_LAZY); + real_waitid = dlsym( handle, "waitid"); + + options = (options == 0) ? WEXITED : options; + retVal = (*real_waitid)( idtype, id, infop, options); + + dlclose( handle); + + return retVal; +} /* End pseudo-waitid() */ diff --git a/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08-r1.ebuild b/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08-r1.ebuild new file mode 100644 index 000000000000..6b447303290c --- /dev/null +++ b/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08-r1.ebuild @@ -0,0 +1,163 @@ +# 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.08-r1.ebuild,v 1.1 2005/07/11 13:20:24 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 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 -a $i ${D}/opt/${P}/ + done + + dodoc CHANGES COPYRIGHT README LICENSE THIRDPARTYLICENSEREADME.txt + dohtml Welcome.html ControlPanel.html + + if use browserplugin || use mozilla; then + local plugin_dir="ns610" + if has_version '>=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 + + #Show info about netscape + if has_version '>=netscape-navigator-4.79-r1' || has_version '>=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 + pappy@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 browserplugin && use mozilla; then + ewarn + ewarn "The 'mozilla' useflag to enable the java browser plugin for applets" + ewarn "has been renamed to 'browserplugin' please update your USE" + fi +} diff --git a/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.ebuild b/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.ebuild index a7aefd01e2b4..5a4b4d939f27 100644 --- a/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.ebuild +++ b/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.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-jre-bin/sun-jre-bin-1.4.2.08.ebuild,v 1.2 2005/05/18 15:48:38 axxo Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.ebuild,v 1.3 2005/07/11 13:20:24 axxo Exp $ inherit java eutils @@ -15,7 +15,7 @@ SLOT="1.4" LICENSE="sun-bcla-java-vm-1.4.2" KEYWORDS="x86 -*" RESTRICT="fetch" -IUSE="mozilla" +IUSE="browserplugin mozilla" DEPEND=">=dev-java/java-config-1.1.5 sys-apps/sed" @@ -78,7 +78,7 @@ src_install () { dodoc CHANGES COPYRIGHT README LICENSE THIRDPARTYLICENSEREADME.txt dohtml Welcome.html ControlPanel.html - if use mozilla ; then + if use browserplugin || use mozilla; then local plugin_dir="ns610" if has_version '>=gcc-3.2*' ; then plugin_dir="ns610-gcc32" @@ -131,11 +131,11 @@ pkg_postinst () { for paxkills in "java" do - chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${PN}-${PV}/bin/$paxkills + chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${P}/bin/$paxkills done # /opt/sun-jdk-1.4.2.03/bin/java_vm - chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${PN}-${PV}/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" @@ -147,7 +147,9 @@ pkg_postinst () { echo eerror "Some parts of Sun's JDK require virtual/x11 to be installed." eerror "Be careful which Java libraries you attempt to use." - - ebeep 5 - epause 8 + if ! use browserplugin && use mozilla; then + ewarn + ewarn "The 'mozilla' useflag to enable the java browser plugin for applets" + ewarn "has been renamed to 'browserplugin' please update your USE" + fi } diff --git a/dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.ebuild b/dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.ebuild index 30a3b2ab8926..599d613b6397 100644 --- a/dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.ebuild +++ b/dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.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-jre-bin/sun-jre-bin-1.5.0.04.ebuild,v 1.2 2005/06/28 13:06:55 axxo Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.ebuild,v 1.3 2005/07/11 13:20:24 axxo Exp $ inherit java eutils @@ -22,9 +22,9 @@ HOMEPAGE="http://java.sun.com/j2se/" SRC_URI="x86? ( $x86file ) amd64? ( $amd64file )" SLOT="1.5" LICENSE="sun-bcla-java-vm" -KEYWORDS="~x86 ~amd64" +KEYWORDS="~x86 ~amd64 -*" RESTRICT="fetch" -IUSE="mozilla" +IUSE="browserplugin mozilla" DEPEND=">=dev-java/java-config-1.2 sys-apps/sed" @@ -97,7 +97,7 @@ src_install() { dodoc COPYRIGHT LICENSE README dohtml Welcome.html - if use mozilla; then + if use browserplugin || use mozilla; then local plugin_dir="ns7-gcc29" if has_version '>=gcc-3*' ; then plugin_dir="ns7" @@ -175,4 +175,10 @@ pkg_postinst() { echo eerror "Some parts of Sun's JRE require virtual/x11 and virtual/lpr to be installed." eerror "Be careful which Java libraries you attempt to use." + + if ! use browserplugin && use mozilla; then + ewarn + ewarn "The 'mozilla' useflag to enable the java browser plugin for applets" + ewarn "has been renamed to 'browserplugin' please update your USE" + fi } |