X-Git-Url: http://git.pld-linux.org/?p=packages%2Fopenssl.git;a=blobdiff_plain;f=openssl.spec;h=506cc597e7e8ba125bb00a6d5870a8d668eb4db5;hp=ff8a4e0412a74cf6227f98cc18d14ae4f7ead9a1;hb=437201d8490bcf1ad848b561b7bb005c3ce4d627;hpb=da51d2076505f9aecc862952dd21b7fe75e41a7a diff --git a/openssl.spec b/openssl.spec index ff8a4e0..cee3e4c 100644 --- a/openssl.spec +++ b/openssl.spec @@ -1,26 +1,45 @@ -Summary: Library and toolkit for the "Secure Sockets Layer" (SSL v2/v3) -Summary(de): Secure Sockets Layer (SSL)-Kommunikationslibrary & Utilities -Summary(fr): Utilitaires et librairies de communication SSL (Secure Sockets Layer) -Name: openssl -Version: 0.9.4 -Release: 2 -Group: Libraries -Group(pl): Biblioteki -Source: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz -Patch: openssl-perl.patch -Vendor: The OpenSSL Project -License: Apache-style License -BuildRequires: symlinks -BuildRequires: perl -BuildRoot: /tmp/%{name}-%{version}-root +# +# Conditional build: +%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 +Summary(es.UTF-8): Biblioteca C que suministra algoritmos y protocolos criptográficos +Summary(fr.UTF-8): Utilitaires de communication SSL (Secure Sockets Layer) +Summary(pl.UTF-8): Biblioteki OpenSSL (SSL v2/v3) +Summary(pt_BR.UTF-8): Uma biblioteca C que fornece vários algoritmos e protocolos criptográficos +Summary(ru.UTF-8): Библиотеки и утилиты для соединений через Secure Sockets Layer +Summary(uk.UTF-8): Бібліотеки та утиліти для з'єднань через Secure Sockets Layer +Name: openssl +Version: 0.9.8d +Release: 3 +License: Apache-style License +Group: Libraries +Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz +# Source0-md5: 8ed1853538e1d05a1f5ada61ebf8bffa +Source1: %{name}-ca-bundle.crt +Source2: %{name}.1.pl +Source3: %{name}-ssl-certificate.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}-gcc_4_2.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 Obsoletes: SSLeay Obsoletes: SSLeay-devel Obsoletes: SSLeay-perl - -%define openssldir /var/state/openssl -%define _sysconfdir /etc/%{name} -%define _pkglibdir %{_libdir}/%{name} -%define _pkgincludedir %{_includedir}/%{name} +Obsoletes: libopenssl0 +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description The OpenSSL Project is a collaborative effort to develop a robust, @@ -30,129 +49,391 @@ v1) protocols with full-strength cryptography world-wide. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL tookit and its related documentation. - + OpenSSL is based on the excellent SSLeay library developed by Eric A. Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an Apache-style licence, which basically means that you are free to get and use it for commercial and non-commercial purposes subject to some simple license conditions. -%description -l de -Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared libraries, -die verschiedene Verschlüsselungs- und Entschlüsselungsalgorithmen und --protokolle, wie DES, RC4, RSA und SSL zur Verfügung stellen. +This package contains shared libraries only, install openssl-tools if +you want to use openssl cmdline tool. + +%description -l de.UTF-8 +Openssl enthält das OpenSSL Zertifikatsmanagementtool und shared +libraries, die verschiedene Verschlüsselungs- und +Entschlüsselungsalgorithmen und -protokolle, wie DES, RC4, RSA und SSL +zur Verfügung stellen. + +%description -l es.UTF-8 +Biblioteca C que suministra algoritmos y protocolos criptográficos. + +%description -l fr.UTF-8 +OpenSSL est un outiil de gestion des certificats et les librairies +partagees qui fournit plusieurs protocoles et algorithmes de +codage/decodage, incluant DES, RC4, RSA et SSL. + +%description -l pl.UTF-8 +Implementacja protokołów kryptograficznych Secure Socket Layer (SSL) +v2/v3 oraz Transport Layer Security (TLS v1). + +%description -l pt_BR.UTF-8 +Uma biblioteca C que fornece vários algoritmos e protocolos +criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas +compartilhadas e utilitários. + +%description -l ru.UTF-8 +Программа openssl для работы с сертификатами и разделяемые библиотеки, +которые реализуют множетсво криптографических алгоритмов, включая DES, +RC4, RSA и SSL. + +%description -l uk.UTF-8 +Програма openssl для роботи з сертифікатами та бібліотеки спільного +користування, що реалізують велику кількість криптографічних +алгоритмів, включаючи DES, RC4, RSA та SSL. -%description -l fr -OpenSSL est un outiil de gestion des certificats et les librairies partagees -qui fournit plusieurs protocoles et algorithmes de codage/decodage, incluant -DES, RC4, RSA et SSL. +%package tools +Summary: OpenSSL command line tool and utilities +Summary(pl.UTF-8): Zestaw narzędzi i skryptów +Group: Applications/Communications +Requires: %{name} = %{version}-%{release} + +%description tools +The OpenSSL Toolkit cmdline tool openssl and utility scripts. + +%description tools -l pl.UTF-8 +Zestaw narzędzi i skryptów wywoływanych z linii poleceń. + +%package tools-perl +Summary: OpenSSL utilities written in Perl +Summary(pl.UTF-8): Narzędzia OpenSSL napisane w perlu +Group: Applications/Communications +Requires: %{name} = %{version}-%{release} + +%description tools-perl +OpenSSL Toolkit tools written in Perl. + +%description tools-perl -l pl.UTF-8 +Narzędzia OpenSSL napisane w perlu. %package devel -Summary: Development part of OpenSSL library -Summary(de): Secure Sockets Layer Kommunikationslibrary: statische libraries+header -Summary(fr): Librairies statiques, headers et utilitaires pour communication SSL (Secure Sockets Layer) -Summary(pl): Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów +Summary: Development part of OpenSSL Toolkit libraries +Summary(de.UTF-8): Secure Sockets Layer Kommunikationslibrary: statische libraries+header +Summary(es.UTF-8): Bibliotecas y archivos de inclusión para desarrollo OpenSSL +Summary(fr.UTF-8): Librairies statiques, headers et utilitaires pour communication SSL +Summary(pl.UTF-8): Część bibiloteki OpenSSL przeznaczona dla programistów +Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento OpenSSL +Summary(ru.UTF-8): Библиотеки, хедеры и утилиты для Secure Sockets Layer +Summary(uk.UTF-8): Бібліотеки, хедери та утиліти для Secure Sockets Layer Group: Development/Libraries -Group(pl): Programowanie/Biblioteki -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} +Obsoletes: libopenssl0-devel %description devel Development part of OpenSSL library. -%description devel -l pl -Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów. +%description devel -l es.UTF-8 +Bibliotecas y archivos de inclusión para desarrollo OpenSSL + +%description devel -l pl.UTF-8 +Część biblioteki OpenSSL przeznaczona dla programistów. + +%description devel -l pt_BR.UTF-8 +Uma biblioteca C que fornece vários algoritmos e protocolos +criptográficos, incluindo DES, RC4, RSA e SSL. Inclui bibliotecas e +arquivos de inclusão para desenvolvimento. + +%description devel -l ru.UTF-8 +Программа openssl для работы с сертификатами и разделяемые библиотеки, +которые реализуют множетсво криптографических алгоритмов, включая DES, +RC4, RSA и SSL. Включает библиотеки и хедеры для разработки приложений +с использованием SSL. + +%description devel -l uk.UTF-8 +Програма openssl для роботи з сертифікатами та бібліотеки спільного +користування, що реалізують велику кількість криптографічних +алгоритмів, включаючи DES, RC4, RSA та SSL. Містить бібліотеки та +хедери для розробки програм з використанням SSL. %package static -Summary: Static OpenSSL library -Summary(pl): Statyczna wersja biblioteki OpenSSL +Summary: Static OpenSSL libraries +Summary(pl.UTF-8): Statyczne wersje bibliotek z OpenSSL +Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com openssl +Summary(ru.UTF-8): Статические библиотеки разработчика для OpenSSL +Summary(uk.UTF-8): Статичні бібліотеки програміста для OpenSSL Group: Development/Libraries -Group(pl): Programowanie/Biblioteki -Requires: %{name}-devel = %{version} +Requires: %{name}-devel = %{version}-%{release} %description static -Static OpenSSL library. +Static OpenSSL Toolkit libraries. -%description static -l pl -Statyczna wersja biblioteki OpenSSL. +%description static -l pl.UTF-8 +Statyczne wersje bibliotek z OpenSSL. -%prep -%setup -q -%patch -p1 +%description static -l pt_BR.UTF-8 +Bibliotecas estáticas para desenvolvimento com openssl. -%build -for i in ` echo Configure Makefile.org `; do - sed -e 's#-m486##g' \ - -e 's#-O3 -fomit-frame-pointer#%{optflags}#g' \ - <$i >$i.work - mv $i.work $i -done +%description static -l ru.UTF-8 +Программа openssl для работы с сертификатами и разделяемые библиотеки, +которые реализуют множетсво криптографических алгоритмов, включая DES, +RC4, RSA и SSL. Включает статические библиотеки для разработки +приложений с использованием OpenSSL. -perl util/perlpath.pl %{_bindir} +%description static -l uk.UTF-8 +Програма openssl для роботи з сертифікатами та бібліотеки спільного +користування, що реалізують велику кількість криптографічних +алгоритмів, включаючи DES, RC4, RSA та SSL. Містить статичні +бібліотеки для розробки програм з використанням SSL. -ln -s crypto sslcrypto +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 -./config --openssldir=%{openssldir} +%build +%{__perl} -pi -e 's#%{_prefix}/local/bin/perl#%{__perl}#g' \ + `grep -l -r "%{_prefix}/local/bin/perl" *` + +touch Makefile.* + +%{__perl} util/perlpath.pl %{__perl} + +OPTFLAGS="%{rpmcflags} %{?with_purify:-DPURIFY}" +LDFLAGS="%{rpmldflags}" +export OPTFLAGS LDFLAGS +./Configure \ + --openssldir=%{_var}/lib/%{name} \ + --lib=%{_lib} \ + shared threads \ + enable-mdc2 enable-rc5 \ +%ifarch %{ix86} +%ifarch i386 + 386 linux-elf +# ^- allow running on 80386 (default code uses bswapl available on i486+) +%else + linux-elf +%endif +%endif +%ifarch alpha + linux-alpha+bwx-gcc +%endif +%ifarch %{x8664} + linux-x86_64 +%endif +%ifarch ia64 + linux-ia64 +%endif +%ifarch ppc + linux-ppc +%endif +%ifarch ppc64 + linux-ppc64 +%endif +%ifarch sparc + linux-sparcv8 +%endif +%ifarch sparcv9 + linux-sparcv9 +%endif +%ifarch sparc64 + linux64-sparcv9 +%endif + +%{__make} -j1 all rehash tests \ + CC="%{__cc}" \ + 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" + +cd doc/apps || exit 1 +%{__perl} -pi -e 's/(\W)((? $manpage; + echo "$manpage"; +done +cd .. + +sec=3 +for dir in 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)((? $manpage; + echo "$manpage"; + done + cd .. +done -make OPT_FLAGS="$RPM_OPT_FLAGS" linux-shared -make INSTALLTOP=%{_prefix} OPT_FLAGS="$RPM_OPT_FLAGS" -make rehash +#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{%{_mandir}/{pl/man1,man{1,3,5,7}},%{_datadir}/ssl} \ + $RPM_BUILD_ROOT%{_pkgconfigdir} -install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_pkglibdir}} - -make install \ +%{__make} install \ + CC="%{__cc}" \ INSTALLTOP=%{_prefix} \ - INSTALL_PREFIX=$RPM_BUILD_ROOT + INSTALL_PREFIX=$RPM_BUILD_ROOT \ + MANDIR=%{_mandir} -install libRSAglue.a $RPM_BUILD_ROOT%{_libdir} -install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir} -cp -d lib*.so $RPM_BUILD_ROOT%{_libdir} +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 $RPM_BUILD_ROOT%{openssldir}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir} -ln -s %{_sysconfdir}/openssl.cnf \ - $RPM_BUILD_ROOT%{openssldir}/openssl.cnf -symlinks -cs $RPM_BUILD_ROOT%{openssldir} +mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name} +rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc -mv $RPM_BUILD_ROOT%{openssldir}/misc/* $RPM_BUILD_ROOT%{_pkglibdir} -rm -rf $RPM_BUILD_ROOT%{openssldir}/misc +mv -f $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name} -strip $RPM_BUILD_ROOT%{_bindir}/* || : -strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* || : +find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f +install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 +install doc/apps/*.5 $RPM_BUILD_ROOT%{_mandir}/man5 +install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3 +install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7 +install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/pl/man1/openssl.1 +install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/ssl-certificate -gzip -9fn CHANGES CHANGES.SSLeay LICENSE NEWS README \ - doc/*.pod doc/*.txt - -%post -%{_bindir}/c_rehash certs -/sbin/ldconfig - -%postun -p /sbin/ldconfig +rm $RPM_BUILD_ROOT%{_mandir}/man5/x509v3_config.5 +echo ".so openssl_x509v3_config.5" > $RPM_BUILD_ROOT%{_mandir}/man5/x509v3_config.5 +rm $RPM_BUILD_ROOT%{_mandir}/man7/Modes_of_DES.7 +echo ".so openssl_des_modes.7" > $RPM_BUILD_ROOT%{_mandir}/man7/Modes_of_DES.7 %clean rm -rf $RPM_BUILD_ROOT +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc {CHANGES,CHANGES.SSLeay,LICENSE,NEWS,README}.gz -%doc doc/*.pod.gz doc/*.txt.gz +%doc CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt %doc doc/openssl_button.gif doc/openssl_button.html - -%attr(755,root,root) %{_bindir}/* -%verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/openssl.cnf -%verify(not md5 size mtime) %config(noreplace) %{openssldir}/openssl.cnf -%{openssldir}/certs -%{openssldir}/private -%dir %{_pkglibdir} -%attr(755,root,root) %{_pkglibdir}/* -%attr(755,root,root) %{_libdir}/lib*.so.*.* +%attr(755,root,root) %{_libdir}/libcrypto.so.*.*.* +%attr(755,root,root) %{_libdir}/libssl.so.*.*.* +%dir %{_libdir}/engines +%attr(755,root,root) %{_libdir}/engines/*.so +%dir %{_var}/lib/%{name} +%dir %{_var}/lib/%{name}/certs +%dir %{_var}/lib/%{name}/private +%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 +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/%{name}/openssl.cnf + +%attr(755,root,root) %{_bindir}/%{name} +%attr(754,root,root) %{_bindir}/ssl-certificate + +%dir %{_libdir}/%{name} +%attr(755,root,root) %{_libdir}/%{name}/CA.sh +%attr(755,root,root) %{_libdir}/%{name}/c_hash +%attr(755,root,root) %{_libdir}/%{name}/c_info +%attr(755,root,root) %{_libdir}/%{name}/c_issuer +%attr(755,root,root) %{_libdir}/%{name}/c_name + +%{_mandir}/man1/openssl.1* +%{_mandir}/man1/openssl_asn1parse.1* +%{_mandir}/man1/openssl_ca.1* +%{_mandir}/man1/openssl_ciphers.1* +%{_mandir}/man1/openssl_crl.1* +%{_mandir}/man1/openssl_crl2pkcs7.1* +%{_mandir}/man1/openssl_dgst.1* +%{_mandir}/man1/openssl_dhparam.1* +%{_mandir}/man1/openssl_dsa.1* +%{_mandir}/man1/openssl_dsaparam.1* +%{_mandir}/man1/openssl_ec.1* +%{_mandir}/man1/openssl_ecparam.1* +%{_mandir}/man1/openssl_enc.1* +%{_mandir}/man1/openssl_errstr.1* +%{_mandir}/man1/openssl_gendsa.1* +%{_mandir}/man1/openssl_genrsa.1* +%{_mandir}/man1/openssl_nseq.1* +%{_mandir}/man1/openssl_ocsp.1* +%{_mandir}/man1/openssl_passwd.1* +%{_mandir}/man1/openssl_pkcs12.1* +%{_mandir}/man1/openssl_pkcs7.1* +%{_mandir}/man1/openssl_pkcs8.1* +%{_mandir}/man1/openssl_rand.1* +%{_mandir}/man1/openssl_req.1* +%{_mandir}/man1/openssl_rsa.1* +%{_mandir}/man1/openssl_rsautl.1* +%{_mandir}/man1/openssl_s_client.1* +%{_mandir}/man1/openssl_s_server.1* +%{_mandir}/man1/openssl_s_time.1* +%{_mandir}/man1/openssl_sess_id.1* +%{_mandir}/man1/openssl_smime.1* +%{_mandir}/man1/openssl_speed.1* +%{_mandir}/man1/openssl_spkac.1* +%{_mandir}/man1/openssl_verify.1* +%{_mandir}/man1/openssl_version.1* +%{_mandir}/man1/openssl_x509.1* +%{_mandir}/man1/openssl_x509v3_config.1* +%{_mandir}/man5/*.5* +%lang(pl) %{_mandir}/pl/man1/openssl.1* + +%files tools-perl +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/CA.pl +%attr(755,root,root) %{_libdir}/%{name}/c_rehash +%{_mandir}/man1/openssl_CA.pl.1* %files devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/lib*.so -%{_pkgincludedir} +%attr(755,root,root) %{_libdir}/libcrypto.so +%attr(755,root,root) %{_libdir}/libssl.so +%{_includedir}/%{name} +%{_pkgconfigdir}/libcrypto.pc +%{_pkgconfigdir}/libssl.pc +%{_pkgconfigdir}/openssl.pc +%{_mandir}/man3/openssl*.3* +%{_mandir}/man7/*.7* %files static %defattr(644,root,root,755)