I would like to let everyone know that meta-java is mostly on life support at this point. The original founders and maintainers are long in-active and have not responded to emails in years. I am one of the only folks left that has push rights to the various repositories (Yocto Project, GitHub, Gitlab). After a decade or more of burning myself out trying to maintain multiple projects where I am the last person standing, I have had to take a step back. The last decade has taken its toll literally on my health. I only work 40 hours a week, for my paying customers, as a consultant ( https://www.konsulko.com). Anything more than that, such as this weekend, is my OWN TIME. My precious time away from friends and family and real life. Please respect that when you send patches.
My requirements for the current state of meta-java are that any patches MUST apply to "master" (meaning the development "walnascar" 5.2 release at this time, but we've been in this state since scarthgap at least and probably more like since kirkstone). If patches apply cleanly, including building and run-time testing, then I am willing to apply them. After patches are merged to "master", they are eligible to be backported to stable branches currently supported, such as kirkstone and scarthgap. I will likely completely skip styhead at this point and will branch for the walnascar release, if we achieve a functional layer. Otherwise, the major focus would be on "master" and the LTS releases (currently kirkstone and scarthgap). Non-LTS releases will not be a priority. I have a branch with continuous integration somewhat working, running on my own hardware on my own time at my own cost for the electricity and maintenance. If anyone is willing to provide long-term funds (think in multiple years or a decade) for an organization-wide Gitlab runner (or Github Actions runner), it would be much appreciated. My current staging branch is https://gitlab.com/moto-timo/meta-java/-/tree/gitlab-ci?ref_type=heads. I happened to have both the itch to scratch (desiring continuous integration and responding to recent patch submissions) and the energy and motivation to work on it over the weekend. At this point I am approaching 16 hours of my free time in the last two days that you should respect and value at a reasonable hourly rate. It has been about 9 months since I was last willing to do that. I cannot promise any energy or effort in the next 9 months. If you look at the recent jobs, you will see that for all platforms (qemuarm, qemuarm64, qemux86-64) the jobs had to be canceled because openjdk-8 (target) is either timing out or causing a segfault. For qemuarm (32-bit), there is a problem with fuzzing for a patch for hotspot which I am currently at a loss to fix. My attempt to refresh the patches broke ALL builds, not just qemuarm. There is also a significant problem with fetching from hg.openjdk.net. We need to upgrade many components in the layer. The old approach of fetching multiple tarballs for jdk, hotspot, corba etc. from the mercurial openjdk repository is VERY brittle. Most of the time I am unable to fetch from that source. Modern openjdk is using other sites for providing sources and is bundling them together in on tarball (usually .xz compressed), instead of the madness of tracking several separate changesets. Many other components have newer versions, but we need to refactor the code base and move forward. Then we also have to decide what gets backported and how far back. We've been essentially at a stand-still since at least kirkstone timeframe. I do not see much future in supporting openjdk-7, so it is a strong candidate for being dropped. We need to support newer jdk releases (11, 17, 21+). As I mentioned in my Yocto mini-summit talk (https://www.youtube.com/watch?v=rwkAVxFTVw8), the requirements for building from source are that an N-1 release builds the N release. If you do the math, it is absolute insanity to build ecj -> intermediate -> icedtea-7 -> openjdk-8 -> 9 -> 11 -> ... -> 17 -> 21. HARD NO. We need to use a binary native approach (similar to go in oe-core) to bootstrap a build. I have some work-in-progress staged, but this requires at least a week (more likely two) full time to complete. I WILL NOT do that on my own time. See my statements about literal health impact above. Until I am able to completely build at least openjdk-8-test-image and openjre-8-test-image for qemuarm, qemuarm64 and qemux86-64 (and really we should be also building for musl), I cannot CONFIDENTLY merge most patches. When openjdk-8 and openjre-8 are stalling/segfaulting my Debian 12 build machine (even with kas-container), there is no path forward. If you depend upon meta-java for your product, please consider joining with others to fund my time (https://www.konsulko.com) so that I can focus on the layer during working hours. Alternatively, set up your own Gitlab CI runner with my gitlab-ci branch and send patches to fix the segfault/stall in openjdk-8/openjre-8. There are also some lingering issues with building icedtea7-native on Debian 12/Ubuntu 22.04+, but at least for now that has succeeded with a kas 4.6 containerized build. If you depend on meta-java, please contribute in a constructive way to the community. But until a COMPLETE test image can be built on the current "master" (poky "walnascar" 5.2 development), there will not be much merging happening. If you cannot show PROOF of a COMPLETE openjdk-8-test-image and openjre-8-test-image for a minimum of qemuarm, qemuarm64 and qemux86-64, then I will reserve the right to ignore your patches. Be prepared to then answer problems with musl builds, as there are a separate set of patches on problems there. In the future, I would like to enable testimage and run-time testing of images, and possibly even real on-target hardware testing (such as raspberrypi or beagleplay targets). We can see an approach to reporting such results in the meta-arm layer that is very promising. I have the beginnings of some labgrid testing infrastructure that could run those tests on real hardware and publically share those results. This takes time, money, energy and motivation. You only get out of Open Source what you support in it. We can do this. Cheers, Tim
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#114958): https://lists.openembedded.org/g/openembedded-devel/message/114958 Mute This Topic: https://lists.openembedded.org/mt/110708865/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
