X-Git-Url: http://git.pld-linux.org/?p=packages%2Fopenssl.git;a=blobdiff_plain;f=openssl.spec;h=a8188edf4ee764e8fa1a3c944447d2e41115bd31;hp=d9661e676e536aff6fbda4bb93afe4645056c813;hb=c949865ab2901e8b4d17ec34fff0cb39a342222b;hpb=7f10be72e30e7a8847db42bcac19dae6519f55b7 diff --git a/openssl.spec b/openssl.spec index d9661e6..a8188ed 100644 --- a/openssl.spec +++ b/openssl.spec @@ -1,7 +1,7 @@ - +# # 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 @@ -14,22 +14,23 @@ Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocol 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.8i +Release: 5 +License: Apache-like Group: Libraries Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz -# Source0-md5: 114bf908eb1b293d11d3e6b18a09269f -Source1: %{name}-ca-bundle.crt +# Source0-md5: 561e00f18821c74b2b86c8c7786f9d8b Source2: %{name}.1.pl Source3: %{name}-ssl-certificate.sh +Source4: %{name}-c_rehash.sh Patch0: %{name}-alpha-ccc.patch 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 +Patch7: %{name}-ca-certificates.patch URL: http://www.openssl.org/ BuildRequires: bc BuildRequires: perl-devel >= 1:5.6.1 @@ -40,6 +41,8 @@ Obsoletes: SSLeay Obsoletes: SSLeay-devel Obsoletes: SSLeay-perl Obsoletes: libopenssl0 +Requires: ca-certificates >= 20080809-4 +Requires: rpm-whiteout >= 1.7 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -195,20 +198,23 @@ RC4, RSA и SSL. Включает статические библиотеки д %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -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 \ +%if "%{pld_release}" == "ti" --openssldir=%{_var}/lib/%{name} \ +%else + --openssldir=%{_sysconfdir}/%{name} \ +%endif --lib=%{_lib} \ shared threads \ enable-mdc2 enable-rc5 \ @@ -247,10 +253,11 @@ export OPTFLAGS LDFLAGS %{__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. +# Rename POD sources of man pages. "openssl_" prefix is added to each +# manpage to avoid potential conflicts with other packages. for dir in doc/{apps,ssl,crypto}; do cd $dir || exit 1; @@ -262,11 +269,6 @@ for dir in doc/{apps,ssl,crypto}; do 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}} \ @@ -274,31 +276,35 @@ 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} -install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/ssl/ca-bundle.crt install libcrypto.a libssl.a $RPM_BUILD_ROOT%{_libdir} install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir} ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so -mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name} -ln -s %{_sysconfdir}/%{name}/openssl.cnf \ - $RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf - +%if "%{pld_release}" == "ti" +ln -sf %{_var}/lib/%{name}/%{name}.cnf \ + $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/openssl.cnf +ln -sf %{_var}/lib/%{name}/certs \ + $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/certs +ln -sf %{_var}/lib/%{name}/private \ + $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/private mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name} rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc +%else +mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name} +rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/misc +%endif + +# 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,/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 +install %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh %clean rm -rf $RPM_BUILD_ROOT @@ -306,6 +312,28 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%if "%{pld_release}" == "ti" +%triggerin -- %{name}-tools < 0.9.8i-2 +if [ -L /var/lib/openssl/openssl.cnf ] ; then + echo "Saving old configuration as /var/lib/openssl/openssl.cnf.rpmsave" + rm /var/lib/openssl/openssl.cnf + mv %{_sysconfdir}/%{name}/openssl.cnf /var/lib/openssl/openssl.cnf.rpmsave 2>/dev/null || : +fi +%else +%triggerpostun -- %{name} < 0.9.8i-2 +if [ -d /var/lib/openssl/certs ] ; then + mv /var/lib/openssl/certs/* %{_sysconfdir}/%{name}/certs 2>/dev/null || : +fi +if [ -d /var/lib/openssl/private ] ; then + mv /var/lib/openssl/private/* %{_sysconfdir}/%{name}/private 2>/dev/null || : +fi +if [ -d /var/lib/openssl ] ; then + for f in /var/lib/openssl/* ; do + [ -f "$f" ] && mv "$f" %{_sysconfdir}/%{name} 2>/dev/null || : + done +fi +%endif + %files %defattr(644,root,root,755) %doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt @@ -314,20 +342,26 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libssl.so.*.*.* %dir %{_libdir}/engines %attr(755,root,root) %{_libdir}/engines/*.so +%dir %{_sysconfdir}/%{name} +%dir %{_sysconfdir}/%{name}/certs +%dir %{_sysconfdir}/%{name}/private +%if "%{pld_release}" == "ti" %dir %{_var}/lib/%{name} %dir %{_var}/lib/%{name}/certs %dir %{_var}/lib/%{name}/private +%endif %dir %{_datadir}/ssl -%config(noreplace) %verify(not md5 mtime size) %{_datadir}/ssl/ca-bundle.crt %files tools %defattr(644,root,root,755) -%dir %{_sysconfdir}/%{name} - -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf +%if "%{pld_release}" == "ti" +%{_sysconfdir}/%{name}/openssl.cnf %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/%{name}/openssl.cnf - +%else +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/openssl.cnf +%endif %attr(755,root,root) %{_bindir}/%{name} +%attr(755,root,root) %{_bindir}/c_rehash.sh %attr(754,root,root) %{_bindir}/ssl-certificate %dir %{_libdir}/%{name} @@ -373,7 +407,8 @@ 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 @@ -391,7 +426,7 @@ rm -rf $RPM_BUILD_ROOT %{_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)