Commit graph

151 commits

Author SHA1 Message Date
Greg Lewis
86bc551392 . Bump PORTREVISION for the last two fixes.
Approved by:	phantom (maintainer)
2005-10-13 15:19:18 +00:00
Greg Lewis
7768284774 . Switch to using XToolkit by default. According to
http://java.sun.com/j2se/1.5.0/docs/guide/awt/1.5/xawt.html

  it has some advantages over XToolkit.  Its also the default on Linux
  and Solaris will be switching to it.  Some people have reported that
  it fixes a crash in the browser plugin for them.

  Please let me know straight away if this causes problems, particularly
  with Swing, as it hasn't been extensively tested.  The web page
  mentioned above explains how to switch the toolkits dynamically so you
  can compare them.

Submitted by:	Huang wen hui <hwh@gddsn.org.cn>
                (the awt_LoadLibrary.c patch)
Approved by:	phantom (maintainer)
2005-10-13 15:18:25 +00:00
Greg Lewis
03fdfe46e6 . Fix javaws.
Approved by:	phantom (maintainer)
2005-10-13 15:12:26 +00:00
Greg Lewis
b236426ae5 . Include header files from the JDK that was just built, not from the
bootstrap JDK.  This fixes using the Linux JDK to bootstrap when you
  are compiling javaws.
2005-09-27 15:23:29 +00:00
Greg Lewis
87b310dbc2 . Update to patchset 2:
. Many patches are now unnecessary as they are included in the new
    patchset.
  . The browser plugin and Java Web Start is enabled on i386 (there are
    64 bit issues with both the plugin and Mozilla/Firefox which prevent
    enabling it on amd64).
. Update the amount of disk space needed.
. Update the status of the port.
. Disable building the shared class data archive.  This broke the build
  on amd64 and appears to also be problematic on some i386 versions
  (4.11 is broken at least).  It will reappear in future, probably
  initially on a limited set of FreeBSD versions and architectures
  (6.0/i386 is reported to work).

Reviewed by:	freebsd-java@
Approved by:	maintainer timeout (1 week)
2005-09-20 20:00:08 +00:00
Greg Lewis
ba4e0f26bf . Force the Client VM when dumping the shared archive since you can't
dump the archive with the Server VM.
2005-09-06 02:41:30 +00:00
Greg Lewis
a2fb434833 . Generate the class data shared archive during post-install to speed
up VM load times.

  See http://java.sun.com/j2se/1.5.0/docs/guide/vm/class-data-sharing.html

Suggested by:	"Ronald Klop" <ronald-freebsd8@klop.yi.org>
Approved by:	phantom (maintainer)
2005-09-04 14:31:32 +00:00
Mikhail Teterin
9a94de9138 Add two more hunks to patch-koi8u. Should make the koi8-u fonts support better
somehow.

Approved by:	maintainer	(phantom)
Approved by:	portmgr	(krion)
2005-08-03 19:43:45 +00:00
Mikhail Teterin
99b7ed7a15 Add the two forgotten files neccessary for proper KOI8-U support... Uh-oh. 2005-08-01 16:44:07 +00:00
Mikhail Teterin
21de145b88 Use code long floating around the Internet to add support for KOI8-U
encoding. It is even easier to do the same thing to jdk14 and jdk13,
where only one charset-interface exists (jdk15 has two with the old one
considered obsolete).

Approved by:  Alexey Zelkin	(maintainer)
2005-07-28 13:36:16 +00:00
Greg Lewis
0ffef58133 . Avoid memory corruption on FreeBSD 4.x. This seems to have no affect
under 5.x which was running fine without it.

Approved by:	phantom
2005-06-22 15:52:02 +00:00
Greg Lewis
83c1e8c44a . Ensure that when files are extracted that their fully resolved path lies
in or below the current working directory.  Fixes a security problem with
  jar(1).

  This fix may change to be compatible with whatever fix Sun applies when
  they release the next version of 1.5.
. Bump PORTREVISION for this fix.

