2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 09:57:41 +00:00

Fix libssl dependency on Debian-based systems.

Older systems may still have libssl1.0.0, not libssl1.1.
This commit is contained in:
Todd C. Miller 2020-08-05 12:58:02 -06:00
parent 2a58b19f96
commit c90539015f
3 changed files with 21 additions and 2 deletions

View File

@ -161,9 +161,15 @@ This makes it possible to have all sudo I/O logs on a central server."
fi
%depend [deb]
libc6, zlib1g, libssl1.1, sudo
libc6, zlib1g, sudo
%fixup [deb]
if test -n "%{libssl_dep}"; then
DEPENDS="%{libssl_dep}"
cp -p %{pp_wrkdir}/%{name}/DEBIAN/control %{pp_wrkdir}/%{name}/DEBIAN/control.$$
sed "s/^\(Depends:.*\) *$/\1, ${DEPENDS}/" %{pp_wrkdir}/%{name}/DEBIAN/control.$$ > %{pp_wrkdir}/%{name}/DEBIAN/control
rm -f %{pp_wrkdir}/%{name}/DEBIAN/control.$$
fi
echo "Homepage: https://www.sudo.ws" >> %{pp_wrkdir}/%{name}/DEBIAN/control
echo "Bugs: https://bugzilla.sudo.ws" >> %{pp_wrkdir}/%{name}/DEBIAN/control

View File

@ -90,6 +90,9 @@ still allow people to get their work done."
if test -n "$linux_audit"; then
pp_rpm_requires="audit-libs >= $linux_audit"
fi
if test -z "$libssl_dep"; then
libssl_dep="libssl1.1"
fi
# The package manager will handle an existing sudoers file
rm -f ${pp_destdir}$sudoersdir/sudoers.dist
%else
@ -328,7 +331,7 @@ still allow people to get their work done."
fi
%depend [deb]
libc6, libpam0g, libpam-modules, zlib1g, libselinux1, libssl1.1
libc6, libpam0g, libpam-modules, zlib1g, libselinux1
%fixup [deb]
# Add Conflicts, Replaces headers and add libldap dependency as needed.
@ -342,6 +345,9 @@ still allow people to get their work done."
echo "Provides: sudo" >> %{pp_wrkdir}/%{name}/DEBIAN/control
DEPENDS="${DEPENDS}${DEPENDS:+, }libldap-2.4-2"
fi
if test -n "%{libssl_dep}"; then
DEPENDS="${DEPENDS}${DEPENDS:+, }%{libssl_dep}"
fi
cp -p %{pp_wrkdir}/%{name}/DEBIAN/control %{pp_wrkdir}/%{name}/DEBIAN/control.$$
if test -n "${DEPENDS}"; then
sed "s/^\(Depends:.*\) *$/\1, ${DEPENDS}/" %{pp_wrkdir}/%{name}/DEBIAN/control.$$ > %{pp_wrkdir}/%{name}/DEBIAN/control

View File

@ -324,6 +324,13 @@ case "$osversion" in
exit 1
fi
PPVARS="${PPVARS}${PPVARS+$space}linux_audit=$linux_audit"
# Use correct libssl dependency
libssl_dep=`dpkg-query -S /usr/lib/${MULTIARCH}${MULTIARCH:+/}libssl.so.1.[0-9]* /lib/${MULTIARCH}${MULTIARCH:+/}libssl.so.1.[0-9]* 2>/dev/null | sort -rn | awk -F: '{ print $1; exit }'`
if [ -z "$libssl_dep" ]; then
echo "unable to determine package for libssl" 1>&2
exit 1
fi
PPVARS="${PPVARS}${PPVARS+$space}libssl_dep=$libssl_dep"
;;
macos*)
# TODO: openssl (homebrew?)