1 Return-Path: <felipe.contreras@gmail.com>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id BC0BB431FB6
\r
6 for <notmuch@notmuchmail.org>; Sun, 14 Apr 2013 18:19:06 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5
\r
12 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
\r
13 FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
14 Received: from olra.theworths.org ([127.0.0.1])
\r
15 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
16 with ESMTP id B8IxPd-IofvC for <notmuch@notmuchmail.org>;
\r
17 Sun, 14 Apr 2013 18:19:06 -0700 (PDT)
\r
18 Received: from mail-la0-f41.google.com (mail-la0-f41.google.com
\r
19 [209.85.215.41]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
20 (No client certificate requested)
\r
21 by olra.theworths.org (Postfix) with ESMTPS id A9D23431FAF
\r
22 for <notmuch@notmuchmail.org>; Sun, 14 Apr 2013 18:19:05 -0700 (PDT)
\r
23 Received: by mail-la0-f41.google.com with SMTP id er20so3953323lab.0
\r
24 for <notmuch@notmuchmail.org>; Sun, 14 Apr 2013 18:19:04 -0700 (PDT)
\r
25 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
\r
26 h=mime-version:x-received:in-reply-to:references:date:message-id
\r
27 :subject:from:to:cc:content-type;
\r
28 bh=jIjU4PxLgaJ4TzQ1xQLu/gdNvzWAWDTwt6Yv/VADsg8=;
\r
29 b=awOtLKUWkm5BmMTPP2lk6CfIgdyHiQpk+Ds+A03UNsO8FBEPoZUbcWwXiQBvs/R3W7
\r
30 wv+1ZycTtmjWSPRuuZtllCkg4tGLa2dmUb1wBn1ArKR+mtnA8zs5XmE+gLAevOpLhuyH
\r
31 InfDo2RMLjc7WuX7lpWEQtLHcN4kureZYY5TA9+ndq0M8AMZJT+z5BBoLcRf/T9/Kft7
\r
32 mxodpshZTYbDA/jDjWuoKCgTibkNpERcV/SMkJtA42Jqgj44bCBChhMqBOjsnhA1Wdlq
\r
33 L4+QxEFJ4R4vMsu0iLdshOzO/J71z4c0N6GjeEZh82u3RNxHJkT2yCKy2qHA+CRWU/rZ
\r
36 X-Received: by 10.152.5.134 with SMTP id s6mr4492192las.24.1365988744109; Sun,
\r
37 14 Apr 2013 18:19:04 -0700 (PDT)
\r
38 Received: by 10.114.59.210 with HTTP; Sun, 14 Apr 2013 18:19:03 -0700 (PDT)
\r
39 In-Reply-To: <87y5clte1j.fsf@zancas.localnet>
\r
40 References: <1365031678-25188-1-git-send-email-felipe.contreras@gmail.com>
\r
41 <87y5clte1j.fsf@zancas.localnet>
\r
42 Date: Sun, 14 Apr 2013 20:19:03 -0500
\r
44 <CAMP44s07KeL4uAChs3KFiqwcsCwWTvni6MzFGzXNeO7=sd6U6Q@mail.gmail.com>
\r
45 Subject: Re: [PATCH] debian: package ruby bindings
\r
46 From: Felipe Contreras <felipe.contreras@gmail.com>
\r
47 To: David Bremner <bremner@debian.org>
\r
48 Content-Type: text/plain; charset=UTF-8
\r
49 Cc: notmuch@notmuchmail.org
\r
50 X-BeenThere: notmuch@notmuchmail.org
\r
51 X-Mailman-Version: 2.1.13
\r
53 List-Id: "Use and development of the notmuch mail system."
\r
54 <notmuch.notmuchmail.org>
\r
55 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
56 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
57 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
58 List-Post: <mailto:notmuch@notmuchmail.org>
\r
59 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
60 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
61 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
62 X-List-Received-Date: Mon, 15 Apr 2013 01:19:06 -0000
\r
64 On Sun, Apr 14, 2013 at 8:52 AM, David Bremner <bremner@debian.org> wrote:
\r
65 > Felipe Contreras <felipe.contreras@gmail.com> writes:
\r
68 >> diff --git a/debian/control b/debian/control
\r
69 >> index 854a32a..620c5ce 100644
\r
70 >> --- a/debian/control
\r
71 >> +++ b/debian/control
\r
72 >> @@ -15,6 +15,7 @@ Build-Depends:
\r
74 >> python-all (>= 2.6.6-3~),
\r
75 >> python3-all (>= 3.1.2-7~),
\r
77 >> emacs23-nox | emacs23 (>=23~) | emacs23-lucid (>=23~) |
\r
78 >> emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~),
\r
81 > This doesn't build in a clean sid chroot, because ruby-dev does not
\r
82 > depend on ruby, so you need to explicitly add it.
\r
84 Right, I just found that too.
\r
86 >> Package: notmuch-emacs
\r
87 >> Architecture: all
\r
89 >> diff --git a/debian/notmuch-ruby.install b/debian/notmuch-ruby.install
\r
90 >> new file mode 100644
\r
91 >> index 0000000..f92f09c
\r
93 >> +++ b/debian/notmuch-ruby.install
\r
95 >> +usr/local/lib/site_ruby/*/*/notmuch.so
\r
96 >> diff --git a/debian/rules b/debian/rules
\r
97 >> index c4e3930..7c7247a 100755
\r
98 >> --- a/debian/rules
\r
99 >> +++ b/debian/rules
\r
100 >> @@ -12,15 +12,24 @@ override_dh_auto_build:
\r
102 >> dh_auto_build --sourcedirectory bindings/python
\r
103 >> cd bindings/python && $(python3_all) setup.py build
\r
104 >> + dh_auto_build --sourcedirectory bindings/ruby
\r
105 >> + cd bindings/ruby && ruby extconf.rb && make
\r
107 > Why are both these lines needed?
\r
109 The first one isn't.
\r
111 > On a related note, is the ruby build
\r
112 > procedure documented somewhere?
\r
114 Not really, it's just standard.
\r
116 >> override_dh_auto_clean:
\r
118 >> dh_auto_clean --sourcedirectory bindings/python
\r
119 >> cd bindings/python && $(python3_all) setup.py clean -a
\r
120 >> + dh_auto_build --sourcedirectory bindings/ruby
\r
121 >> + cd bindings/ruby && test -f Makefile && make clean || true
\r
122 >> $(MAKE) -C contrib/notmuch-mutt clean
\r
124 > This looks suspect, calling dh_auto_build from the clean target.
\r
126 A mistake, probably the first line is enough.
\r
129 > clean target cannot assume that e.g. notmuch is already built.
\r
131 It doesn't, that's what the 'test -f Makefile' was for.
\r
133 >> override_dh_auto_install:
\r
135 >> dh_auto_install --sourcedirectory bindings/python
\r
136 >> cd bindings/python && $(python3_all) setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp
\r
137 >> + dh_auto_build --sourcedirectory bindings/ruby
\r
138 >> + cd bindings/ruby && make install DESTDIR=$(CURDIR)/debian/tmp
\r
140 > This call to dh_auto_build also confuses me. The top level sequencer
\r
141 > will ensure that the override_dh_auto_build is called before this one.
\r
146 >> +# ruby's site is configured in /usr/local
\r
147 >> +override_dh_usrlocal:
\r
149 > The package is still installing files into /usr/local, which is a
\r
150 > violation of debian policy 9.1.2
\r
152 > It's a good idea to run "lintian" on the resulting debian packages;
\r
153 > that's how I caught the problem with /usr/local.
\r
155 Tell that to debian maintainers who configure ruby that way:
\r
158 RbConfig::CONFIG['sitelibdir']
\r
159 => "/usr/local/lib/site_ruby/1.9.1"
\r
160 RbConfig::CONFIG['configure_args']
\r
161 => " '--build=x86_64-linux-gnu' '--prefix=/usr'
\r
162 '--includedir=/usr/include' '--mandir=/usr/share/man'
\r
163 '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var'
\r
164 '--libexecdir=/usr/lib/ruby1.9.1' '--srcdir=.'
\r
165 '--disable-maintainer-mode' '--disable-dependency-tracking'
\r
166 '--disable-silent-rules' '--enable-pthread' '--enable-shared'
\r
167 '--disable-rpath' '--disable-install-doc'
\r
168 '--with-vendordir=/usr/lib/ruby/vendor_ruby'
\r
169 '--with-sitedir=/usr/local/lib/site_ruby' '--program-suffix=1.9.1'
\r
170 '--with-soname=ruby-1.9.1' '--with-baseruby=/usr/bin/ruby1.8'
\r
171 '--enable-ipv6' '--with-dbm-type=gdbm_compat' '--with-tklib=tk8.5'
\r
172 '--with-tcllib=tcl8.5' '--with-tcl-include=/usr/include/tcl8.5'
\r
173 '--with-bundled-sha1' '--with-bundled-md5' '--with-bundled-rmd160'
\r
174 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
\r
175 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall
\r
176 -fno-strict-aliasing' 'LDFLAGS=-Wl,-z,relro'
\r
177 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector
\r
178 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall
\r
179 -fno-strict-aliasing'"
\r
181 So, the changes I propose are:
\r
183 --- b/debian/control
\r
184 +++ a/debian/control
\r
185 @@ -15,7 +15,7 @@ Build-Depends:
\r
187 python-all (>= 2.6.6-3~),
\r
188 python3-all (>= 3.1.2-7~),
\r
191 emacs23-nox | emacs23 (>=23~) | emacs23-lucid (>=23~) |
\r
192 emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~),
\r
194 diff --git b/debian/rules a/debian/rules
\r
195 index 7c7247a..1dd59d2 100755
\r
198 @@ -12,7 +12,6 @@ override_dh_auto_build:
\r
200 dh_auto_build --sourcedirectory bindings/python
\r
201 cd bindings/python && $(python3_all) setup.py build
\r
202 - dh_auto_build --sourcedirectory bindings/ruby
\r
203 cd bindings/ruby && ruby extconf.rb && make
\r
204 $(MAKE) -C contrib/notmuch-mutt
\r
206 @@ -20,16 +19,14 @@ override_dh_auto_clean:
\r
208 dh_auto_clean --sourcedirectory bindings/python
\r
209 cd bindings/python && $(python3_all) setup.py clean -a
\r
210 - dh_auto_build --sourcedirectory bindings/ruby
\r
211 - cd bindings/ruby && test -f Makefile && make clean || true
\r
212 + dh_auto_clean --sourcedirectory bindings/ruby
\r
213 $(MAKE) -C contrib/notmuch-mutt clean
\r
215 override_dh_auto_install:
\r
217 dh_auto_install --sourcedirectory bindings/python
\r
218 cd bindings/python && $(python3_all) setup.py install
\r
219 --install-layout=deb --root=$(CURDIR)/debian/tmp
\r
220 - dh_auto_build --sourcedirectory bindings/ruby
\r
221 - cd bindings/ruby && make install DESTDIR=$(CURDIR)/debian/tmp
\r
222 + dh_auto_install --sourcedirectory bindings/ruby
\r
224 # ruby's site is configured in /usr/local
\r
225 override_dh_usrlocal:
\r