Security: http://vuxml.FreeBSD.org/18e5428f-ae7c-11d9-837d-000e0c2e438a.html
Reviewed by:	maintainer timeout
2005-05-12 04:14:52 +00:00
Greg Lewis
a4f95e9588 . Fix various problems with time zone handling including:
. /etc/localtime is a symlink.
  . /etc/localtime contains a time zone not recognised by the JDK.

Submitted by:	Kurt Miller <truk@optonline.net>
Reviewed by:	maintainer timeout
2005-05-12 04:13:55 +00:00
Greg Lewis
60df7b3098 . Using dladdr(3) to determine the path to the current executable, and
hence the path for the shared libraries doesn't always work on FreeBSD.
  It definitely fails on FreeBSD 4.11 and FreeBSD 6-CURRENT under the
  tested environments.  In fact, the dladdr(3) man page even warns of
  these problems.  While there is work under way to fix this, it isn't
  available yet.

  Given that situation, switch to trying /proc/curproc/file, which is
  similar to what Linux does, and if that fails, drop back to checking
  argv[0] and iterating through $PATH as in jdk 1.4.  Both these methods
  work correctly in testing.

Reported by:	das
Reviewed by:	maintainer timeout
2005-05-12 04:12:33 +00:00
Greg Lewis
84df29c245 . When linprocfs is not mounted the Linux JDK will output a warning message,
unfortunately sending it to stdout.  When using such a JDK to bootstrap
  this line ends up at the head of generated classes, leaving them
  uncompilable.  Add a filter to the class generation to strip out such
  lines with egrep.

  A similar patch is present in the jdk14 port and prevents a semi-common
  class of error reports.

Approved by:	phantom (maintainer)
2005-04-08 18:29:29 +00:00
Greg Lewis
22667dd171 . Bump PORTREVISION, forgotten when doing the fixes prior to the ports
freeze.
. Fix a typo and improve some grammar in some user output.

Approved by:	phantom (maintainer)
2005-04-08 15:33:00 +00:00
Greg Lewis
b729cc5280 . Fix the build on FreeBSD 4.x by using <inttypes.h> rather than <stdint.h>
(which FreeBSD 4.x lacks).

Approved by:	phantom (maintainer)
2005-04-07 20:47:03 +00:00
Greg Lewis
4d4b949e11 . Unbreak the packing list by adding explicit PLIST_FILES/PLIST_DIRS for
files that are generated by the post-install script (which runs after
  the dynamic packing list has been generated).

Approved by:	portmgr (krion), phantom (maintainer)
2005-03-30 16:51:59 +00:00
Greg Lewis
3e5f30ab66 . Fix a typo that results in an undefined reference (sizof -> sizeof).
PR:		77725
Submitted by:	Anthony Ginepro <anthony.ginepro@laposte.net>
2005-03-21 05:49:33 +00:00
Greg Lewis
760bd5c4bb . Fix a performance issue by using the correct INTERRUPTIBLE_NORESTART
macro.  This will be in patchset 2.

PR:		77162
Submitted by:	phantom
2005-03-21 05:48:04 +00:00
Greg Lewis
8feb88e6e0 . Move the invocation of unregistervm to the top of the packing list.
This ensures that this command is run before the files in the package
  are deleted (which is necessary for it to correctly delete the symbolic
  links created by registervm).

Approved by:	phantom (maintainer)
2005-02-18 17:21:52 +00:00
Alexey Zelkin
1c39d32f2f Unbreak plist generation 2005-01-29 12:19:15 +00:00
Alexey Zelkin
cfb6727090 Please welcome new participant of FreeBSD ports tree and Java ports
family -- first public patchset of native Sun JDK 1.5.0 port.

Most valuable addition of this patchset is native amd64 support.
And special thanks goes to Daniel Seuffert <ds@freeBSD.org> for
making it possible by providing amd64 hardware.

This patchset was tested on following configurations: i386/4.10,
i386/5.3, amd64/5.3.  5.3-RELEASE support is quite strong and
shown no huge visible problems over last week.

