-Summary: Library and toolkit for the "Secure Sockets Layer" (SSL v2/v3)
-Name: openssl
-Version: 0.9.2b
-Release: 2
-Group: Libraries
+%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.5a
+Release: 3
+Group: Libraries
Group(pl): Biblioteki
-Source: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
-Patch0: openssl-sslcrypto.patch
-Patch1: openssl-perl.patch
-Patch2: openssl-shlib.patch
-Vendor: The OpenSSL Project
-License: Apache-style License
-Packager: PLD Bug tracking <pld@pld.org.pl>
-BuildRoot: /tmp/%{name}-%{version}-root
+Group(fr): Librairies
+Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
+Patch0: %{name}-perl.patch
+Vendor: The OpenSSL Project
+License: Apache-style License
+BuildRequires: symlinks
+BuildRequires: perl
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Obsoletes: SSLeay
Obsoletes: SSLeay-devel
Obsoletes: SSLeay-perl
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.
+This package contains shared libraries only, install openssl-tools
+if you want to use openssl cmdline tool.
+
+%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.
+
+%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
+Group: Utilities
+Group(pl): Narzêdzia
+Group(fr): Utilitaires
+Requires: %{name} = %{version}
+
+%description tools
+The OpenSSL Toolkit cmdline tool openssl and utility scripts.
+
+%package tools-perl
+Summary: OpenSSL utilities written in Perl
+Group: Utilities
+Group(pl): Narzêdzia
+Group(fr): Utilitaires
+Requires: %{name} = %{version}
+
+%description tools-perl
+OpenSSL Toolkit tools written in Perl
+
+%package devel
+Summary: Development part of OpenSSL Toolkit libraries
+Summary(de): Secure Sockets Layer Kommunikationslibrary: statische libraries+header
+Summary(fr): Librairies statiques, headers et utilitaires pour communication SSL
+Summary(pl): Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów
+Group: Development/Libraries
+Group(pl): Programowanie/Biblioteki
+Group(fr): Development/Librairies
+Requires: %{name} = %{version}
+
+%description devel
+Development part of OpenSSL library.
+
+%description devel -l pl
+Czê¶æ bibiloteki OpenSSL przeznaczona dla programistów.
+
+%package static
+Summary: Static OpenSSL libraries
+Summary(pl): Statyczne wersje bibliotek z OpenSSL
+Group: Development/Libraries
+Group(pl): Programowanie/Biblioteki
+Group(fr): Development/Librairies
+Requires: %{name}-devel = %{version}
+
+%description static
+Static OpenSSL Toolkit libraries.
+
+%description static -l pl
+Statyczne wersje bibliotek z OpenSSL.
+
%prep
-%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%setup -q
+%patch -p1
%build
-for i in ` echo Configure Makefile.org Makefile.ssl `; do
- sed -e 's#-m486##g' \
- -e 's#-O3 -fomit-frame-pointer#%{optflags}#g' \
- <$i >$i.work
- mv $i.work $i
+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
+done
+
+perl util/perlpath.pl %{_bindir}
+
+./config --openssldir=%{_var}/lib/%{name}
+
+%{__make} OPT_FLAGS="$RPM_OPT_FLAGS" linux-shared
+%{__make} INSTALLTOP=%{_prefix} OPT_FLAGS="$RPM_OPT_FLAGS"
+%{__make} rehash
+
+# Conv PODs to man pages. "openssl_" prefix is added to each manpage
+# to avoid potential conflicts with others packages.
+center="OpenSSL 0.9.5a"
+rel="OpenSSL 0.9.5a"
+
+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 $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 ..
-perl util/perlpath.pl /usr/bin
-perl util/ssldir.pl /var/lib/ssl
+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 -p -i -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`;
+ mv $pod openssl_$pod;
+ pod=openssl_$pod;
+ manpage=`basename $pod .pod`.$sec;
+ pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
+ echo "$manpage";
+ done
+ cd ..
+done
-./config
-make INSTALLTOP=/usr OPT_FLAGS="$RPM_OPT_FLAGS"
-make rehash
+#cd perl
+#perl Makefile.PL
+#make
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/{etc,usr/include/ssl,var/lib/ssl/{certs,private}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_libdir}/%{name}} \
+ $RPM_BUILD_ROOT%{_mandir}/{man1,man3,man5,man7}
+
+%{__make} install \
+ INSTALLTOP=%{_prefix} \
+ INSTALL_PREFIX=$RPM_BUILD_ROOT
-make INSTALLTOP=$RPM_BUILD_ROOT/usr install
+install libRSAglue.a $RPM_BUILD_ROOT%{_libdir}
+install lib*.so.*.* $RPM_BUILD_ROOT%{_libdir}
+cp -d lib*.so $RPM_BUILD_ROOT%{_libdir}
-install libRSAglue.a $RPM_BUILD_ROOT/usr/lib
+#cd perl
+#make install DESTDIR=$RPM_BUILD_ROOT
+#cd ..
-mv $RPM_BUILD_ROOT/usr/include/*.h $RPM_BUILD_ROOT/usr/include/ssl
+mv $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
+symlinks -cs $RPM_BUILD_ROOT%{_var}/lib/%{name}
-mv $RPM_BUILD_ROOT/usr/lib/openssl.cnf $RPM_BUILD_ROOT/etc
-ln -s ../../etc/openssl.cnf $RPM_BUILD_ROOT/usr/lib/openssl.cnf
+mv $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc/* $RPM_BUILD_ROOT%{_libdir}/%{name}
+rm -rf $RPM_BUILD_ROOT%{_var}/lib/%{name}/misc
-gzip -9fn CHANGES CHANGES.SSLeay LICENSE NEWS README \
- doc/*.pod doc/*.txt
+mv $RPM_BUILD_ROOT%{_bindir}/c_rehash $RPM_BUILD_ROOT%{_libdir}/%{name}
-%post
-/usr/bin/c_rehash certs
+strip $RPM_BUILD_ROOT%{_bindir}/* || :
+strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.*
+
+gzip -9nf doc/apps/*.?
+gzip -9nf doc/ssl/*.?
+gzip -9nf doc/crypto/*.?
+
+find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f
+install doc/apps/*.1.gz $RPM_BUILD_ROOT%{_mandir}/man1
+install doc/apps/*.5.gz $RPM_BUILD_ROOT%{_mandir}/man5
+install doc/ssl/*.3.gz doc/crypto/*.3.gz $RPM_BUILD_ROOT%{_mandir}/man3
+install doc/crypto/*.7.gz $RPM_BUILD_ROOT%{_mandir}/man7
+
+gzip -9nf {CHANGES,CHANGES.SSLeay,LICENSE,NEWS,README,doc/*.txt}
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
%clean
-#rm -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so.*.*
%doc {CHANGES,CHANGES.SSLeay,LICENSE,NEWS,README}.gz
-%doc doc/*.pod.gz doc/*.txt.gz
-%doc doc/openssl_button.gif doc/openssl_button.html
-
-%attr(755,root,root) /usr/bin/*
-%verify(not md5 size mtime) %config(noreplace) /etc/openssl.cnf
-%verify(not md5 size mtime) %config(noreplace) /usr/lib/openssl.cnf
-/usr/lib/lib*.a
-/usr/include/ssl/*.h
-/var/lib/ssl
-
-%changelog
-* Wed Apr 14 1999 Artur Frysiak <wiget@pld.org.pl>
- [0.9.2c-2]
-- rewrite for PLD
-TODO: make shared libs and perl subpackage
+%doc doc/*.txt.gz doc/openssl_button.gif doc/openssl_button.html
+
+%files tools
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/%{name}
+%dir %{_var}/lib/%{name}
+%dir %{_var}/lib/%{name}/private
+%dir %{_var}/lib/%{name}/certs
+%verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/%{name}/openssl.cnf
+%verify(not md5 size mtime) %config(noreplace) %{_var}/lib/%{name}/openssl.cnf
+
+%attr(755,root,root) %{_bindir}/%{name}
+%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_rehash
+%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.gz
+%{_mandir}/man1/openssl_asn1parse.1.gz
+%{_mandir}/man1/openssl_ca.1.gz
+%{_mandir}/man1/openssl_ciphers.1.gz
+%{_mandir}/man1/openssl_crl.1.gz
+%{_mandir}/man1/openssl_crl2pkcs7.1.gz
+%{_mandir}/man1/openssl_dgst.1.gz
+%{_mandir}/man1/openssl_dhparam.1.gz
+%{_mandir}/man1/openssl_dsa.1.gz
+%{_mandir}/man1/openssl_dsaparam.1.gz
+%{_mandir}/man1/openssl_enc.1.gz
+%{_mandir}/man1/openssl_gendsa.1.gz
+%{_mandir}/man1/openssl_genrsa.1.gz
+%{_mandir}/man1/openssl_nseq.1.gz
+%{_mandir}/man1/openssl_passwd.1.gz
+%{_mandir}/man1/openssl_pkcs12.1.gz
+%{_mandir}/man1/openssl_pkcs7.1.gz
+%{_mandir}/man1/openssl_pkcs8.1.gz
+%{_mandir}/man1/openssl_rand.1.gz
+%{_mandir}/man1/openssl_req.1.gz
+%{_mandir}/man1/openssl_rsa.1.gz
+%{_mandir}/man1/openssl_s_client.1.gz
+%{_mandir}/man1/openssl_s_server.1.gz
+%{_mandir}/man1/openssl_sess_id.1.gz
+%{_mandir}/man1/openssl_smime.1.gz
+%{_mandir}/man1/openssl_speed.1.gz
+%{_mandir}/man1/openssl_spkac.1.gz
+%{_mandir}/man1/openssl_verify.1.gz
+%{_mandir}/man1/openssl_version.1.gz
+%{_mandir}/man1/openssl_x509.1.gz
+%{_mandir}/man5/*.5.gz
+
+%files tools-perl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/CA.pl
+%attr(755,root,root) %{_libdir}/%{name}/der_chop
+%{_mandir}/man1/openssl_CA.pl.1.gz
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_includedir}/%{name}
+%{_mandir}/man3/*.3.gz
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a