Bug #4290
closed
Rudder server cannot be installed on CentOS and Red Hat 6.5 since dependency 'jre' does not exist anymore
Added by Nicolas CHARLES almost 11 years ago.
Updated almost 9 years ago.
Description
Users have problems installing Rudder 2.8.1 on Centos, with the following error:
---> Package rudder-jetty.noarch 1398866025:2.8.1.release-1.EL.6 will be installed
--> Processing Dependency: jre7 for package: 1398866025:rudder-jetty-2.8.1.release-1.EL.6.noarch
--> Finished Dependency Resolution
Error: Package: 1398866025:rudder-jetty-2.8.1.release-1.EL.6.noarch (Rudder_2.8)
Requires: jre7
A more complete error log is there:
http://pastebin.com/cjR90f51
- Target version set to 2.8.2
Matthieu, could you look to that one and also check for how long it does not work ?
- Status changed from 8 to In progress
- Target version changed from 2.8.2 to 2.4.13
This impacts 2.4 onwards.
Correcting.
I have no mean with RPM to create as in Debian conditionnal dependencies, the best approach I have here is to depend on jre / java and ONLY for el6 depend directly on java-1.7.0-openjdk
(Note: there is no macro available to discriminate minor versions of el6 ... The best I got is rhel = 6 or something else, nothing like rhel = 6.5. Thus, I can only act based on major OS versions.
What I intend to do is:
%if 0%{?rhel} == 6
Requires: java-1.7.0-openjdk
%else
Requires: jre >= 1.6
%endif
- Status changed from In progress to Pending technical review
- Assignee changed from Matthieu CERDA to François ARMAND
- % Done changed from 0 to 100
- Pull Request set to https://github.com/Normation/rudder-packages/pull/202
Notes to clarify: Contrary to SLES, EL does not provide any OS version level as a RPM macro, as seen in the output of rpm --showrc:
# SLES 11 SP1:
rpm --showrc|grep 11
-14: suse_version 1110 <= This is a SLES 11 SP 1
# RHEL/CentOS 6.5
-14: centos 6
-14: centos_ver 6
-14: dist .EL.6
-14: distribution .EL.6
-14: rhel 6
As you can see, EL does not consider minor versions relevant, as packaging and versions are normally consistent on all of them. What we got here is what I felt to be an issue in both our packaging, that uses a temporary virtual package from EL6 and RedHat that savagely nerfed the virtual package on 6.5 without thinking of people using it.
Thus, I have no other choice than providing three Requires:
- A future proof one, jre >= 1.7 for EL7 onwards
- A "best effort" one, java-1.7.0-openjdk for EL6 (the same package for all EL6, as packaging is consistent for packages on major versions
- A SLES / other RPMs one, jre >= 1.6, principally to match the JRE's provided by Oracle and NEVER the 1.5 ones provided by IBM on SuSE SLES.
I'm validating that one. The logic is OK, the package name seems ok based on what I found on the net.
And basically, without that correction, Rudder can't be installed on RHEL (any one).
So let's merge it.
- Status changed from Pending technical review to Pending release
Applied in changeset commit:f4b421b1f52da350e0905c2d0a527639e126b7fa.
Applied in changeset commit:e7f7db1b12ea617fd28247e95358ae11d8b3d0f1.
- Target version changed from 2.4.13 to 2.6.10
Since we will not make any more releases of 2.4 version, moving all those issues to 2.6
- Subject changed from Dependency error on CentOS on JRE for rudder-jetty to Rudder server cannot be installed on Centos 6.5 since dependency 'jre' is not existing anymore
- Subject changed from Rudder server cannot be installed on Centos 6.5 since dependency 'jre' is not existing anymore to Rudder server cannot be installed on CentOS and Red Hat 6.5 since dependency 'jre' does not exist anymore
- Status changed from Pending release to Released
This bug has been fixed in Rudder 2.6.10 which was released today.
Check out:
- Project changed from 34 to Rudder
- Category set to Packaging
- Target version changed from 2.6.10 to 2.4.12
Also available in: Atom
PDF