What was the reason to separate Linux and Windows builds?

2168 views
Skip to first unread message

Michael

unread,
May 1, 2018, 6:42:27 AM5/1/18
to ojdkbuild
Hi all,

Previous Java builds (include jdk8u161) were published in the link below both for Linux and Windows:
https://github.com/ojdkbuild/ojdkbuild/releases

What was the reason to separate Linux and Windows builds?
Now Linux builds are published here:
https://github.com/ojdkbuild/contrib_jdk8u-ci/releases


Could you please clarify if the new location uses the same procedures / tests / etc and we can confidence it like the old location?

Thank you in advance for your help,
  Michael

Alex Kashchenko

unread,
May 1, 2018, 7:24:28 AM5/1/18
to Michael, ojdkbuild
Hi,

On 05/01/2018 11:42 AM, Michael wrote:
> Hi all,
>
> Previous Java builds (include jdk8u161) were published in the link below
> both for Linux and Windows:
> https://github.com/ojdkbuild/ojdkbuild/releases

Previously Linux x86_64 binaries weren't built from sources, they were
extracted from CentOS 6 RPM packages instead. See:

- initial issue: https://github.com/ojdkbuild/ojdkbuild/issues/1
- notice about Linux binaries in readme:
https://github.com/ojdkbuild/ojdkbuild/tree/f46937e84cb86a6749f4d134d0eaaaf980f568a5#about
- script to create bundles:
https://github.com/daudo/ojdkbuild/wiki/CentOS6ZipBundle


> What was the reason to separate Linux and Windows builds?

Reasons (in arbitrary order):

- no 8u171 packages in CentOS 6 at the time of windows release
- EC Crypto was disabled in those bundles, because it is linked with a
specific NSS version and in non-CentOS env there always a good chance
that it will crash with incompatible NSS version
- CentOS packages are done specifically to be better integrated with
other system libs/resources (CA certificates, fontconfig etc); when
bundling them separately these benefits are lost, but the resulting
binaries are much less portable than a "vanilla" build
- jdk8+ linux builds are trivial to do
- I was asked for jdk8-linux build script (
https://groups.google.com/d/msg/ojdkbuild/dKayJ0T4lME/cD1DhWf8DAAJ ),
and instead of preparing a bash script, decided to configure Travis builds


> Now Linux builds are published here:
> https://github.com/ojdkbuild/contrib_jdk8u-ci/releases
>
>
> Could you please clarify if the new location uses the same procedures /

Old procedure, extract from RPMs:
https://github.com/daudo/ojdkbuild/wiki/CentOS6ZipBundle

New procedure, build from vanilla upstream sources:
https://github.com/ojdkbuild/contrib_jdk8u-ci/blob/master/.travis.yml

Please note, that upstream sources are pre-imported here
https://github.com/ojdkbuild/upstream_jdk-8u to not deal with multi-repo
mercurial checkout on Travis.


> tests / etc and we can confidence it like the old location?

Hm, testing details were never publicized (the reason for that is in FAQ
point 3 - https://github.com/ojdkbuild/ojdkbuild#faq ), but deserve some
explanation:

CentOS RPM Linux builds have zero testing, but they built from exactly
the same revision (there may be nuances with branding/labeling, but
generally that is correct), from which RHEL RPMs are built. And RHEL
RPMs are thoroughly tested - there is a quite experienced QA team
working on that.

ojdkbuild windows x86_64 builds have zero testing, but they are built
from exactly the same revision, from which Red Hat jdk-windows binaries
( https://developers.redhat.com/products/openjdk/download/ ) are built.
And Red Hat jdk-windows x86_64 binaries are thoroughly tested (by the
same team that works on RHEL packages).

These jdk8u builds (
https://github.com/ojdkbuild/contrib_jdk8u-ci/releases ) have zero
testing, but they are built from the untouched "vanilla" upstream
sources and just because of that they are likely to be more stable, than
the "vendor-customized" downstream builds mentioned above. There are
dozens of companies (including Oracle, Google, Twitter etc), who build
there internal jdks based on these sources.


>
> Thank you in advance for your help,
> Michael
>


--
-Alex

Michael

unread,
May 2, 2018, 9:20:11 AM5/2/18
to ojdkbuild
Thanks!!!

Alex Kashchenko

unread,
Jul 28, 2018, 11:41:38 AM7/28/18
to Michael, ojdkbuild
Reply all
Reply to author
Forward
0 new messages