Accepting request 578006 from home:sleep_walker:branches:devel:libraries:c_c++

- drop explicit package requirements
- split binary package and documentation from dynamic library package
- merge back Botan2 package to Botan with changelog history
- drop Botan patches
    aarch64-support.patch - doesn't seem to be required anymore
    Botan-fix_install_paths.patch - doesn't seem to be required
    no-cpuid-header.patch - SLE11 not target anymore
    Botan-fix_pkgconfig.patch - this seem to be wrong
    Botan-no-buildtime.patch - not needed anymore
    dont-set-mach-value.diff - doesn't apply, unclear and undocumented why it is there
    Botan-inttypes.patch - not required
    Botan-ull_constants.patch.bz2 - no reason anymore

- change group of libbotan-%{version_suffix} to 'System/Libraries' as
  requested on review

- Don't drop -fstack-clash-protection for openSUSE 42.3 - we just
  need the Update repository present.

- Rename libbotan-devel to libbotan2-devel. We can't have clashing
  packages in the archive because Botan1 and Botan2 provide the
  same -devel binary. Botan2 is also no API compatible with Botan.

- fix expected version after bump in baselibs.conf too

- fix unknown flag -fstack-clash-protection for openSUSE 42.3
- rename to Botan2
- drop Botan2-INT_MAX.patch as not needed anymore
- Bump to libbotan 2.4
  Changes and new features:

OBS-URL: https://build.opensuse.org/request/show/578006
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/Botan?expand=0&rev=75
This commit is contained in:
Philipp Thomas 2018-02-19 13:39:26 +00:00 committed by Git OBS Bridge
parent 09f378fbd5
commit 6607bcf30d
15 changed files with 365 additions and 247 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6847ffb64b8d2f939dccfecc17bd2c80385d08f7621e2c56d3a335118e823613
size 2706678

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEYh2vZBHhhRxM+aLhYhHr8e+637wFAlnSZaQACgkQYhHr8e+6
37xtgwf+KcmgrrfzAF6HLJJwOvMom+SnpHShvoMPqfmXwhvKELCQ8TypARF7Zbjw
e6M6Nvb/u2PhEoEX4p2vYPLxxtz+la5xXBa+UDbSO9nppFe0z6qIyR793gYWaUUT
vBonBeComOtn5vYEQ6Xj+X8JjH3xK1oKX+jNWHLKHcMUoNdRdu3dYS9Tkbvyy9DY
yjUrOE9/N8ATjSN9dEC0Xa29CMhgYxquIz6FuMspPxJHHD5/GrP+h5LfnR76vkaK
CBilE9VEYoLSTDQyHb6g0/Fz1l+YM159oe2SmFdOGBzI02EkYGBXxYc9fSpw92oH
rokKA1Q23WpaK0bzduvduBreYtIpsw==
=1D+U
-----END PGP SIGNATURE-----

3
Botan-2.4.0.tgz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed9464e2a5cfee4cd3d9bd7a8f80673b45c8a0718db2181a73f5465a606608a5
size 6530714

11
Botan-2.4.0.tgz.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEYh2vZBHhhRxM+aLhYhHr8e+637wFAlpTjj0ACgkQYhHr8e+6
37y8gQf/Z9fXByA70qe3CRKpdO3WYiHTg4ff0YyRPCN5Ud5Sp5nWncyNpdDGgD/l
HjBL6nAydp1g/3M2JLpIuepkqwP8iZLw3ZA+3eDhlnbNAY0sw+0SGpqVrv5zE57j
F69c+ZYqXkabFNBGZHtTilevYyW29G8i0dbCyzYxX2JOAu0JoRs2IYDRYUl60Fz9
TYCBZjcOGFw7FdE33dR4paRziSOMJV0RsnMRquM0P/CvFn6k/UG2Wx/s+UrhD2Oy
f5t/N5cs8jahQaOYXft0V+Bgv8JyA8mHerxSioI7z10dIYQykAnpkX3x1k8vbJRn
LKIAvJaMDKGMNw4xarWLUqqtShMwUw==
=DSh9
-----END PGP SIGNATURE-----

