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

I have CCed devel@lists.fedoraproject.org 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, <jva...@redhat.com> 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@lists.fedoraproject.org or java-de...@lists.fedoraproject.org or 
>> directly to me jva...@redhat.com. 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
>> jva...@redhat.com
>> +420 775 39 01 09
>>
> 
> 


-- 
Jiri Vanek
Senior QE engineer, OpenJDK QE lead, Mgr.
Red Hat Czech
jva...@redhat.com    M: +420775390109
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org

Reply via email to