openssl3 renuild

This commit is contained in:
Rmys
2024-12-30 23:29:06 +03:00
parent cb26909ed1
commit 7d7838e1ba
3 changed files with 189 additions and 17 deletions
+75 -15
View File
@@ -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")
+91
View File
@@ -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")
+23 -2
View File
@@ -14,6 +14,7 @@
<Summary>Toolkit for SSL v2/v3 and TLS v1</Summary>
<Description>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.</Description>
<Archive sha1sum="5c2f33c3f3601676f225109231142cdc30d44127" type="targz">https://github.com/openssl/openssl/releases/download/openssl-3.4.0/openssl-3.4.0.tar.gz</Archive>
<Archive sha1sum="76fbf3ca4370e12894a408ef75718f32cdab9671" type="targz">https://www.openssl.org/source/openssl-1.1.1w.tar.gz</Archive>
<AdditionalFiles>
<!--<AdditionalFile target="openssl-1.0.0-beta4-ca-dir.patch">openssl-1.0.0-beta4-ca-dir.patch</AdditionalFile>-->
<!-- <AdditionalFile target="ca-dir.patch">ca-dir.patch</AdditionalFile> -->
@@ -46,6 +47,9 @@
<Package>
<Name>openssl</Name>
<Replaces>
<Package>openssl-1.1</Package>
</Replaces>
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>ca-certificates</Dependency>
@@ -67,21 +71,31 @@
<Package>
<Name>openssl-devel</Name>
<Replaces>
<Package>openssl-1.1-devel</Package>
</Replaces>
<PartOf>system.devel</PartOf>
<Summary>Development files for openssl</Summary>
<RuntimeDependencies>
<Dependency release="current">openssl</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="header">/usr/include/openssl</Path>
<Path fileType="man">/usr/share/man</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/lib32/pkgconfig</Path>
<!-- openssl-1.1 -->
<Path fileType="header">/usr/include/openssl-1.1</Path>
<Path fileType="data">/usr/lib/openssl-1.1/pkgconfig</Path>
<Path fileType="data">/usr/lib32/openssl-1.1/pkgconfig</Path>
</Files>
</Package>
<Package>
<Name>openssl-32bit</Name>
<Replaces>
<Package>openssl-1.1-32bit</Package>
</Replaces>
<PartOf>emul32</PartOf>
<Summary>32-bit shared libraries for openssl</Summary>
<BuildType>_emul32</BuildType>
@@ -98,6 +112,13 @@
</Package>
<History>
<Update release="25">
<Date>2024-12-30</Date>
<Version>3.4.0</Version>
<Comment>Rebuild.</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="24">
<Date>2024-12-01</Date>
<Version>3.4.0</Version>
@@ -105,7 +126,7 @@
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="23">
<Update release="23">
<Date>2024-05-18</Date>
<Version>1.1.1w</Version>
<Comment>Rebuild.</Comment>