diff options
author | lloyd <[email protected]> | 2011-05-12 12:56:46 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2011-05-12 12:56:46 +0000 |
commit | d75753b365350bd2e330aecdd98abc89f73fca23 (patch) | |
tree | 29e312a163060986d3b2b40d2ef6830904f503f1 | |
parent | 4cf2e6a56d58547d241fb8cc42a95924add97665 (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.py | 6 | ||||
-rwxr-xr-x | configure.py | 12 | ||||
-rw-r--r-- | doc/log.txt | 27 | ||||
-rw-r--r-- | readme.txt | 2 | ||||
-rw-r--r-- | src/build-data/botan-config.in | 6 | ||||
-rw-r--r-- | src/build-data/botan.pc.in | 4 | ||||
-rw-r--r-- | src/build-data/makefile/unix.in | 5 | ||||
-rw-r--r-- | src/build-data/makefile/unix_shr.in | 9 |
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) |