java/openjdk6 support was removed from Mk/bsd.java.mk (r512662) and
java/openjdk6 and java/openjdk6-jre were removed from the ports tree
(r512663). Now this patch completely removes remaining stuff from the
ports tree.
PR: 241953 (exp-run)
Reviewed by: glewis
Approved by: portmgr (antoine)
Differential Revision: https://reviews.freebsd.org/D22342
* All 9 and 10 JDKs have been removed and no ports explicitly list either
as a desired version, so remove references to simplify the versioning
substitutions a little.
* Remove comment references to 9 and 10 as possible version specifications.
Note that 9 and 10 aren't actually removed as valid versions as there is
one port with a reference (news/nzbhydra2).
* Add 13 as a valid version.
* Add configuration for openjdk13.
* Modify the construction of _JAVA_VERSION to force 9 and 10 to 11.
Sponsored by: The FreeBSD Foundation
* Remove references to "6" in comments and examples
* Remove java/openjdk6 from the list of Java ports that are considered to
satisfy a dependency
* Don't yet remove "6" as a valid version since many ports have "1.6+" as
a version specifier (although none have just 1.6). Instead force this
to mean "1.7+".
PR: 234792
Sponsored by: The FreeBSD Foundation
* Add configuration for newer versions of the JDK (11, 12)
* Switch to modern Java versioning (e.g. 8 rather than 1.8)
* Retain backwards compatibility with existing version specification
* Support the few ports that set USE_JAVA to the requested version
PR: 237054, 238758 (exp-run)
Currently, validation of JAVA_{VERSION,VENDOR,ERROR} does not constitute an
error and make(1) will happily continue, potentially doing the wrong thing.
Adjust the behavior as follows:
- Only validate each var if it's defined
- Remain verbose about what error exists and what's expected
- Fail the build if validation fails
bsd.java.mk exhibited this behavior up until r217132 inadvertently changed
it to be non-fatal.
PR: 220737
Approved by: portmgr (bdrewery)
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
over java/openjdk8. java/openjdk8 is still in its infancy.
- Retire redundant _JAVA_PREFERRED_PORTS hack. We only have one preferred
port since r290539 and we want to keep it that way.
JAVA_VERSION=1.5
or
JAVA_VERSION=1.5+
The previous revision took this out as a valid version number meaning
that we end up with the non-existent "/bin/java" as the desired JDK.
Expand 1.5 to 1.6 and 1.5+ to 1.6 1.7 for now. This can be reverted
once all the ports are updated.
removal of the different 1.5 jre and jdk vendors
Removing outdated jdk16 vendors:
removing all the bsdjava and freebsd vendors, consider using openjdk6 or
openjsk7 instead.
Discussed with: java (glarkin)
remove support for them from bsd.java.mk. As Jikes is not available in Java 1.5
or higher, remove it from bsd.java.mk too (suggested by hq@) and from the ports
which used it (only occurences were USE_JIKES=no). Support for the Blackdown VM
is also removed, as it is not available in Java 1.5 and higher.
Also remove the mapping from Java 1.1-1.4 to Java 1.5+ in bsd.java.mk to detect
old, broken ports; therefore bump the minimal value of JAVA_VERSION to 1.5.
While here, replace static values of JAVA_VERSION in files/*.in by
%%JAVA_VERSION%% .
PR: ports/158969
Submitted by: rene
Tested on: pointyhat-west -exp
targets.
* Use /rescue/sh for index builds instead of /bin/sh, when it exists.
The former is statically linked and faster to execute, which becomes
significant when executing it tens of thousands of times. This
trick can be used with other recursive targets by passing in
__MAKE_SHELL.
* Get rid of make variable assignments that use != command invocations
in the critical path, using several methods:
- rewriting logic to use shell or make builtins instead of external command executions
- macroizing commands and executing them in the targets where they
are needed instead of with every invocation of make
- precomputing the results of invariant commands in
bsd.port.subdir.mk and passing them in explicitly to child makes,
and using this to avoid recalculation in all the children. NB: the
commands are still run one per top-level subdirectory but this
does not currently seem to be a major issue. They could be moved
further up into the top-level Makefile at the cost of some
cleanliness.
- Committers are strongly discouraged from adding further "bare" !=
assignments to the ports tree, even in their own ports. One of
the above strategies should be used to avoid future bloat.
* Rewrite the core 'describe' target to work entirely within a single
shell process using only builtin commands. The old version is
retained as a backup for use on systems older than 603104, which
does not have the make :u modifier. This cuts down the number of
processes executed during the course of a 'make index' by an order
of magnitude, and we are essentially now amortized to the minimum of
a single make + sh instance per port, plus whatever commands the
port makefile itself executes (which are usually unnecessary and
bogus).
* Less validation of the WWW: target is performed; this can become
policed at a port level by portlint. Specifically we look at the
second word of the first line beginning with "WWW:" in pkg-descr,
and append "http://" to it unless it already begins with "http://",
"https://" or "ftp://". Thanks to dougb for the idea of how to
extract WWW: using shell builtins.
* Use the "true" shell builtin instead of echo > /dev/null for a
measurable decrease in CPU use.
* Add a note about dubious escaping strategy in bsd.port.subdir.mk
* Minor change in output of 'make describe': it no longer strips
trailing CR characters from pkg-descr files with MSDOS CR/LF
termination. Instead the makeindex perl script that post-processes
make describe into the INDEX is tweaked to strip on input.
The bottom line is that on my test hardware INDEX builds are now
faster by more than a factor of 2 and with a reduction in system time
by a factor of 4-8 depending on configuration.
To ease upgrade, bsd.java.mk now substitutes JAVA_VERSION values of 1.1+ and
1.2+ as 1.3+.
The related JDK ports that have been marked as deprecated and scheduled for
removal some time ago are now safe to be removed.
The patch has been tested successfully on the cluster.
PR: 116724