[botan] Update to 1.10.5.

Thomas Moschny thm at fedoraproject.org
Fri Jul 26 03:04:20 UTC 2013


commit a180054edb5c62194bdd0891457a9837a81f2018
Author: Thomas Moschny <thm at fedoraproject.org>
Date:   Fri Jul 26 04:32:34 2013 +0200

    Update to 1.10.5.
    
    - Modernize spec file.
    - New -doc subpackage containing HTML documentation.
    - Package Python binding.

 .gitignore                |    1 +
 README.fedora             |   21 +++++-----
 botan-1.8.14-soname.patch |   19 ---------
 botan.spec                |   97 ++++++++++++++++++++++++++++++++++-----------
 repack.sh                 |   21 ++++++----
 sources                   |    2 +-
 6 files changed, 97 insertions(+), 64 deletions(-)
---
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.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 <thomas.moschny at gmx.de> - 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 <rel-eng at lists.fedoraproject.org> - 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


More information about the scm-commits mailing list