Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openssl-1.0.2: amend to support mediator #6471

Merged
merged 2 commits into from Feb 5, 2021

Conversation

alarcher
Copy link
Contributor

@alarcher alarcher commented Feb 3, 2021

Preliminary work for openssl-1.1 to add mediated links:

  • OpenSSL 1.0.2 is now installed in '/usr/openssl/1.0' with binaries under 'bin', headers under 'include', libraries under 'lib'.
  • Added '64' subdir symlinks for compatibility.
  • Delivering engines in '/usr/openssl/1.0/lib/engines'.
  • Added mediated symlink from '/usr/include/openssl' to '/usr/openssl/1.0/include/openssl', took care to use the patched header 'opensslconf.h'.
  • Added symlinks in '/usr/openssl/1.0/lib' to openssl binaries in '/usr/openssl/1.0/bin'.
  • Added mediated symlink from '/lib/openssl/default' to '/usr/openssl/1.0/lib' which has the same structure as previously.
  • Added mediated symlink from '/lib/openssl/engines' to '/usr/openssl/1.0/lib/engines' which has the same structure as previously.
  • Added mediated symlinks for libraries in '/usr/lib', and for pkg-config files.
  • Added the c_rehash tool provided also in solaris-userland.
  • Checked that the hierarchy in '/lib/openssl' provides the same files as before.
  • Put the manpages in a separate file since the list is long.

I have installed the package to a ne BE, built wget and illumos-gate.

--- openssl.list	2021-02-02 22:31:29.312842982 +0000
+++ openssl-new.list	2021-02-03 03:02:33.362919810 +0000
@@ -1,6 +1,7 @@
 PATH
+etc/openssl/1.0/openssl.cnf
 etc/openssl/certs
-etc/openssl/default/openssl.cnf
+etc/openssl/default -> This is now a mediated symlink
 etc/openssl/openssl.cnf
 etc/openssl/private
 etc/sfw/openssl
@@ -16,112 +17,13 @@
 lib/libssl.so
 lib/libssl.so.0.9.8
 lib/libssl.so.1.0.0
-lib/openssl/default/64
-lib/openssl/default/CA.pl
-lib/openssl/default/amd64/libcrypto.so
-lib/openssl/default/amd64/libcrypto.so.1.0.0
-lib/openssl/default/amd64/libssl.so
-lib/openssl/default/amd64/libssl.so.1.0.0
-lib/openssl/default/engines/amd64/libgost.so
-lib/openssl/default/engines/amd64/libgost.so.1
-lib/openssl/default/engines/amd64/libpk11.so
-lib/openssl/default/engines/amd64/libpk11.so.1
-lib/openssl/default/engines/libgost.so
-lib/openssl/default/engines/libgost.so.1
-lib/openssl/default/engines/libpk11.so
-lib/openssl/default/engines/libpk11.so.1
-lib/openssl/default/i86/openssl
-lib/openssl/default/libcrypto.so
-lib/openssl/default/libcrypto.so.1.0.0
-lib/openssl/default/libssl.so
-lib/openssl/default/libssl.so.1.0.0
-lib/openssl/default/openssl
+lib/openssl/default -> This is now a symlink
 lib/openssl/engines -> This is now a symlink
-lib/openssl/engines/64
-lib/openssl/engines/amd64
-lib/openssl/engines/amd64/libgost.so
-lib/openssl/engines/amd64/libgost.so.1
-lib/openssl/engines/amd64/libpk11.so
-lib/openssl/engines/amd64/libpk11.so.1
-lib/openssl/engines/libgost.so
-lib/openssl/engines/libgost.so.1
-lib/openssl/engines/libpk11.so
-lib/openssl/engines/libpk11.so.1
 usr/bin/CA.pl -> Installed in the lib directory as before
+usr/bin/c_rehash -> Added in the bin directory as before and now mediated symlink added in /usr/bin
 usr/bin/i86/openssl -> Installed in the bin directory, link in lib as before and now mediated symlink added in /usr/bin
 usr/bin/openssl -> Installed in the bin directory, link in lib as before and now mediated symlink added in /usr/bin
-usr/include/openssl/aes.h
-usr/include/openssl/asn1.h
-usr/include/openssl/asn1_mac.h
-usr/include/openssl/asn1t.h
-usr/include/openssl/bio.h
-usr/include/openssl/blowfish.h
-usr/include/openssl/bn.h
-usr/include/openssl/buffer.h
-usr/include/openssl/camellia.h
-usr/include/openssl/cast.h
-usr/include/openssl/cmac.h
-usr/include/openssl/cms.h
-usr/include/openssl/comp.h
-usr/include/openssl/conf.h
-usr/include/openssl/conf_api.h
-usr/include/openssl/crypto.h
-usr/include/openssl/des.h
-usr/include/openssl/des_old.h
-usr/include/openssl/dh.h
-usr/include/openssl/dsa.h
-usr/include/openssl/dso.h
-usr/include/openssl/dtls1.h
-usr/include/openssl/e_os2.h
-usr/include/openssl/ebcdic.h
-usr/include/openssl/ec.h
-usr/include/openssl/ecdh.h
-usr/include/openssl/ecdsa.h
-usr/include/openssl/engine.h
-usr/include/openssl/err.h
-usr/include/openssl/evp.h
-usr/include/openssl/hmac.h
-usr/include/openssl/krb5_asn.h
-usr/include/openssl/kssl.h
-usr/include/openssl/lhash.h
-usr/include/openssl/md2.h
-usr/include/openssl/md4.h
-usr/include/openssl/md5.h
-usr/include/openssl/modes.h
-usr/include/openssl/obj_mac.h
-usr/include/openssl/objects.h
-usr/include/openssl/ocsp.h
-usr/include/openssl/opensslconf.h
-usr/include/openssl/opensslv.h
-usr/include/openssl/ossl_typ.h
-usr/include/openssl/pem.h
-usr/include/openssl/pem2.h
-usr/include/openssl/pkcs12.h
-usr/include/openssl/pkcs7.h
-usr/include/openssl/pqueue.h
-usr/include/openssl/rand.h
-usr/include/openssl/rc2.h
-usr/include/openssl/rc4.h
-usr/include/openssl/ripemd.h
-usr/include/openssl/rsa.h
-usr/include/openssl/safestack.h
-usr/include/openssl/sha.h
-usr/include/openssl/srp.h
-usr/include/openssl/srtp.h
-usr/include/openssl/ssl.h
-usr/include/openssl/ssl2.h
-usr/include/openssl/ssl23.h
-usr/include/openssl/ssl3.h
-usr/include/openssl/stack.h
-usr/include/openssl/symhacks.h
-usr/include/openssl/tls1.h
-usr/include/openssl/ts.h
-usr/include/openssl/txt_db.h
-usr/include/openssl/ui.h
-usr/include/openssl/ui_compat.h
-usr/include/openssl/x509.h
-usr/include/openssl/x509_vfy.h
-usr/include/openssl/x509v3.h
+usr/include/openssl -> This is now a mediated symlink
 usr/lib/amd64/libcrypto.so
 usr/lib/amd64/libcrypto.so.0.9.8
 usr/lib/amd64/libcrypto.so.1.0.0
@@ -140,10 +42,136 @@
 usr/lib/pkgconfig/libcrypto.pc
 usr/lib/pkgconfig/libssl.pc
 usr/lib/pkgconfig/openssl.pc
+usr/openssl/1.0/bin/c_rehash
+usr/openssl/1.0/bin/i86/openssl
+usr/openssl/1.0/bin/openssl
+usr/openssl/1.0/include/openssl/aes.h
+usr/openssl/1.0/include/openssl/asn1.h
+usr/openssl/1.0/include/openssl/asn1_mac.h
+usr/openssl/1.0/include/openssl/asn1t.h
+usr/openssl/1.0/include/openssl/bio.h
+usr/openssl/1.0/include/openssl/blowfish.h
+usr/openssl/1.0/include/openssl/bn.h
+usr/openssl/1.0/include/openssl/buffer.h
+usr/openssl/1.0/include/openssl/camellia.h
+usr/openssl/1.0/include/openssl/cast.h
+usr/openssl/1.0/include/openssl/cmac.h
+usr/openssl/1.0/include/openssl/cms.h
+usr/openssl/1.0/include/openssl/comp.h
+usr/openssl/1.0/include/openssl/conf.h
+usr/openssl/1.0/include/openssl/conf_api.h
+usr/openssl/1.0/include/openssl/crypto.h
+usr/openssl/1.0/include/openssl/des.h
+usr/openssl/1.0/include/openssl/des_old.h
+usr/openssl/1.0/include/openssl/dh.h
+usr/openssl/1.0/include/openssl/dsa.h
+usr/openssl/1.0/include/openssl/dso.h
+usr/openssl/1.0/include/openssl/dtls1.h
+usr/openssl/1.0/include/openssl/e_os2.h
+usr/openssl/1.0/include/openssl/ebcdic.h
+usr/openssl/1.0/include/openssl/ec.h
+usr/openssl/1.0/include/openssl/ecdh.h
+usr/openssl/1.0/include/openssl/ecdsa.h
+usr/openssl/1.0/include/openssl/engine.h
+usr/openssl/1.0/include/openssl/err.h
+usr/openssl/1.0/include/openssl/evp.h
+usr/openssl/1.0/include/openssl/hmac.h
+usr/openssl/1.0/include/openssl/krb5_asn.h
+usr/openssl/1.0/include/openssl/kssl.h
+usr/openssl/1.0/include/openssl/lhash.h
+usr/openssl/1.0/include/openssl/md2.h
+usr/openssl/1.0/include/openssl/md4.h
+usr/openssl/1.0/include/openssl/md5.h
+usr/openssl/1.0/include/openssl/modes.h
+usr/openssl/1.0/include/openssl/obj_mac.h
+usr/openssl/1.0/include/openssl/objects.h
+usr/openssl/1.0/include/openssl/ocsp.h
+usr/openssl/1.0/include/openssl/opensslconf.h
+usr/openssl/1.0/include/openssl/opensslv.h
+usr/openssl/1.0/include/openssl/ossl_typ.h
+usr/openssl/1.0/include/openssl/pem.h
+usr/openssl/1.0/include/openssl/pem2.h
+usr/openssl/1.0/include/openssl/pkcs12.h
+usr/openssl/1.0/include/openssl/pkcs7.h
+usr/openssl/1.0/include/openssl/pqueue.h
+usr/openssl/1.0/include/openssl/rand.h
+usr/openssl/1.0/include/openssl/rc2.h
+usr/openssl/1.0/include/openssl/rc4.h
+usr/openssl/1.0/include/openssl/ripemd.h
+usr/openssl/1.0/include/openssl/rsa.h
+usr/openssl/1.0/include/openssl/safestack.h
+usr/openssl/1.0/include/openssl/sha.h
+usr/openssl/1.0/include/openssl/srp.h
+usr/openssl/1.0/include/openssl/srtp.h
+usr/openssl/1.0/include/openssl/ssl.h
+usr/openssl/1.0/include/openssl/ssl2.h
+usr/openssl/1.0/include/openssl/ssl23.h
+usr/openssl/1.0/include/openssl/ssl3.h
+usr/openssl/1.0/include/openssl/stack.h
+usr/openssl/1.0/include/openssl/symhacks.h
+usr/openssl/1.0/include/openssl/tls1.h
+usr/openssl/1.0/include/openssl/ts.h
+usr/openssl/1.0/include/openssl/txt_db.h
+usr/openssl/1.0/include/openssl/ui.h
+usr/openssl/1.0/include/openssl/ui_compat.h
+usr/openssl/1.0/include/openssl/x509.h
+usr/openssl/1.0/include/openssl/x509_vfy.h
+usr/openssl/1.0/include/openssl/x509v3.h
+usr/openssl/1.0/lib/64
+usr/openssl/1.0/lib/CA.pl
+usr/openssl/1.0/lib/amd64/engines/lib4758cca.so
+usr/openssl/1.0/lib/amd64/engines/libaep.so
+usr/openssl/1.0/lib/amd64/engines/libatalla.so
+usr/openssl/1.0/lib/amd64/engines/libcapi.so
+usr/openssl/1.0/lib/amd64/engines/libchil.so
+usr/openssl/1.0/lib/amd64/engines/libcswift.so
+usr/openssl/1.0/lib/amd64/engines/libgmp.so
+usr/openssl/1.0/lib/amd64/engines/libgost.so
+usr/openssl/1.0/lib/amd64/engines/libnuron.so
+usr/openssl/1.0/lib/amd64/engines/libpadlock.so
+usr/openssl/1.0/lib/amd64/engines/libpk11.so
+usr/openssl/1.0/lib/amd64/engines/libsureware.so
+usr/openssl/1.0/lib/amd64/engines/libubsec.so
+usr/openssl/1.0/lib/amd64/libcrypto.so
+usr/openssl/1.0/lib/amd64/libcrypto.so.1.0.0
+usr/openssl/1.0/lib/amd64/libssl.so
+usr/openssl/1.0/lib/amd64/libssl.so.1.0.0
+usr/openssl/1.0/lib/amd64/pkgconfig/libcrypto.pc
+usr/openssl/1.0/lib/amd64/pkgconfig/libssl.pc
+usr/openssl/1.0/lib/amd64/pkgconfig/openssl.pc
+usr/openssl/1.0/lib/engines/64
+usr/openssl/1.0/lib/engines/amd64
+usr/openssl/1.0/lib/engines/lib4758cca.so
+usr/openssl/1.0/lib/engines/libaep.so
+usr/openssl/1.0/lib/engines/libatalla.so
+usr/openssl/1.0/lib/engines/libcapi.so
+usr/openssl/1.0/lib/engines/libchil.so
+usr/openssl/1.0/lib/engines/libcswift.so
+usr/openssl/1.0/lib/engines/libgmp.so
+usr/openssl/1.0/lib/engines/libgost.so
+usr/openssl/1.0/lib/engines/libnuron.so
+usr/openssl/1.0/lib/engines/libpadlock.so
+usr/openssl/1.0/lib/engines/libpk11.so
+usr/openssl/1.0/lib/engines/libsureware.so
+usr/openssl/1.0/lib/engines/libubsec.so
+usr/openssl/1.0/lib/i86/openssl
+usr/openssl/1.0/lib/libcrypto.so
+usr/openssl/1.0/lib/libcrypto.so.1.0.0
+usr/openssl/1.0/lib/libssl.so
+usr/openssl/1.0/lib/libssl.so.1.0.0
+usr/openssl/1.0/lib/openssl
+usr/openssl/1.0/lib/pkgconfig/libcrypto.pc
+usr/openssl/1.0/lib/pkgconfig/libssl.pc
+usr/openssl/1.0/lib/pkgconfig/openssl.pc
 usr/sfw/bin/amd64/openssl
 usr/sfw/bin/openssl
 usr/share/man/man1openssl/CA.pl.1openssl
 usr/share/man/man1openssl/asn1parse.1openssl
+usr/share/man/man1openssl/c_rehash.1openssl
 usr/share/man/man1openssl/ca.1openssl
 usr/share/man/man1openssl/ciphers.1openssl
 usr/share/man/man1openssl/cms.1openssl

@alarcher
Copy link
Contributor Author

alarcher commented Feb 3, 2021

@AndWac Added patches and now links in /lib/openssl are not mediated, they are not used in 1.1 anyway... Tests all passed.

@alarcher
Copy link
Contributor Author

alarcher commented Feb 4, 2021

@AndWac Not sure if the mediator should be mediator-implementation=default mediator-version=1.0 instead.

@timmooney
Copy link
Contributor

Thanks for doing the work to make this split. It will definitely make future upgrades much less painful.

@alarcher alarcher merged commit 46cb516 into OpenIndiana:oi/hipster Feb 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants