From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 53D036DE128E for ; Sat, 20 Apr 2019 13:43:08 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.259 X-Spam-Level: X-Spam-Status: No, score=-0.259 tagged_above=-999 required=5 tests=[AWL=-0.058, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VsbrQsDcQv7p for ; Sat, 20 Apr 2019 13:43:07 -0700 (PDT) Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) by arlo.cworth.org (Postfix) with ESMTPS id 1A5D26DE106F for ; Sat, 20 Apr 2019 13:43:07 -0700 (PDT) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1555792986; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=xuMoD6J3pRef1BEIbBydONyEVSjz9zl2TiOoylsT7po=; b=Qf31QgbI4c5xIVAFqJK857mTBR3eU0jiaxywn9V6jwTb9EZIuwLGM3IZ iAdnnSCq1Yh9o92C9oQPYSGpyNjkDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1555792986; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=xuMoD6J3pRef1BEIbBydONyEVSjz9zl2TiOoylsT7po=; b=PynysdO8EkEV3Ee0cwoJYy7rLxweEYJjhU/uIn2MvDS6GjVetOlkfWqd eUTuQsB3k3JubqHoBCZEmhyutOSDBqyuoZTrYt2PbeU7SGuhi92AGWHRWA BNl8M9BNeiQcMxYRQFsrxQLRuxLzuUKSdQ6WsWZFy+G+g2Jk0BW8xfsJCS aJwGepKRhCjU81cOWcOa1IbcjLb2bkyg6NSaWsshaFR27JGF27tUT2U6oT Pzjx4dPDeXvKYgO50+jK/8eML2Yjutzu4K3ROF6+RbGNAvQRH7QxMDGUSv WVRGNRX5TKthsUJfGtimCWBCK5zMsQYyE+bsKnSP3G2ZReONg8zRYA== Received: from fifthhorseman.net (unknown [IPv6:2001:470:1f07:60d:4864:1fff:fe17:5aa8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 2722AF99D for ; Sat, 20 Apr 2019 16:43:06 -0400 (EDT) Received: by fifthhorseman.net (Postfix, from userid 1000) id 7FB932040E; Sat, 20 Apr 2019 16:43:02 -0400 (EDT) From: Daniel Kahn Gillmor To: Notmuch Mail Subject: subsequent rebuilds of notmuch always re-build sphinx and ruby Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEXEK/AhYJKwYBBAHaRw8BAQdAr/gSROcn+6m8ijTN0DV9AahoHGafy52RRkhCZVwxhEe0K0Rh bmllbCBLYWhuIEdpbGxtb3IgPGRrZ0BmaWZ0aGhvcnNlbWFuLm5ldD6ImQQTFggAQQIbAQUJA8Jn AAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMS8Lds4zOlkhevpwvIGkReQOOXGBQJcQsbzAhkB AAoJEPIGkReQOOXG4fkBAO1joRxqAZY57PjdzGieXLpluk9RkWa3ufkt3YUVEpH/AP9c+pgIxtyW +FwMQRjlqljuj8amdN4zuEqaCy4hhz/1DbgzBFxCv4sWCSsGAQQB2kcPAQEHQERSZxSPmgtdw6nN u7uxY7bzb9TnPrGAOp9kClBLRwGfiPUEGBYIACYWIQTEvC3bOMzpZIXr6cLyBpEXkDjlxgUCXEK/ iwIbAgUJAeEzgACBCRDyBpEXkDjlxnYgBBkWCAAdFiEEyQ5tNiAKG5IqFQnndhgZZSmuX/gFAlxC v4sACgkQdhgZZSmuX/iVWgD/fCU4ONzgy8w8UCHGmrmIZfDvdhg512NIBfx+Mz9ls5kA/Rq97vz4 z48MFuBdCuu0W/fVqVjnY7LN5n+CQJwGC0MIA7QA/RyY7Sz2gFIOcrns0RpoHr+3WI+won3xCD8+ sVXSHZvCAP98HCjDnw/b0lGuCR7coTXKLIM44/LFWgXAdZjm1wjODbg4BFxCv50SCisGAQQBl1UB BQEBB0BG4iXnHX/fs35NWKMWQTQoRI7oiAUt0wJHFFJbomxXbAMBCAeIfgQYFggAJhYhBMS8Lds4 zOlkhevpwvIGkReQOOXGBQJcQr+dAhsMBQkB4TOAAAoJEPIGkReQOOXGe/cBAPlek5d9xzcXUn/D kY6jKmxe26CTws3ZkbK6Aa5Ey/qKAP0VuPQSCRxA7RKfcB/XrEphfUFkraL06Xn/xGwJ+D0hCw== Date: Sat, 20 Apr 2019 16:43:01 -0400 Message-ID: <87r29wwgq2.fsf@fifthhorseman.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 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, 20 Apr 2019 20:43:08 -0000 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi folks-- when i run "make" from my source tree, and it succeeds, i typically expect that running "make" again will show that nothing needs to be done. but that's not the case. Both the sphinx-based documentation and the ruby notmuch.so are always rebuilt, i think due to some sort of dependency loop. But i don't really understand the dependencies there. Maybe someone who understands either ruby or sphinx better than i do can clean it up? Having clean dependency tracking and quick rebuilds makes a project a lot more fun to hack on. Here's a trace of the rebuild process: 0 dkg@alice:~/src/notmuch/notmuch$ ./configure && make [=E2=80=A6] make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/bindings/ruby' 0 dkg@alice:~/src/notmuch/notmuch$ make --trace doc/Makefile.local:53: update target 'sphinx-html' due to: docstring.stamp sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html doc/Makefile.local:56: update target 'sphinx-texinfo' due to: docstring.sta= mp sphinx-build -b texinfo -d doc/_build/doctrees -q ./doc doc/_build/texinfo doc/Makefile.local:59: update target 'sphinx-info' due to: sphinx-texinfo make -C doc/_build/texinfo info make[1]: Entering directory '/home/dkg/src/notmuch/notmuch/doc/_build/texin= fo' Makefile:32: update target 'notmuch-search-terms.info' due to: notmuch-sear= ch-terms.texi makeinfo --no-split -o 'notmuch-search-terms.info' 'notmuch-search-terms.te= xi' Makefile:32: update target 'notmuch-compact.info' due to: notmuch-compact.t= exi makeinfo --no-split -o 'notmuch-compact.info' 'notmuch-compact.texi' Makefile:32: update target 'notmuch-show.info' due to: notmuch-show.texi makeinfo --no-split -o 'notmuch-show.info' 'notmuch-show.texi' Makefile:32: update target 'notmuch-reply.info' due to: notmuch-reply.texi makeinfo --no-split -o 'notmuch-reply.info' 'notmuch-reply.texi' Makefile:32: update target 'notmuch-hooks.info' due to: notmuch-hooks.texi makeinfo --no-split -o 'notmuch-hooks.info' 'notmuch-hooks.texi' Makefile:32: update target 'notmuch-config.info' due to: notmuch-config.texi makeinfo --no-split -o 'notmuch-config.info' 'notmuch-config.texi' Makefile:32: update target 'notmuch-reindex.info' due to: notmuch-reindex.t= exi makeinfo --no-split -o 'notmuch-reindex.info' 'notmuch-reindex.texi' Makefile:32: update target 'notmuch-restore.info' due to: notmuch-restore.t= exi makeinfo --no-split -o 'notmuch-restore.info' 'notmuch-restore.texi' Makefile:32: update target 'notmuch-new.info' due to: notmuch-new.texi makeinfo --no-split -o 'notmuch-new.info' 'notmuch-new.texi' Makefile:32: update target 'notmuch-dump.info' due to: notmuch-dump.texi makeinfo --no-split -o 'notmuch-dump.info' 'notmuch-dump.texi' Makefile:32: update target 'notmuch-address.info' due to: notmuch-address.t= exi makeinfo --no-split -o 'notmuch-address.info' 'notmuch-address.texi' Makefile:32: update target 'notmuch-tag.info' due to: notmuch-tag.texi makeinfo --no-split -o 'notmuch-tag.info' 'notmuch-tag.texi' Makefile:32: update target 'notmuch-count.info' due to: notmuch-count.texi makeinfo --no-split -o 'notmuch-count.info' 'notmuch-count.texi' Makefile:32: update target 'notmuch-search.info' due to: notmuch-search.texi makeinfo --no-split -o 'notmuch-search.info' 'notmuch-search.texi' Makefile:32: update target 'notmuch-emacs-mua.info' due to: notmuch-emacs-m= ua.texi makeinfo --no-split -o 'notmuch-emacs-mua.info' 'notmuch-emacs-mua.texi' Makefile:32: update target 'notmuch-emacs.info' due to: notmuch-emacs.texi makeinfo --no-split -o 'notmuch-emacs.info' 'notmuch-emacs.texi' Makefile:32: update target 'notmuch-properties.info' due to: notmuch-proper= ties.texi makeinfo --no-split -o 'notmuch-properties.info' 'notmuch-properties.texi' Makefile:32: update target 'notmuch-insert.info' due to: notmuch-insert.texi makeinfo --no-split -o 'notmuch-insert.info' 'notmuch-insert.texi' Makefile:32: update target 'notmuch.info' due to: notmuch.texi makeinfo --no-split -o 'notmuch.info' 'notmuch.texi' make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/doc/_build/texinf= o' bindings/Makefile.local:8: update target 'ruby-bindings' due to: lib/libnot= much.so cd bindings/ruby && \ EXTRA_LDFLAGS=3D"-Wl,--no-undefined" \ LIBNOTMUCH=3D"../../lib/libnotmuch.so" \ NOTMUCH_SRCDIR=3D'/home/dkg/src/notmuch/notmuch' \ ruby extconf.rb --vendor creating Makefile make -C bindings/ruby make[1]: Entering directory '/home/dkg/src/notmuch/notmuch/bindings/ruby' Makefile:258: update target 'notmuch.so' due to: Makefile echo linking shared-object notmuch.so linking shared-object notmuch.so rm -f notmuch.so gcc -shared -o notmuch.so database.o directory.o filenames.o init.o message= .o messages.o query.o status.o tags.o thread.o threads.o -L. -L/usr/lib/x86= _64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-= export-dynamic -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,--compress-de= bug-sections=3Dzlib ../../lib/libnotmuch.so -lruby-2.5 -lpthread -lgmp -= ldl -lcrypt -lm -lc make[1]: Leaving directory '/home/dkg/src/notmuch/notmuch/bindings/ruby' 0 dkg@alice:~/src/notmuch/notmuch$ --dkg --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTJDm02IAobkioVCed2GBllKa5f+AUCXLuEVgAKCRB2GBllKa5f +DMsAP9jGNgBr8RxkIy/U8bQrTbuNmPktA1ZcJTkson0WnW8YQD8CMXUqSJdZHr2 RHlMHu95V/ZXpxqHlhWJah9jYo67JgY= =i/r1 -----END PGP SIGNATURE----- --=-=-=--