###############################################################################
name = openssl
-version = 1.0.1e
-release = 1
+version = 1.0.2d
+release = 2
maintainer = Michael Tremer <michael.tremer@ipfire.org>
groups = System/Libraries
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
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
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
# 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