X-Git-Url: http://git.pld-linux.org/?p=packages%2Fopenssl.git;a=blobdiff_plain;f=openssl.spec;h=1478498daf0a51ece5fa406dbb595f72cb47fd0e;hp=d2044dbe28a221543201f7fe819317276b05ff7e;hb=91881b49a32a1d39c7401fdc2e8be06dd4d98081;hpb=1c008d3519750c3a115277420ed90c2d77e67c56 diff --git a/openssl.spec b/openssl.spec index d2044db..1478498 100644 --- a/openssl.spec +++ b/openssl.spec @@ -3,7 +3,7 @@ %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: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3) Summary(de.UTF-8): Secure Sockets Layer (SSL)-Kommunikationslibrary @@ -14,28 +14,32 @@ 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.8i +Version: 1.0.0 Release: 1 License: Apache-like Group: Libraries Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz -# Source0-md5: 561e00f18821c74b2b86c8c7786f9d8b -Source1: %{name}-ca-bundle.crt +# Source0-md5: 89eaa86e25b2845f920ec00ae4c864ed 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}-libvar.patch -Patch5: %{name}-man-namespace.patch -Patch6: %{name}-asflag.patch +Patch4: %{name}-man-namespace.patch +Patch5: %{name}-asflag.patch +Patch6: %{name}-ca-certificates.patch +Patch7: %{name}-fips_install.patch +Patch8: %{name}-ldflags.patch URL: http://www.openssl.org/ BuildRequires: bc BuildRequires: perl-devel >= 1:5.6.1 BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpmbuild(macros) >= 1.213 BuildRequires: sed >= 4.0 +Requires: ca-certificates >= 20080809-4 +Requires: rpm-whiteout >= 1.7 Obsoletes: SSLeay Obsoletes: SSLeay-devel Obsoletes: SSLeay-perl @@ -98,6 +102,7 @@ Summary: OpenSSL command line tool and utilities Summary(pl.UTF-8): Zestaw narzędzi i skryptów Group: Applications/Communications Requires: %{name} = %{version}-%{release} +Requires: which %description tools The OpenSSL Toolkit cmdline tool openssl and utility scripts. @@ -188,17 +193,21 @@ RC4, RSA и SSL. Включает статические библиотеки д %prep %setup -q -%patch0 -p1 -%patch1 -p1 +#%patch0 -p1 +#%patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 +#%patch4 -p1 +#%patch5 -p1 %patch6 -p1 +#%patch7 -p1 +#%patch8 -p1 %{__perl} -pi -e 's#%{_prefix}/local/bin/perl#%{__perl}#g' \ `grep -l -r "%{_prefix}/local/bin/perl" *` +sed -i -e 's|$prefix/lib/engines|/%{_lib}/engines|g' Configure + %build touch Makefile.* @@ -206,10 +215,20 @@ touch Makefile.* OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}" \ ./Configure \ +%if "%{pld_release}" == "ti" --openssldir=%{_var}/lib/%{name} \ - --lib=%{_lib} \ +%else + --openssldir=%{_sysconfdir}/%{name} \ +%endif + --libdir=%{_lib} \ shared threads \ - enable-mdc2 enable-rc5 \ + enable-tlsext \ + enable-seed \ + enable-rfc3779 \ + enable-cms \ + enable-idea \ + enable-mdc2 \ + enable-rc5 \ %ifarch %{ix86} %ifarch i386 386 linux-elf @@ -245,7 +264,7 @@ OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}" \ %{__make} -j1 all rehash %{?with_tests:tests} \ CC="%{__cc}" \ - ASFLAG='$(CFLAG) -Wa,--noexecstack' \ + ASFLAG='$(CFLAG) -c -Wa,--noexecstack' \ INSTALLTOP=%{_prefix} # Rename POD sources of man pages. "openssl_" prefix is added to each @@ -265,6 +284,7 @@ done rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \ $RPM_BUILD_ROOT{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \ + $RPM_BUILD_ROOT/%{_lib}/engines \ $RPM_BUILD_ROOT%{_pkgconfigdir} %{__make} install \ @@ -272,24 +292,42 @@ install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \ 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 - +mv -f $RPM_BUILD_ROOT/%{_libdir}/engines/* $RPM_BUILD_ROOT/%{_lib}/engines +mv -f $RPM_BUILD_ROOT/%{_libdir}/lib*.so.*.* $RPM_BUILD_ROOT/%{_lib} +ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcrypto.*.*) $RPM_BUILD_ROOT%{_libdir}/libcrypto.so +ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libssl.*.*) $RPM_BUILD_ROOT%{_libdir}/libssl.so + +%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 +cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1 +install -p %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate +install -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/c_rehash.sh + +for mtype in man1 man3 man5 man7; do + for man in $RPM_BUILD_ROOT%{_mandir}/${mtype}/*.[0-9]; do + b=$(readlink "$man" || :) + [ -z "$b" ] && continue + # delete manual pages pointing to nowhere + [ ! -f "$RPM_BUILD_ROOT%{_mandir}/${mtype}/$b" ] && rm "$man" + # delete manual pages pointing to openssl_ prefixed man page + echo "$b" | grep -q "^openssl_" && rm "$man" + done +done %clean rm -rf $RPM_BUILD_ROOT @@ -297,28 +335,60 @@ 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 %doc doc/openssl_button.gif doc/openssl_button.html -%attr(755,root,root) %{_libdir}/libcrypto.so.*.*.* -%attr(755,root,root) %{_libdir}/libssl.so.*.*.* -%dir %{_libdir}/engines -%attr(755,root,root) %{_libdir}/engines/*.so +%attr(755,root,root) /%{_lib}/libcrypto.so.*.*.* +%attr(755,root,root) /%{_lib}/libssl.so.*.*.* +%dir /%{_lib}/engines +%attr(755,root,root) /%{_lib}/engines/*.so +%if "%{pld_release}" == "ti" %dir %{_var}/lib/%{name} %dir %{_var}/lib/%{name}/certs %dir %{_var}/lib/%{name}/private +%dir %{_sysconfdir}/%{name} +%attr(755,root,root) %{_sysconfdir}/%{name}/certs +%attr(755,root,root) %{_sysconfdir}/%{name}/private +%else +%dir %{_sysconfdir}/%{name} +%dir %{_sysconfdir}/%{name}/certs +%dir %{_sysconfdir}/%{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} @@ -327,11 +397,13 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/%{name}/c_info %attr(755,root,root) %{_libdir}/%{name}/c_issuer %attr(755,root,root) %{_libdir}/%{name}/c_name +%attr(755,root,root) %{_libdir}/%{name}/tsget %{_mandir}/man1/openssl.1* %{_mandir}/man1/openssl_asn1parse.1* %{_mandir}/man1/openssl_ca.1* %{_mandir}/man1/openssl_ciphers.1* +%{_mandir}/man1/openssl_cms.1* %{_mandir}/man1/openssl_crl.1* %{_mandir}/man1/openssl_crl2pkcs7.1* %{_mandir}/man1/openssl_dgst.1* @@ -341,6 +413,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/openssl_ec.1* %{_mandir}/man1/openssl_ecparam.1* %{_mandir}/man1/openssl_enc.1* +%{_mandir}/man1/openssl_*pkey*.1* %{_mandir}/man1/openssl_errstr.1* %{_mandir}/man1/openssl_gendsa.1* %{_mandir}/man1/openssl_genrsa.1* @@ -361,6 +434,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/openssl_smime.1* %{_mandir}/man1/openssl_speed.1* %{_mandir}/man1/openssl_spkac.1* +%{_mandir}/man1/openssl_ts.1* +%{_mandir}/man1/openssl_tsget.1* %{_mandir}/man1/openssl_verify.1* %{_mandir}/man1/openssl_version.1* %{_mandir}/man1/openssl_x509.1*