-
+#
# Conditional build:
-%bcond_without tests
-%bcond_with purify # Compile openssl with \-DPURIFY, useful when one wants to
+%bcond_without tests # don't perform "make tests"
+%bcond_with purify # Compile openssl with \-DPURIFY, useful when one wants to
# use valgrind debugger against openssl-linked programs
#
%include /usr/lib/rpm/macros.perl
Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer
Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer
Name: openssl
-Version: 0.9.8f
-Release: 4
-License: Apache-style License
+Version: 0.9.8h
+Release: 3
+License: Apache-like
Group: Libraries
Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
-# Source0-md5: 114bf908eb1b293d11d3e6b18a09269f
+# Source0-md5: 7d3d41dafc76cf2fcb5559963b5783b3
Source1: %{name}-ca-bundle.crt
Source2: %{name}.1.pl
Source3: %{name}-ssl-certificate.sh
Patch1: %{name}-optflags.patch
Patch2: %{name}-globalCA.diff
Patch3: %{name}-include.patch
-Patch4: %{name}-md5-sparcv9.patch
-Patch5: %{name}-libvar.patch
-Patch6: %{name}-fix-version.patch
+Patch4: %{name}-libvar.patch
URL: http://www.openssl.org/
BuildRequires: bc
BuildRequires: perl-devel >= 1:5.6.1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%build
%{__perl} -pi -e 's#%{_prefix}/local/bin/perl#%{__perl}#g' \
`grep -l -r "%{_prefix}/local/bin/perl" *`
+%build
touch Makefile.*
%{__perl} util/perlpath.pl %{__perl}
-OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}"
-LDFLAGS="%{rpmldflags}"
+OPTFLAGS="-Wa,--noexecstack %{rpmcflags} %{?with_purify:-DPURIFY}"
+LDFLAGS="-Wl,-z,noexecstack %{rpmldflags}"
export OPTFLAGS LDFLAGS
./Configure \
--openssldir=%{_var}/lib/%{name} \
# Conv PODs to man pages. "openssl_" prefix is added to each manpage
# to avoid potential conflicts with others packages.
-center="OpenSSL 0.9.7"
-rel="OpenSSL 0.9.7"
-
-cd doc/apps || exit 1
-%{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
-for pod in *.pod; do
- if [ $pod != "openssl.pod" ]; then
- mv -f $pod openssl_$pod;
- pod=openssl_$pod;
- fi
-
- sec=1
- if [ $pod = "openssl_config.pod" ]; then
- sec=5
- fi
-
- manpage=`basename $pod .pod`.$sec;
- pod2man --section="$sec" --release="$rel" --center="$center" \
- $pod > $manpage;
- echo "$manpage";
-done
-cd ..
-
-sec=3
-for dir in ssl crypto; do
+for dir in doc/{apps,ssl,crypto}; do
cd $dir || exit 1;
- if [ $dir = "ssl" ]; then
- rel="OpenSSL SSL/TLS library"
- elif [ $dir = "crypto" ]; then
- rel="OpenSSL cryptographic library"
- fi
-
%{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
- for pod in *.pod; do
- sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;
+ for pod in !(openssl*).pod; do
mv -f $pod openssl_$pod;
- pod=openssl_$pod;
- manpage=`basename $pod .pod`.$sec;
- pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
- echo "$manpage";
done
- cd ..
+ cd ../..
done
-#cd perl
-#%%{__perl} Makefile.PL \
-# INSTALLDIRS=vendor
-#%{__make}
-
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1
install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate
-rm $RPM_BUILD_ROOT%{_mandir}{/man7/des_modes.7,/man5/config.5,/man5/x509v3_config.5}
+rm $RPM_BUILD_ROOT%{_mandir}/{man7/des_modes.7,man5/config.5,man5/x509v3_config.5}
echo ".so openssl_des_modes.7" > $RPM_BUILD_ROOT%{_mandir}/man7/des_modes.7
echo ".so openssl_config.5" > $RPM_BUILD_ROOT%{_mandir}/man5/config.5
echo ".so openssl_x509v3_config.5" > $RPM_BUILD_ROOT%{_mandir}/man5/x509v3_config.5