x86_64 is used as a baseline: the "x86_64" entry, whatever status it has,
is transformed into "all", and then the other entries in ARCHITECTURES
either dropped or rearranged appropriately.
For convenience, I've renamed the old recipe to be "openssl1.0"
and the new one to be "1.1"; once all packages are rebuilt,
the "build packages" list for Haiku should not have to be
updated at all, as openssl1.0 should not be needed by any
built-in packages, at least.
Also note that the "devel:libssl" and "devel:libcrypto"
provides are intentionally disabled in the openssl1.0 packages,
as otherwise HaikuPorter tends to select these (as existing
packages need libssl 1.0 until they are rebuilt, so this
ensures that only packages which really need 1.0 will get them.)
The changes detailed below allow to co-install the base
packages of 1.0.2 and 1.1.0 (as well as their debuginfo).
The _devel (or _man) packages cannot be co-installed.
* Define a debuginfo package for openssl11.
* Fix typo in call to defineDebugInfoPackage for openssl,
which was producing an incorrect debuginfo on 2nd arch.
* Also add cmd:openssl{,-1.1} to their debuginfo packages.
* Move $docDir/html/man3 to openssl11_devel.
* Add a "-1.1" suffix to each cmd:{openssl,c_rehash} for
openssl11 to allow the co-installation of 1.0.2 & 1.1.
* Create new _man sub-packages for openssl and openssl11 and
move all man pages (other than the man3 section) there to
avoid overlaps when the 2 base packages are installed.
* Add symetric (openssl vs openssl11) CONFLICTS for their
_devel and _man sup-packages.
* openssl{,11}_man REQUIRES and SUPPLEMENTS openssl{,11}.
* Introduce 4 custom variables (after portVersion):
portVersion 1.0.2* 1.1.0*
libVersion 1.0.0 1.1
cmdSuffix -1.1
mySuffix 11
altSuffix 11
These are used inside both recipes at the same places to make
it easier to spot the real differences between 1.0.2 & 1.1.0.
- libs debug info get there
- openssl executable is stripped
Makes the package much smaller (1.6M instead of 11M), and we now build
with -g so debug information is available when needed.
- Remove old 1.0.0 and 1.0.1 recipes (now unsupported by OpenSSL)
- Convert 1.1.0~git into 1.1.0f (using stable source release)
- Rewrite patch to remove upstreamed bits and adjust the remaining ones
- Fix install of HTML documentation
* bump 1.0.2 series to 1.0.2g with enable-ssl2 to prevent API breakage.
* bump 1.0.1 series to 1.0.1s with enable-ssl2 to prevent API breakage.
* Fix the patchset for the 1.0.1 series:
1. by using a copy of patch "Do not use __INTEL__ to detect x86_64"
from the 1.0.2 series for crypto/evp/e_aes_cbc_hmac_sha1.c.
2. by using a copy of the 2nd chunk of patch "more __intel__ fixes..."
from the 1.0.2 series for crypto/evp/e_rc4_hmac_md5.c.