+# conditional build:
+# _without_embed - don't build uClibc version
%include /usr/lib/rpm/macros.perl
Summary: OpenSSL Toolkit libraries for the "Secure Sockets Layer" (SSL v2/v3)
Summary(de): Secure Sockets Layer (SSL)-Kommunikationslibrary
Summary(fr): Utilitaires de communication SSL (Secure Sockets Layer)
Name: openssl
-Version: 0.9.6a
-Release: 1
+Version: 0.9.6b
+Release: 6
+License: Apache-style License
+Vendor: The OpenSSL Project
Group: Libraries
Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
+Group(pt_BR): Bibliotecas
+Group(ru): âÉÂÌÉÏÔÅËÉ
+Group(uk): â¦Â̦ÏÔÅËÉ
Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
Patch0: %{name}-alpha-ccc.patch
-Vendor: The OpenSSL Project
-License: Apache-style License
-BuildRequires: perl
+# patch1 is only for 0.9.6a version. This version isn't binary
+# compatibile with 0.9.6 but have this same soname.
+Patch1: %{name}-soname.patch
+Patch2: %{name}-optflags.patch
+Patch3: %{name}-nocrypt.patch
+BuildRequires: perl-devel >= 5.6.1
BuildRequires: textutils
+%if %{!?_without_embed:1}%{?_without_embed:0}
+BuildRequires: uClibc-devel
+BuildRequires: uClibc-static
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Obsoletes: SSLeay
Obsoletes: SSLeay-devel
Obsoletes: SSLeay-perl
+Obsoletes: libopenssl0
+
+%define embed_path /usr/lib/embed
+%define embed_cc %{_arch}-uclibc-cc
+%define embed_cflags %{rpmcflags} -Os
+%define uclibc_prefix /usr/%{_arch}-linux-uclibc
%description
The OpenSSL Project is a collaborative effort to develop a robust,
Summary: OpenSSL utilities written in Perl
Group: Applications/Communications
Group(de): Applikationen/Kommunikation
-Group(fr): Utilitaires
Group(pl): Aplikacje/Komunikacja
Requires: %{name} = %{version}
Group(fr): Development/Librairies
Group(pl): Programowanie/Biblioteki
Requires: %{name} = %{version}
+Obsoletes: libopenssl0-devel
%description devel
Development part of OpenSSL library.
%description devel -l pl
Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów.
+%package devel-embed
+Summary: Development part of OpenSSL Toolkit embedded libraries
+Summary(pl): Czê¶æ bibiloteki OpenSSL przeznaczona dla aplikacji wbudowanych
+Group: Development/Libraries
+Group(de): Entwicklung/Libraries
+Group(fr): Development/Librairies
+Group(pl): Programowanie/Biblioteki
+Requires: %{name} = %{version}
+
+%description devel-embed
+Development part of OpenSSL library for embedded applications.
+
+%description -l pl devel-embed
+Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów aplikacji
+wbudowanych.
+
%package static
Summary: Static OpenSSL libraries
Summary(pl): Statyczne wersje bibliotek z OpenSSL
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
for f in ` grep -r "/usr/local/bin/perl" . | cut -d":" -f1`; do
perl -pi -e 's#/usr/local/bin/perl#%{_bindir}/perl#g' $f
done
-for i in Configure Makefile.org ; do
- perl -pi -e 's#-m486##g' $i
- perl -pi -e 's#-O3 -fomit-frame-pointer#%{optflags}#g' $i
- perl -pi -e 's#-mcpu=ultrasparc#%{optflags}#g' $i
-done
touch Makefile.*
perl util/perlpath.pl %{_bindir}/perl
+OPTFLAGS="%{rpmcflags}"
+export OPTFLAGS
%ifarch i386 i486
./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared 386
%endif
-%ifarch i586 i686
+%ifarch i586 i686 athlon
./Configure --openssldir=%{_var}/lib/%{name} linux-elf shared
%endif
%ifarch ppc
./Configure --openssldir=%{_var}/lib/%{name} linux-ppc shared
%endif
%ifarch alpha
-./Configure --openssldir=%{_var}/lib/%{name} threads linux-alpha+bwx-gcc
+./Configure --openssldir=%{_var}/lib/%{name} threads linux-alpha+bwx-gcc shared
+%endif
+%ifarch sparc
+./Configure --openssldir=%{_var}/lib/%{name} threads linux-sparcv8 shared
%endif
-%{__make} OPT_FLAGS="%{rpmcflags} -DSSL_ALLOW_DH"
-%{__make} INSTALLTOP=%{_prefix} \
- OPT_FLAGS="%{rpmcflags}"
-%ifarch alpha
-%{__make} linux-shared
+%if %{!?_without_embed:1}%{?_without_embed:0}
+%{__make} CC=%{embed_cc}
+%{__make} rehash CC=%{embed_cc}
+for f in RSAglue crypto ssl ; do
+ mv -f lib$f.a lib$f.a-embed
+done
+%{__make} clean
%endif
+
+%{__make}
%{__make} rehash
# Conv PODs to man pages. "openssl_" prefix is added to each manpage
ln -sf libcrypto.so.*.* $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
ln -sf libssl.so.*.* $RPM_BUILD_ROOT%{_libdir}/libssl.so
-#cd perl
-#make install DESTDIR=$RPM_BUILD_ROOT
-#cd ..
-
mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/openssl.cnf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
-ln -s ../../../%{_sysconfdir}/%{name}/openssl.cnf \
+ln -s %{_sysconfdir}/%{name}/openssl.cnf \
$RPM_BUILD_ROOT%{_var}/lib/%{name}/%{name}.cnf
mv -f $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
install doc/ssl/*.3 doc/crypto/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
install doc/crypto/*.7 $RPM_BUILD_ROOT%{_mandir}/man7
+%if %{!?_without_embed:1}%{?_without_embed:0}
+install -d $RPM_BUILD_ROOT%{uclibc_prefix}/{include,lib}
+for f in RSAglue crypto ssl ; do
+ install lib$f.a-embed $RPM_BUILD_ROOT%{uclibc_prefix}/lib/lib$f.a
+done
+cp -a $RPM_BUILD_ROOT%{_includedir}/%{name} \
+ $RPM_BUILD_ROOT%{uclibc_prefix}/include
+%endif
+
gzip -9nf CHANGES CHANGES.SSLeay LICENSE NEWS README doc/*.txt
%post -p /sbin/ldconfig
%{_includedir}/%{name}
%{_mandir}/man3/*.3*
+%if %{!?_without_embed:1}%{?_without_embed:0}
+%files devel-embed
+%defattr(644,root,root,755)
+%{uclibc_prefix}/lib/*
+%{uclibc_prefix}/include/%{name}
+%endif
+
%files static
%defattr(644,root,root,755)
%{_libdir}/lib*.a