But even mentioning above note, keep in mind -- THIS IS ALPHA
PATCHSET and suitable for testers/developers ONLY!

Known issues are including (but for sure not limited to):

. Browser plugin support is missing
. JVMTI, JDWP and JMX are not tested yet
. FreeBSD i386/4.10 support is suffering from hidden memory
  allocation failres (ideas and patches are welcome)

NOTE ABOUT BOOTSTRAPING:  It's possible to bootstrap jdk 1.5.0 using
jdk 1.4.2 (either native or linux one).  There's no need to have
java/linux_jdk15 installed and working.

Supported by:		FreeBSD Foundation
2005-01-20 08:41:13 +00:00
Greg Lewis
ec588aa1f9 . Avoid a problem where, without linprocfs mounted, the first line of
a generated file will be overwritten with a warning, causing the
  build to fail.  There is a check for linprocfs in pre-build, but it
  seems as though this problem can somehow trigger anyway, based on
  semi-regular reports to the mailing lists.

PR:		74999
Approved by:	phantom
2004-12-17 07:08:59 +00:00
Greg Lewis
55f5e15a50 . Update to patchset 7.
. Fix a permissions problem with the plugins directory.

Approved by:	phantom (maintainer)
2004-12-17 07:02:51 +00:00
Greg Lewis
008ccf15cd . Backport parts of the 1.5 plugin to address plugin vulnerabilities.
. Bump PORTVERSION.

Submitted by:	Kurt Miller <truk@optonline.net>
2004-12-03 19:53:44 +00:00
Greg Lewis
9b1f3ccd02 . Mark FORBIDDEN when building with the browser plugin due to the
vulnerabilities discussed in:

  http://sunsolve.sun.com/search/document.do?assetkey=1-26-57591-1
  http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-1029
2004-11-24 15:16:38 +00:00
Greg Lewis
1816314216 . Take into account that pthread_mutex_trylock() can return EDEADLK as
well as EBUSY with libkse on FreeBSD 5.x.

Inspired by:	green
2004-11-02 05:24:05 +00:00
Brian Feldman
52602010f0 The BSD patchset for the Sun JDK modeled its thread behavior mostly after
existing the Solaris base, and similarly to what happened with NSPR, made
a bad assumption on undefined behavior.  This broke locking in various
places in Java, for example, causing the the debugging support to be
totally broken.  It is worth someone who knows the Java codebase taking
a look to see what other things could have been broken by this on
FreeBSD 5.x+.

The assumption is that pthread_mutex_trylock(3) on a default-type
mutex will fail with EBUSY.  This assumption is wrong for our
libpthread, which returns EDEADLK if the owner thread is trying to
acquire the mutex again with trylock.  The behavior of performing a
locking operation on a self-locked default-type mutex is explicitly
undefined for pthread_mutex_lock(3).

The POSIX specification is still not very clear.  It defines
pthread_mutex_trylock(3) in terms of pthread_mutex_lock(3) yet
does not say what the defined behavior should be for a self-locked
pthread_mutex_trylock(3) for any of the various mutex types, so it is
ambiguous whether the result is clearly undefined or clearly to return
EBUSY.

It is a one line change whether or not to make libpthread return
EDEADLK in this case, where it seems that most implementations do not.

Reference:	http://www.opengroup.org/onlinepubs/009695399/functions/pthread_mutex_lock.html
2004-10-20 23:22:56 +00:00
Greg Lewis
c8e6445d77 . Bump PORTREVISION for the recent fixes. 2004-10-16 17:17:09 +00:00
Greg Lewis
7298661664 . Fix the Server VM for gcc 3.4 part 2/2.
The HotSpot code (ab)uses named enums as ints in a number of places.
  The problem with this is that according the the C++ spec, the compiler
  (essentially) only needs to use an integral type wide enough to hold
  the values defined in the enum.  Earlier versions of gcc appear to have
  just used an int whether they could have got away with a narrower type
  or not, hence the code worked as expected.  gcc 3.4 now appears to
  implement this part of the spec, so using an enum blindly as an int
  causes various problems due to overflow.

  In this case the enum, Bytecodes::Code, appears to be a genuine enum,
  its just assumed to be wide enough to hold an arbitrary int in various
  places in the code.  The correct fix would be to track down all those
  places in the code and fix them.  Since there are quite a lot of these
  places and 5.3 is close to release for now we just add a value to the
  enum set to INT_MAX, forcing the compiler to use at least an int for the
  type.

