-
-
Notifications
You must be signed in to change notification settings - Fork 55
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
Extended check for Java binaries. Support for Alpine/Nextcloud-AIO #3026
Comments
Thanks by your help to LibreSign! I will look as a soon. |
As the issue would seem just to get a Alpine compatible openjdk release I dig a bit further to advance the cause of LibreSign for all of us. It might be already in use for LibreSign, but the current free releases of the Eclipse Temurin project would fit LibreSign needs well. As the only issue at the moment is that the downloaded java version is the "linux x64" release for libc and there is an aquivalent release for "alpine linux x64" available (Version details below). If we download the same release 21.0.2_13 for Alpine Linux and drop it in the java folder we get a successful version check and everything is running (See attached picture as well): ` Status Resource Message Tip success java Java version: openjdk version "21.0.2" 2024-01-16 LTS ` That would mean the only thing LibreSign needs is a distro / or library (libc / muslc) check and downloading the according version of java to be fully compatible with Nextcloud-AIO P.S.: Current version in libresign is OpenJDK21U-jre_x64*****_21.0.2_13 or openjdk version "21.0.2" 2024-01-16 LTS (The alpine aquivalent is available: |
For everyone who would like to get LibreSign in Nextcloud-AIO working in the meantime: Install LibreSign as usual by downloading the app and then all binaries in the administration interface under Libre Sign OR run after app installation: Then go to the "java path" by entering the docker container, download the alpine linux release and replace the old one. Commands step by step for current version (Consider your own NCDATA path and your appdata ID in the folder name!!)
If you want to test the java binary running correctly run it with the --version flag The return output should be along the lines of: *Directly going to your NCDATA volume or path on the host system works as well, but you can´t test the java then. Then go back to the LibreSign Options in your nextcloud and see if everything is checked in Green. If you haven´t setup SSL and certificate yet, you should have at least java, pdftk, jsignpdf on "Success". LibreSign should work from here for your installation and the binaries are in a persistent area. For future updates of the java binaries by LibreSign look for the according version on https://adoptium.net/de/temurin/releases/ and get the aquivalent release for "alpine linux x64". Follow the guide, but adjust the version numbers! |
Excellent! Could you provide the output of the follow command? php -r "var_dump(shell_exec('cat /etc/*-release'));" |
Running it in the nextcloud-aio-nextcloud container reveals the following currently: string(195) "3.19.1 |
Good! |
This is necessary to download specific Java package to Alpine. ref: #3026 Signed-off-by: Vitor Mattos <vitor@php.rio>
This is necessary to download specific Java package to Alpine. ref: #3026 Signed-off-by: Vitor Mattos <vitor@php.rio>
This is necessary to download specific Java package to Alpine. ref: #3026 Signed-off-by: Vitor Mattos <vitor@php.rio>
Could you test the newest release? |
Closing this issue as solved. If this issue persists, don't hesitate to open a new issue making reference to this. Note If you like this app, don't hesitate to help usWays to help this project:
|
It works on Nextcloud-AIO stable (Nextcloud 28.0.5) that LibreSign 8.0.2 is correctly backported. A uninstall --all and reinstall via the web interface and via command line both works. A reinstallation of java by itself as well. It works as well on Nextcloud-AIO with manual update to Nextcloud 29.0.0 and with LibreSign 9.0.2 in the same way. Both were directly installed with the release from the App Store |
Is your feature request related to a problem? Please describe.
The currently used version of java supports the majority of glibc based linux distributions. The Nextcloud-AIO system though builds its containers with Alpine where possible and it is musl libc based. Then the java build with glibc will not work. Manual modifications are necessary and version check might fail mostly.
Describe the solution you'd like
There should be a detection mechanism for musl libc and use an according openjdk version and allow the version and runtime check for it.
Describe alternatives you've considered
I have tried to add compatibility to glibc with "apk add gcompat libstdc++" in the nextcloud-container. With initially good results. But it can break anytime.
I also added the repository version: "apk add openjdk11" and link it instead "ln -s /usr/bin/java java" #inside the java/bin folder of libresign - But then version mismatch is obviously a thing, but it is usable. (pdftk is on a green status and java running)
Additional context
As Nextcloud-AIO is an official release of Nextcloud which is quite popular, support for "Alpine"-based Java should increase adoption and reach of LibreSign as soon as it is easy to install there too.
The text was updated successfully, but these errors were encountered: