Skip to content

Commit 9ff7f5e

Browse files
committed
Fixed issue where rhel >8 packages would not have correct openssl dependency version
libcurl will likely have a hard dependency on the exact version so include it in our Requires: entries. Ticket: ENT-12587 Changelog: title
1 parent d2a90d6 commit 9ff7f5e

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

build-scripts/package

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,19 +129,25 @@ case "$PACKAGING" in
129129
fi
130130
fi
131131

132-
# determine policy-version for rhel systems so we can require what we build with
132+
# determine system-provided dependency versions that we build with so that installs work well
133133
if [ "$OS" = "rhel" ]; then
134134
SELINUX_POLICY_VERSION=$(rpm -q --qf '%{VERSION}\n' selinux-policy)
135135
if [ -z "$SELINUX_POLICY_VERSION" ]; then
136136
echo "error: unable to determine selinux-policy package version"
137137
exit 1
138138
fi
139+
OPENSSL_VERSION=$(rpm -q --provides openssl-libs | grep OPENSSL_ | sed 's/^.*_\([0-9.]*\).*$/\1/' | sort -n | tail -1)
140+
if [ -z "$OPENSSL_VERSION" ]; then
141+
echo "error: unable to determine openssl package version"
142+
exit 1
143+
fi
139144
fi
140145

141146
sed \
142147
-e "s/@@VERSION@@/$RPM_VERSION/g" \
143148
-e "s/@@RELEASE@@/$safe_prefix$RPM_RELEASE/g" \
144149
-e "s/@@SELINUX_POLICY_VERSION@@/$SELINUX_POLICY_VERSION/g" \
150+
-e "s/@@OPENSSL_VERSION@@/$OPENSSL_VERSION/g" \
145151
-e "/^%pre\$/r $PREINSTALL" \
146152
-e "/^%post\$/r $POSTINSTALL" \
147153
-e "/^%preun\$/r $PREREMOVE" \

packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ Requires: libssl.so.1.1()(64bit) libssl.so.1.1(OPENSSL_1_1_0)(64bit) libssl.so.1
3333
Requires: libcrypto.so.1.1()(64bit) libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
3434
%endif
3535

36+
# libcurl can rely on a more specific version of openssl so use the one we build with.
37+
# OPENSSL_VERSION is determined in build-scripts/package script.
3638
%if %{?rhel}%{!?rhel:0} > 8
37-
Requires: libcrypto.so.3()(64bit) libcrypto.so.3(OPENSSL_3.0.0)(64bit) libcrypto.so.3(OPENSSL_3.0.1)(64bit)
38-
Requires: libssl.so.3()(64bit) libssl.so.3(OPENSSL_3.0.0)(64bit)
39+
Requires: libcrypto.so.3()(64bit) libcrypto.so.3(OPENSSL_@@OPENSSL_VERSION@@)(64bit)
40+
Requires: libssl.so.3()(64bit) libssl.so.3(OPENSSL_@@OPENSSL_VERSION@@)(64bit)
3941
%endif
4042

4143
# cfbs/Build requires Python 3.5+ (not available on RHEL 6)

packaging/cfengine-nova/cfengine-nova.spec.in

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ Requires: libssl.so.1.1()(64bit) libssl.so.1.1(OPENSSL_1_1_0)(64bit) libssl.so.1
2929
Requires: libcrypto.so.1.1()(64bit) libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
3030
%endif
3131

32+
# libcurl can rely on a more specific version of openssl so use the one we build with.
33+
# OPENSSL_VERSION is determined in build-scripts/package script.
3234
%if %{?rhel}%{!?rhel:0} > 8
33-
Requires: libcrypto.so.3()(64bit) libcrypto.so.3(OPENSSL_3.0.0)(64bit) libcrypto.so.3(OPENSSL_3.0.1)(64bit)
34-
Requires: libssl.so.3()(64bit) libssl.so.3(OPENSSL_3.0.0)(64bit)
35+
Requires: libcrypto.so.3()(64bit) libcrypto.so.3(OPENSSL_@@OPENSSL_VERSION@@)(64bit)
36+
Requires: libssl.so.3()(64bit) libssl.so.3(OPENSSL_@@OPENSSL_VERSION@@)(64bit)
3537
%endif
3638

3739
AutoReqProv: no

0 commit comments

Comments
 (0)