Sleuth work, discussion and code suggestions:	peadar
2004-10-16 17:16:40 +00:00
Greg Lewis
67fad41225 . Fix the Server VM for gcc 3.4 part 1/2.
The HotSpot code (ab)uses named enums as ints in a number of places.
  The problem with this is that according the the C++ spec, the compiler
  (essentially) only needs to use an integral type wide enough to hold
  the values defined in the enum.  Earlier versions of gcc appear to have
  just used an int whether they could have got away with a narrower type
  or not, hence the code worked as expected.  gcc 3.4 now appears to
  implement this part of the spec, so using an enum blindly as an int
  causes various problems due to overflow.

  This case is particularly bogus since the enums are merely to define
  a named integral type within a class (VMReg::Name doesn't even have
  any values enumerated in the declaration).  So, convert these two
  enums to simply be typedef'ed ints.

Sleuth work, discussion and code suggestions:	peadar
2004-10-16 17:12:22 +00:00
Greg Lewis
e3262fa4db . In the ReadChunk() function, change an assert() to be a "test for a
condition and return NULL".  Take account of the NULL in the
  appropriate place (which is somewhat worrisome in itself since
  ReadChunk() has always had the possibility of returning NULL).
  This makes loading a font file a little more resilient to specially
  crafted font data which can be used, for example, by an applet to
  crash the browser plugin by triggering the assert().  Such an applet
  was mentioned on Bugtraq:

  http://www.securityfocus.com/archive/1/367331/2004-06-26/2004-07-02/0

  and can be found at

  http://www.illegalaccess.org/cms/?q=node/view/9

  This change stops the browser plugin from crashing.
. Fix some warnings regarding formats in debugging printf's.
2004-10-16 17:00:27 +00:00
Greg Lewis
4e95ec3207 . At least on FreeBSD, O_SYNC and O_DSYNC aren't both defined
(for FreeBSD 4.x neither are defined and for FreeBSD 5.x
  O_DSYNC isn't defined).  This caused them to be defined to
  some bogus values.  In particular, O_SYNC would be defined
  as 0x800, which is O_EXCL (at least on FreeBSD 4.x).  The
  result being that the RandomAccessFile class would fail to
  open an existing file if you specified "s" as part of the mode.
  Fix this by defining O_SYNC and O_DSYNC to O_FSYNC if they
  aren't defined.
2004-10-16 16:58:12 +00:00
Greg Lewis
0d00dd7aa0 . Assume (un)registervm is in LOCALBASE _not_ PREFIX.
. Call unregistervm with the VM we registered, not the comment associated
  with it (as comments should be optional).
2004-09-02 02:58:38 +00:00
Greg Lewis
e8fea2e4e7 . The changes to make in -CURRENT to use MAKEFLAGS make us unable to
override the MAKEFLAGS ARCH value in the main HotSpot Makefile.  Fix
  this by passing in a blank MAKEFLAGS up front so there is nothing to
  (try to) override.

Submitted by:	truckman
Requested by:	kris
2004-08-18 07:06:03 +00:00
Greg Lewis
e551896df5 . Fix the build for gcc 3.4.
PR:		69853
Submitted by:	Jake Hamby <jhamby@anobject.com>
Approved by:	phantom (maintainer)
2004-08-12 21:54:01 +00:00
Alexey Zelkin
941aa55a95 SIZEfy 2004-03-20 13:14:47 +00:00
Alexey Zelkin
17eaf80bc2 . Set LATEST_LINK [1]
. Fix rare NULL pointer de-reference bug in plugin code [2]

. Use better chinese fonts [3]

. Bump PORTREVISION

Requested by:	kris [1]
Submitted by:	Georg-W. Koltermann <gwk@rahn-koltermann.de> [2],
		Clive Lin <clive@tongi.org> [3]
2004-03-05 13:43:41 +00:00
Joe Marcus Clarke
053fdb6a6b Bump PORTREVISION on all ports that depend on gettext to aid with upgrading.
(Part 2)
2004-02-04 05:21:48 +00:00
Alexey Zelkin
ae179afb91 1. Switch 5.x version of jdk14 back to libc_r as default threading library.
We switched FreeBSD-5.x port to libkse as default threading library before
   releasing of patchset 6, but users who has most of stuff linked against
   libc_r and attempted to use jdk linked against libkse got into local hell
   of threading libraries mix.  So, rollback to libc_r by default and add
   PTHREAD_LIBS support for this port.

   IMPORTANT: In order to use libkse as threading library for jdk14 you
   have to use rtld's libmap feature or recompile your ports stuff (like
   mozilla) with libkse.

   NOTE: libkse still has issues with java debug support, so if you're going
   to use debuging (JVMDI) stuff - leave with libc_r for now.

