]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blobdiff - openssl/openssl.nm
openssl: Enable optimised code for ARM
[people/amarx/ipfire-3.x.git] / openssl / openssl.nm
index b52e8c7927df5e4442ebe1bdc12094fa5aff6517..d9848e41b5ef0df1b94b31a1cbc3487fcfc0abea 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = openssl
-version    = 1.0.1e
-release    = 1
+version    = 1.0.2d
+release    = 2
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Libraries
@@ -40,9 +40,6 @@ build
                find crypto/ -name Makefile -exec \
                        sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
 
-               # 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.
                touch Makefile
                make TABLE PERL=/usr/bin/perl
@@ -57,11 +54,11 @@ build
        end
 
        if "%{DISTRO_ARCH}" == "armv5tel"
-               ssl_arch = linux-generic32
+               ssl_arch = linux-armv4
        end
 
        if "%{DISTRO_ARCH}" == "armv7hl"
-               ssl_arch = linux-generic32
+               ssl_arch = linux-armv4
        end
 
        build
@@ -79,11 +76,10 @@ build
                        no-idea \
                        no-mdc2 \
                        no-rc5 \
-                       no-ec no-ec2m no-ecdh no-ecdsa \
+                       no-ec2m \
                        no-srp \
                        -DSSL_FORBID_ENULL \
-                        %{ssl_arch} \
-                       fips
+                        %{ssl_arch}
 
                # Build.
                make depend
@@ -119,27 +115,45 @@ build
 
                # Rename man pages so that they don't conflict with other system man pages.
                pushd %{BUILDROOT}%{mandir}
-               for manpage in man*/*; do
-                       if [ -L ${manpage} ]; then
-                               TARGET=`ls -l ${manpage} | awk '{ print $NF }'`
-                               ln -snf ${TARGET}ssl ${manpage}ssl
-                               rm -f ${manpage}
-                       else
-                               mv ${manpage} ${manpage}ssl
-                       fi
+               for m in $(find . -type f | xargs grep -L '#include'); do
+                       d="${m%/*}"
+                       d="${d#./}"
+                       m="${m##*/}"
+                       [[ ${m} == openssl.1* ]] && continue
+                       [[ -n "$(find -L "${d}" -type l)" ]] && exit 1
+                       mv ${d}/{,ssl-}${m}
+
+                       # fix up references to renamed man pages
+                       sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' "${d}/ssl-${m}"
+                       ln -s "ssl-${m}" "${d}/openssl-${m}"
+
+                       # locate any symlinks that point to this man page ... we assume
+                       # that any broken links are due to the above renaming
+                       for s in $(find -L "${d}" -type l); do
+                               s="${s##*/}"
+                               rm -f "${d}/${s}"
+                               ln -s "ssl-${m}" "${d}/ssl-${s}"
+                               ln -s "ssl-${s}" "${d}/openssl-${s}"
+                       done
                done
+
+               [[ -n "$(find -L "${d}" -type l)" ]] && exit 1 # "broken manpage links found :("
                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