Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2019 20:54:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        java@FreeBSD.org
Subject:   [Bug 237913] devel/apache-ant - upgrade, build from source
Message-ID:  <bug-237913-8522-Ce4ROt7hn9@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-237913-8522@https.bugs.freebsd.org/bugzilla/>
References:  <bug-237913-8522@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237913

--- Comment #7 from Mikhail Teterin <mi@FreeBSD.org> ---
Greg, Michael, the arguments you raise would apply - verbatim - to the enti=
re
FreeBSD. Indeed, building from source "adds complexity". It also targets a
certain hardware. And so on.

Yet, FreeBSD is an open source project -- with the sources provided for
EVERYTHING, with it being possible to rebuild every file in the distribution
(including documentation)...

And ports are -- or should be -- the same. Quoting from
https://www.freebsd.org/ports/ (emphasis mine):

  Each "port" listed here contains any patches necessary to make the
  original application SOURCE CODE compile and run on FreeBSD.

It is quite disappointing to see a number of Java ports violate the above
principle installing precompiled binaries -- simply repackaging them from s=
ome
format into another (pkg a.k.a tar.xz). Of course, it is understood, that i=
n a
volunteer project developers may simply not have time for a proper
implementation.

Yet, when the work's already been done and requires only minor fixups (if
any!), to reject it on the grounds, that "building from source is not
necessary", is "too complicated", or "takes too long", is contrary to the v=
ery
purpose of the whole endeavor.

Indeed, in Comment #3 Michael seems to agree with that -- only to contradict
himself later...

That's in general. As for particulars:

> Building with a certain JDK version means that older JDKs can't run the c=
lasses that are built.

This is not quite true. The "-target" argument can be added to javac's comm=
and
line to target an older JVM, while using a newer one. This is similar to us=
ing
C-compiler's -march flag...

Indeed, by forcing the users to accept the binaries built for the lowest
version (JDK7?), you're pessimizing the situation for the users of newer
JDKs...

> If you force the build to use the oldest JDK

The proposed patch would use whatever JDK the user *already has* installed.=
 The
result will be perfectly usable for almost all users...

> building this from source is as timeconsuming as building LLVM

"buildworld" once took my 486-33 computer 4 days. Was it a mistake for Free=
BSD
to bother maintaining the src/ tree buildable from source back then?

Whoever has no time to build from source, can always install a prebuilt RPM,
oops, package. But a) it should be possible to build from source; and b) su=
ch
building should be regularly exercised to prevent bit-rot.

This is not a problem unique to Java ports and needs no Java-specific
solutions.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237913-8522-Ce4ROt7hn9>