Skip to content

Commit

Permalink
Use virtual Java packages on Red Hat and set java_bin
Browse files Browse the repository at this point in the history
This uses the virtual packages jre-VERSION-headless instead of
explicitly openjdk. This allows other JREs to provide the same.

It also uses an explicit path to the JRE specific java bin. At least on
EL9 this allows the following upgrade path to work:

    dnf install https://yum.puppet.com/puppet7-release-el-9.noarch.rpm
    dnf install puppetserver
    dnf install https://yum.puppet.com/puppet8-release-el-9.noarch.rpm
    dnf upgrade puppetserver

Prior to this patch it would break, because it used /usr/bin/java which
will point to Java 8. By using /usr/lib/jvm/jre-17/bin/java we know for
sure it is Java 17.
  • Loading branch information
ekohl committed Jul 19, 2024
1 parent 0685174 commit 6e7ba9b
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions resources/puppetlabs/lein-ezbake/template/global/ext/fpm.rb
Original file line number Diff line number Diff line change
Expand Up @@ -182,16 +182,20 @@
options.systemd_el = 1
elsif options.operating_system == :el && options.os_version >= 7 # systemd el
if ! options.is_pe
# https://bugzilla.redhat.com/show_bug.cgi?id=2224427
fpm_opts << "--depends tzdata-java"
case options.platform_version
when 8
# rpm on Redhat 7 may not support OR dependencies
if options.os_version == 7
options.java = 'java-11-openjdk-headless'
options.java = 'jre-11-headless'
options.java_bin = '/usr/lib/jvm/jre-11/bin/java'
elsif options.os_version == 8
options.java = '(java-17-openjdk-headless or java-11-openjdk-headless)'
options.java = '(jre-17-headless or jre-11-headless)'
# TODO: which bin to use? /usr/bin/java may be anything
elsif options.os_version == 9
options.java = 'java-17-openjdk-headless'
options.java = 'jre-17-headless'
options.java_bin = '/usr/lib/jvm/jre-17/bin/java'
else
fail "Unrecognized el os version #{options.os_version}"
end
Expand Down

0 comments on commit 6e7ba9b

Please sign in to comment.