-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add java-11-openjdk #4784
Add java-11-openjdk #4784
Conversation
wow, a lot of work! some overall suggestions: The PLIST files contain the build artifacts that are installed and added to the spk file. Please remove any documentation, header-files, *.la, .a files and pkgconfig files (.pc). You can even omit the executable files from PLIST when a package is used as library only (maybe cross/cups ?). BUILD_DEPENDS is used for dependencies that are required to build a package, i.e. for build tools (native/...) or for dependencies that are required to build and are prerequisites defined as SPK_DEPENDS (e.g. BUILD_DEPENDS=cross/python3 and SPK_DEPENDS = python3). We prefer official source packages when available. So avoid the download methods For the jdk download it would be great when the source packages of https://github.com/openjdk/jdk/releases could be used. The hg checkout does not only have different content with each download, but it needs a long time too. And I am afraid that the max path length is reached for some source files in the temp. download location when creating the archive. I propose to remove the more later.... |
Got it. I will remove them from the spk/java-11-openjdk
*.la and *.a I agree. headers and *.pc are needed by ./configure scripts (sort of... if packages were build in chroots then paths from *.pc would be valid ;)). I will keep *.pc's and hope that the build system get converted to chroot some day ;)
So... I did it right? java needs zlib to build, so that will be a BUILD_DEPENDS.
Check, as a newbee I just followed the build example that says use ./cross/transmission as template. Maybe it should be also removed there ? ;) BR, |
The PLIST file is used to create the final spk file only. All files (whether in PLIST or not) will be available in the install folder for the build (for configure, make, make install, ...) of dependent packages. sorry, I don't understand what you want to say with |
No, I meant executables needed for build (not libraries). I successfully built for x64-6.1 and the only build dependency was jdk itself (installed with sudo apt-get install default-jdk) as it is a kind o bootstrapping here (you need jdk to build jdk). |
Another PLIST issue: |
Ah, that I have missed. I will empty it now |
Still. 2021-08-16T15:08:29.1115094Z ===> Compiling for libXt libXt will not compile due to an toolchain error i think. |
I use a rather old group of packages (from CentOS 7). |
you can fix this by adding the following lines to /spksrc/toolchain/syno-armv7-6.1/Makefile (before
|
Ok ill will verify the lib list and check with make product-images |
@hgy59 my OCD goes off reading OpenJDK 11 version 11.0.12+7 :-D May I suggest OpenJDK version 11.0.12+7 ? in description |
hmm still breaks with same error though zlib is now included. I will try compiling java with zlib=system |
Co-authored-by: hgy59 <hpgy59@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nits that I found while going over the PR. But looks good to me!
cross/java-11-openjdk/patches/002.rh1648644-java_access_bridge_privileged_security.patch
Outdated
Show resolved
Hide resolved
...a-11-openjdk/patches/006.rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
Outdated
Show resolved
Hide resolved
I have renamed the dependencies and deleted the 2 unneedded patches. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great Work!
If you have $ make -C spk/java-11-openjdk arch-x64-7.0
[..]
===> Compiling for java-11-openjdk
sed -i -e "s|\$(INSTALL_PREFIX)|/spksrc/spk/java-11-openjdk/work-x64-7.0/install/var/packages/java-11-openjdk/target|g" /spksrc/spk/java-11-openjdk/work-x64-7.0/jdk11u-jdk-11.0.12-7/make/Install.gmk
make[3]: Entering directory '/spksrc/spk/java-11-openjdk/work-x64-7.0/jdk11u-jdk-11.0.12-7'
Note: Command line contains non-control variables:
* TCVERSION=7.0
* ARCH=x64
Make sure it is not mistyped, and that you intend to override this variable.
'make help' will list known control variables.
make[4]: Entering directory '/spksrc/spk/java-11-openjdk/work-x64-7.0/jdk11u-jdk-11.0.12-7'
make[4]: Leaving directory '/spksrc/spk/java-11-openjdk/work-x64-7.0/jdk11u-jdk-11.0.12-7'
Error: 'make -jN' is not supported, use 'make JOBS=N'
/spksrc/spk/java-11-openjdk/work-x64-7.0/jdk11u-jdk-11.0.12-7/make/Init.gmk:115: *** Cannot continue. Stop. |
Ok I will change the Makefile. I have seen some races in cups I think, but since I have reduced cups to only build the libcups.so it might be unneeded. |
Thanks for your work on this. |
* Initial java-1.8.0-openjdk package * Added LICENSE files * Disabled parallel build for cups due to race conditions * Removed Java AOT. Not available on all arches * Removed debug symbols and cups to reduce package size * Changed zlib,libjpeg,giflib,libpng and lcms to use system and not bundled * Removed RedHat patches and added Debian patches * Added fix for PARALLEL_MAKE Co-authored-by: hgy59 <hpgy59@gmail.com>
Really nice work for the missing java on DSM 7.0 :) |
Motivation: Java is missing from repo.
Linked issues: #4773
Checklist
all-supported
completed successfully