From de0a8413669db9c073974326e54efb36af99489f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 29 Apr 2016 05:06:28 +0000 Subject: TLCrypto: use only openssl if sha512 support, add shasum git-svn-id: svn://tug.org/texlive/trunk@40811 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLCrypto.pm | 41 +++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'Master/tlpkg/TeXLive/TLCrypto.pm') diff --git a/Master/tlpkg/TeXLive/TLCrypto.pm b/Master/tlpkg/TeXLive/TLCrypto.pm index 8cd1ded425c..ac095bce5b5 100644 --- a/Master/tlpkg/TeXLive/TLCrypto.pm +++ b/Master/tlpkg/TeXLive/TLCrypto.pm @@ -75,18 +75,36 @@ sub setup_checksum_method { eval { require Digest::SHA; Digest::SHA->import('sha512_hex'); + debug("Using checksum method digest::sha\n"); $::checksum_method = "digest::sha"; }; - if ($@) { - # ok, Digest::SHA is not available, try to find either the openssl - # or sha512sum programs - if (TeXLive::TLUtils::which("openssl")) { - $::checksum_method = "openssl"; - } elsif (TeXLive::TLUtils::which("sha512sum")) { - $::checksum_method = "sha512sum"; - } else { - debug("Cannot find usable checksum method!\n"); + if ($@ && ($^O !~ /^MSWin/i)) { + # for unix like environments we test other programs (openssl, sha512sum, + # shasum), too + my $ret; + + # first for openssl dgst -sha512 + # old MacOS openssl does not support -sha512! + $ret = system("openssl dgst -sha512 >/dev/null 2>&1 /dev/null 2>&1