Skip to content
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 JREs to linux packaging system (feature request) #430

Closed
theofficialgman opened this issue Feb 10, 2022 · 32 comments · Fixed by #591
Closed

Add JREs to linux packaging system (feature request) #430

theofficialgman opened this issue Feb 10, 2022 · 32 comments · Fixed by #591
Assignees

Comments

@theofficialgman
Copy link

Now that #330 is officially closed, and requests for JREs on the DEB/RPM repos were not fulfilled, I have created a new issue to track this suggestion.

JREs support was requested or mentioned in these locations:
#330 (comment)
#330 (comment)
#330 (comment)

@karianna
Copy link
Contributor

karianna commented Jun 8, 2022

For those watching, linuxNew has been renamed to linux

@karianna karianna changed the title Add JREs to linuxNew packaging system (feature request) Add JREs to linux packaging system (feature request) Jul 13, 2022
@Jeeppler
Copy link

Jeeppler commented Nov 9, 2022

To have Linux packages available is awesome, but JREs are really missing. JREs builds are a lot smaller compared to JDK builds.

@ascheman
Copy link
Contributor

ascheman commented Jan 6, 2023

Please assign this to me (@smlambert) as discussed.

@ascheman
Copy link
Contributor

ascheman commented Jan 6, 2023

I have some questions wrt. to implementation options and would be happy about some feedback.

Please checkout my changes at master...ascheman-adoptium:installer:feature/430-poc-1-debian-jre-src

I started with a first PoC for Debian as I can see at least two implementation options:

  1. Make a copy of all current src packages, e.g., 8 -> 8-jre (as I did here)
  2. Parameterize the package in the given srcs. It should be possible to perform a paramterized build (since it is mostly based on a large GNU makefile).

I see drawbacks with both approaches:

  1. A lot of stuff is duplicated and needs to be maintained redundantly. Therefor the code is a little simpler/better to understand for people without a strong Debian/make background.
  2. Over the time it would look a little bit like the codebase of the official Debian JDK/JRE build which makes maintenance a little harder. If this approach was used, it perhaps would be consequent to merge all different JDK/JRE package builds into a single directory instead of having one per JDK version.

If desired, I could provide a second PoC to show an implementation of the second variant. But probably the team already has a preference and could meet a decision how to proceed.

Besides this I do have some more questions, but this is the most important one.
Let's concentrate on this decision before proceeding.

And, of course, I will refactor/clean up my changes before raising a final pull-request.

@smlambert
Copy link
Contributor

FYI @sophia-guo @jerboaa (upon your returns from vacation on Jan 9th) - may I ask your input to Gerd's questions above please :)

@jerboaa
Copy link
Contributor

jerboaa commented Jan 9, 2023

I cannot really comment on the debian packaging approach as I have basically no experience there. Having said that, it seems fine to duplicate installer files into <version>-jre dirs and have it maintained there. I'd expect the list of installed alternatives to differ for JDK vs. JRE anyway. My $0.02.

@sophia-guo
Copy link
Contributor

For debian probably @gdams is the right person to help. I have no experience about it.

@tellison
Copy link
Contributor

I'll jump on the bandwagon of not being experienced in Debian best-practices, bit looking at the PoC changes, it is probably better to accept the duplication and keep it simple - since any changes will have to be understood by the folks here who are not Debian installer experts. If we are lucky to attract somebody who is willing to take ownership of this space then the decision may change and the code can be optimised further.

@ascheman
Copy link
Contributor

Thanks for the feedback, @tellison !

Then I'll go ahead and will provide similar changes for all the other Linux repositories, starting with Debian.

@ascheman
Copy link
Contributor

Thinking of it again, I finally suggest to put everything JRE-related into a completely parallel tree:

Existing

linux/
├── Jenkinsfile
...
├── jdk
│   ├── alpine
│   ├── build.gradle
│   ├── debian
│   ├── redhat
│   └── suse

New

linux/
...
├── jre
│   ├── alpine
│   ├── build.gradle
│   ├── debian
│   ├── redhat
│   └── suse

And have Gradle tasks packageJreDebian etc.

ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 13, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 13, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 13, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 13, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 13, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 13, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 14, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 14, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 14, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 14, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 16, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 16, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 16, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 30, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 31, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 31, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 31, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 31, 2023
since on some (testing) Jenkins instances a suitable
GPG key might not be available.

-> adoptium#430
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Jan 31, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
since on some (testing) Jenkins instances a suitable
GPG key might not be available.

-> adoptium#430
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
since on some (testing) Jenkins instances a suitable
GPG key might not be available.

-> adoptium#430
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 1, 2023
@Jeeppler
Copy link

Jeeppler commented Feb 2, 2023

Alpine smoke tests works well for:

  • 8u362
  • 11.0.18
  • 17.0.6
  • 19.0.2

@gdams gdams closed this as completed in #591 Feb 2, 2023
@askmike1
Copy link

askmike1 commented Feb 2, 2023

I see this has been closed, but I'm not seeing any JRE packages at https://packages.adoptium.net/ui/native/rpm/centos/7/x86_64/Packages/, has this been released?

@smlambert
Copy link
Contributor

My expectation is that we will run a job tomorrow to publish these (once a few more of my PMC colleagues give it a +1 to publish).

ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 7, 2023
ascheman pushed a commit to ascheman-adoptium/installer that referenced this issue Feb 7, 2023
…-jenkinsfile-typos

Unify "buildCli" method/vars (adoptium#430)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

9 participants