summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Matthijs <axxo@gentoo.org>2005-07-11 13:21:56 +0000
committerThomas Matthijs <axxo@gentoo.org>2005-07-11 13:21:56 +0000
commit176800f6cc12824138c6d3093082b9ad652a933c (patch)
tree7cd45938d0b37aa81c56346b2f744b65100da3ad /dev-java/sun-jre-bin
parentwelcome browserplugin (diff)
downloadhistorical-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/Manifest17
-rw-r--r--dev-java/sun-jre-bin/files/digest-sun-jre-bin-1.4.2.08-r11
-rw-r--r--dev-java/sun-jre-bin/files/javaws-waitid.c33
-rw-r--r--dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08-r1.ebuild163
-rw-r--r--dev-java/sun-jre-bin/sun-jre-bin-1.4.2.08.ebuild18
-rw-r--r--dev-java/sun-jre-bin/sun-jre-bin-1.5.0.04.ebuild14
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
}