On Sat, Mar 07 2015, David Bremner <david at tethera.net> wrote: > Failing to update this string in globals.py causes failures when the > SONAME changes. In order to hopefully reduce the number of such > errors, automate the process of setting the SONAME in the python > bindings.
Looks sensible me -- anyone knowing more how 'pythonic' the variable convention used is (i.e. is plain SOVERSION -- or any other issues) good? Tomi > --- > Makefile.local | 4 +++- > bindings/python/notmuch/globals.py | 5 +++-- > bindings/python/notmuch/version.py | 1 + > 3 files changed, 7 insertions(+), 3 deletions(-) > > After hitting the mismatch again while working on the count API, I > decided to try to fix it. > > diff --git a/Makefile.local b/Makefile.local > index 81ee347..6d54742 100644 > --- a/Makefile.local > +++ b/Makefile.local > @@ -107,7 +107,9 @@ dist: $(TAR_FILE) > .PHONY: update-versions > > update-versions: > - sed -i "s/^__VERSION__[[:blank:]]*=.*$$/__VERSION__ = \'${VERSION}\'/" > $(PV_FILE) > + sed -i -e "s/^__VERSION__[[:blank:]]*=.*$$/__VERSION__ = > \'${VERSION}\'/" \ > + -e "s/^SOVERSION[[:blank:]]*=.*$$/SOVERSION = > \'${LIBNOTMUCH_VERSION_MAJOR}\'/" \ > + ${PV_FILE} > > # We invoke make recursively only to force ordering of our phony > # targets in the case of parallel invocation of make (-j). > diff --git a/bindings/python/notmuch/globals.py > b/bindings/python/notmuch/globals.py > index 24b25d3..4c49d51 100644 > --- a/bindings/python/notmuch/globals.py > +++ b/bindings/python/notmuch/globals.py > @@ -18,15 +18,16 @@ Copyright 2010 Sebastian Spaeth <Sebastian at SSpaeth.de> > """ > > from ctypes import CDLL, Structure, POINTER > +from version import SOVERSION > > > #----------------------------------------------------------------------------- > #package-global instance of the notmuch library > try: > from os import uname > if uname()[0] == 'Darwin': > - nmlib = CDLL("libnotmuch.4.dylib") > + nmlib = CDLL("libnotmuch.{0:s}.dylib".format(SOVERSION)) > else: > - nmlib = CDLL("libnotmuch.so.4") > + nmlib = CDLL("libnotmuch.so.{0:s}".format(SOVERSION)) > except: > raise ImportError("Could not find shared 'notmuch' library.") > > diff --git a/bindings/python/notmuch/version.py > b/bindings/python/notmuch/version.py > index f719fdf..35744d3 100644 > --- a/bindings/python/notmuch/version.py > +++ b/bindings/python/notmuch/version.py > @@ -1,2 +1,3 @@ > # this file should be kept in sync with ../../../version > __VERSION__ = '0.19' > +SOVERSION = '4' > -- > 2.1.4 > > _______________________________________________ > notmuch mailing list > notmuch at notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch