Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 18777431FBC for ; Sat, 7 Mar 2015 02:42:49 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 2.438 X-Spam-Level: ** X-Spam-Status: No, score=2.438 tagged_above=-999 required=5 tests=[DNS_FROM_AHBL_RHSBL=2.438] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WZ31Lof6v7Wc for ; Sat, 7 Mar 2015 02:42:45 -0800 (PST) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id C0145431FAE for ; Sat, 7 Mar 2015 02:42:45 -0800 (PST) Received: from guru.guru-group.fi (localhost [IPv6:::1]) by guru.guru-group.fi (Postfix) with ESMTP id 46C8E1000F3; Sat, 7 Mar 2015 12:42:24 +0200 (EET) From: Tomi Ollila To: David Bremner , notmuch@notmuchmail.org Subject: Re: [PATCH] python: replace hardcoding of SONAME version In-Reply-To: <1425713474-8344-1-git-send-email-david@tethera.net> References: <1425713474-8344-1-git-send-email-david@tethera.net> User-Agent: Notmuch/0.19+53~gb45d2f9 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-unknown-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Mar 2015 10:42:49 -0000 On Sat, Mar 07 2015, David Bremner 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 > """ > > 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@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch