aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2011-05-12 12:56:46 +0000
committerlloyd <[email protected]>2011-05-12 12:56:46 +0000
commitd75753b365350bd2e330aecdd98abc89f73fca23 (patch)
tree29e312a163060986d3b2b40d2ef6830904f503f1
parent4cf2e6a56d58547d241fb8cc42a95924add97665 (diff)
Modify soname to match Unix conventions at suggestion of Debian
maintainer. Namespace the headers in /usr/local/include/botan-1.9/botan, so multiple versions can be installed in parallel. Down version to 1.9.18 since there are a good number of changes in this release already.
-rw-r--r--botan_version.py6
-rwxr-xr-xconfigure.py12
-rw-r--r--doc/log.txt27
-rw-r--r--readme.txt2
-rw-r--r--src/build-data/botan-config.in6
-rw-r--r--src/build-data/botan.pc.in4
-rw-r--r--src/build-data/makefile/unix.in5
-rw-r--r--src/build-data/makefile/unix_shr.in9
8 files changed, 48 insertions, 23 deletions
diff --git a/botan_version.py b/botan_version.py
index 491cdc204..700251e02 100644
--- a/botan_version.py
+++ b/botan_version.py
@@ -1,6 +1,8 @@
release_major = 1
-release_minor = 10
-release_patch = 0
+release_minor = 9
+release_patch = 18
+
+release_so_abi_rev = 0
release_datestamp = 0
diff --git a/configure.py b/configure.py
index 26af5d499..18d1f273b 100755
--- a/configure.py
+++ b/configure.py
@@ -48,6 +48,7 @@ class BuildConfigurationInformation(object):
version_major = botan_version.release_major
version_minor = botan_version.release_minor
version_patch = botan_version.release_patch
+ version_so_rev = botan_version.release_so_abi_rev
version_datestamp = botan_version.release_datestamp
@@ -124,6 +125,10 @@ class BuildConfigurationInformation(object):
return 'botan-%d.%d.pc' % (self.version_major,
self.version_minor)
+ def config_shell_script(self):
+ return 'botan-config-%d.%d' % (self.version_major,
+ self.version_minor)
+
def username(self):
return getpass.getuser()
@@ -1016,6 +1021,7 @@ def create_template_vars(build_config, options, modules, cc, arch, osinfo):
'version_major': build_config.version_major,
'version_minor': build_config.version_minor,
'version_patch': build_config.version_patch,
+ 'so_abi_rev': build_config.version_so_rev,
'version': build_config.version_string,
'distribution_info': options.distribution_info,
@@ -1118,7 +1124,9 @@ def create_template_vars(build_config, options, modules, cc, arch, osinfo):
'so_suffix': osinfo.so_suffix,
'botan_config': prefix_with_build_dir(
- os.path.join(build_config.build_dir, 'botan-config')),
+ os.path.join(build_config.build_dir,
+ build_config.config_shell_script())),
+
'botan_pkgconfig': prefix_with_build_dir(
os.path.join(build_config.build_dir,
build_config.pkg_config_file())),
@@ -1386,7 +1394,7 @@ def setup_build(build_config, options, template_vars):
if options.os != 'windows':
yield (options.build_data, 'botan.pc.in', build_config.pkg_config_file())
- yield (options.build_data, 'botan-config.in', 'botan-config')
+ yield (options.build_data, 'botan-config.in', build_config.config_shell_script())
if options.os == 'windows':
yield (options.build_data, 'innosetup.in', 'botan.iss')
diff --git a/doc/log.txt b/doc/log.txt
index b3c77b3aa..1cbe2b4df 100644
--- a/doc/log.txt
+++ b/doc/log.txt
@@ -4,18 +4,34 @@
Release Notes
========================================
-Series 1.10
+Series 1.9
----------------------------------------
-Version 1.10.0, Not Yet Released
+Version 1.9.18, Not Yet Released
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+* Fourth release candidate for 1.10.0
+
* Add support for compiling SSL using Visual C++ 2010's TR1
implementation.
* Fix a bug under Visual C++ 2010 which would cause ``hex_encode`` to
crash if given a zero-sized input to encode.
+* On Unix, the library and header paths have been changed to allow
+ parallel installation of different versions of the library. Headers
+ are installed into ``<prefix>/include/botan-1.9/botan``, libraries
+ are named ``libbotan-1.9``, and ``botan-config`` is now namespaced
+ (so in this release ``botan-config-1.9``). All of these embedded
+ versions will be 1.10 in the upcoming stable release.
+
+* The soname system has also modified at the suggestion of the Debian
+ maintainer to match the conventional Unix ABI soname scheme. For
+ instance in this release the library soname is
+ ``libbotan-1.9.so.0``, with the full library being named
+ ``libbotan-1.9.so.0.18``. The ``0`` is the ABI version, and will be
+ incremented whenever a breaking ABI change is made.
+
* In OAEP decoding, scan for the delimiter bytes using a loop that is
written without conditionals so as to help avoid timing analysis.
Unfortunately GCC at least is 'smart' enough to compile it to
@@ -27,8 +43,8 @@ Version 1.10.0, Not Yet Released
* The function ``BigInt::to_u32bit`` was inadvertently removed in 1.9.11
and has been added back.
-* The function ``BigInt::get_substring`` did not work correctly with
- length equal to 32.
+* The function ``BigInt::get_substring`` did not work correctly with a
+ *length* argument of 32.
* Add two different configuration targets for Atom, since some are
32-bit and some are 64-bit. The 'atom' target now refers to the
@@ -39,9 +55,6 @@ Version 1.10.0, Not Yet Released
are disabled by default; add ``--enable-modules=cms`` or
``--enable-modules=cvc`` during configuration to turn them back on.
-Series 1.9
-----------------------------------------
-
Version 1.9.17, 2011-04-29
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/readme.txt b/readme.txt
index ef6f2c77d..373701a05 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,4 @@
-Botan 1.10.0, Not Yet Released
+Botan 1.9.18, Not Yet Released
http://botan.randombit.net/
Botan is a C++ class library for performing a wide variety of
diff --git a/src/build-data/botan-config.in b/src/build-data/botan-config.in
index f3fa3db94..6780c12b8 100644
--- a/src/build-data/botan-config.in
+++ b/src/build-data/botan-config.in
@@ -2,7 +2,7 @@
# For normal builds:
guess_prefix=`dirname \`dirname $0\``
-includedir=%{includedir}
+includedir=%{includedir}/botan-%{version_major}.%{version_minor}
libdir=%{libdir}
# For workspace builds:
@@ -54,9 +54,9 @@ while test $# -gt 0; do
--libs)
if [ $prefix != "/usr" -a $prefix != "/usr/local" ]
then
- echo -L$prefix/$libdir -lbotan %{link_to}
+ echo -L$prefix/$libdir -lbotan-%{version_major}.%{version_minor} %{link_to}
else
- echo -lbotan %{link_to}
+ echo -lbotan-%{version_major}.%{version_minor} %{link_to}
fi
;;
*)
diff --git a/src/build-data/botan.pc.in b/src/build-data/botan.pc.in
index 70ed65d70..301f84600 100644
--- a/src/build-data/botan.pc.in
+++ b/src/build-data/botan.pc.in
@@ -1,12 +1,12 @@
prefix=%{prefix}
exec_prefix=${prefix}
libdir=${prefix}/%{libdir}
-includedir=${prefix}/include
+includedir=${prefix}/include/botan-%{version_major}.%{version_minor}
Name: Botan
Description: Multi-platform C++ crypto library
Version: %{version}
-Libs: -L${libdir} -lbotan
+Libs: -L${libdir} -lbotan-%{version_major}.%{version_minor}
Libs.private: %{link_to}
Cflags: -I${includedir}
diff --git a/src/build-data/makefile/unix.in b/src/build-data/makefile/unix.in
index 1a1128f81..021a11b35 100644
--- a/src/build-data/makefile/unix.in
+++ b/src/build-data/makefile/unix.in
@@ -9,13 +9,14 @@ LINK_TO = %{link_to}
# Version Numbers
VERSION = %{version}
+SERIES = %{version_major}.%{version_minor}
# Installation Settings
DESTDIR = %{prefix}
BINDIR = $(DESTDIR)/bin
LIBDIR = $(DESTDIR)/%{libdir}
-HEADERDIR = $(DESTDIR)/%{includedir}/botan
+HEADERDIR = $(DESTDIR)/%{includedir}/botan-$(SERIES)/botan
DOCDIR = $(DESTDIR)/%{docdir}/botan-$(VERSION)
PKGCONF_DIR = $(LIBDIR)/pkgconfig
@@ -52,7 +53,7 @@ CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS)
LIBRARIES = $(STATIC_LIB)
LIBNAME = %{lib_prefix}libbotan
-STATIC_LIB = $(LIBNAME).a
+STATIC_LIB = $(LIBNAME)-$(SERIES).a
all: $(LIBRARIES)
diff --git a/src/build-data/makefile/unix_shr.in b/src/build-data/makefile/unix_shr.in
index c311d9924..3a3cef8a7 100644
--- a/src/build-data/makefile/unix_shr.in
+++ b/src/build-data/makefile/unix_shr.in
@@ -11,13 +11,14 @@ LINK_TO = %{link_to}
# Version Numbers
VERSION = %{version}
+SERIES = %{version_major}.%{version_minor}
# Installation Settings
DESTDIR = %{prefix}
BINDIR = $(DESTDIR)/bin
LIBDIR = $(DESTDIR)/%{libdir}
-HEADERDIR = $(DESTDIR)/%{includedir}/botan
+HEADERDIR = $(DESTDIR)/%{includedir}/botan-$(SERIES)/botan
DOCDIR = $(DESTDIR)/%{docdir}/botan-$(VERSION)
PKGCONF_DIR = $(LIBDIR)/pkgconfig
@@ -54,12 +55,12 @@ CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS)
LIBRARIES = $(STATIC_LIB) $(SHARED_LIB)
LIBNAME = %{lib_prefix}libbotan
-STATIC_LIB = $(LIBNAME).a
+STATIC_LIB = $(LIBNAME)-$(SERIES).a
-SONAME = $(LIBNAME)-%{version_major}.%{version_minor}.%{so_suffix}
+SONAME = $(LIBNAME)-$(SERIES).%{so_suffix}.%{so_abi_rev}
SHARED_LIB = $(SONAME).%{version_patch}
-SYMLINK = libbotan.%{so_suffix}
+SYMLINK = $(LIBNAME)-$(SERIES).%{so_suffix}
all: $(LIBRARIES)