-
+# TODO: ca-bundle.crt is out of date; switch to ca-certificates completely?
+#
# 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: 3
-License: Apache-style License
+Version: 0.9.8i
+Release: 1
+License: Apache-like
Group: Libraries
Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
-# Source0-md5: 114bf908eb1b293d11d3e6b18a09269f
+# Source0-md5: 561e00f18821c74b2b86c8c7786f9d8b
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
+Patch5: %{name}-man-namespace.patch
+Patch6: %{name}-asflag.patch
URL: http://www.openssl.org/
BuildRequires: bc
BuildRequires: perl-devel >= 1:5.6.1
%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}"
-export OPTFLAGS LDFLAGS
+OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}" \
./Configure \
--openssldir=%{_var}/lib/%{name} \
--lib=%{_lib} \
%{__make} -j1 all rehash %{?with_tests:tests} \
CC="%{__cc}" \
+ ASFLAG='$(CFLAG) -Wa,--noexecstack' \
INSTALLTOP=%{_prefix}
-# 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"
+# Rename POD sources of man pages. "openssl_" prefix is added to each
+# manpage to avoid potential conflicts with other packages.
-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}} \
$RPM_BUILD_ROOT%{_pkgconfigdir}
%{__make} install \
- CC="%{__cc}" \
INSTALLTOP=%{_prefix} \
INSTALL_PREFIX=$RPM_BUILD_ROOT \
MANDIR=%{_mandir}
mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
+# not installed as individual utilities (see openssl dgst instead)
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{md2,md4,md5,mdc2,ripemd160,sha,sha1}.1
+
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
-echo ".so openssl_des_modes.7" > $RPM_BUILD_ROOT%{_mandir}/man7/des_modes.7
-
%clean
rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/openssl_verify.1*
%{_mandir}/man1/openssl_version.1*
%{_mandir}/man1/openssl_x509.1*
-%{_mandir}/man5/*.5*
+%{_mandir}/man5/openssl_config.5*
+%{_mandir}/man5/openssl_x509v3_config.5*
%lang(pl) %{_mandir}/pl/man1/openssl.1*
%files tools-perl
%{_pkgconfigdir}/libssl.pc
%{_pkgconfigdir}/openssl.pc
%{_mandir}/man3/openssl*.3*
-%{_mandir}/man7/*.7*
+%{_mandir}/man7/openssl_des_modes.7*
%files static
%defattr(644,root,root,755)