2. Disable IPv6 support by default.  Unfortunatelly due to security reasons
   IPv4-to-IPv6 addresses mapping is disabled by default in FreeBSD-5.x, so
   those who would like to use Java Networking stuff had to manually
   enable it.  To make jdk14 port more user-friendly IPv6 is disabled now
   on compile time.  Those who need this stuff enabled have to use WITH_IPV6
   compile time option.

3. Add MINIMAL compile option.  If this option is used to build
   jdk14 port then plugin, javaws and demos stuff will not be installed
   and/or packaged.  Also (as noted in [5]) X11 runtime dependancy will
   not be registered into built package.

4. Strip runtime depends of jdk14 port.  There's no need to require open-motif
   to be runtime depends since libXm is staticly linked into libawt.so.

5. Make X11 runtime dependancy conditional (via urwfonts) in !WITHOUT_PLUGIN
   case only.  This should affect only prebuilt package users:  there's no
   need to install X11 libraries if you're going to use non-GUI stuff only
   (i.e. tomcat or jboss)

6. Add ${LOCALBASE}/lib to the deafult search path for JNI libraries.

7. Bump PORTVERSION

Reported by:	many [1]
Submitted by:	glewis [6]
Requested by:	marcus [6]
2004-01-28 14:00:27 +00:00
Alexey Zelkin
78155f931b Update license to most recent SCSL license version. 2004-01-28 13:55:23 +00:00
Trevor Johnson
06acd13c21 Use LS macro. 2004-01-23 05:28:50 +00:00
Trevor Johnson
439b8a040c Use the CPIO macro defined in bsd.port.mk. 2004-01-22 12:18:43 +00:00
Trevor Johnson
fbd1108f49 Use the SORT macro from bsd.port.mk. 2004-01-22 11:06:02 +00:00
Greg Lewis
db3bca7b78 . Check the return value of stat(2) when trying to read the javaws
configuration file and behave appropriately if its -1.  Fixes a SEGV
  caused by ignoring the return value and just carrying on.
. Bump PORTREVISION.

PR:		61392
2004-01-17 07:11:12 +00:00
Greg Lewis
df0cd23644 . Update to 1.4.2 patchset 6.
. Install the cacerts file from Sun's 1.4.2_03 release to avoid some
  problems associated with expired root certificates described in:

  http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F57436

Hopefully not objected to by:	phantom
2004-01-14 21:21:53 +00:00
Alexey Zelkin
ae130fdf6b Don't use patch release number while setting up BUILD_DEPENDS for
linux-sun-jdk.
2003-12-16 06:50:59 +00:00
Trevor Johnson
b3ba3ae427 USE_REINPLACE need be defined only when REINPLACE_CMD is used. 2003-11-17 12:29:10 +00:00
Alexey Zelkin
1db29d0ac9 Fix path to patched file.
Reported by:	Nelis Lamprecht <nelis@brabys.co.za>
2003-11-12 14:11:39 +00:00