]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - openssl/openssl.nm
polarssl: Update to 1.3.9
[people/ms/ipfire-3.x.git] / openssl / openssl.nm
index cffef400e53a062675412c76f1c09f7ea0959405..3aefd05688a31df586ea5280a7dc0c21ed86bbae 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = openssl
-version    = 1.0.0e
-release    = 2
+version    = 1.0.1h
+release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Libraries
@@ -30,11 +30,17 @@ build
                zlib-devel
        end
 
+       CFLAGS += -DPURIFY
+       export RPM_OPT_FLAGS = %{CFLAGS}
+
        prepare_cmds
+               sed -e 's/SHLIB_VERSION_NUMBER "1.0.0"/SHLIB_VERSION_NUMBER "%{version}"/' \
+                       -i crypto/opensslv.h
+
                find crypto/ -name Makefile -exec \
                        sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
 
-               # Modify the various perl scripts to reference perl in the right location.
+               # Modify the various perl scripts to reference perl in the right location.
                perl util/perlpath.pl /usr/bin
 
                # Generate a table with the compile settings for my perusal.
@@ -42,16 +48,27 @@ build
                make TABLE PERL=/usr/bin/perl
        end
 
+       # Set default ssl_arch.
+       ssl_arch = linux-%{DISTRO_ARCH}
+
        if "%{DISTRO_ARCH}" == "i686"
-               SSL_ARCH = no-asm 386 # 386 implies no-sse2
+               # 386 implies no-sse2
+               ssl_arch = linux-elf no-asm 386
+       end
+
+       if "%{DISTRO_ARCH}" == "armv5tel"
+               ssl_arch = linux-generic32
+       end
+
+       if "%{DISTRO_ARCH}" == "armv7hl"
+               ssl_arch = linux-generic32
        end
 
        build
                ./Configure \
                        --prefix=/usr \
                        --openssldir=/etc/pki/tls \
-                       --enginesdir=/usr/lib/openssl/engines \
-                       linux-elf \
+                       --enginesdir=%{libdir}/openssl/engines \
                        shared \
                        zlib-dynamic \
                        enable-camellia \
@@ -62,34 +79,35 @@ build
                        no-idea \
                        no-mdc2 \
                        no-rc5 \
+                       no-ec no-ec2m no-ecdh no-ecdsa \
+                       no-srp \
                        -DSSL_FORBID_ENULL \
-                        %{SSL_ARCH}
+                        %{ssl_arch}
 
                # Build.
-               make depend all build-shared RPM_OPT_FLAGS="%{CFLAGS}" #%{PARALLELISMFLAGS}
+               make depend
+               make all
 
                # Generate hashes for the included certs.
-               make rehash build-shared
+               make rehash
        end
 
        test
+               # Revert ca-dir patch. Otherwise the tests will fail.
+               patch -Np1 -R < %{DIR_PATCHES}/openssl-1.0.0-beta4-ca-dir.patch
+
                make test
        end
 
        install
                make install build-shared INSTALL_PREFIX=%{BUILDROOT}
 
-               mkdir -pv %{BUILDROOT}/lib
-               mv -vf %{BUILDROOT}/usr/lib/lib{crypto,ssl}.so.* %{BUILDROOT}/lib
-               ln -svf ../../lib/libcrypto.so.10 %{BUILDROOT}/usr/lib/libcrypto.so
-               ln -svf ../../lib/libssl.so.10 %{BUILDROOT}/usr/lib/libssl.so
-
                # Install manpages do right place
                mkdir -pv %{BUILDROOT}/usr/share
                mv -v %{BUILDROOT}/etc/pki/tls/man %{BUILDROOT}/usr/share/
 
-               mkdir -pv %{BUILDROOT}/usr/lib/openssl
-               mv -v %{BUILDROOT}/usr/lib/engines %{BUILDROOT}/usr/lib/openssl
+               mkdir -pv %{BUILDROOT}%{libdir}/openssl
+               mv -v %{BUILDROOT}%{libdir}/engines %{BUILDROOT}%{libdir}/openssl
 
                mkdir -pv %{BUILDROOT}/etc/pki/CA/private
                chmod -v 700 -R %{BUILDROOT}/etc/pki/CA
@@ -99,7 +117,7 @@ build
                cp -v -r certs %{BUILDROOT}/etc/pki/tls
 
                # Rename man pages so that they don't conflict with other system man pages.
-               pushd ${BUILDROOT}/usr/share/man
+               pushd %{BUILDROOT}%{mandir}
                for manpage in man*/*; do
                        if [ -L ${manpage} ]; then
                                TARGET=`ls -l ${manpage} | awk '{ print $NF }'`
@@ -109,17 +127,30 @@ build
                                mv ${manpage} ${manpage}ssl
                        fi
                done
-
-               mv -v %{BUILDROOT}/usr/share/man/man1/{,ssl}passwd.1
-               mv -v %{BUILDROOT}/usr/share/man/man1/{,ssl}rand.1
                popd
        end
 end
 
 packages
        package %{name}
+               requires += %{name}-libs = %{thisver}
+       end
+
+       package %{name}-libs
+               template LIBS
+
+               requires += ca-certificates
+
+               conflicts += %{name} < %{thisver}
+
+               files += %{libdir}/openssl
+       end
 
        package %{name}-devel
                template DEVEL
        end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
 end