From 3550e3bf370612df177741b6ec2d688a035fcff9 Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Sat, 7 Mar 2015 12:42:23 +0200 Subject: [PATCH] Re: [PATCH] python: replace hardcoding of SONAME version --- 90/6627c06fe9803b224d197e8c8063e812a368b2 | 125 ++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 90/6627c06fe9803b224d197e8c8063e812a368b2 diff --git a/90/6627c06fe9803b224d197e8c8063e812a368b2 b/90/6627c06fe9803b224d197e8c8063e812a368b2 new file mode 100644 index 000000000..e325b6c1a --- /dev/null +++ b/90/6627c06fe9803b224d197e8c8063e812a368b2 @@ -0,0 +1,125 @@ +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 -- 2.26.2