diff --git a/system/base/openssl/actions.py b/system/base/openssl/actions.py index 7770e8be..0ebc4845 100755 --- a/system/base/openssl/actions.py +++ b/system/base/openssl/actions.py @@ -21,7 +21,7 @@ def setup(): enable-cms enable-md2 enable-mdc2 threads" if get.buildTYPE() == "_emul32": - options += " --prefix=/_emul32 --libdir=lib32" + options += " --prefix=/_emul32 --libdir=/usr/lib32" shelltools.export("CC", "%s -m32" % get.CC()) shelltools.export("CXX", "%s -m32" % get.CXX()) shelltools.system("./Configure linux-elf %s" % options) @@ -38,10 +38,42 @@ def setup(): pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}") pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}") + shelltools.cd("../openssl-1.1.1w") + pisitools.dosed("Configure", " $prefix/$libdir/engines ", " /%{_lib}/engines ") + options = " --prefix=/temp \ + --libdir=/usr/lib/openssl-1.1 \ + includedir=/usr/include/openssl-1.1 \ + DOCDIR=/usr/share/doc/openssl-1.1 \ + shared -Wa,--noexecstack \ + zlib enable-camellia enable-idea \ + enable-seed enable-rfc3779 enable-rc5 \ + enable-cms enable-md2 enable-mdc2 threads" + + if get.buildTYPE() == "_emul32": + options += " --prefix=/temp --libdir=/usr/lib32/openssl-1.1" + shelltools.export("CC", "%s -m32" % get.CC()) + shelltools.export("CXX", "%s -m32" % get.CXX()) + shelltools.system("./Configure linux-elf %s" % options) + shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig") + + elif get.ARCH() == "i686": + shelltools.system("./Configure linux-elf %s" % options) + pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}") + pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}") + + else: + options += " enable-ec_nistp_64_gcc_128" + shelltools.system("./Configure linux-x86_64 %s" % options) + pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}") + pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}") + def build(): autotools.make("depend") autotools.make() #autotools.make("rehash") + shelltools.cd("../openssl-1.1.1w") + autotools.make("depend") + autotools.make() def check(): #Revert ca-dir patch not to fail test @@ -58,6 +90,10 @@ def check(): def install(): autotools.rawInstall("DESTDIR=%s MANDIR=/usr/share/man" % get.installDIR()) + # opebssl-1.1 + shelltools.cd("../openssl-1.1.1w") + autotools.rawInstall("DESTDIR=%s DOCDIR=/usr/share/doc/openssl-1.1" % get.installDIR()) + # Rename conflicting manpages # pisitools.rename("/usr/share/man/man1/passwd.1", "ssl-passwd.1") #pisitools.rename("/usr/share/man/man3/rand.3", "ssl-rand.3") @@ -65,27 +101,51 @@ def install(): if get.buildTYPE() == "_emul32": #from distutils.dir_util import copy_tree - shelltools.copytree("%s/_emul32/lib32/" % get.installDIR(), "%s/usr/lib32" % get.installDIR()) + # shelltools.copytree("%s/_emul32/lib32" % get.installDIR(), "%s/usr/lib32" % get.installDIR()) pisitools.removeDir("/_emul32") pisitools.remove("/usr/lib32/*.a") + pisitools.remove("/usr/lib32/openssl-1.1/*.a") path = "%s/usr/lib32/pkgconfig" % get.installDIR() for f in shelltools.ls(path): pisitools.dosed("%s/%s" % (path, f), "^(prefix=\/)_emul32", r"\1usr") + + # opebssl-1.1 + path = "%s/usr/lib32/openssl-1.1/pkgconfig" % get.installDIR() + for f in shelltools.ls(path): pisitools.dosed("%s/%s" % (path, f), "^(prefix=\/)temp", r"\1usr") + path = "%s/usr/lib/openssl-1.1/pkgconfig" % get.installDIR() + for f in shelltools.ls(path): pisitools.dosed("%s/%s" % (path, f), "^(prefix=\/)temp", r"\1usr") + + # opebssl-1.1 + pisitools.dosym("/usr/lib/openssl-1.1/libssl.so", "/usr/lib/libssl.so.1.1") + pisitools.dosym("/usr/lib/openssl-1.1/libcrypto.so", "/usr/lib/libcrypto.so.1.1") + pisitools.dosym("/usr/lib32/openssl-1.1/libssl.so", "/usr/lib32/libssl.so.1.1") + pisitools.dosym("/usr/lib32/openssl-1.1/libcrypto.so", "/usr/lib32/libcrypto.so.1.1") + + # Move engines to /usr/lib/openssl/engines + pisitools.dodir("/usr/lib/openssl") + #pisitools.domove("/usr/lib/engines", "/usr/lib/openssl") + + # Certificate stuff + pisitools.dobin("tools/c_rehash") + + + # Create needed dirs + for cadir in ["misc", "private"]: + pisitools.dodir("/etc/ssl/%s" % cadir) + + # No static libs + pisitools.remove("/usr/lib/*.a") + pisitools.remove("/usr/lib/openssl-1.1/*.a") + + # opebssl-1.1 + shelltools.move("%s/temp/include/openssl" % get.installDIR(), "%s/usr/include/openssl-1.1" % get.installDIR()) + shelltools.system("sed -e 's|/include$|/include/openssl-1.1|' -i %s/usr/lib/openssl-1.1/pkgconfig/*.pc" % get.installDIR()) + shelltools.system("sed -e 's|/include$|/include/openssl-1.1|' -i %s/usr/lib32/openssl-1.1/pkgconfig/*.pc" % get.installDIR()) + shelltools.move("%s/temp/bin/openssl" % get.installDIR(), "%s/usr/bin/openssl-1.1" % get.installDIR()) + shelltools.move("%s/temp/bin/c_rehash" % get.installDIR(), "%s/usr/bin/c_rehash-1.1" % get.installDIR()) + pisitools.removeDir("/temp") return - # Move engines to /usr/lib/openssl/engines - pisitools.dodir("/usr/lib/openssl") - #pisitools.domove("/usr/lib/engines", "/usr/lib/openssl") - # Certificate stuff - pisitools.dobin("tools/c_rehash") - - - # Create needed dirs - for cadir in ["misc", "private"]: - pisitools.dodir("/etc/ssl/%s" % cadir) - - # No static libs - pisitools.remove("/usr/lib/*.a") pisitools.dohtml("doc/*") pisitools.dodoc("CHANGES*", "LICENSE*", "NEWS*", "README*", "doc/*.txt") diff --git a/system/base/openssl/files/actions3.py b/system/base/openssl/files/actions3.py new file mode 100755 index 00000000..7770e8be --- /dev/null +++ b/system/base/openssl/files/actions3.py @@ -0,0 +1,91 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + pisitools.dosed("Configure", " $prefix/$libdir/engines ", " /%{_lib}/engines ") + + options = " --prefix=/usr \ + --libdir=lib \ + --openssldir=/etc/ssl \ + shared -Wa,--noexecstack \ + zlib enable-camellia enable-idea \ + enable-seed enable-rfc3779 enable-rc5 \ + enable-cms enable-md2 enable-mdc2 threads" + + if get.buildTYPE() == "_emul32": + options += " --prefix=/_emul32 --libdir=lib32" + shelltools.export("CC", "%s -m32" % get.CC()) + shelltools.export("CXX", "%s -m32" % get.CXX()) + shelltools.system("./Configure linux-elf %s" % options) + shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig") + + elif get.ARCH() == "i686": + shelltools.system("./Configure linux-elf %s" % options) + pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}") + pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}") + + else: + options += " enable-ec_nistp_64_gcc_128" + shelltools.system("./Configure linux-x86_64 %s" % options) + pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}") + pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}") + +def build(): + autotools.make("depend") + autotools.make() + #autotools.make("rehash") + +def check(): + #Revert ca-dir patch not to fail test + #shelltools.system("patch -p1 -R < openssl-1.0.0-beta4-ca-dir.patch") + + homeDir = "%s/test-home" % get.workDIR() + shelltools.export("HOME", homeDir) + shelltools.makedirs(homeDir) + autotools.make("-j1 test") + + #Passed. So, re-patch + #shelltools.system("patch -p1 < openssl-1.0.0-beta4-ca-dir.patch") + +def install(): + autotools.rawInstall("DESTDIR=%s MANDIR=/usr/share/man" % get.installDIR()) + + # Rename conflicting manpages + # pisitools.rename("/usr/share/man/man1/passwd.1", "ssl-passwd.1") + #pisitools.rename("/usr/share/man/man3/rand.3", "ssl-rand.3") + #pisitools.rename("/usr/share/man/man3/err.3", "ssl-err.3") + + if get.buildTYPE() == "_emul32": + #from distutils.dir_util import copy_tree + shelltools.copytree("%s/_emul32/lib32/" % get.installDIR(), "%s/usr/lib32" % get.installDIR()) + pisitools.removeDir("/_emul32") + pisitools.remove("/usr/lib32/*.a") + path = "%s/usr/lib32/pkgconfig" % get.installDIR() + for f in shelltools.ls(path): pisitools.dosed("%s/%s" % (path, f), "^(prefix=\/)_emul32", r"\1usr") + return + + # Move engines to /usr/lib/openssl/engines + pisitools.dodir("/usr/lib/openssl") + #pisitools.domove("/usr/lib/engines", "/usr/lib/openssl") + + # Certificate stuff + pisitools.dobin("tools/c_rehash") + + + # Create needed dirs + for cadir in ["misc", "private"]: + pisitools.dodir("/etc/ssl/%s" % cadir) + + # No static libs + pisitools.remove("/usr/lib/*.a") + + pisitools.dohtml("doc/*") + pisitools.dodoc("CHANGES*", "LICENSE*", "NEWS*", "README*", "doc/*.txt") diff --git a/system/base/openssl/pspec.xml b/system/base/openssl/pspec.xml index b8bce00a..ac46078e 100755 --- a/system/base/openssl/pspec.xml +++ b/system/base/openssl/pspec.xml @@ -14,6 +14,7 @@ Toolkit for SSL v2/v3 and TLS v1 OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards required by them. https://github.com/openssl/openssl/releases/download/openssl-3.4.0/openssl-3.4.0.tar.gz + https://www.openssl.org/source/openssl-1.1.1w.tar.gz @@ -46,6 +47,9 @@ openssl + + openssl-1.1 + zlib ca-certificates @@ -67,21 +71,31 @@ openssl-devel + + openssl-1.1-devel + system.devel Development files for openssl openssl - /usr/include + /usr/include/openssl /usr/share/man /usr/lib/pkgconfig /usr/lib32/pkgconfig + + /usr/include/openssl-1.1 + /usr/lib/openssl-1.1/pkgconfig + /usr/lib32/openssl-1.1/pkgconfig openssl-32bit + + openssl-1.1-32bit + emul32 32-bit shared libraries for openssl _emul32 @@ -98,6 +112,13 @@ + + 2024-12-30 + 3.4.0 + Rebuild. + Pisi Linux Community + admin@pisilinux.org + 2024-12-01 3.4.0 @@ -105,7 +126,7 @@ Pisi Linux Community admin@pisilinux.org - + 2024-05-18 1.1.1w Rebuild.