Open nikmagini opened 7 years ago
Just a quick update on the versions:
For the record, current dependencies are :
-bash-4.1$ rpm -q --requires perl-Crypt-SSLeay /etc/pki/tls/certs/ca-bundle.crt libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libcrypto.so.10()(64bit) libcrypto.so.10(libcrypto.so.10)(64bit) libssl.so.10()(64bit) libssl.so.10(libssl.so.10)(64bit) perl(:MODULE_COMPAT_5.10.1) perl(Carp) perl(Crypt::SSLeay) perl(Crypt::SSLeay::CTX) perl(Crypt::SSLeay::X509) perl(IO::Socket) perl(MIME::Base64) perl(Socket) perl(strict) perl(vars) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 -bash-4.1$ rpm -q --provides perl-Crypt-SSLeay SSLeay.so()(64bit) perl(Crypt::SSLeay) = 0.57 perl(Crypt::SSLeay::CTX) perl(Crypt::SSLeay::Conn) perl(Crypt::SSLeay::Err) perl(Crypt::SSLeay::MainContext) perl(Crypt::SSLeay::X509) perl(Net::SSL) = 2.84 perl-Crypt-SSLeay = 0.57-17.el6 perl-Crypt-SSLeay(x86-64) = 0.57-17.el6 -bash-4.1$
The installation is not that straightforward, as Crypt-SSLeay build requires openssl C header files, as explained in the README coming with the source:
OpenSSL You must have OpenSSL or SSLeay installed before compiling this module. You can get the latest OpenSSL package from: http://www.openssl.org On Debian systems, you will need to install the libssl-dev package, at least for the duration of the build (it may be removed afterwards). Other package-based systems may require something similar. The key is that Crypt::SSLeay makes calls to the OpenSSL library, and how to do so is specified in the C header files that come with the library. Some systems break out the header files into a separate package from that of the libraries. Once the program has been built, you don't need the headers any more.
Otherwise it fails with:
-bash-4.1$ PERL_MM_USE_DEFAULT=1 perl ./Makefile.PL ======================================================================== No installed SSL libraries found in any of the following places. /local /local/ssl /opt/ssl /usr /usr/local /usr/local/ssl /usr/local/openssl You will have to either specify a directory location at the following prompt, or rerun the Makefile.PL program and use the --lib switch to specify the path. If the path in question is considered standard on your platform, please consider filing a bug report in order to have it taken into account in a subsequent version of Crypt::SSLeay. Which SSL install path do you want to use? does not appear to be an SSL library installation, since the required header files were not found. The build cannot proceed.
Added dependency on openssl. This version builds properly and tested with spacemon-client on a testbed with a system perl-Crypt-SSLeay uninstalled: https://github.com/nataliaratnikova/cmsdist/commit/e06304f2a7f358037574ae0b5a536f2f7f2660ca
The 'phedex' CLI, the Lifecycle and Spacemon (through PHEDEX::CLI::UserAgent and PHEDEX::Testbed::Lifecycle::Datasvc) depend on the Net::SSL module which is distributed with the perl-Crypt-SSLeay rpm
But this rpm is not included as dependency of the PHEDEX rpm so it needs to be installed by hand on the system as root. In addition the tools fail with an obscure error if the rpm is not installed.
We should consider adding a spec file for perl-Crypt-SSLeay in the externals and add it as dependency in the PHEDEX spec file.