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” ;). Cheers, Trevor [1]: http://www.rpm.org/max-rpm/ch-rpm-subpack.html -- This email may be signed or encrypted with GnuPG (http://www.gnupg.org). For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy