Revision: 27207 http://sourceforge.net/p/gar/code/27207 Author: dmichelsen Date: 2025-09-17 13:19:10 +0000 (Wed, 17 Sep 2025) Log Message: ----------- openssl3: Initial commit
Added Paths: ----------- csw/mgar/pkg/openssl3/ csw/mgar/pkg/openssl3/Makefile csw/mgar/pkg/openssl3/branches/ csw/mgar/pkg/openssl3/tags/ csw/mgar/pkg/openssl3/trunk/ csw/mgar/pkg/openssl3/trunk/Makefile csw/mgar/pkg/openssl3/trunk/checksums csw/mgar/pkg/openssl3/trunk/files/ Added: csw/mgar/pkg/openssl3/Makefile =================================================================== --- csw/mgar/pkg/openssl3/Makefile (rev 0) +++ csw/mgar/pkg/openssl3/Makefile 2025-09-17 13:19:10 UTC (rev 27207) @@ -0,0 +1,2 @@ +%: + $(MAKE) -C trunk $* Index: csw/mgar/pkg/openssl3/trunk =================================================================== --- csw/mgar/pkg/openssl3/trunk 2025-09-10 09:04:11 UTC (rev 27206) +++ csw/mgar/pkg/openssl3/trunk 2025-09-17 13:19:10 UTC (rev 27207) Property changes on: csw/mgar/pkg/openssl3/trunk ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +work Added: csw/mgar/pkg/openssl3/trunk/Makefile =================================================================== --- csw/mgar/pkg/openssl3/trunk/Makefile (rev 0) +++ csw/mgar/pkg/openssl3/trunk/Makefile 2025-09-17 13:19:10 UTC (rev 27207) @@ -0,0 +1,313 @@ +##################################################################### +# OpenCSW build recipe for OpenSSL +# +# Copyright 2009 Yann Rouillard <y...@pleiades.fr.eu.org> +# All rights reserved. Use is subject to license terms. +# +# Redistribution and/or use, with or without modification, is +# permitted. This software is without warranty of any kind. The +# author(s) shall not be liable in the event that use of the +# software causes damage. +##################################################################### + +###### Package information ####### + +NAME = openssl +VERSION = 3.5.2 +GARTYPE = v2 +# Since version 1.0.0, soname is fixed and does not follow the minor releases +SONAME=1.0.0 + +DESCRIPTION = The Open Source toolkit for SSL and TLS +define BLURB + The OpenSSL Project is a collaborative effort to develop a robust, + commercial-grade, fully featured, and Open Source toolkit implementing the + Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) as well + as a full-strength general-purpose cryptography library. +endef + +MASTER_SITES = https://www.openssl.org/source/ + +DISTFILES = $(NAME)-$(VERSION).tar.gz +#DISTFILES += README.CSW +#DISTFILES += map.openssl.libcrypto map.openssl.libssl map.openssl.engines + +DOCFILES = CHANGES CHANGES.SSLeay PROBLEMS README FAQ README.ASN1 INSTALL NEWS README.ENGINE + +# List of engines that will be shipped in the packages +ENGINES = 4758cca aep atalla cswift gmp chil nuron sureware ubsec padlock capi + +#some more targets we used in 0.9.8 +#PATCHFILES += 0001-more-configure-targets-1_0_2.patch + +# This patch is taken from https://hg.openindiana.org/upstream/oracle/userland-gate/ +# original file: components/openssl/openssl-1.0.1/patches/18-compiler_opts.patch +# I think they are smarter than me to figure what are the best compiler options +#PATCHFILES += optimized_configure_targets.patch + +# Update openssl.cnf path in man page to follow opencsw standard +#PATCHFILES += opencsw_paths.patch + +# Make sure man pages and html docs are installed in proper locations +# instead of /opt/csw/ssl/man and /opt/csw/ssl/html +#PATCHFILES += 0010-Move-manpages-and-html-doc-in-standard-locations.patch + +# Let's always block some compromised CA, whatever the CA configured +# (patchs taken from Debian Package) +#PATCHFILES += block_bad_certificates.patch + +# Add old-style certificates hash generation to maintain compatibilies +# with gnutls and programs linked with openssl 0.9.8 +# Patch taken from Debian +#PATCHFILES += c_rehash-compat.patch + +# Oh yes, let's do symbol versioning so we don't become +# crazy during library migration +# Disabled as to many new functions. (Like whole aesni stuff missing, if build with mapfiles) +#PATCHFILES += 0007-enables-symbols-versioning.patch + +# openssl currently only uses issetugid on freebsd and openbsd +# althought it is also available on Solaris 10 +# We make issetugid support configurable via preprocessor flag +# to be able to enable it for Solaris +# Bug opened upstream: http://rt.openssl.org/Ticket/Display.html?id=3153 +#PATCHFILES += make_issetugid_support_configurable.patch + +#ifneq ($(shell /usr/bin/uname -r),5.9) +# PATCHFILES += openssl-1.0.2h-pkcs11-engine.patch +# ENGINES += pk11 +# CONFIGURE_ARGS += --pk11-libname=$(abspath /usr/lib/$(MM_LIBDIR)/libpkcs11.so) +#endif + +LICENSE = LICENSE.txt + +##### Build and installation information ##### + +#PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386 +#PACKAGING_PLATFORMS += solaris11-sparc solaris11-i386 + +BUILD64 = 1 +ISAEXEC = 1 + +# the openssl build system doesn't honor bindir +# as it doesn't install 64 bits binaries in bin/{amd64,sparcv9} +# we fix this at the merge step +EXTRA_MERGE_DIRS_isa-amd64 = $(bindir_install) +EXTRA_MERGE_DIRS_isa-sparcv9 = $(bindir_install) + +# c_rehash is shell script: no isaexec please +EXTRA_ISAEXEC_EXCLUDE_FILES = /opt/csw/bin/c_rehash + + +# This recipe can be used to compile openssl with Sun Studio or GCC +# Just define the GARCOMPILER to the GNU or SUN +GARCOMPILER_5.9 = SOS12 +GARCOMPILER_5.10_i386 = GNU +GARCOMPILER_5.10_sparc = SOS12U6 +GARCOMPILER_5.10 = $(GARCOMPILER_5.10_$(GARCH)) +GARCOMPILER_5.11 = SOS12U6 +GARCOMPILER += $(GARCOMPILER_$(GAROSREL)) +GARCOMPILER_TYPE = $(if $(findstring GCC,$(GARCOMPILER)),GNU,SUN) + +# Available Solaris targets: +# solaris-sparcv7-cc +# solaris-sparcv7-gcc +# solaris-sparcv8-cc +# solaris-sparcv8-gcc +# solaris-sparcv9-cc +# solaris-sparcv9-gcc +# solaris-x86-gcc +# solaris64-sparcv9-cc +# solaris64-sparcv9-gcc +# solaris64-x86_64-cc +# solaris64-x86_64-gcc + +# The corresponding os/compiler to pass to the +# openssl Configure script +CONFIGURE_TARGET-SUN-i386 = no-sse2 solaris-x86-cc-sunw +#CONFIGURE_TARGET-SUN-pentium_pro = solaris-x86-cc +CONFIGURE_TARGET-SUN-pentium_pro = solaris-x86-gcc +CONFIGURE_TARGET-SUN-amd64 = solaris64-x86_64-cc-sunw + +CONFIGURE_TARGET-GNU-i386 = no-sse2 solaris-x86-gcc +CONFIGURE_TARGET-GNU-pentium_pro = solaris-x86-gcc +CONFIGURE_TARGET-GNU-amd64 = solaris64-x86_64-gcc + +CONFIGURE_TARGET-SUN-sparcv8 = solaris-sparcv8-cc +CONFIGURE_TARGET-SUN-sparcv8plus = solaris-sparcv9-cc +CONFIGURE_TARGET-SUN-sparcv8plus+vis = solaris-sparcv9+vis-cc-sunw +CONFIGURE_TARGET-SUN-sparcv9-5.9 = solaris64-sparcv9-cc +CONFIGURE_TARGET-SUN-sparcv9-5.10 = solaris64-sparcv9-cc +CONFIGURE_TARGET-SUN-sparcv9-5.11 = solaris64-sparcv9-cc-sunw +CONFIGURE_TARGET-SUN-sparcv9 = $(CONFIGURE_TARGET-SUN-sparcv9-$(GAROSREL)) + +CONFIGURE_TARGET-GNU-sparcv8 = solaris-sparcv8-gcc +CONFIGURE_TARGET-GNU-sparcv8plus = solaris-sparcv9-gcc +CONFIGURE_TARGET-GNU-sparcv8plus+vis = solaris-sparcv9+vis-gcc +CONFIGURE_TARGET-GNU-sparcv9 = solaris64-sparcv9-gcc + +CONFIGURE_TARGET += $(CONFIGURE_TARGET-$(GARCOMPILER_TYPE)-$(ISA)) + +# Solaris has the issetugid function since libc version interface SUNW_1.21 +# but openssl doesn't use it by default so we manually enable it +CONFIGURE_FLAGS = -DHAVE_ISSETUGID + +# PKCS11 Patch also works on sparc64 athena processors thanks for the FJAES +# instruction set. The presence of this instruction set is checked at runtime +# by looking for the AV_SPARC_JFAES instruction set bit, unfortunately the +# corresponding macro in not present in Solaris 9-11 headers, so we manually +# define it. +CONFIGURE_FLAGS += -DAV_SPARC_FJAES=0 + +# --libdir must only be given if the directory is actually different from lib or the creation will fail +# as the directory is already there +LIBDIR_64 = --libdir=lib/64 +LIBDIR = $(LIBDIR_$(MEMORYMODEL)) + +CONFIGURE_ARGS += --prefix=$(prefix) +CONFIGURE_ARGS += --openssldir=$(sysconfdir)/ssl +#CONFIGURE_ARGS += --install_prefix=$(DESTDIR) +CONFIGURE_ARGS += $(LIBDIR) +CONFIGURE_ARGS += $(CONFIGURE_FLAGS) +#CONFIGURE_ARGS += $($(ISA)_$(GARCOMPILER_TYPE)_CONFIGURE_TARGET) +CONFIGURE_ARGS += $(CONFIGURE_TARGET) +CONFIGURE_ARGS += shared + +# From TCH +CONFIGURE_ARGS += --release --api=1.1.1 enable-weak-ssl-ciphers no-acvp-tests no-external-tests no-tests no-unit-test -latomic -lrt + +EXTRA_CONFIGURE_ENV += PERL="/opt/csw/bin/perl" + +# Configure uses make and sun make is not happy +# with the shell command added by the t4 patch +EXTRA_CONFIGURE_ENV += MAKE="/opt/csw/bin/gmake" + +# The new compiler options taken from https://hg.openindiana.org/upstream/oracle/userland-gate/ +# added "-z defs" to the linker options. That causes object compilation to fail because +# they are not linked against libc and libdl (for Sol9). This is workaround until I find a better fix. +EXTRA_LD_OPTIONS = -lc -ldl + +EXTRA_LINKER_FLAGS_sparc += -norunpath +EXTRA_LINKER_FLAGS += $(EXTRA_LINKER_FLAGS_$(GARCH)) + +TEST_TARGET = tests + +# We define a custom test script to be able to disable -j only for test execution +# as it doesn't work currently +#TEST_SCRIPTS = custom + +PKGFORMAT-5.11 = svr4 + +PACKAGES += CSWlibssl3 +SPKG_DESC_CSWlibssl3 = OpenSSL 3 runtime libraries +PKGFILES_CSWlibssl3 += $(call pkgfiles_lib,libssl.so.3) +PKGFILES_CSWlibssl3 += $(call pkgfiles_lib,libcrypto.so.3) +PKGFILES_CSWlibssl3 += $(call baseisadirs,$(libdir)/engines-3,.*\.so) +PKGFILES_CSWlibssl3 += $(call baseisadirs,$(libdir)/ossl-modules,.*\.so) +PKGFILES_CSWlibssl3 += $(sysconfdir)/ssl/private +PKGFILES_CSWlibssl3 += $(sysconfdir)/ssl/certs +CHECKPKG_OVERRIDES_CSWlibssl3 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libcrypto.so.3|soname=libcrypto.so.3|pkgname=CSWlibssl3|expected=CSWlibcrypto3 +CHECKPKG_OVERRIDES_CSWlibssl3_sparc += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv9/libcrypto.so.3|soname=libcrypto.so.3|pkgname=CSWlibssl3|expected=CSWlibcrypto3 +CHECKPKG_OVERRIDES_CSWlibssl3_i386 += shared-lib-pkgname-mismatch|file=opt/csw/lib/amd64/libcrypto.so.3|soname=libcrypto.so.3|pkgname=CSWlibssl3|expected=CSWlibcrypto3 +CHECKPKG_OVERRIDES_CSWlibssl3 += $(CHECKPKG_OVERRIDES_CSWlibssl3_$(GARCH)) + +PACKAGES += CSWlibssl-dev +SPKG_DESC_CSWlibssl-dev = OpenSSL 3 development files +PKGFILES_CSWlibssl-dev += $(PKGFILES_DEVEL) +PKGFILES_CSWlibssl-dev += $(libdir)/.*\.cmake +PKGFILES_CSWlibssl-dev += $(docdir)/openssl/.* +RUNTIME_DEP_PKGS_CSWlibssl-dev = CSWlibssl3 + +PACKAGES += CSWopenssl-utils +SPKG_DESC_CSWopenssl-utils = OpenSSL 3 binaries and related tools +# PKGFILES is catchall +#PKGFILES_CSWopenssl-utils = $(bindir)/[^/]* +#PKGFILES_CSWopenssl-utils = $(bindir)/.*/openssl +#PKGFILES_CSWopenssl-utils += $(mandir)/man1/.* +#PKGFILES_CSWopenssl-utils += $(mandir)/man5/.* +#PKGFILES_CSWopenssl-utils += $(mandir)/man7/.* +#PKGFILES_CSWopenssl-utils += $(prefix)/ssl/misc/.* +#PKGFILES_CSWopenssl-utils += $(prefix)/ssl/openssl\.cnf.* +#PKGFILES_CSWopenssl-utils += $(sysconfdir)/ssl/openssl\.cnf.* +#PKGFILES_CSWopenssl-utils += $(docdir)/openssl_utils/.* +RUNTIME_DEP_PKGS_CSWopenssl-utils += CSWlibssl3 +RUNTIME_DEP_PKGS_CSWopenssl-utils += CSWperl + +PRESERVECONF += $(sysconfdir)/ssl/openssl.cnf +PRESERVECONF += $(sysconfdir)/ssl/ct_log_list.cnf + +include gar/category.mk + +# We remove SSE2 hardware capability in the elf header of libcrypto as +# openssl is able to select it at runtime and the Solaris OS support SSE2 since +# Solaris 9 4/04 (according to "Sun Studio 12: C++ User's Guide") +post-install: + if command -v elfedit >/dev/null 2>&1 && [ "$(GARCH)" = "i386" ] && \ + /usr/ccs/bin/dump -Lv "$(DESTDIR)/$(libdir)/libcrypto.so.$(SONAME)" | grep SUNW_CAP >/dev/null; then \ + echo " ==> Removing the SSE2 hardware capability from libcrypto"; \ + chmod +w "$(DESTDIR)/$(libdir)/libcrypto.so.$(SONAME)"; \ + elfedit -e 'cap:hw1 -and -cmp sse2' "$(DESTDIR)/$(libdir)/libcrypto.so.$(SONAME)"; \ + fi + @$(MAKECOOKIE) + +pre-configure-modulated: + echo " ==> Creating configure script" + cd $(WORKSRC) && ln -nf Configure configure + #ln -nf $(WORKDIR)/map.openssl.libcrypto $(WORKSRC)/map.openssl.libcrypto + #ln -nf $(WORKDIR)/map.openssl.libssl $(WORKSRC)/map.openssl.libssl + #for ENGINE in $(ENGINES); do \ + # ln -nf $(WORKDIR)/map.openssl.engines $(WORKSRC)/engines/map.openssl.lib$$ENGINE; \ + #done + #ln -nf $(WORKDIR)/map.openssl.engines $(WORKSRC)/engines/ccgost/map.openssl.libgost + @$(MAKECOOKIE) + +install-conf-misc: + [ ! -f "$(PKGROOT)$(sysconfdir)/ssl/openssl.cnf" ] || \ + mv "$(PKGROOT)$(sysconfdir)/ssl/openssl.cnf" $(PKGROOT)$(sysconfdir)/ssl/openssl.cnf.CSW + [ ! -d "$(PKGROOT)$(sysconfdir)/ssl/misc" ] || \ + ( ginstall -d "$(PKGROOT)/$(prefix)/ssl/" && mv "$(PKGROOT)$(sysconfdir)/ssl/misc/" "$(PKGROOT)/$(prefix)/ssl/" ) + +#merge-doc: +# for CATALOGNAME in $(foreach PKG, $(PACKAGES), $(call catalogname,$(PKG))); do \ +# ginstall -d $(PKGROOT)/$(docdir)/$$CATALOGNAME; \ +# (cd $(DOWNLOADDIR)/ && ginstall -m 0644 README.CSW $(PKGROOT)/$(docdir)/$$CATALOGNAME/); \ +# (cd $(WORKSRC_FIRSTMOD)/ && ginstall -m 0644 $(DOCFILES) $(PKGROOT)/$(docdir)/$$CATALOGNAME/); \ +# done + +#post-merge-all: merge-doc install-conf-misc +post-merge-all: install-conf-misc + + +NUM_CPUS := $(shell psrinfo | wc -l | awk '{ print $$1 }') + +package-fast: + PARALLELMODULATIONS=1 PARALLELMFLAGS="-j" $(MAKE) package + #PARALLELMODULATIONS=1 PARALLELMFLAGS="--jobs=$(NUM_CPUS) --load-average=$(NUM_CPUS)" $(MAKE) package + +platforms-fast: + @mkdir -p work + @echo + @echo "Building on all hosts in parallel. Please see the individual logfiles for details:";$(foreach P,$(_PACKAGING_PLATFORMS),echo "- $P: work/build-$(PACKAGING_HOST_$P).log";) + @echo + @trap "cat $(foreach P,$(_PACKAGING_PLATFORMS),work/build-$(PACKAGING_HOST_$P).pid) 2>/dev/null | xargs -L 1 pkill -9 -P &>/dev/null; \ + stty sane" INT; \ + $(foreach P,$(_PACKAGING_PLATFORMS),\ + ( $(SSH) -t $(PACKAGING_HOST_$P) "$(foreach V,$(_PROPAGATE_ENV),$(if $($V),$V=\"$($V)\")) $(MAKE) -I $(GARDIR) -C $(CURDIR) $(_PASS_GAR_ENV) GAR_PLATFORM=$P package-fast" >work/build-$(PACKAGING_HOST_$P).log 2>&1; echo $$? >work/build-$(PACKAGING_HOST_$P).ret ) & \ + echo $$! >work/build-$(PACKAGING_HOST_$P).pid; ) wait; stty sane; trap - INT + @$(foreach P,$(_PACKAGING_PLATFORMS),if [ "`cat work/build-$(PACKAGING_HOST_$P).ret`" -ne 0 ]; then \ + FAILED=1; \ + echo "Build error on host $(PACKAGING_HOST_$P). For details, please see"; \ + echo " work/build-$(PACKAGING_HOST_$P).log"; \ + echo "Return code: `cat work/build-$(PACKAGING_HOST_$P).ret`"; \ + echo ; \ + fi;) if [ $${FAILED} -eq 1 ]; then \ + exit 2; \ + fi + @echo + @echo "Calling the standard platforms target to make sure everything is ok..." + @echo + $(MAKE) platforms + +# The only purpose of this script is to disable the gmake "-j" option for test execution +test-custom: + PARALLELMFLAGS= $(MAKE) test-$(WORKSRC)/Makefile Property changes on: csw/mgar/pkg/openssl3/trunk/Makefile ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: csw/mgar/pkg/openssl3/trunk/checksums =================================================================== --- csw/mgar/pkg/openssl3/trunk/checksums (rev 0) +++ csw/mgar/pkg/openssl3/trunk/checksums 2025-09-17 13:19:10 UTC (rev 27207) @@ -0,0 +1 @@ +890fc59f86fc21b5e4d1c031a698dbde openssl-3.5.2.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.