Re: F33 system wide change, java-11-openjdk as system jdk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/3/20 10:56 PM, Iñaki Ucar wrote:
> Hi,
> 
Hi Iñaki!

I have CCed devel@xxxxxxxxxxxxxxxxxxxxxxx as this issue may be shared. I have not yet written it to
https://fedoraproject.org/wiki/Changes/Java11#common_issues_packagers_can_face_and_gathered_solutions as
I hope it will be rare.

Generally, no program can say, that do not support jdk11, because any javac/java application can be
*hacked* to work with java11 - see
https://jvanek.fedorapeople.org/devconf/2017/portingjavaInternalToJdk9/portingOfItwToJdk9-II.pdf
(really all except package split over modules, which is impossible)

Now above mentione approaches are indeed *hacked*, and I discourage everybody to do so.

If you package is really bound to jdk8, you can move to the version-full requires:
BuildRequires: java-1.8.0-openjdk-devel (or java-devel <= 1:1.8.0 or similar)
...
Requires: java-1.8.0-openjdk(-headless) (or java(-headless) <= 1:1.8.0 or similar)

However there is an trap - packages you depends on.  Once some of your dependencies will be compiled
with --target > 8, you are doomed, and you have to bundle it or create its compact version. By doing
so you can easily end in dependency hell.
With GWT, I'm afraid you will need to try this  approach, as it is to complex framework  that any
hacking on this field is really risky. And I'm sorry to hear they are not on jdk11 already, as this
fate can likely met many other packages.

Looking to spec of rstudio, and considering it have nearly no not-bundled dependence, and its
upstream being stuck on jdk8,  requiring jdk8 looks like correct step for a while. If yo have any
influence in upstream, please be force GWT to move to jdk11.
Be aware, that you may end in needing to adapt also launcher, as japackage-tools will be enforcing
java-11-openjdk. You can easily do it by exporting JAVA_HOME with /usr/lib/jvm/java-1.8.0-openjdk value

Good luck,
 Please let me know once you success with it. I willa dd an chapter to
https://fedoraproject.org/wiki/Changes/Java11#common_issues_packagers_can_face_and_gathered_solutions

tahnx!
  J.

