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 D39B5431FBF for ; Fri, 9 May 2014 04:40:03 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.799 X-Spam-Level: X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 8EtMZsMQkPyQ for ; Fri, 9 May 2014 04:39:59 -0700 (PDT) Received: from mail-ee0-f42.google.com (mail-ee0-f42.google.com [74.125.83.42]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id DC29D431FBC for ; Fri, 9 May 2014 04:39:58 -0700 (PDT) Received: by mail-ee0-f42.google.com with SMTP id d49so2612405eek.29 for ; Fri, 09 May 2014 04:39:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=l0Gr4PjcqIANtJ4FzXyT8kyGEPj74ohrIzwm1qCyEdQ=; b=zIMOIKfW2SW+au+CoVYfkJQL9J+kGUiJRfuOd+Iy3szJDMFzPWVfgy2i6LPnkL3dKj ELpw9pjbmHtyJtobSYWNVGX/UXbpKS3HKGuRcEwA/Ivfm5d8OWJ5NbYu5eNVGJs4BqOG EYhTisfhcLl4fFZWNqVMyHnO9HExzW6202ru9qStnvETgvSxpBDfgwTeLgKLTFsAqiV2 Hll7Ma+MtlPT3dU/e8bbCKQUAAB67PZPa0cRR2/LGCPvSHM0OTZQCoc+8ChF37APwo8L qWoFyFx8fmDmrkbA1dk+CtOxw+0qbMu7jX+hKuIJw7zXaGJeA4qJ5ORkxme5d/lJ33ng aJeg== X-Received: by 10.14.115.195 with SMTP id e43mr12870970eeh.76.1399635596087; Fri, 09 May 2014 04:39:56 -0700 (PDT) Received: from chitra.no-ip.org ([2001:610:120:3001:2ad2:44ff:fe4a:b029]) by mx.google.com with ESMTPSA id u46sm10872267eel.1.2014.05.09.04.39.52 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 May 2014 04:39:53 -0700 (PDT) Sender: Suvayu Ali Date: Fri, 9 May 2014 13:39:51 +0200 From: Suvayu Ali To: notmuch@notmuchmail.org Subject: Re: Submodules for language bindings (was: Github?) Message-ID: <20140509113951.GD2634@chitra.no-ip.org> Mail-Followup-To: notmuch@notmuchmail.org References: <20140508101325.GC23124@vilya.m0g.net> <20140508203019.GA2374@chitra.no-ip.org> <20140508212100.GD23124@vilya.m0g.net> <20140508220046.GB2374@chitra.no-ip.org> <20140508222931.GU28634@odin.tremily.us> <20140508224527.GC2374@chitra.no-ip.org> <20140508233530.GV28634@odin.tremily.us> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20140508233530.GV28634@odin.tremily.us> User-Agent: Mutt/1.5.22.1 (2013-10-16) 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: Fri, 09 May 2014 11:40:04 -0000 Hi Trevor, On Thu, May 08, 2014 at 04:35:30PM -0700, W. Trevor King wrote: > On Fri, May 09, 2014 at 12:45:27AM +0200, Suvayu Ali wrote: > > On Thu, May 08, 2014 at 03:29:31PM -0700, W. Trevor King wrote: > > > On Fri, May 09, 2014 at 12:00:46AM +0200, Suvayu Ali wrote: > > > > One of my TODOs is to also package the ruby bindings, and > > > > notmuch-vim. The only thing preventing me now is my > > > > unfamiliarty with ruby, and Fedora packaging guidelines for > > > > ruby-gems. > > > > > > I think this is one argument argument in favor of submodules, > > > because they make it easy to treat the bindings as separate > > > packages. Once you have separate packages, it's easy to delegate > > > packaging (e.g. “I don't use the Ruby bindings, so I'm not going > > > to maintain the Ruby-binding package. I'll leave that to Alice, > > > who likes Ruby, but is less familiar with $distro's Python > > > packaging”). > > > > Well as far as my understanding of rpm goes, sub-packages are > > prefered here rather than independent packages. I believe the > > reason is again easier dependency tracking[1]; all sub-packages > > share the same source rpm, so no explicit `Requires' in the spec > > file. > > It looks like sub-packages share a single spec file with the main > package [1]. That means you'll have to have authors with the full > range of binding-language expertise to bump that spec file (assuming > there are any changes that require bumps). For example, Gentoo's > Python eclasses have gone through a few revisions in the last year or > two, and I wouldn't expect one person to stay on top of the latest > packaging styles for every language with notmuch bindings. I think > the benefit of having separate packages (and spec files, or ebuilds, > or whatever) is that you can release notmuch-0.18 without worrying > about all those bindings, and leave it to the other maintainers (who > might include you) to independently package notmuch-python-0.18, > notmuch-ruby-0.18, notmuch-go-0.18, …. With only three sets of > bindings, it doesn't really matter, but I think you'll want the weaker > coupling of stand-alone packages by the time you hit a dozen > languages. “Bump an explicit 'Requires'” certainly seems like a lower > barrier than “package Go bindings idiomatically for Fedora” ;). You have a point, however I would still disagree. You seem to use Gentoo, and I think what you say works better for Gentoo because it is a source distribution. For binary distributions, this is a bit harder (and limiting). To explain my point with RPM specifics, if I were to use separate spec files, python-notmuch would have: Requires: notmuch >= As you can see this only allows for tracking dependency based on official version numbers. With more bindings, many with different version dependencies, this becomes quite cumbersome; more so when you are doing snapshots (as I do for my repo[1]). As a packager, I think I would prefer to learn different packaging guidelines, setup my spec file and forget about it rather than continually follow all changes. But I guess this is where you would argue with different responsible people, I would not have to do all the thinking :-p. Anyway, whichever way the devs choose to go, I (and other packagers) will adapt. Cheers, Footnotes: [1] I would love to know if anyone here uses it. I announced it here when I started it, but for all I know I could be the only user! :-p -- Suvayu Open source is the future. It sets us free.