diff --git a/.gitignore b/.gitignore index c755cb4..38d1d01 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /Botan-1.8.12.stripped.tbz /Botan-1.8.13.stripped.tbz /Botan-1.8.14.stripped.tbz +/Botan-1.10.5.stripped.tbz diff --git a/README.fedora b/README.fedora index f3b8795..1a10d12 100644 --- a/README.fedora +++ b/README.fedora @@ -1,14 +1,13 @@ For legal reasons, the following modules have been completely removed from the Botan package in Fedora: - * Block Ciphers - * IDEA [src/block/idea] - * RC6 [src/block/rc6] - * RC5 [src/block/rc5] - * Public Key Base - * ECC Public Key [src/pubkey/ecc_key] - * ECC Domain Parameters [src/pubkey/ec_dompar] - * ECDSA [src/pubkey/ecdsa] - * ECKAEG [src/pubkey/eckaeg] - * Math - * GF(p) Math [src/math/gfpmath] +* IDEA Block Cipher [src/block/idea, src/block/idea_sse2] +* RC5 Block Cipher [src/block/rc5] +* RC6 Block Cipher [src/block/rc6] +* GF(p) Math [src/math/ec_gfp] +* ECC Domain Parameters [src/pubkey/ec_group] +* ECC Public Key [src/pubkey/ecc_key] +* ECDH [src/pubkey/ecdh] +* ECDSA [src/pubkey/ecdsa] +* GOST 34.10 [src/pubkey/gost_3410] +* SRP-6 [src/constructs/srp6] diff --git a/botan-1.8.14-soname.patch b/botan-1.8.14-soname.patch deleted file mode 100644 index 6976728..0000000 --- a/botan-1.8.14-soname.patch +++ /dev/null @@ -1,19 +0,0 @@ -# -# old_revision [adcf24b7e258c125f78aaff4ef2d3557f1183c3e] -# -# patch "configure.py" -# from [b43917e0e74e7ef1ff0024542da0dabe104a1582] -# to [ba82e657a585f31e9ba20056a57c5f597c0f0297] -# -============================================================ ---- configure.py b43917e0e74e7ef1ff0024542da0dabe104a1582 -+++ configure.py ba82e657a585f31e9ba20056a57c5f597c0f0297 -@@ -38,7 +38,7 @@ class BuildConfigurationInformation(obje - version_major = 1 - version_minor = 8 - version_patch = 14 -- version_so_patch = 13 -+ version_so_patch = 2 - version_suffix = '' - - version_string = '%d.%d.%d%s' % ( diff --git a/botan.spec b/botan.spec index 152464a..babc333 100644 --- a/botan.spec +++ b/botan.spec @@ -1,6 +1,8 @@ +%global major_version 1.10 + Name: botan -Version: 1.8.14 -Release: 2%{?dist} +Version: %{major_version}.5 +Release: 1%{?dist} Summary: Crypto library written in C++ Group: System Environment/Libraries @@ -10,18 +12,20 @@ URL: http://botan.randombit.net/ # here: http://files.randombit.net/botan/Botan-%%{version}.tbz Source0: Botan-%{version}.stripped.tbz Source1: README.fedora -# soname was changed unintentionally upstream, revert it. -Patch0: botan-1.8.14-soname.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-c++ BuildRequires: python +BuildRequires: python-sphinx +BuildRequires: python-devel +BuildRequires: boost-python-devel BuildRequires: bzip2-devel BuildRequires: zlib-devel BuildRequires: gmp-devel BuildRequires: openssl-devel +# do not check .so files in the python_sitelib directory +%global __provides_exclude_from ^(%{python_sitearch}/.*\\.so)$ %description Botan is a BSD-licensed crypto library written in C++. It provides a @@ -35,24 +39,47 @@ flavor of the library. %package devel Summary: Development files for %{name} Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pkgconfig Requires: bzip2-devel Requires: zlib-devel Requires: gmp-devel Requires: openssl-devel - %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%package doc +Summary: Documentation for %{name} +Group: Documentation +BuildArch: noarch + +%description doc +%{summary} + +This package contains HTML documentation for %{name}. + + +%package -n python-%{name} +Summary: Python bindings for %{name} +Group: System Environment/Libraries + +%description -n python-%{name} +%{summary} + +This package contains the Python binding for %{name}. + +Note: The Python binding should be considered alpha software, and the +interfaces may change in the future. + + %prep %setup -q -n Botan-%{version} -%patch0 -p0 cp -av %{SOURCE1} . + %build # we have the necessary prerequisites, so enable optional modules %define enable_modules gnump,bzip2,zlib,openssl @@ -67,23 +94,31 @@ cp -av %{SOURCE1} . --os=linux \ --cpu=%{_arch} \ --enable-modules=%{enable_modules} \ - --disable-modules=%{disable_modules} + --disable-modules=%{disable_modules} \ + --with-boost-python \ + --with-python-version=%{python_version} # (ab)using CXX as an easy way to inject our CXXFLAGS make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} +make -f Makefile.python \ + CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} %install -rm -rf %{buildroot} make install \ DESTDIR=%{buildroot}%{_prefix} \ DOCDIR=_doc \ INSTALL_CMD_EXEC="install -p -m 755" \ - INSTALL_CMD_DATA="install -p -m 644" \ + INSTALL_CMD_DATA="install -p -m 644" +make -f Makefile.python install \ + PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python_sitearch} -%clean -rm -rf %{buildroot} +# fixups +find doc/examples -type f -exec chmod -x {} \; +mv doc/examples/python doc/python-examples +rm _doc/manual/.buildinfo +rm -r _doc/manual/.doctrees %post -p /sbin/ldconfig @@ -93,22 +128,30 @@ rm -rf %{buildroot} %files -%defattr(-,root,root,-) -%{_libdir}/libbotan*-*.so -%doc _doc/readme.txt _doc/log.txt _doc/thanks.txt _doc/credits.txt -%doc _doc/license.txt _doc/fips140.tex _doc/pgpkeys.asc +%doc _doc/readme.txt +%doc doc/license.txt %doc README.fedora +%{_libdir}/libbotan-%{major_version}.so.* %files devel -%defattr(-,root,root,-) %doc doc/examples -%doc _doc/api* _doc/tutorial* -%{_bindir}/botan-config +%{_bindir}/botan-config-%{major_version} %{_includedir}/* -%exclude %{_libdir}/libbotan.a -%{_libdir}/libbotan.so -%{_libdir}/pkgconfig/botan-1.8.pc +%exclude %{_libdir}/libbotan-%{major_version}.a +%{_libdir}/libbotan-%{major_version}.so +%{_libdir}/pkgconfig/botan-%{major_version}.pc + + +%files doc +%doc _doc/manual +%doc _doc/readme.txt +%doc doc/license.txt + + +%files -n python-%{name} +%doc doc/python-examples +%{python_sitearch}/%{name} %check @@ -116,12 +159,18 @@ make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} check # these checks would fail mv checks/validate.dat{,.orig} -awk '/\[.*\]/{f=0} /\[(RC5.*|RC6|IDEA)\]/{f=1} (f && !/^#/){sub(/^/,"#")} {print}' \ +awk '/\[.*\]/{f=0} /\[(RC5.*|RC6|IDEA.*)\]/{f=1} (f && !/^#/){sub(/^/,"#")} {print}' \ checks/validate.dat.orig > checks/validate.dat LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./check --validate %changelog +* Fri Jul 26 2013 Thomas Moschny - 1.10.5-1 +- Update to 1.10.5. +- Modernize spec file. +- New -doc subpackage containing HTML documentation. +- Package Python binding. + * Wed Feb 13 2013 Fedora Release Engineering - 1.8.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild diff --git a/repack.sh b/repack.sh index 9bd4162..c74ea1b 100755 --- a/repack.sh +++ b/repack.sh @@ -1,6 +1,6 @@ #! /bin/bash -version=1.8.14 +version=1.10.5 name=Botan-${version} suffix=.tbz newsuffix=.stripped.tbz @@ -11,13 +11,16 @@ tmpfile=$(mktemp) ${compr} -cd ${name}${suffix} > ${tmpfile} -tar --delete --file=${tmpfile} ./Botan-${version}/src/block/idea -tar --delete --file=${tmpfile} ./Botan-${version}/src/block/rc6 -tar --delete --file=${tmpfile} ./Botan-${version}/src/block/rc5 -tar --delete --file=${tmpfile} ./Botan-${version}/src/math/gfpmath -tar --delete --file=${tmpfile} ./Botan-${version}/src/pubkey/ec_dompar -tar --delete --file=${tmpfile} ./Botan-${version}/src/pubkey/ecc_key -tar --delete --file=${tmpfile} ./Botan-${version}/src/pubkey/ecdsa -tar --delete --file=${tmpfile} ./Botan-${version}/src/pubkey/eckaeg +tar --delete --file=${tmpfile} Botan-${version}/src/block/idea +tar --delete --file=${tmpfile} Botan-${version}/src/block/idea_sse2 +tar --delete --file=${tmpfile} Botan-${version}/src/block/rc6 +tar --delete --file=${tmpfile} Botan-${version}/src/block/rc5 +tar --delete --file=${tmpfile} Botan-${version}/src/math/ec_gfp +tar --delete --file=${tmpfile} Botan-${version}/src/pubkey/ecc_key +tar --delete --file=${tmpfile} Botan-${version}/src/pubkey/ecdh +tar --delete --file=${tmpfile} Botan-${version}/src/pubkey/ecdsa +tar --delete --file=${tmpfile} Botan-${version}/src/pubkey/ec_group +tar --delete --file=${tmpfile} Botan-${version}/src/pubkey/gost_3410 +tar --delete --file=${tmpfile} Botan-${version}/src/constructs/srp6 ${compr} -c ${tmpfile} > ${name}${newsuffix} diff --git a/sources b/sources index 219b46d..f334e98 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4b5ce78b1cfc0735eb7ec4f6903068ca Botan-1.8.14.stripped.tbz +dcc2a74f56c617add323df4ae175c1a5 Botan-1.10.5.stripped.tbz