Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Updating source/target level for Java 21 compatibility to 8

173 views
Skip to first unread message

Vladimir Petko

unread,
Sep 13, 2023, 7:10:04 PM9/13/23
to
Hi,

Java 21 removes source/target compatibility level 7. Some packages (80
in total as per the attached list) have it specified in rules or
Makefiles.
I was wondering if it is okay to raise a single bug to update them and
submit the changes as pull requests on Salsa.

Also, we could add a DEB_ variable to specify the minimal supported
level. The variable will allow us to avoid repeating this work in the
future, but I am not sure what is the best way to provide it.

Best Regards,
Vladimir.
hardcoded-target-level.txt

Emmanuel Bourg

unread,
Sep 14, 2023, 10:00:04 AM9/14/23
to
Le 2023-09-14 01:03, Vladimir Petko a écrit :

> Java 21 removes source/target compatibility level 7. Some packages (80
> in total as per the attached list) have it specified in rules or
> Makefiles.
> I was wondering if it is okay to raise a single bug to update them and
> submit the changes as pull requests on Salsa.

For the previous Java migrations I started with a mass rebuild and then
filling a bug report for each broken package. The reports had a user tag
to be able to follow the progress (and document the main issues
encountered).

Here is for example the bug list for the migration to Java 17:


https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=default-java17;users=debia...@lists.debian.org

Personally I find it satisfying to see the list shrinking over time,
I also hoped that it would entice new contributors to join the migration
effort (but it barely materialized, if at all). But as long as the work
is done it doesn't really matter how it is organized.


> Also, we could add a DEB_ variable to specify the minimal supported
> level. The variable will allow us to avoid repeating this work in the
> future, but I am not sure what is the best way to provide it.

Interesting idea. Where would that variable be declared? In debhelper?
Will the maintainers agree?

As a side note, bumping the source/target level isn't always the best
solution. For example olap4j breaks when building the Javadoc, in this
case I recommend scrapping the -java-doc package. These packages are a
recurrent source of issues when migrating to more recent JDKs, and they
are almost never used.

Emmanuel Bourg

Vladimir Petko

unread,
Sep 14, 2023, 6:00:04 PM9/14/23
to
Hi,

>For the previous Java migrations I started with a mass rebuild and then
filling a bug report for each broken package.
Thank you!!! I will follow the suite then - in addition to hardcoded
targets, there are about 93 packages with various compile errors
including javadoc issues.

>Interesting idea. Where would that variable be declared? In debhelper?
>Will the maintainers agree?

Yes, it has to be in the common code, e.g. debhelper, but adding
something specific to Java to it might not be a good solution.

>As a side note, bumping the source/target level isn't always the best
solution.These packages are a
recurrent source of issues when migrating to more recent JDKs, and they
are almost never used.

Maybe I can raise bugs for those and then the decision can be made on
a case by case basis?

Best Regards,
Vladimir.

Vladimir Petko

unread,
Sep 24, 2023, 10:20:04 PM9/24/23
to
Hi,

I have prepared a script[1] to report the obvious failures here[2]. I
wonder if I should send a mass bug filing email to debian-devel
mailing list before running it?

Best Regards,
Vladimir.

[1] https://git.launchpad.net/~vpa1977/+git/default-java21/tree/report-all.sh?h=main
[2] https://git.launchpad.net/~vpa1977/+git/default-java21/tree/?h=main

Emmanuel Bourg

unread,
Sep 25, 2023, 5:20:03 AM9/25/23
to
Le 2023-09-25 04:17, Vladimir Petko a écrit :

> I have prepared a script[1] to report the obvious failures here[2]. I
> wonder if I should send a mass bug filing email to debian-devel
> mailing list before running it?
>
> Best Regards,
> Vladimir.
>
> [1]
> https://git.launchpad.net/~vpa1977/+git/default-java21/tree/report-all.sh?h=main
> [2] https://git.launchpad.net/~vpa1977/+git/default-java21/tree/?h=main

Nice! I've rebuilt the Java packages last week and started filling a few
bugs,
but it looks like you've already caught most of them. I suggest a minor
tweak
to the script, the severity could be set to important since these bugs
will
turn into build failures in the near future. Also there is an
unnecessary space
before "FTBFS".

Go ahead and file the bugs. I'll probably reword the titles afterwards
to add
a description of the issue, that's convenient to pick and fix similar
bugs
from the list.

Emmanuel Bourg
0 new messages