View File

@ -1,61 +0,0 @@
Index: src/build-data/makefile/unix.in
===================================================================
--- src/build-data/makefile/unix.in.orig 2011-06-21 17:33:59.550471797 +0200
+++ src/build-data/makefile/unix.in 2011-06-21 17:35:52.643901474 +0200
@@ -12,12 +12,12 @@ VERSION = %{version}
SERIES = %{version_major}.%{version_minor}
# Installation Settings
-DESTDIR = %{prefix}
+DESTDIR =
-BINDIR = $(DESTDIR)/bin
-LIBDIR = $(DESTDIR)/%{libdir}
-HEADERDIR = $(DESTDIR)/%{includedir}/botan-$(SERIES)/botan
-DOCDIR = $(DESTDIR)/%{docdir}/botan-$(VERSION)
+BINDIR = $(DESTDIR)%{prefix}/bin
+LIBDIR = $(DESTDIR)%{libdir}
+HEADERDIR = $(DESTDIR)%{includedir}/botan-$(SERIES)/botan
+DOCDIR = $(DESTDIR)%{docdir}/Botan-$(VERSION)
PKGCONF_DIR = $(LIBDIR)/pkgconfig
CONFIG_SCRIPT = %{botan_config}
Index: src/build-data/makefile/unix_shr.in
===================================================================
--- src/build-data/makefile/unix_shr.in.orig 2011-06-21 17:33:59.550471797 +0200
+++ src/build-data/makefile/unix_shr.in 2011-06-21 17:35:50.812926900 +0200
@@ -14,12 +14,12 @@ VERSION = %{version}
SERIES = %{version_major}.%{version_minor}
# Installation Settings
-DESTDIR = %{prefix}
+DESTDIR =
-BINDIR = $(DESTDIR)/bin
-LIBDIR = $(DESTDIR)/%{libdir}
-HEADERDIR = $(DESTDIR)/%{includedir}/botan-$(SERIES)/botan
-DOCDIR = $(DESTDIR)/%{docdir}/botan-$(VERSION)
+BINDIR = $(DESTDIR)%{prefix}/bin
+LIBDIR = $(DESTDIR)%{libdir}
+HEADERDIR = $(DESTDIR)%{includedir}/botan-$(SERIES)/botan
+DOCDIR = $(DESTDIR)%{docdir}/Botan-$(VERSION)
PKGCONF_DIR = $(LIBDIR)/pkgconfig
CONFIG_SCRIPT = %{botan_config}
--- src/build-data/botan-config.in.orig 2016-05-13 00:45:07.618245779 +0200
+++ src/build-data/botan-config.in 2016-05-13 00:45:38.386439746 +0200
@@ -32,12 +32,12 @@ while test $# -gt 0; do
exit 0
;;
--cflags)
- echo -I$prefix/$includedir
+ echo -I$includedir
;;
--libs)
if [ $prefix != "/usr" ]
then
- echo -L$prefix/$libdir -lbotan-%{version_major}.%{version_minor} %{link_to}
+ echo -L$libdir -lbotan-%{version_major}.%{version_minor} %{link_to}
else
echo -lbotan-%{version_major}.%{version_minor} %{link_to}
fi

View File

@ -1,10 +0,0 @@
--- src/build-data/botan.pc.in.orig 2016-05-13 00:48:09.219402555 +0200
+++ src/build-data/botan.pc.in 2016-05-13 00:48:57.479714720 +0200
@@ -1,6 +1,6 @@
prefix=%{prefix}
exec_prefix=${prefix}
-libdir=${prefix}/%{libdir}
+libdir=%{libdir}
includedir=${prefix}/include/botan-%{version_major}.%{version_minor}
Name: Botan

View File

@ -1,51 +0,0 @@
Index: src/utils/types.h
===================================================================
--- src/utils/types.h.orig 2011-06-20 15:52:09.000000000 +0200
+++ src/utils/types.h 2011-06-21 16:48:39.324325773 +0200
@@ -9,8 +9,8 @@
#define BOTAN_TYPES_H__
#include <botan/build.h>
-#include <stddef.h>
-
+#include <cstddef>
+#include <stdint.h>
/**
* The primary namespace for the botan library
*/
@@ -19,22 +19,22 @@ namespace Botan {
/**
* Typedef representing an unsigned 8-bit quantity
*/
-typedef unsigned char byte;
+typedef uint8_t byte;
/**
* Typedef representing an unsigned 16-bit quantity
*/
-typedef unsigned short u16bit;
+typedef uint16_t u16bit;
/**
* Typedef representing an unsigned 32-bit quantity
*/
-typedef unsigned int u32bit;
+typedef uint32_t u32bit;
/**
* Typedef representing a signed 32-bit quantity
*/
-typedef signed int s32bit;
+typedef int32_t s32bit;
/**
* Typedef representing an unsigned 64-bit quantity
@@ -44,7 +44,7 @@ typedef signed int s32bit;
#elif defined(__KCC)
typedef unsigned __long_long u64bit;
#elif defined(__GNUG__)
- __extension__ typedef unsigned long long u64bit;
+ __extension__ typedef uint64_t u64bit;
#else
typedef unsigned long long u64bit;
#endif

View File

@ -1,15 +0,0 @@
Index: src/build-data/buildh.in
===================================================================
--- src/build-data/buildh.in.orig 2011-06-20 15:52:09.000000000 +0200
+++ src/build-data/buildh.in 2011-06-21 14:54:51.287402063 +0200
@@ -3,8 +3,8 @@
#define BOTAN_BUILD_CONFIG_H__
/*
-* This file was automatically generated %{timestamp} UTC by
-* %{user}@%{hostname} running '%{command_line}'
+* This file was automatically generated by
+* %{user} running '%{command_line}'
*
* Target
* - Compiler: %{cc} %{lib_opt} %{mach_opt}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:507d8a827c6fcdfa05cba39af5fd7a8a868b062cf10bce0860d63c2592654d46
size 4718

View File

@ -1,3 +1,308 @@
-------------------------------------------------------------------
Fri Feb 16 16:07:40 UTC 2018 - sleep_walker@opensuse.org
- drop explicit package requirements
- split binary package and documentation from dynamic library package
- merge back Botan2 package to Botan with changelog history
- drop Botan patches
aarch64-support.patch - doesn't seem to be required anymore
Botan-fix_install_paths.patch - doesn't seem to be required
no-cpuid-header.patch - SLE11 not target anymore
Botan-fix_pkgconfig.patch - this seem to be wrong
Botan-no-buildtime.patch - not needed anymore
dont-set-mach-value.diff - doesn't apply, unclear and undocumented why it is there
Botan-inttypes.patch - not required
Botan-ull_constants.patch.bz2 - no reason anymore
-------------------------------------------------------------------
Wed Feb 14 10:29:44 UTC 2018 - sleep_walker@opensuse.org
- change group of libbotan-%{version_suffix} to 'System/Libraries' as
requested on review
-------------------------------------------------------------------
Mon Feb 12 07:45:50 UTC 2018 - adam.majer@suse.de
- Don't drop -fstack-clash-protection for openSUSE 42.3 - we just
need the Update repository present.
-------------------------------------------------------------------
Mon Feb 12 06:38:47 UTC 2018 - adam.majer@suse.de
- Rename libbotan-devel to libbotan2-devel. We can't have clashing
packages in the archive because Botan1 and Botan2 provide the
same -devel binary. Botan2 is also no API compatible with Botan.
-------------------------------------------------------------------
Sun Feb 11 10:33:35 UTC 2018 - sleep_walker@opensuse.org
- fix expected version after bump in baselibs.conf too
-------------------------------------------------------------------
Thu Feb 8 14:11:08 UTC 2018 - sleep_walker@opensuse.org
- fix unknown flag -fstack-clash-protection for openSUSE 42.3
- rename to Botan2
- drop Botan2-INT_MAX.patch as not needed anymore
- Bump to libbotan 2.4
Changes and new features:
* Several build improvements requested by downstream packagers,
including the ability to disable building the static library. All
makefile constructs that were specific to nmake or GNU make have
been eliminated, thus the option ``--makefile-style`` which was
previously used to select the makefile type has also been
removed. (GH #1230 #1237 #1300 #1318 #1319 #1324 #1325 #1346)
* Support for negotiating the DH group as specified in RFC 7919 is
now available in TLS (GH #1263)
* Support for ARIA-GCM ciphersuites are now available in TLS. They
are disabled by default. (GH #1284)
* Add support for generating and verifying X.509 objects
(certificates, CRLs, etc) using RSA-PSS signatures (GH #1270 and
#1368)
* Add support for AES key wrapping with padding, as specified in RFC
5649 and NIST SP 800-38F (GH #1301)
* OCSP requests made during certificate verification had the
potential to hang forever. Now the sockets are non-blocking and a
timeout is enforced. (GH #1360 fixing GH #1326)
* Add ``Public_Key::fingerprint_public`` which allows fingerprinting
the public key.
The previously available ``Private_Key::fingerprint`` is
deprecated, now ``Private_Key::fingerprint_private`` should be
used if this is required. (GH #1357)
* ECC certificates generated by Botan used an invalid encoding for
the parameters field, which was rejected by some certificate
validation libraries notably BouncyCastle. (GH #1367)
* Loading an ECC key which used OID encoding for the domain
parameters, then saving it, would result in a key using the
explicit parameters encoding. Now the OID encoding is
retained. (GH #1365)
* Correct various problems in certificate path validation that arose
when multiple paths could be constructed leading to a trusted root
but due to other constraints only some of them validated. (GH
#1363)
* It is now possible for certificate validation to return warning
indicators, such as that the distinguished name is not within
allowed limits or that a certificate with a negative serial number
was observed. (GH #1363 #1359)
* XMSS signatures now are multi-threaded for improved performance
(GH #1267)
* Fix a bug that caused the TLS peer cert list to be empty on a
resumed session. (GH #1303 #1342)
* Increase the maximum HMAC key length from 512 bytes to 4096
bytes. This allows using a DH key exchange in TLS with a group
greater than 4096 bits. (GH #1316)
* Fix a bug in the TLS server where, on receiving an SSLv3 client
hello, it would attempt to negotiate TLS v1.2. Now a
protocol_version alert is sent. Found with tlsfuzzer. (GH #1316)
* Fix several bugs related to sending the wrong TLS alert type in
various error scenarios, caught with tlsfuzzer.
* Add support for a ``tls_http_server`` command line utility which
responds to simple GET requests. This is useful for testing
against a browser, or various TLS test tools which expect the
underlying protocol to be HTTP. (GH #1315)
* Add an interface for generic PSK data stores, as well as an
implementation which encrypts stored values with AES key
wrapping. (GH #1302)
* Optimize GCM mode on systems both with and without carryless
multiply support. This includes a new base case implementation
(still constant time), a new SSSE3 implementation for systems with
SSSE3 but not clmul, and better algorithms for systems with clmul
and pmull. (GH #1253 #1263)
* Various optimizations for OCB, CFB, CTR, SM3, SM4, GMAC, BLAKE2b,
Blowfish, Twofish, CAST-128, and CRC24 (GH #1281)
* Salsa20 now supports the seek operation.
* Add ``EC_Group::known_named_groups`` (GH #1339)
* Symmetric algorithms (block ciphers, stream ciphers, MACs) now
verify that a key was set before accepting data. Previously
attempting to use an unkeyed object would instead result in either
a crash or invalid outputs. (GH #1279)
* The X509 certificate, CRL and PKCS10 types have been heavily
refactored internally. Previously all data of these types was
serialized to strings, then in the event a more complicated data
structure (such as X509_DN) was needed, it would be recreated from
the string representation. However the round trip process was not
perfect and could cause fields to become lost. This approach is no
longer used, fixing several bugs (GH #1010 #1089 #1242 #1252). The
internal data is now stored in a ``shared_ptr``, so copying such
objects is now very cheap. (GH #884)
* ASN.1 string objects previously held their contents as ISO 8859-1
codepoints. However this led to certificates which contained
strings outside of this character set (eg in Cyrillic, Greek, or
Chinese) being rejected. Now the strings are always converted to
UTF-8, which allows representing any character. In addition, UCS-4
strings are now supported. (GH #1113 #1250 #1287 #1289)
* It is now possible to create an uninitialized X509_Certificate
object. Such an object will throw if any attempt to access its
members is made. (GH #1335)
* In BER decoder, avoid unbounded stack recursion when parsing
nested indefinite length values. Now at most 16 nested indefinite
length values are accepted, anything deeper resulting in a
decoding error. (GH #1304 OSS-Fuzz 4353).
* A new ASN.1 printer API allows generating a string representation
of arbitrary BER data. This is used in the ``asn1print`` command
line utility and may be useful in other applications, for instance
for debugging.
* New functions for bit rotations that distinguish rotating by a
compile-time constant vs a runtime variable rotation. This allows
better optimizations in both cases. Notably performance of
CAST-128 and CAST-256 are substantially improved. (GH #1247)
* TLS CBC ciphersuites now are implemented using the standard CBC
code, instead of reimplementing CBC inside the TLS stack. This
allows for parallel decryption of TLS CBC ciphertexts, and
improves performance especially when using AES hardware
support. (GH #1269)
* Add callbacks to make it possible for an application using TLS to
provide custom implementations of signature schemes, eg when
offloading the computations to another device. (GH #1332)
* Use a direct calculation for calendar computations instead of
relying on non-portable operating system interfaces. (GH #1336)
* Fix a bug in the amalgamation generation which could cause build
failures on some systems including macOS. (GH #1264 #1265)
* A particular code sequence in TLS handshake would always (with an
ECC ciphersuite) result in an exception being thrown and then
caught. This has changed so no exception is thrown. (GH #1275)
* The code for byteswapping has been improved for ARMv7 and for
Windows x86-64 systems using MSVC. (GH #1274)
* The GMAC class no longer derives from GHASH. This should not cause
any noticeable change for applications. (GH #1253)
* The base implementation of AES now uses a single 4K table, instead
of 4 such tables. This offers a significant improvement against
cache-based side channels without hurting performance too much. In
addition the table is now guaranteed to be aligned on a cache
line, which ensures the additional countermeasure of reading each
cache line works as expected. (GH #1255)
* In TLS client resumption, avoid sending a OCSP stapling
request. This caused resumption failures with some servers. (GH
#1276)
* The overhead of making a call through the FFI layer has been
reduced.
* The IDs for SHA-3 PKCSv1.5 signatures added in 2.3.0 were
incorrect. They have been changed to use the correct encoding, and
a test added to ensure such errors do not recur.
* Counter mode allows setting a configurable width of the
counter. Previously it was allowed for a counter of even 8 bits
wide, which would mean the keystream would repeat after just 256
blocks. Now it requires the width be at least 32 bits. The only
way this feature could be used was by manually constructing a
``CTR_BE`` object and setting the second parameter to something in
the range of 1 to 3.
* A new mechanism for formatting ASN.1 data is included in
``asn1_print.h``. This is the same functionality used by the
command line ``asn1print`` util, now cleaned up and moved to the
library.
* Add ``Pipe::append_filter``. This is like the existing
(deprecated) ``Pipe::append``, the difference being that
``append_filter`` only allows modification before the first call
to ``start_msg``. (GH #1306 #1307)
* The size of ASN1_Tag is increased to 32 bits. This avoids a
problem with UbSan (GH #751)
* Fix a bug affecting bzip2 compression. In certain circumstances,
compression would fail with ``BZ_SEQUENCE_ERROR`` due to calling
bzlib in an way it does not support. (GH #1308 #1309)
* In 2.3.0, final annotations were added to many classes including
the TLS policies (like ``Strict_Policy`` and
``BSI_TR_02102_2``). However it is reasonable and useful for an
application to derive from one of these policies, so as to create
an application specific policy that is based on a library-provided
policy, but with a few tweaks. So the final annotations have been
removed on these classes. (GH #1292)
* A new option ``--with-pdf`` enables building a PDF copy of the
handbook. (GH #1337)
* A new option ``--with-rst2man`` enables building a man page for
the command line util using Docutils rst2man. (GH #1349)
* Support for NEON is now enabled under Clang.
* Now the compiler version is detected using the preprocessor,
instead of trying to parse the output of the compiler's version
string, which was subject to problems with localization. (GH
#1358)
* By default the gzip compressor will not include a timestamp in the
header. The timestamp can be set by passing it to the
``Gzip_Compression`` constructor.
* Resolve a performance regression on Windows involving the system
stats entropy source. (GH #1369)
* Add an OID for RIPEMD-160
* Fixes for CMake build (GH #1251)
* Avoid some signed overflow warnings (GH #1220 #1245)
* As upstream support for Native Client has been deprecated by
Google, support is now also deprecated in Botan and will be
removed in a future release.
* The Perl-XS wrapper has not been maintained in many years. It is
now deprecated, and if no attempts are made to revive it, it will
be removed in a future release.
* Support for building on IRIX has been removed.
-------------------------------------------------------------------
Thu Jan 11 12:55:50 UTC 2018 - i@marguerite.su
- add Botan2-INT_MAX.patch
* Fix “INT_MAX was not declared in this scope”
in openSUSE Leap 42.1
-------------------------------------------------------------------
Mon Jan 8 11:25:54 UTC 2018 - i@marguerite.su
- fix build. python3 configure itself is useless
we should make package python3 too.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Nov 1 14:26:47 UTC 2017 - mimi.vx@gmail.com Wed Nov 1 14:26:47 UTC 2017 - mimi.vx@gmail.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package Botan # spec file for package Botan
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,44 +16,29 @@
# #
%define version_suffix 1_10-1 %define version_suffix 2-4
%define short_version 1.10 %define short_version 2
Name: Botan Name: Botan
Version: 1.10.17 Version: 2.4.0
Release: 0 Release: 0
Summary: A C++ Crypto Library Summary: A C++ Crypto Library
License: BSD-2-Clause License: BSD-2-Clause
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Url: http://botan.randombit.net Url: http://botan.randombit.net
Source0: http://botan.randombit.net/releases/%{name}-%{version}.tgz Source0: http://botan.randombit.net/releases/Botan-%{version}.tgz
Source1: http://botan.randombit.net/releases/%{name}-%{version}.tgz.asc Source1: http://botan.randombit.net/releases/Botan-%{version}.tgz.asc
Source2: %{name}.keyring Source2: %{name}.keyring
Source3: baselibs.conf Source3: baselibs.conf
Patch0: Botan-inttypes.patch
Patch1: Botan-ull_constants.patch.bz2
Patch2: Botan-fix_install_paths.patch
Patch4: Botan-no-buildtime.patch
Patch6: Botan-fix_pkgconfig.patch
Patch7: dont-set-mach-value.diff
Patch8: aarch64-support.patch
Patch10: no-cpuid-header.patch
BuildRequires: bzip2 >= 1.0.2 BuildRequires: bzip2 >= 1.0.2
BuildRequires: gcc-c++ BuildRequires: gcc-c++
# FIXME: is this dependency correct?
BuildRequires: gmp-devel >= 4.1 BuildRequires: gmp-devel >= 4.1
#Requires: gmp >= 4.1
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
# Botan 1.x doesn't build with OpenSSL 1.1, so explicitly require OpenSSL 1.0.x
%if %{suse_version} < 1330
BuildRequires: openssl-devel BuildRequires: openssl-devel
%else BuildRequires: pkgconfig
BuildRequires: libopenssl-1_0_0-devel
%endif
BuildRequires: pkg-config
BuildRequires: python3 BuildRequires: python3
BuildRequires: zlib-devel BuildRequires: zlib-devel
Requires: bzip2 >= 1.0.2
Requires: gmp >= 4.1
Requires: zlib
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
Botan is a C++ library that provides support for many common Botan is a C++ library that provides support for many common
@ -63,7 +48,7 @@ supported, including RSA, DSA, DES, AES, MD5, and SHA-1.
%package -n libbotan-%{version_suffix} %package -n libbotan-%{version_suffix}
Summary: A C++ Crypto Library Summary: A C++ Crypto Library
Group: Development/Libraries/C and C++ Group: System/Libraries
%description -n libbotan-%{version_suffix} %description -n libbotan-%{version_suffix}
Botan is a C++ library that provides support for many common Botan is a C++ library that provides support for many common
@ -72,10 +57,8 @@ X.509v3 certificates and CRLs. A wide variety of algorithms is
supported, including RSA, DSA, DES, AES, MD5, and SHA-1. supported, including RSA, DSA, DES, AES, MD5, and SHA-1.
%package -n libbotan-devel %package -n libbotan-devel
%define botan_docdir %{_docdir}/%{name}-%{version}
Summary: Development files for Botan Summary: Development files for Botan
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: gmp-devel >= 4.1
Requires: libbotan-%{version_suffix} = %{version} Requires: libbotan-%{version_suffix} = %{version}
Requires: libbz2-devel Requires: libbz2-devel
Provides: Botan-devel = %{version} Provides: Botan-devel = %{version}
@ -85,54 +68,65 @@ Obsoletes: Botan-devel < %{version}
This package contains the header files and libraries needed to develop This package contains the header files and libraries needed to develop
programs that use the Botan library. programs that use the Botan library.
%package -n python3-botan
Summary: Botan python bindings
Group: Development/Languages/Python
Requires: python3
%description -n python3-botan
This package contains the python bindings to libbotan's C98 interface.
%package doc
%define botan_docdir %{_docdir}/botan-%{version}
Summary: Documentation of Botan
Group: Development/Libraries/C and C++
%description doc
Documentation of Botan package.
%prep %prep
%setup -q %setup -q -n Botan-%{version}
%patch0
%patch1
%patch2
%patch4
%patch6
%patch7 -p1
%patch8 -p1
%if 0%{?suse_version} == 1110
%patch10 -p1
%endif
%build %build
export RPM_OPT_FLAGS export RPM_OPT_FLAGS
python3 ./configure.py \ python3 ./configure.py \
--prefix=%{_prefix} \ --prefix=%{_prefix} \
--bindir=%{_bindir} \
--libdir=%{_libdir} \ --libdir=%{_libdir} \
--docdir=%{_defaultdocdir} \ --docdir=%{_defaultdocdir} \
--includedir=%{_includedir} \ --includedir=%{_includedir} \
--with-bzip2 \ --with-bzip2 \
--with-zlib \ --with-zlib \
--with-gnump \
--with-openssl \ --with-openssl \
--with-tr1-implementation=system \
--cpu=%{_target_cpu} --cpu=%{_target_cpu}
make %{?_smp_mflags} WARN_FLAGS="%{optflags}" make %{?_smp_mflags} WARN_FLAGS="%{optflags}"
%install %install
make DESTDIR=%{buildroot} install %{?_smp_mflags} sed -i 's/env python/env python3/' src/scripts/install.py
%make_install
rm -f %{buildroot}/%{_libdir}/libbotan*.a rm -f %{buildroot}/%{_libdir}/libbotan*.a
chmod +x %{buildroot}%{python3_sitearch}/botan2.py
sed -i '1s@^#!/.*@#!%{_bindir}/python3@' %{buildroot}%{python3_sitearch}/botan2.py
%post -n libbotan-%{version_suffix} -p /sbin/ldconfig %post -n libbotan-%{version_suffix} -p /sbin/ldconfig
%postun -n libbotan-%{version_suffix} -p /sbin/ldconfig %postun -n libbotan-%{version_suffix} -p /sbin/ldconfig
%files -n libbotan-%{version_suffix} %files
%defattr(-,root,root) %{_bindir}/botan
%files doc
%docdir %{botan_docdir} %docdir %{botan_docdir}
%{botan_docdir} %{botan_docdir}
%files -n libbotan-%{version_suffix}
%{_libdir}/libbotan-%{short_version}.so.* %{_libdir}/libbotan-%{short_version}.so.*
%files -n libbotan-devel %files -n libbotan-devel
%defattr(-,root,root)
%{_libdir}/libbotan-%{short_version}.so %{_libdir}/libbotan-%{short_version}.so
%{_libdir}/pkgconfig/botan-%{short_version}.pc %{_libdir}/pkgconfig/botan-%{short_version}.pc
%{_includedir}/botan-%{short_version} %{_includedir}/botan-%{short_version}
%{_bindir}/botan-config-%{short_version}
%files -n python3-botan
%{python3_sitearch}/botan2.py
%changelog %changelog

View File

@ -1,11 +0,0 @@
diff --git a/src/build-data/arch/aarch64.txt b/src/build-data/arch/aarch64.txt
index 863b000c5..9ea51c936 100644
--- a/src/build-data/arch/aarch64.txt
+++ b/src/build-data/arch/aarch64.txt
@@ -2,5 +2,6 @@ endian little
<aliases>
arm64 # For Debian
+armv8 # For SUSE
</aliases>

View File

@ -1,4 +1,4 @@
libbotan-1_10-1 libbotan-2-4
libbotan-devel libbotan-devel
requires -libbotan-<targettype> = <version> requires -libbotan-<targettype> = <version>
requires "libbotan-1_10-1-<targettype> = <version>" requires "libbotan-2-4-<targettype> = <version>"

View File

@ -1,17 +0,0 @@
---
configure.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: Botan-1.10.14/configure.py
===================================================================
--- Botan-1.10.14.orig/configure.py 2016-11-28 11:52:20.000000000 +0100
+++ Botan-1.10.14/configure.py 2016-12-28 10:59:39.592584921 +0100
@@ -1140,7 +1140,7 @@ def create_template_vars(build_config, o
options.cpu, options.debug_build),
'lib_opt': cc.library_opt_flags(options),
- 'mach_opt': cc.mach_opts(options.arch, options.cpu),
+ 'mach_opt': '',
'check_opt': '' if options.no_optimizations else cc.check_opt_flags,
'lang_flags': cc.lang_flags + options.extra_flags,
'warn_flags': warning_flags(cc.warning_flags,

View File

@ -1,13 +0,0 @@
diff --git a/src/utils/cpuid.cpp b/src/utils/cpuid.cpp
index f6581f09c..ae087fac3 100644
--- a/src/utils/cpuid.cpp
+++ b/src/utils/cpuid.cpp
@@ -36,7 +36,7 @@
#include <ia32intrin.h>
#define CALL_CPUID(type, out) do { __cpuid(out, type); } while(0)
-#elif defined(BOTAN_BUILD_COMPILER_IS_GCC) && (BOTAN_GCC_VERSION >= 430)
+#elif defined(BOTAN_BUILD_COMPILER_IS_GCC) && 0
// Only available starting in GCC 4.3
#include <cpuid.h>