> I'm the maintainer of RStudio, which is failing. RStudio uses a
> bundled version of Google's GWT to compile some web components, and
> upstream indicates that Java 11 is not supported [1, 2]. Maye a future
> version of RStudio brings a newer GWT that supports Java 11, but I'm
> not sure. Anyways, for the time being, we're stuck with Java 8. What
> should I do keep RStudio working on rawhide?
> 
> [1] https://github.com/rstudio/rstudio/issues/6088
> [2] https://github.com/gwtproject/gwt/issues/9626
> [3] https://github.com/rstudio/rstudio/issues/6694
> 
> Regards,
> Iñaki
> 
> On Sun, 3 May 2020 at 21:49, <jvanek@xxxxxxxxxx> wrote:
>>
>> Hello fellow java package maintainer iucar!
>>
>> We are planning to bump the JDK from java-1.8.0-openjdk to java-11-openjdk for F33. Please see https://fedoraproject.org/wiki/Changes/Java11
>>
>> Short Story:
>>  * according to package database, you (co)maintain at least 1 java packages, be aware that we are bumping JDK in rawhide
>>  * Ensure your package builds and runs fine with JDK11 (see the https://copr.fedorainfracloud.org/coprs/jvanek/java11/builds/)
>>  * there is special tooling ready for this, before mass rebuild is launched
>>  ** See https://fedoraproject.org/wiki/Changes/Java11#copr_preliminary_rebuild
>>  * If you do not want Fedora rotten with JDK8 for ever, continue reading
>>
>> Long Story:
>> We ran a preliminary mass rebuild of javastack in copr repo  https://copr.fedorainfracloud.org/coprs/jvanek/java11/builds/ (select "all" instead of "25" at the bottom), on packages requiring java,javac, java-devel, maven-local, ant, ivy & comp for build. You can see, the result was quite dramatic:
>> 1225  total; attempted to rebuild
>> 483   failed; from those 191 are trivial failures (but if you fix it, there is no guarantee real troubles are not hidden behind that)
>> 186   succeeded
>> 556   orphans or dead or otherwise tragic so the build did not even start
>>
>> From those you (co)own following: rstudio
>>
>> If some of your packages is missing here at all, and you think it should be included, don't hesitate to email/ping me or the mailing lists. It could happen you have some very indirect requires or you require namely java-1.8.0-openjdk(-devel). In that case yo should bump it according to packaging guidelines to java(-devel), verify you run against JDK11 in my copr. Feel free to ask me to include such an package in my copr. I will gladly do so.
>>
>>
>>
>> Your summary is:
>> 0 passed
>> 0 are missing, delete, retired or somehow else utterly missing in action (see lower)
>> 1 failed, from those  0 failed very quickly (see lower)
>>
>> Details:
>> * Passed: N/A
>> * Missing: N/A
>> is/are probably orphan. If it is intentional, you may ignore it. If it is error, you  should resurrect the package and if in that, ensure it runs against JDK11 (see failed)
>> * Failed, suspiciously quickly: N/A
>> those packages failed so quickly, that the build was in initial phases. That usually mean that you build with source/target lower then 1.6 JDK11 supports 1.6 and up. We recommend to bump the source/target to 1.8, to allow existence of compact 1.8 packages alongside main javastack. See https://fedoraproject.org/wiki/Changes/Java11#Wrong_source.2Ftarget_version. Don't forget to upstream the patch, or maybe it is enough to update to more fresh upstream release which supports JDK11? it may happen, that after the fix, your build will fail in more terrible way (see bellow)
>> * Failed: rstudio
>> those packages failed. Very often the scary error may be fixed by bump to latest upstream version. JDK 11 is out for several years. Please,
>> try to fix the package. Don't hesitate to ask on devel@xxxxxxxxxxxxxxxxxxxxxxx or java-devel@xxxxxxxxxxxxxxxxxxxxxxx or directly to me jvanek@xxxxxxxxxx. If you fix the fail, feel free to share your fix, it may help others.
>> We are trying to gather the most common issues at https://fedoraproject.org/wiki/Changes/Java11#common_issues_packagers_can_face_and_gathered_solutions .  Feel free to enhance the page, or write us your case (possibly both with solution and without) so we can add it here.
>>
>>
>> Debugging Your failures.
>> The copr repo we maintain, contains builds of java-11-openjdk as system JDK, javapackages-tools honoring that, and java-1.8.0-openjdk as non system JDK. Also it contains successfully rebuilt packages. You can directly use this copr repo in several ways.
>>  * first glance on error. On https://copr.fedorainfracloud.org/coprs/jvanek/java11/builds/ find your build  (select "all" instead of "25" at the bottom),
>>  ** Click its number, select chroot (currently  fedora-32-x86_64 ) and check the logs. Main log is build.log.gz.
>>  * anything you push to rawhide, will automatically rebuild here in f32 chroot (we have a JDK in rawhide broken a bit currently)
>>  ** It is the best approach. If you can fix your package in rawhide directly, without breaking the rawhide too much, go for it
>>  ** If you need to experiment, I have a mock config for you (generated from  copr-cli mock-config jvanek/java11 fedora-32-x86_64) which you can copy to your /etc/mock and use - https://jvanek.fedorapeople.org/java11/jvanek-java11-fedora-32-x86_64.cfg .  Eg:
>>
>>  sudo cp downloaded-fedora-32-x86_64.cfg /etc/mock/jvanek-java11-fedora-32-x86_64.cfg
>>    or
>>  cp downloaded-fedora-32-x86_64.cfg ~/.config/mock/jvanek-java11-fedora-32-x86_64.cfg
>>    then
>>  # change spec, bump sources, apply patches
>>  fedpkg srpm
>>  mock -r jvanek-java11-fedora-32-x86_64  *.src.rpm
>>
>> Or any other packaging workflow you use, and you can use against the copr repo.
>> Thank you very much for your help, there are 500 failures, and 1000 java packagers, but only 2 active members of java sig. Without your help, the JDK bump will be very hard.
>>
>> Thank You!
>>   J.
>>
>> Those should be links to build logs:
>> FAIL https://download.copr.fedorainfracloud.org/results/jvanek/java11/fedora-32-x86_64/01355829-rstudio/build.log.gz
>> MISSING: N/A
>>
>> --
>> Jiri Vanek
>> jvanek@xxxxxxxxxx
>> +420 775 39 01 09
>>
> 
> 


-- 
Jiri Vanek
Senior QE engineer, OpenJDK QE lead, Mgr.
Red Hat Czech
jvanek@xxxxxxxxxx    M: +420775390109
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux