W.C.A. Wijngaards wrote:
> - #429 add ub_version() call to libunbound. API version increase,
> with (binary) backwards compatibility for the previous version.
i understand this to mean that the SONAME should not have changed on glibc
platforms:
LIBUNBOUND_CURRENT=3
LIBUNBOUND_REVISION=0
LIBUNBOUND_AGE=1
# 1.0.0 had 0:12:0
[...13 lines...]
# 1.4.1 had 2:1:0
[...13 lines...]
# 1.4.14 had 2:14:0
so, the SONAME should still be 'libunbound.so.2', since CURRENT minus
AGE is still 2. however, when i built unbound 1.4.15 the SONAME was
instead 'libunbound.so.3'.
i believe this is due to the use of libtool's "-version-number" (which
takes a major:minor:revision argument) vs "-version-info" (which takes a
current:revision:age argument).
the attached patch changes from -version-number to -version-info.
however, with -version-info 3:0:1, this results in the .so receiving a
filename of "libunbound.so.2.1.0", which is identical to the .so
filename generated by unbound 1.4.1 ("-version-number 2:1:0").
--
Robert Edmonds
[email protected]
>From fe05ea0802ff3f2fd2f49ed0bb3f1f0f4542f196 Mon Sep 17 00:00:00 2001
From: "Robert S. Edmonds" <[email protected]>
Date: Sat, 28 Jan 2012 20:05:43 -0500
Subject: [PATCH] Makefile.in: use -version-info, not -version-number
from the libtool manual:
-version-info current[:revision[:age]]
If output-file is a libtool library, use interface version
information current, revision, and age to build it (see
Versioning). Do not use this flag to specify package release
information, rather see the -release flag.
-version-number major[:minor[:revision]]
If output-file is a libtool library, compute interface version
information so that the resulting library uses the specified
major, minor and revision numbers. This is designed to permit
libtool to be used with existing projects where identical
version numbers are already used across operating systems. New
projects should use the -version-info flag instead.
---
Makefile.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index bdd8dba..4c26f52 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -224,7 +224,7 @@ ALL_OBJ=$(COMMON_OBJ) $(UNITTEST_OBJ) $(DAEMON_OBJ) \
COMPILE=$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS)
LINK=$(LIBTOOL) --tag=CC --mode=link $(CC) $(staticexe) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
-LINK_LIB=$(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(staticexe) -version-number @LIBUNBOUND_CURRENT@:@LIBUNBOUND_REVISION@:@LIBUNBOUND_AGE@ -no-undefined
+LINK_LIB=$(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(staticexe) -version-info @LIBUNBOUND_CURRENT@:@LIBUNBOUND_REVISION@:@LIBUNBOUND_AGE@ -no-undefined
.PHONY: clean realclean doc lint all install uninstall tests test strip lib longtest longcheck check
@@ -369,7 +369,7 @@ libunbound/python/libunbound_wrap.c: $(srcdir)/libunbound/python/libunbound.i $(
# Pyunbound python unbound wrapper
_unbound.la: libunbound_wrap.lo libunbound.la
- $(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -module -version-number @LIBUNBOUND_CURRENT@:@LIBUNBOUND_REVISION@:@LIBUNBOUND_AGE@ -no-undefined -o $@ libunbound_wrap.lo -rpath $(PYTHON_SITE_PKG) L. -L.libs -lunbound $(LIBS)
+ $(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -module -version-info @LIBUNBOUND_CURRENT@:@LIBUNBOUND_REVISION@:@LIBUNBOUND_AGE@ -no-undefined -o $@ libunbound_wrap.lo -rpath $(PYTHON_SITE_PKG) L. -L.libs -lunbound $(LIBS)
util/config_file.c: util/configparser.h
util/configlexer.c: $(srcdir)/util/configlexer.lex util/configparser.h
--
1.7.8.3
_______________________________________________
Unbound-users mailing list
[email protected]
http://unbound.nlnetlabs.nl/mailman/listinfo/unbound-users