Searches without login should now work. You must get asked to click a button.
Port details
jdk14Java Development Kit 1.4.2
1.4.2p8_19javaΣ=141 1.4.2p8_19Version of this port present on the latest quarterly branch.
BROKEN: Does not compile with GCC 4.2 DEPRECATED: does not build on FreeBSD 7.x or newer This port expired on: 2011-04-17 IGNORE: is marked as broken: Does not compile with GCC 4.2 RESTRICTED: "Redistribution of pre-compiled binaries is not permitted" NO CDROM: "Redistribution of pre-compiled binaries is not permitted"
This is the latest patchset from the Java 2 FreeBSD porting project. This
port allows you to easily build a native JDK1.4.2 for FreeBSD.
Please note that due to the current Sun licensing policy the resulting binaries
can't be distributed and you are only permitted to use/hack it personally.
Due to the same reasons you have to manually fetch the source code and patchset
for FreeBSD.
WWW: http://www.freebsd.org/java/http://www.eyesbeyond.com/freebsddom/java/index.htmlhttp://www.sun.com/software/communitysource/java2/
===> The following configuration options are available for jdk-1.4.2p8_19: DEBUG=off (default) "Enable debugging support" IPV6=off (default) "Enable IPv6 support" POLICY=off (default) "Install the Unlimited Strength Policy Files" TZUPDATE=on (default) "Update the time zone data" WEB=on (default) "Enable the browser plugin and Java Web Start" JAIL=off (default) "Port is being built within a jail"===> Use 'make config' to modify these settings
. Update to tzupdater 1.3.5. This patch is based on that submitted in the
PR but also fixes the path to tzupdater and bumps PORTREVISION.
PR: 123189
Submitted by: Greg Larkin
. Explicitly pull in X dependencies instead of depending on the open-motif
dependency to implicitly pull in the X libraries we need.
Requested by: linimon
. Make it so we include Xm/XmIm.h rather than defining our own prototype.
Fixes a build error due to the prototype being defined not matching
the actual function.
Approved by: portmgr (pav)
. Add a TZUPDATE option, defaulting to on, which will update the time zone
data for the JDK using Sun's tzupdater. [1]
. Some simplification of the convoluted logic around telling the user
which files to download. In particular, don't care if we've already
told them to download a file.
. Bump PORTREVISION since many North American users will need to pick up
the time zone changes.
Collaboration with: Tim Zingelman <zingelman@fnal.gov> [1]
. Replace some hardwired /usr/X11R6 instances with X11BASE. [1]
. Small Makefile restructure to keep related variables in one place.
. Trim the ancient bootstrapping options.
. Add ipv6 to CATEGORIES if its enabled. [2]
PR: 106129 [2]
Submitted by: Janos Mohacsi <janos.mohacsi@bsd.hu> [2]
Pointed out by: pointyhat (via kris) [1]
. Use a mutex to make the resolver functions thread safe on FreeBSD 4.x
(they are already thread safe on FreeBSD 5+).
Submitted by: Arne Juul <arnej@europe.yahoo-inc.com>
. Link with the system libz instead of building the our own internal
copy. This should have the following effects:
. Fix problems experienced by programmes that dynamically create their
own copy of the JVM and are linked against the system's zlib (e.g.,
eclipse).
. Reduce the potential for zlib based security problems
affecting the JDK.
This is similar to the patch in the PR, but was actually backported from
the patches for the jdk15 port, so its a touch different.
PR: 92459
- fix build in JAILS
failed to build the jdk14 port in a jail under FreeBSD 5.4
FreeBSD 4.11 works.
The problem is that mount don't list the linprocfs,
and this make the selfcheck fail.
maintainer emailed:
So 6 Nov 2005 11:21:20 CET
Approved by: (maintainer timeout)
. Tell the user all the files they will need up front, instead of telling
lies about what they have and prompting them one file at a time. This
is a slight rewording of the submitted patch.
PR: 84644
Submitted by: fenner
. Make pkg-install install a symbolic link for the browser plugin if a
valid one doesn't currently exist.
. Add a pkg-deinstall which removes the symbolic link if this port owns it.
. Produce pkg-install and pkg-deinstall with SUB_FILES and SUB_LIST rather
than manually using ${SED} ourselves.
Approved by: maintainer timeout
. 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 a fixed version of 1.5.
. Bump PORTREVISION for this fix.
Approved by: maintainer timeout
Security: http://vuxml.FreeBSD.org/18e5428f-ae7c-11d9-837d-000e0c2e438a.html
. 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>
. 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)
. 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)
Add support for picking up of motif includes and libraries via newly
added open-motif-jdk port. It's controlled via WITH_OPENMOTIF_JDK
knob and currently disabled by default (it still requires additional
testing and checking)
. 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
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).
(Only the first 15 lines of the commit message are shown above )
. 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
. 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
. 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.
. 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.
. 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).
. 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
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
(Only the first 15 lines of the commit message are shown above )
. 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
. 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
Fix bootstrap jdk detection process, so it work in case if no valid jdk
installed. Previously BUILD_DEPENDS was not set correctly.
Add all possible choices for 1.4.1/1.4.2 JDKs while auto-detecting.
Add patch to fix build problems on 5.x system reported by many people.
It was last minute change and since this tool (unpack) is not used while
building jdk14 port, I did not paid enough attention to test this change
at -CURRENT system. Sorry.
Update to 1.4.2p5.
Important changes since last patchset:
. jdk14 port is now JDK 1.4.2 based!
. JavaWS distributing with jdk
. Runway problem fixed (fork() is no more problem for java apps)
. Sound support updated
. IPv6 support overhauled
. Drag'n'Drop support fixed (require open-motif mods)
As for now there's no more outstanding issues with this port!
FreeBSD port is also got a important of changes:
. optimized setup is now default (to get debuging bins/libs use WITH_DEBUG)
. bootstrap jdk autodetection. If WITH_LINUX_BOOTSTRAP is not set, then
it checks all known to work JDKs installed. If nothing found, forces
to install of linux-sun-jdk14
. Because of above change there's no NATIVE_BOOTSTRAP option anymore. If
native jdk14 is installed, it will be used by default.
. Add fix for "runaway process" problem. It should fix of stalled
processes problem for people who use Runtime.getRuntime.exec() method
and related things. Least five people reported that this patch fixed
problem for them.
IMPORTANT: I'd also suggested to all jdk14 users who runs FreeBSD 4.x
and use libc_r at FreeBSD 5.x to upgrade.
. Stop removing "src.zip" from installation bundle. Since -p4 it builds
correctly and there's no reason to forbit people to use it.
. Bump PORTREVISION.
. Sort PTHREAD_FILES.
. Add j2se/ext/plugin/build/solaris/GNUmakefile to PTHREAD_FILES. Should
fix plugin compilation on -CURRENT. Mea culpa.
PR: 58269
Submitted by: Scott Dodson <sdodson@sdodson.com>
. Update to 1.4.1p4.
. Use ${PTHREAD_LIBS} rather than -pthread or -lc_r.
. Install system preferences to avoid annoying and constant error messages.
Approved by: phantom (the update, anyway)
Warn users about requirement of having linprocfs mounted in order to
start native JDK port build. linprocfs mounted become pre-requisite of
build after Linux SUN JDK port was updated to 1.4.2.
Add run-time (pre-build) check for linprocfs mounted as well.
Bump space requirements note about disk space required for build of
whole JDK 1.4.1 port and package to more appropriate value (as reported
by many people).
Unbreak package build after recent Greg's commit (which changed
include/bsd -> include/freebsd in sources, but not reflected
this change in pkg-plist)
Reported by: Holger Kipp <Holger.Kipp@alogis.com>,
Kunihiro Arai <kunihiro-arai@seagreen.ocn.ne.jp>
. Add $FreeBSD$
. Put the MD JNI headers in include/freebsd _not_ include/bsd. This
brings the 1.4 port in line with 1.1, 1.2 and 1.3, and arguably inline
with Solaris and Linux.
Not-objected-to by: phantom
Add runtime test to check of required libc_r functionality. I.e. warn
people about requirement of libc_r updates as early as possible.
Bump PORTREVISION
Approved by: portmgr (kris) (implicitly)
Since we have problems with running debuging binaries on some machines
(old K6 and some SMP machines) don't use javah_g in build process.
Reported by: many people
Number of commits found: 102 (showing only 100 on this page)