From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: coreutils-8.20: bad dependency information with man page generation Resent-From: Mike Frysinger Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 23 Oct 2012 22:30:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 12715@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.135103136816160 (code B ref -1); Tue, 23 Oct 2012 22:30:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 Oct 2012 22:29:28 +0000 Received: from localhost ([127.0.0.1]:58327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQmyV-0004CY-TP for submit@debbugs.gnu.org; Tue, 23 Oct 2012 18:29:28 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57199) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQmyR-0004CL-RY for submit@debbugs.gnu.org; Tue, 23 Oct 2012 18:29:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQmwV-0007Cu-Lv for submit@debbugs.gnu.org; Tue, 23 Oct 2012 18:27:24 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:53438) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQmwV-0007Cq-J1 for submit@debbugs.gnu.org; Tue, 23 Oct 2012 18:27:23 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36512) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQmwU-0004X5-4W for bug-coreutils@gnu.org; Tue, 23 Oct 2012 18:27:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQmwS-0007Bi-Cs for bug-coreutils@gnu.org; Tue, 23 Oct 2012 18:27:22 -0400 Received: from smtp.gentoo.org ([140.211.166.183]:52426) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQmwS-0007BN-7G for bug-coreutils@gnu.org; Tue, 23 Oct 2012 18:27:20 -0400 Received: from vapier.localnet (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 0867033D88D for ; Tue, 23 Oct 2012 22:27:19 +0000 (UTC) From: Mike Frysinger Organization: wh0rd.org Date: Tue, 23 Oct 2012 18:27:20 -0400 User-Agent: KMail/1.13.7 (Linux/3.5.2; KDE/4.6.5; x86_64; ; ) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2851812.u2zMPEN3DT"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <201210231827.20690.vapier@gentoo.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.4 (---) --nextPart2851812.u2zMPEN3DT Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable if i look at vanilla coreutils-8.20, i see: Makefile.in:man/uname.1: src/uname.c which seems to have originated from man/local.mk, but munged: man/uname.1: src/uname this causes parallel build problems because man/uname.1 generation can get= =20 scheduled before src/uname has been linked. easy way to reproduce: ./configure touch src/uname.c make -j =2E.. GEN man/uname.1 CC src/hostname.o CC src/uptime.o CC src/kill.o CC src/groups.o GEN lib/charset.alias GEN lib/ref-add.sed GEN lib/ref-del.sed CC lib/set-mode-acl.o CC lib/copy-acl.o CC lib/file-has-acl.o CC lib/allocator.o help2man: can't get '--help' info from man/uname.td/uname CC lib/areadlink.o make[2]: *** [man/uname.1] Error 127 make[2]: *** Waiting for unfinished jobs.... CC lib/areadlink-with-size.o =2Dmike --nextPart2851812.u2zMPEN3DT Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iQIcBAABAgAGBQJQhxnIAAoJEEFjO5/oN/WBX8oQAJsjoOYuiD8bY35mjnaP7wrK VoFEoEYPJJKTib2VhPcDS8bJRMR1BbHKAjcTcSHPZOH8xnmH/4EO1rLgXvZpvwf6 q5/UEqMX52Id76I6yvoox4zQUbOP8bY3GVoUs71JbnDf2MN+HLqOD2S0L+4oxM3Q SxzBgmdMzsb1X0QkMORJB9uvcwcX/XiEDZwPXnYdEBKqqe2N0ufVNFXoigFz0uUr IwESCXnS95t0EYpRnuiEpz05hwV9RlkT5eOgfHQKvkhNXMyq9zpV+2WcvmuqLHMq sYKoj3vSs+vNKW5h7TWShv7YgK+yuvokynbHEf5B6XdQMI+9X3iiZ73h+/qsR1F8 oVwwQRi2nNkdQub1extVaTA4EasifpgxVhIbkuxApINaaVzp/aWxgupmfjJepOtJ CRu2c7wOYlQmd06Q073QWF6NcIxMqN3Fx4o5tw86xivDi06BfLtiQWa4hPu/2oCn DxUitMorcb392Pk7bPGTwAlbqKEolKLorT4c8RPd9Ff9OH8oWzY7JpsSN7otI8+e Oi+RUyl2yrP6EkzAJOgQ+gba/0odbozVH2TE3JP8lmzX7Q1iJhQEt1n3uOiZzGZr VZq9tKIhLrfYXvXkh62vVCxPC1k3BqTfI4F0jkUBKv0XAm5G7KZHvhw89kPi8Yoy HNQbWRSG4VOYJ1F0bvy1 =iHsF -----END PGP SIGNATURE----- --nextPart2851812.u2zMPEN3DT-- From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: coreutils-8.20: bad dependency information with man page generation Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 23 Oct 2012 23:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Mike Frysinger Cc: 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135103624523368 (code B ref 12715); Tue, 23 Oct 2012 23:51:02 +0000 Received: (at 12715) by debbugs.gnu.org; 23 Oct 2012 23:50:45 +0000 Received: from localhost ([127.0.0.1]:58385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQoFB-00064r-Ab for submit@debbugs.gnu.org; Tue, 23 Oct 2012 19:50:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40185) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQoF9-00064j-7r for 12715@debbugs.gnu.org; Tue, 23 Oct 2012 19:50:44 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9NNmkpG023165 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 23 Oct 2012 19:48:47 -0400 Received: from [10.36.116.36] (ovpn-116-36.ams2.redhat.com [10.36.116.36]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q9NNmiFq032659 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Tue, 23 Oct 2012 19:48:46 -0400 Message-ID: <50872CDC.9080109@draigBrady.com> Date: Wed, 24 Oct 2012 00:48:44 +0100 From: =?UTF-8?Q?P=C3=A1draig?= Brady User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1 MIME-Version: 1.0 References: <201210231827.20690.vapier@gentoo.org> In-Reply-To: <201210231827.20690.vapier@gentoo.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id q9NNmkpG023165 X-Spam-Score: -4.2 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.2 (----) On 10/23/2012 11:27 PM, Mike Frysinger wrote: > if i look at vanilla coreutils-8.20, i see: > Makefile.in:man/uname.1: src/uname.c > > which seems to have originated from man/local.mk, but munged: > man/uname.1: src/uname > > this causes parallel build problems because man/uname.1 generation can = get > scheduled before src/uname has been linked. easy way to reproduce: > ./configure > touch src/uname.c > make -j > ... > GEN man/uname.1 > CC src/hostname.o > CC src/uptime.o > CC src/kill.o > CC src/groups.o > GEN lib/charset.alias > GEN lib/ref-add.sed > GEN lib/ref-del.sed > CC lib/set-mode-acl.o > CC lib/copy-acl.o > CC lib/file-has-acl.o > CC lib/allocator.o > help2man: can't get '--help' info from man/uname.td/uname > CC lib/areadlink.o > make[2]: *** [man/uname.1] Error 127 > make[2]: *** Waiting for unfinished jobs.... > CC lib/areadlink-with-size.o > -mike Ouch. There was a recent commit related to that exact issue which should have fixed this? http://git.sv.gnu.org/gitweb/?p=3Dcoreutils.git;a=3Dcommit;h=3D11d6386 The Makefile.in in my local git repo is correct, i.e. man/uname.1: src/uname whereas in the dist tarball it's man/uname.1: src/uname.c I might get time to investigate some time tomorrow. thanks, P=E1draig. From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: coreutils-8.20: bad dependency information with man page generation Resent-From: Stefano Lattarini Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 07:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: Mike Frysinger , 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135106464913954 (code B ref 12715); Wed, 24 Oct 2012 07:45:01 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 07:44:09 +0000 Received: from localhost ([127.0.0.1]:58659 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQvdJ-0003d0-1f for submit@debbugs.gnu.org; Wed, 24 Oct 2012 03:44:09 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:51805) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQvdG-0003cP-OY for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 03:44:07 -0400 Received: by mail-bk0-f44.google.com with SMTP id jc3so64183bkc.3 for <12715@debbugs.gnu.org>; Wed, 24 Oct 2012 00:42:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=VzuwXnj/iM58JmeGdZszRHSKVIMxqrbAlrmCmde1Fqo=; b=M8g12Sa59tRNcMQlf1JzX811QCn5F+v2WdtICsmnvjW5lVY2JC10+RT2QxeuZ6Tsfy duNxFS/s9MXYlQljvZZ93gMmRVWhHaTs4P/4BvM+Jh+UOmlYVAc+0mIlAdeeXAIZPa4b DugMRho3gL9qxlUTHhlmNW4gN3QTG29m40cBEHNHGiipdwL2ecNKqNyl/PhF0de6KXoJ aof2+JM58vlf8uxWDsBhcdGVJKtr1t8Hw+JiZNbF0gfn25GHrksg1Mvct0f8gWbnZeSK MH+j5lepb2TobYb4IJsJ0mAOyM5jsjbl10FvGWNNsdh+wwSvQfKYzbXvuApFy7Z6UPxR mXEw== Received: by 10.204.0.74 with SMTP id 10mr4606955bka.83.1351064524328; Wed, 24 Oct 2012 00:42:04 -0700 (PDT) Received: from [192.168.178.21] (host247-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.247]) by mx.google.com with ESMTPS id z22sm7091478bkw.2.2012.10.24.00.42.02 (version=SSLv3 cipher=OTHER); Wed, 24 Oct 2012 00:42:03 -0700 (PDT) Message-ID: <50879BC2.7010501@gmail.com> Date: Wed, 24 Oct 2012 09:41:54 +0200 From: Stefano Lattarini MIME-Version: 1.0 References: <201210231827.20690.vapier@gentoo.org> <50872CDC.9080109@draigBrady.com> In-Reply-To: <50872CDC.9080109@draigBrady.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Hi Pádraig, Mike. On 10/24/2012 01:48 AM, Pádraig Brady wrote: > On 10/23/2012 11:27 PM, Mike Frysinger wrote: >> if i look at vanilla coreutils-8.20, i see: >> Makefile.in:man/uname.1: src/uname.c >> >> which seems to have originated from man/local.mk, but munged: >> man/uname.1: src/uname >> >> this causes parallel build problems because man/uname.1 generation can get >> scheduled before src/uname has been linked. easy way to reproduce: >> ./configure >> touch src/uname.c >> make -j >> ... >> GEN man/uname.1 >> CC src/hostname.o >> CC src/uptime.o >> CC src/kill.o >> CC src/groups.o >> GEN lib/charset.alias >> GEN lib/ref-add.sed >> GEN lib/ref-del.sed >> CC lib/set-mode-acl.o >> CC lib/copy-acl.o >> CC lib/file-has-acl.o >> CC lib/allocator.o >> help2man: can't get '--help' info from man/uname.td/uname >> CC lib/areadlink.o >> make[2]: *** [man/uname.1] Error 127 >> make[2]: *** Waiting for unfinished jobs.... >> CC lib/areadlink-with-size.o >> -mike > > Ouch. There was a recent commit related > to that exact issue which should have fixed this? > http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=11d6386 > > The Makefile.in in my local git repo is correct, i.e. > man/uname.1: src/uname > whereas in the dist tarball it's > man/uname.1: src/uname.c > > I might get time to investigate some time tomorrow. > This issue has already cropped up before, and I think I have managed to diagnose it. See: There is also a patch available, but it doesn't seem to have encountered much acceptance unfortunately: Regards, Stefano From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: coreutils-8.20: bad dependency information with man page generation Resent-From: Andreas Schwab Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 08:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Stefano Lattarini Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135106726217696 (code B ref 12715); Wed, 24 Oct 2012 08:28:01 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 08:27:42 +0000 Received: from localhost ([127.0.0.1]:58673 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQwJR-0004bM-4M for submit@debbugs.gnu.org; Wed, 24 Oct 2012 04:27:41 -0400 Received: from mail-out.m-online.net ([212.18.0.10]:52561) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQwJO-0004bC-3o for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 04:27:39 -0400 Received: from frontend1.mail.m-online.net (frontend1.mail.intern.m-online.net [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3Xml0M5G6Wz3hhfV; Wed, 24 Oct 2012 10:25:38 +0200 (CEST) X-Auth-Info: 6dYPRF2hhTk1FvxvUkZut9Bz4hBXH5grYnI2oQzNokc= Received: from igel.home (ppp-88-217-103-72.dynamic.mnet-online.de [88.217.103.72]) by mail.mnet-online.de (Postfix) with ESMTPA id 3Xml0L404czbbl2; Wed, 24 Oct 2012 10:25:38 +0200 (CEST) Received: by igel.home (Postfix, from userid 501) id A4838CA2A1; Wed, 24 Oct 2012 10:25:37 +0200 (CEST) From: Andreas Schwab References: <201210231827.20690.vapier@gentoo.org> <50872CDC.9080109@draigBrady.com> <50879BC2.7010501@gmail.com> X-Yow: MY income is ALL disposable! Date: Wed, 24 Oct 2012 10:25:36 +0200 In-Reply-To: <50879BC2.7010501@gmail.com> (Stefano Lattarini's message of "Wed, 24 Oct 2012 09:41:54 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -0.0 (/) Stefano Lattarini writes: > There is also a patch available, but it doesn't seem to have > encountered much acceptance unfortunately: > > The easiest way to solve that is to use order-only dependencies. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: coreutils-8.20: bad dependency information with man page generation Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 09:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Andreas Schwab Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , Stefano Lattarini , 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135107057823316 (code B ref 12715); Wed, 24 Oct 2012 09:23:02 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 09:22:58 +0000 Received: from localhost ([127.0.0.1]:58759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQxAw-000640-Jb for submit@debbugs.gnu.org; Wed, 24 Oct 2012 05:22:58 -0400 Received: from mx.meyering.net ([88.168.87.75]:38574) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQxAt-00063i-Oc for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 05:22:56 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 8A8D360085; Wed, 24 Oct 2012 11:20:56 +0200 (CEST) From: Jim Meyering In-Reply-To: (Andreas Schwab's message of "Wed, 24 Oct 2012 10:25:36 +0200") References: <201210231827.20690.vapier@gentoo.org> <50872CDC.9080109@draigBrady.com> <50879BC2.7010501@gmail.com> Date: Wed, 24 Oct 2012 11:20:56 +0200 Message-ID: <87d308kyyv.fsf@rho.meyering.net> Lines: 17 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Andreas Schwab wrote: > Stefano Lattarini writes: > >> There is also a patch available, but it doesn't seem to have >> encountered much acceptance unfortunately: >> >> > > The easiest way to solve that is to use order-only dependencies. Yes, that would be perfect if we could rely on GNU make: http://www.gnu.org/s/make/manual/html_node/Prerequisite-Types.html If you had to require one, which would you rather mandate (rhetorical): Gnu make perl From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: coreutils-8.20: bad dependency information with man page generation Resent-From: Stefano Lattarini Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 09:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Andreas Schwab Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135107064223548 (code B ref 12715); Wed, 24 Oct 2012 09:25:02 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 09:24:02 +0000 Received: from localhost ([127.0.0.1]:58763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQxBx-00067j-SM for submit@debbugs.gnu.org; Wed, 24 Oct 2012 05:24:02 -0400 Received: from mail-la0-f44.google.com ([209.85.215.44]:60898) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQxBw-000674-8q for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 05:24:01 -0400 Received: by mail-la0-f44.google.com with SMTP id b11so199422lam.3 for <12715@debbugs.gnu.org>; Wed, 24 Oct 2012 02:21:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=+mfyCw8cuq8CGr7T4Uvvlxct5nDzem8m6B7qOQle7BY=; b=w1BuCt+vtYfsjiZ5y35FU4rcF88xXSVwskRp7fakEQl94vNUbS0f87jJwHX22NEIm2 30lg5jidoIJYdDyTWj2aD5DlL3UO1KPuQdLOXzssUf1dfMghoPbFuj4Qmbi3dv8v11LL pjhTifBMGEH6AyfRtF805OXQ1yR42AuN/mdjvwolTGh52fklpaRZecZ20v3r4xb6zMD2 wkUXoH6P3IGqNLWPjNfbYW2qBwT1JJO9ZcLrohEgaX/k8vcnvIMRBH/0XWWYGHIjStFC Pt8ZlnXNZpdfYz7RqGd6ixxS6FJPsp43Ia2lOP1YJbpj0hJfDbdnrsAjqfwc0czdXAD1 Lzwg== Received: by 10.152.106.212 with SMTP id gw20mr13808898lab.8.1351070517251; Wed, 24 Oct 2012 02:21:57 -0700 (PDT) Received: from [192.168.178.21] (host247-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.247]) by mx.google.com with ESMTPS id oj5sm4748300lab.8.2012.10.24.02.21.55 (version=SSLv3 cipher=OTHER); Wed, 24 Oct 2012 02:21:56 -0700 (PDT) Message-ID: <5087B332.5010500@gmail.com> Date: Wed, 24 Oct 2012 11:21:54 +0200 From: Stefano Lattarini MIME-Version: 1.0 References: <201210231827.20690.vapier@gentoo.org> <50872CDC.9080109@draigBrady.com> <50879BC2.7010501@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) On 10/24/2012 10:25 AM, Andreas Schwab wrote: > Stefano Lattarini writes: > >> There is also a patch available, but it doesn't seem to have >> encountered much acceptance unfortunately: >> >> > > The easiest way to solve that is to use order-only dependencies. > Which we unfortunately can't do, because they are a GNU make only feature. Regards, Stefano From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Stefano Lattarini Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 10:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135107524230569 (code B ref 12715); Wed, 24 Oct 2012 10:41:01 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 10:40:42 +0000 Received: from localhost ([127.0.0.1]:58832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQyNq-0007wb-Ek for submit@debbugs.gnu.org; Wed, 24 Oct 2012 06:40:23 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:40866) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQyNk-0007wJ-An for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 06:40:17 -0400 Received: by mail-bk0-f44.google.com with SMTP id jc3so155291bkc.3 for <12715@debbugs.gnu.org>; Wed, 24 Oct 2012 03:38:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=i+nVLgx/vOTqXCFzZQ6ail/McGDiVDSoV4Kja32TBxg=; b=PoPYwfZidiJcR1hCAPI3KJRb8AhUNIUyJGQ+wFXnuMT9M26BJEsTRppJMxFEmrxocn psBTfVX9cZkqaQgVW5GBl6X6PoZ/skxXQfPbTY+3HU1B8dpxf4gHHHvfnpuqZyaCBS3m 3hjWcPItBxpNQ/wTFoChKVRyUAYNwJUXh7gAwUXbF+T7hhQikzZBmDHDVeqVR197nsPH 7QU2w1XH8ZGl5qVS5bRIxaIzGpOs95NjXw4/7dJ4+7FVo7/ZMDwQo0/NTBVKN/VZ8Xkt wm5j6PZsyNQNmJE1G7rJoLlLn4nfOaoYDWxs5aLcXXfsc9zpotKvuyoRjOySMdseUSUs RN+w== Received: by 10.204.148.12 with SMTP id n12mr4490139bkv.62.1351075093316; Wed, 24 Oct 2012 03:38:13 -0700 (PDT) Received: from [192.168.178.21] (host247-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.247]) by mx.google.com with ESMTPS id r15sm7633215bkw.9.2012.10.24.03.38.11 (version=SSLv3 cipher=OTHER); Wed, 24 Oct 2012 03:38:12 -0700 (PDT) Message-ID: <5087C511.4050907@gmail.com> Date: Wed, 24 Oct 2012 12:38:09 +0200 From: Stefano Lattarini MIME-Version: 1.0 References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> In-Reply-To: <5087B58E.2040401@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -0.7 (/) On 10/24/2012 11:31 AM, Stefano Lattarini wrote: > On 10/24/2012 10:54 AM, Jim Meyering wrote: >> Pádraig Brady wrote: >> >>> `echo "warning"; touch $manpage`. >> >> Sounds good. I.e., it sounds like we want Stefano's patch, after all. >> >> As you recall, a nice side effect is that we will >> no longer distribute the generated man/*.1 files. >> >> Stefano, would you care to rebase your patch? >> > Will do soon. Just give me some time to also re-test it ... > Done. The patch is inlined below. Regards, Stefano ----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<---- >From 6f35e53d98e6dc0c7843b9e434addf81d901aefa Mon Sep 17 00:00:00 2001 Message-Id: <6f35e53d98e6dc0c7843b9e434addf81d901aefa.1351075054.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Tue, 11 Sep 2012 20:54:30 +0200 Subject: [PATCH] build: graceful degradation in man pages generation if perl is lacking Fixes coreutils bug#12715. Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaks the distributed Makefile.in so that each man page 'man/foo.1' depends on the corresponding source 'man/foo.c' rather than the corresponding program 'man/foo'. That is done to accommodate inferior systems that, lacking perl, cannot run 'help2man' to regenerate the manpage after its corresponding program has been built. This seems a right and proper graceful degradation, in that the man pages dependencies are still 100% correct in a git checkout, while being laxer but "more portable" in a distribution tarball. Alas, that is not the case in practice, as it turns out the tweaked Makefile makes the building of man pages unreliable and potentially incorrect! In fact, assume that instead of the correct a dependency: man/ls.1: src/ls we have the laxer one: man/ls.1: src/ls.c and think of what happens if a user modifies, say, 'src/ls.c', and then runs "make -j4" to rebuild everything. The make process will see that it has to rebuild the man page 'man/ls.1' (because its prerequisite 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls' *before* re-running 'help2man' to generate that man page; so, if 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent make), our user will get either a build error (if 'src/ls' did non exist) or, worse, a man page with an up-to-date timestamp but an out-of-date content. And what's even worse in all of this is that this problem will be present also for users who have perl installed: this is not a "graceful degradation" at all! In our situation, the best and simplest way to implement a graceful degradation it to keep the correct dependencies for man pages (that is, "man/ls.1: src/ls"), and if perl is not present, just generate dummy man pages reporting that built-time issue and redirecting the user back to either the info documentation or the '--help' output. As a consequence of this change, we also stop distributing man pages, since they would be anyway unconditionally rebuilt * Makefile.am (do-not-require-help2man): Remove. (dist-hook): Don't depend on it. * man/local.mk: Remove an obsolete comment. (EXTRA_DIST): Stop distributing generated man pages. ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs). (MAINTAINERCLEANFILES): $(ALL_MANS) should not be listed here ... (CLEANFILES): ... but here. (.x.1): Instead of warning if perl is missing, but then trying to run 'help2man' unconditionally, simply run ... (run_help2man): ... the command referenced by this new variable, that expands to a proper invocation of 'help2man' if perl is present, and to an invocation of a shell script generating a dummy manpage if it's not. (EXTRA_DIST): Distribute that shell script. * man/dummy-man: Be that shell script --- Makefile.am | 20 +---------------- man/dummy-man | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ man/local.mk | 25 +++++++++++---------- 3 files changed, 86 insertions(+), 31 deletions(-) create mode 100755 man/dummy-man diff --git a/Makefile.am b/Makefile.am index 0232090..5eaa45b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -93,29 +93,11 @@ BUILT_SOURCES = .version .version: $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@ -# In general, we run help2man to build a man page from the binary's --help -# output, but when building from a just-unpacked distribution tarball, we -# must not do that, since help2man uses perl. We don't want to depend on -# perl in that case. In general, the .1 file does indeed depend on the -# binary. I.e., for cat, we have this Makefile dependency: -# man/cat.1: src/cat -# That means that once we build src/cat, we would trigger the .x.1 -# rule which runs help2man. The trick is simply to change the RHS to -# "src/cat.c" in the $(distdir) that we're about to tar and compress. -# Also handle the three exceptions corresponding to the three binaries -# for which there is no like-named .c file: dir, vdir, ginstall. -.PHONY: do-not-require-help2man -do-not-require-help2man: - perl -pi -e 's,^(man/.+?\.1:\s*src/.+?)$$,$$1.c,;' \ - -e 's,^(man/.+?\.1:\s*src)/ginstall\.c$$,$$1/install.c,;' \ - -e 's,^(man/.+?\.1:\s*src)/v?dir\.c$$,$$1/ls.c,;' \ - $(distdir)/Makefile.in - # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. -dist-hook: gen-ChangeLog do-not-require-help2man +dist-hook: gen-ChangeLog $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in diff --git a/man/dummy-man b/man/dummy-man new file mode 100755 index 0000000..cba661c --- /dev/null +++ b/man/dummy-man @@ -0,0 +1,72 @@ +#!/bin/sh +# Poor place holder for help2man invocation on systems lacking perl; +# it generates a dummy manpage stating that as proper manpage could +# not be generated, and redirecting the user back to either the info +# documentation or the '--help' output. + +set -e; set -u + +fatal_ () +{ + printf '%s: %s\n' "$0" "$*" >&2 + exit 1 +} + +basename_ () +{ + printf '%s\n' "$1" | sed 's,.*/,,' +} + +output= +source="GNU coreutils" +while test $# -gt 0; do + case $1 in + # Help2man options we recognize handle. + --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;; + --output) shift; output=$1;; + --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;; + --source) shift; source=$1;; + # Recognize (as no-op) other help2man options that might be used + # in the makefile. + --include=*);; + --include) shift;; + -*) fatal_ "invalid or unrecognized help2man option '$1'";; + --) shift; break;; + *) break;; + esac + shift +done + +test $# -gt 0 || fatal_ "missing argument" +test $# -le 1 || fatal_ "too many non-option arguments" + +baseout=`basename "$output"` +sed 's/^/WARNING: /' >&2 <"$output" <. -EXTRA_DIST += man/help2man +EXTRA_DIST += man/help2man man/dummy-man + +## Graceful degradation for systems lacking perl. +if HAVE_PERL +run_help2man = $(PERL) -- $(srcdir)/man/help2man +else +run_help2man = $(SHELL) $(srcdir)/man/dummy-man +endif man1_MANS = @man1_MANS@ -EXTRA_DIST += $(man1_MANS) $(man1_MANS:.1=.x) +EXTRA_DIST += $(man1_MANS:.1=.x) EXTRA_MANS = @EXTRA_MANS@ -EXTRA_DIST += $(EXTRA_MANS) $(EXTRA_MANS:.1=.x) +EXTRA_DIST += $(EXTRA_MANS:.1=.x) ALL_MANS = $(man1_MANS) $(EXTRA_MANS) -MAINTAINERCLEANFILES += $(ALL_MANS) +CLEANFILES += $(ALL_MANS) # This is required because we have subtle inter-directory dependencies: # in order to generate all man pages, even those for which we don't @@ -161,13 +168,7 @@ man/whoami.1: src/whoami man/yes.1: src/yes .x.1: - $(AM_V_GEN)case '$(PERL)' in \ - *"/missing "*) \ - echo 'WARNING: cannot update man page $@ since perl is missing' \ - 'or inadequate' 1>&2 \ - exit 0;; \ - esac; \ - name=`echo $@ | sed -e 's|.*/||' -e 's|\.1$$||'` || exit 1; \ + $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \ ## Ensure that help2man runs the 'src/ginstall' binary as 'install' when ## creating 'install.1'. Similarly, ensure that it uses the 'src/[' binary ## to create 'test.1'. @@ -184,7 +185,7 @@ man/yes.1: src/yes && rm -rf $$t \ && $(MKDIR_P) $$t \ && (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog $$name) \ - && $(PERL) -- $(srcdir)/man/help2man \ + && $(run_help2man) \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/man/$$name.x \ --output=$$t/$$name.1 $$t/$$name \ -- 1.8.0.rc2.11.gd25c58c From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Stefano Lattarini Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 10:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135107572131319 (code B ref 12715); Wed, 24 Oct 2012 10:49:02 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 10:48:41 +0000 Received: from localhost ([127.0.0.1]:58843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQyVs-000895-OC for submit@debbugs.gnu.org; Wed, 24 Oct 2012 06:48:41 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:53076) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TQyVp-00088q-Qx for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 06:48:39 -0400 Received: by mail-bk0-f44.google.com with SMTP id jc3so159724bkc.3 for <12715@debbugs.gnu.org>; Wed, 24 Oct 2012 03:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Da7yLt8lSM6UQjd5uGaeCmYUXhIyF24l55+qHJMdmho=; b=kuDqzim1HfmTqrr1Br3iLQGKn8aJkF7INFR21fY4ffu6s2Op83aN0eiNoc/CDO5KEO 1Fro/4nA1J9YhRNbsMcTtM+yqcxw/S9LtOpMYWLW3Ef7WRBmXNdrqwE7OHmh/tCNioRe ZGS06/QNYPy9M8z2W9etcf/VtRxBczobuvQuEtwraJPeXf2iFfJgTeq1oFVlEOKYOH4h 3QckjzjTRRqcaEUHkoofVgxlHuoZWqgG5u4uxiUe0yvT3K+kdh+PzpS/AUFej/GehjTx Lw6wNhBVk/ier1fUmbdSUcpEKNIJEDFWGqcya9hA7y4UnefuF2jZjvXCp2dAvDX7VzKB PNBw== Received: by 10.204.148.146 with SMTP id p18mr4748138bkv.51.1351075594790; Wed, 24 Oct 2012 03:46:34 -0700 (PDT) Received: from [192.168.178.21] (host247-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.247]) by mx.google.com with ESMTPS id x13sm7733589bkv.16.2012.10.24.03.46.32 (version=SSLv3 cipher=OTHER); Wed, 24 Oct 2012 03:46:34 -0700 (PDT) Message-ID: <5087C706.3050205@gmail.com> Date: Wed, 24 Oct 2012 12:46:30 +0200 From: Stefano Lattarini MIME-Version: 1.0 References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> In-Reply-To: <5087C511.4050907@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -0.7 (/) On 10/24/2012 12:38 PM, Stefano Lattarini wrote: > On 10/24/2012 11:31 AM, Stefano Lattarini wrote: >> On 10/24/2012 10:54 AM, Jim Meyering wrote: >>> Pádraig Brady wrote: >>> >>>> `echo "warning"; touch $manpage`. >>> >>> Sounds good. I.e., it sounds like we want Stefano's patch, after all. >>> >>> As you recall, a nice side effect is that we will >>> no longer distribute the generated man/*.1 files. >>> >>> Stefano, would you care to rebase your patch? >>> >> Will do soon. Just give me some time to also re-test it ... >> > Done. The patch is inlined below. > Yikes, some blunders slipped in. We need at least the following diffs squashed in: -*-*-*- diff --git a/man/dummy-man b/man/dummy-man index cba661c..2e32320 100755 --- a/man/dummy-man +++ b/man/dummy-man @@ -1,5 +1,5 @@ #!/bin/sh -# Poor place holder for help2man invocation on systems lacking perl; +# Poor placeholder for help2man invocation on systems lacking perl; # it generates a dummy manpage stating that as proper manpage could # not be generated, and redirecting the user back to either the info # documentation or the '--help' output. @@ -21,7 +21,7 @@ output= source="GNU coreutils" while test $# -gt 0; do case $1 in - # Help2man options we recognize handle. + # Help2man options we recognize and handle. --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;; --output) shift; output=$1;; --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;; @@ -40,7 +40,7 @@ done test $# -gt 0 || fatal_ "missing argument" test $# -le 1 || fatal_ "too many non-option arguments" -baseout=`basename "$output"` +baseout=`basename_ "$output"` sed 's/^/WARNING: /' >&2 <From f61dcb763975c1aab299fa9678ea180d70db6acf Mon Sep 17 00:00:00 2001 Message-Id: From: Stefano Lattarini Date: Tue, 11 Sep 2012 20:54:30 +0200 Subject: [PATCH] build: graceful degradation in man pages generation if perl is lacking Fixes coreutils bug#12715. Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaks the distributed Makefile.in so that each man page 'man/foo.1' depends on the corresponding source 'man/foo.c' rather than the corresponding program 'man/foo'. That is done to accommodate inferior systems that, lacking perl, cannot run 'help2man' to regenerate the manpage after its corresponding program has been built. This seems a right and proper graceful degradation, in that the man pages dependencies are still 100% correct in a git checkout, while being laxer but "more portable" in a distribution tarball. Alas, that is not the case in practice, as it turns out the tweaked Makefile makes the building of man pages unreliable and potentially incorrect! In fact, assume that instead of the correct a dependency: man/ls.1: src/ls we have the laxer one: man/ls.1: src/ls.c and think of what happens if a user modifies, say, 'src/ls.c', and then runs "make -j4" to rebuild everything. The make process will see that it has to rebuild the man page 'man/ls.1' (because its prerequisite 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls' *before* re-running 'help2man' to generate that man page; so, if 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent make), our user will get either a build error (if 'src/ls' did non exist) or, worse, a man page with an up-to-date timestamp but an out-of-date content. And what's even worse in all of this is that this problem will be present also for users who have perl installed: this is not a "graceful degradation" at all! In our situation, the best and simplest way to implement a graceful degradation it to keep the correct dependencies for man pages (that is, "man/ls.1: src/ls"), and if perl is not present, just generate dummy man pages reporting that built-time issue and redirecting the user back to either the info documentation or the '--help' output. As a consequence of this change, we also stop distributing man pages, since they would be anyway unconditionally rebuilt * Makefile.am (do-not-require-help2man): Remove. (dist-hook): Don't depend on it. * man/local.mk: Remove an obsolete comment. (EXTRA_DIST): Stop distributing generated man pages. ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs). (MAINTAINERCLEANFILES): $(ALL_MANS) should not be listed here ... (CLEANFILES): ... but here. (.x.1): Instead of warning if perl is missing, but then trying to run 'help2man' unconditionally, simply run ... (run_help2man): ... the command referenced by this new variable, that expands to a proper invocation of 'help2man' if perl is present, and to an invocation of a shell script generating a dummy manpage if it's not. (EXTRA_DIST): Distribute that shell script. * man/dummy-man: Be that shell script --- Makefile.am | 20 +---------------- man/dummy-man | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ man/local.mk | 25 +++++++++++---------- 3 files changed, 86 insertions(+), 31 deletions(-) create mode 100755 man/dummy-man diff --git a/Makefile.am b/Makefile.am index 0232090..5eaa45b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -93,29 +93,11 @@ BUILT_SOURCES = .version .version: $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@ -# In general, we run help2man to build a man page from the binary's --help -# output, but when building from a just-unpacked distribution tarball, we -# must not do that, since help2man uses perl. We don't want to depend on -# perl in that case. In general, the .1 file does indeed depend on the -# binary. I.e., for cat, we have this Makefile dependency: -# man/cat.1: src/cat -# That means that once we build src/cat, we would trigger the .x.1 -# rule which runs help2man. The trick is simply to change the RHS to -# "src/cat.c" in the $(distdir) that we're about to tar and compress. -# Also handle the three exceptions corresponding to the three binaries -# for which there is no like-named .c file: dir, vdir, ginstall. -.PHONY: do-not-require-help2man -do-not-require-help2man: - perl -pi -e 's,^(man/.+?\.1:\s*src/.+?)$$,$$1.c,;' \ - -e 's,^(man/.+?\.1:\s*src)/ginstall\.c$$,$$1/install.c,;' \ - -e 's,^(man/.+?\.1:\s*src)/v?dir\.c$$,$$1/ls.c,;' \ - $(distdir)/Makefile.in - # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. -dist-hook: gen-ChangeLog do-not-require-help2man +dist-hook: gen-ChangeLog $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in diff --git a/man/dummy-man b/man/dummy-man new file mode 100755 index 0000000..2e32320 --- /dev/null +++ b/man/dummy-man @@ -0,0 +1,72 @@ +#!/bin/sh +# Poor placeholder for help2man invocation on systems lacking perl; +# it generates a dummy manpage stating that as proper manpage could +# not be generated, and redirecting the user back to either the info +# documentation or the '--help' output. + +set -e; set -u + +fatal_ () +{ + printf '%s: %s\n' "$0" "$*" >&2 + exit 1 +} + +basename_ () +{ + printf '%s\n' "$1" | sed 's,.*/,,' +} + +output= +source="GNU coreutils" +while test $# -gt 0; do + case $1 in + # Help2man options we recognize and handle. + --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;; + --output) shift; output=$1;; + --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;; + --source) shift; source=$1;; + # Recognize (as no-op) other help2man options that might be used + # in the makefile. + --include=*);; + --include) shift;; + -*) fatal_ "invalid or unrecognized help2man option '$1'";; + --) shift; break;; + *) break;; + esac + shift +done + +test $# -gt 0 || fatal_ "missing argument" +test $# -le 1 || fatal_ "too many non-option arguments" + +baseout=`basename_ "$output"` +sed 's/^/WARNING: /' >&2 <"$output" <. -EXTRA_DIST += man/help2man +EXTRA_DIST += man/help2man man/dummy-man + +## Graceful degradation for systems lacking perl. +if HAVE_PERL +run_help2man = $(PERL) -- $(srcdir)/man/help2man +else +run_help2man = $(SHELL) $(srcdir)/man/dummy-man +endif man1_MANS = @man1_MANS@ -EXTRA_DIST += $(man1_MANS) $(man1_MANS:.1=.x) +EXTRA_DIST += $(man1_MANS:.1=.x) EXTRA_MANS = @EXTRA_MANS@ -EXTRA_DIST += $(EXTRA_MANS) $(EXTRA_MANS:.1=.x) +EXTRA_DIST += $(EXTRA_MANS:.1=.x) ALL_MANS = $(man1_MANS) $(EXTRA_MANS) -MAINTAINERCLEANFILES += $(ALL_MANS) +CLEANFILES += $(ALL_MANS) # This is required because we have subtle inter-directory dependencies: # in order to generate all man pages, even those for which we don't @@ -161,13 +168,7 @@ man/whoami.1: src/whoami man/yes.1: src/yes .x.1: - $(AM_V_GEN)case '$(PERL)' in \ - *"/missing "*) \ - echo 'WARNING: cannot update man page $@ since perl is missing' \ - 'or inadequate' 1>&2 \ - exit 0;; \ - esac; \ - name=`echo $@ | sed -e 's|.*/||' -e 's|\.1$$||'` || exit 1; \ + $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \ ## Ensure that help2man runs the 'src/ginstall' binary as 'install' when ## creating 'install.1'. Similarly, ensure that it uses the 'src/[' binary ## to create 'test.1'. @@ -184,7 +185,7 @@ man/yes.1: src/yes && rm -rf $$t \ && $(MKDIR_P) $$t \ && (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog $$name) \ - && $(PERL) -- $(srcdir)/man/help2man \ + && $(run_help2man) \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/man/$$name.x \ --output=$$t/$$name.1 $$t/$$name \ -- 1.8.0.rc2.11.gd25c58c From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 13:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Stefano Lattarini Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135108416214372 (code B ref 12715); Wed, 24 Oct 2012 13:10:01 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 13:09:22 +0000 Received: from localhost ([127.0.0.1]:58973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TR0i1-0003jk-AU for submit@debbugs.gnu.org; Wed, 24 Oct 2012 09:09:21 -0400 Received: from mx.meyering.net ([88.168.87.75]:39015) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TR0hx-0003ja-D6 for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 09:09:19 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 1E8F160085; Wed, 24 Oct 2012 15:07:18 +0200 (CEST) From: Jim Meyering In-Reply-To: <5087C706.3050205@gmail.com> (Stefano Lattarini's message of "Wed, 24 Oct 2012 12:46:30 +0200") References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> Date: Wed, 24 Oct 2012 15:07:18 +0200 Message-ID: <87ipa0j9x5.fsf@rho.meyering.net> Lines: 78 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Stefano Lattarini wrote: > Here is the updated patch. Sorry for the noise, ... > Subject: [PATCH] build: graceful degradation in man pages generation if p= erl > is lacking Thank you for the updated patch. > Fixes coreutils bug#12715. > > Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaks the > distributed Makefile.in so that each man page 'man/foo.1' depends > on the corresponding source 'man/foo.c' rather than the corresponding > program 'man/foo'. That is done to accommodate inferior systems that, > lacking perl, cannot run 'help2man' to regenerate the manpage after > its corresponding program has been built. > > This seems a right and proper graceful degradation, in that the > man pages dependencies are still 100% correct in a git checkout, > while being laxer but "more portable" in a distribution tarball. > > Alas, that is not the case in practice, as it turns out the tweaked > Makefile makes the building of man pages unreliable and potentially > incorrect! > > In fact, assume that instead of the correct a dependency: > > man/ls.1: src/ls > > we have the laxer one: > > man/ls.1: src/ls.c > > and think of what happens if a user modifies, say, 'src/ls.c', and then > runs "make -j4" to rebuild everything. The make process will see that > it has to rebuild the man page 'man/ls.1' (because its prerequisite > 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls' > *before* re-running 'help2man' to generate that man page; so, if > 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent > make), our user will get either a build error (if 'src/ls' did non > exist) or, worse, a man page with an up-to-date timestamp but an > out-of-date content. And what's even worse in all of this is that > this problem will be present also for users who have perl installed: > this is not a "graceful degradation" at all! > > In our situation, the best and simplest way to implement a graceful > degradation it to keep the correct dependencies for man pages (that > is, "man/ls.1: src/ls"), and if perl is not present, just generate > dummy man pages reporting that built-time issue and redirecting the > user back to either the info documentation or the '--help' output. > > As a consequence of this change, we also stop distributing man pages, > since they would be anyway unconditionally rebuilt This is simpler than what P=E1draig suggested (distribute .1 files and insert warning if needed), but I'm inclined to agree that simpler is better. Does anyone know of a well-known environment/distro in which coreutils is built without perl? I.e., if virtually no one builds coreutils without perl, then any attempt to coddle those users is wasted complexity. > * Makefile.am (do-not-require-help2man): Remove. > (dist-hook): Don't depend on it. > * man/local.mk: Remove an obsolete comment. > (EXTRA_DIST): Stop distributing generated man pages. > ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs). > (MAINTAINERCLEANFILES): $(ALL_MANS) should not be listed here ... > (CLEANFILES): ... but here. > (.x.1): Instead of warning if perl is missing, but then trying to run > 'help2man' unconditionally, simply run ... > (run_help2man): ... the command referenced by this new variable, that > expands to a proper invocation of 'help2man' if perl is present, and > to an invocation of a shell script generating a dummy manpage if it's > not. > (EXTRA_DIST): Distribute that shell script. > * man/dummy-man: Be that shell script From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time References: <201210231827.20690.vapier@gentoo.org> Resent-From: g.esp@free.fr Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 14:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, Stefano Lattarini , 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135108757623225 (code B ref 12715); Wed, 24 Oct 2012 14:07:01 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 14:06:16 +0000 Received: from localhost ([127.0.0.1]:59682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TR1b6-00062Y-95 for submit@debbugs.gnu.org; Wed, 24 Oct 2012 10:06:16 -0400 Received: from smtp1-g21.free.fr ([212.27.42.1]:33906) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TR1b1-00062N-LZ for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 10:06:14 -0400 Received: from zimbra33-e6.priv.proxad.net (unknown [172.20.243.183]) by smtp1-g21.free.fr (Postfix) with ESMTP id C37C6940024; Wed, 24 Oct 2012 16:04:06 +0200 (CEST) Date: Wed, 24 Oct 2012 16:04:05 +0200 (CEST) From: g.esp@free.fr Message-ID: <1135860962.327089500.1351087445654.JavaMail.root@zimbra33-e6.priv.proxad.net> In-Reply-To: <87ipa0j9x5.fsf@rho.meyering.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [163.116.6.12] X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Win)/7.2.0-GA2598) X-Authenticated-User: g.esp@free.fr X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) ----- Mail original ----- > De: "Jim Meyering" > =C3=80: "Stefano Lattarini" > Cc: "P=C3=A1draig Brady" , "Mike Frysinger" , coreutils@gnu.org, > 12715@debbugs.gnu.org > Envoy=C3=A9: Mercredi 24 Octobre 2012 15:07:18 > Objet: bug#12715: [PATCH] build: do not require help2man at=09build-from-= tarball time >=20 > Stefano Lattarini wrote: > > Here is the updated patch. Sorry for the noise, > ... > > Subject: [PATCH] build: graceful degradation in man pages > > generation if perl > > is lacking >=20 >=20 > Does anyone know of a well-known environment/distro in which > coreutils is built without perl? I.e., if virtually no one > builds coreutils without perl, then any attempt to coddle those > users is wasted complexity. >=20 Speaking for what I know, this is not an issue with 'linux from scratch' ba= sed systems. - perl is an host requirement (coreutils is build a first time on toolchain= stage), - perl is build on toolchain stage before final coreutils is build. Any toolchain that really cross-compile often avoid perl as notoriously har= d to cross-compile. Often busybox is used instead of coreutils. Openwrt for example does that. Openwrt could optionally build coreutils. The build script use 8.16 and pat= ch to not build the doc. Gilles From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 24 Oct 2012 14:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: g.esp@free.fr Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, Stefano Lattarini , 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135108836524354 (code B ref 12715); Wed, 24 Oct 2012 14:20:02 +0000 Received: (at 12715) by debbugs.gnu.org; 24 Oct 2012 14:19:25 +0000 Received: from localhost ([127.0.0.1]:59687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TR1no-0006Kl-L7 for submit@debbugs.gnu.org; Wed, 24 Oct 2012 10:19:24 -0400 Received: from mx.meyering.net ([88.168.87.75]:39166) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TR1nm-0006Ka-5N for 12715@debbugs.gnu.org; Wed, 24 Oct 2012 10:19:23 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 182BB600FE; Wed, 24 Oct 2012 16:17:23 +0200 (CEST) From: Jim Meyering In-Reply-To: <1135860962.327089500.1351087445654.JavaMail.root@zimbra33-e6.priv.proxad.net> (g. esp's message of "Wed, 24 Oct 2012 16:04:05 +0200 (CEST)") References: <1135860962.327089500.1351087445654.JavaMail.root@zimbra33-e6.priv.proxad.net> Date: Wed, 24 Oct 2012 16:17:23 +0200 Message-ID: <87d308j6oc.fsf@rho.meyering.net> Lines: 37 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) g.esp@free.fr wrote: > ----- Mail original ----- >> De: "Jim Meyering" >> =C0: "Stefano Lattarini" >> Cc: "P=E1draig Brady" , "Mike Frysinger" >> , coreutils@gnu.org, >> 12715@debbugs.gnu.org >> Envoy=E9: Mercredi 24 Octobre 2012 15:07:18 >> Objet: bug#12715: [PATCH] build: do not require help2man at >> build-from-tarball time >> >> Stefano Lattarini wrote: >> > Here is the updated patch. Sorry for the noise, >> ... >> > Subject: [PATCH] build: graceful degradation in man pages >> > generation if perl >> > is lacking >> >> Does anyone know of a well-known environment/distro in which >> coreutils is built without perl? I.e., if virtually no one >> builds coreutils without perl, then any attempt to coddle those >> users is wasted complexity. >> > Speaking for what I know, this is not an issue with 'linux from > scratch' based systems. > - perl is an host requirement (coreutils is build a first time on > toolchain stage), > - perl is build on toolchain stage before final coreutils is build. > > Any toolchain that really cross-compile often avoid perl as > notoriously hard to cross-compile. > Often busybox is used instead of coreutils. Openwrt for example does that. > Openwrt could optionally build coreutils. The build script use 8.16 > and patch to not build the doc. Nice. That's reassuring. Thanks for the info. From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 25 Oct 2012 13:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Stefano Lattarini Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135117237817459 (code B ref 12715); Thu, 25 Oct 2012 13:40:01 +0000 Received: (at 12715) by debbugs.gnu.org; 25 Oct 2012 13:39:38 +0000 Received: from localhost ([127.0.0.1]:60933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRNer-0004XX-3S for submit@debbugs.gnu.org; Thu, 25 Oct 2012 09:39:38 -0400 Received: from mx.meyering.net ([88.168.87.75]:42083) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRNen-0004XN-J5 for 12715@debbugs.gnu.org; Thu, 25 Oct 2012 09:39:35 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 7DBF2600DF; Thu, 25 Oct 2012 15:37:28 +0200 (CEST) From: Jim Meyering In-Reply-To: <5087C706.3050205@gmail.com> (Stefano Lattarini's message of "Wed, 24 Oct 2012 12:46:30 +0200") References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> Date: Thu, 25 Oct 2012 15:37:28 +0200 Message-ID: <87a9vahduv.fsf@rho.meyering.net> Lines: 318 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Stefano Lattarini wrote: ... > Here is the updated patch. Sorry for the noise, > Stefano > > ----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<---- > >>>From f61dcb763975c1aab299fa9678ea180d70db6acf Mon Sep 17 00:00:00 2001 > Message-Id: > From: Stefano Lattarini > Date: Tue, 11 Sep 2012 20:54:30 +0200 > Subject: [PATCH] build: graceful degradation in man pages generation if perl Thanks. That looks good. I've made some minor changes. Here's an incremental: diff --git a/man/dummy-man b/man/dummy-man index 2e32320..633a5ba 100755 --- a/man/dummy-man +++ b/man/dummy-man @@ -1,7 +1,7 @@ #!/bin/sh -# Poor placeholder for help2man invocation on systems lacking perl; -# it generates a dummy manpage stating that as proper manpage could -# not be generated, and redirecting the user back to either the info +# Poor man's placeholder for help2man invocation on systems lacking perl; +# it generates a dummy man page stating that a proper one could not be +# generated, and redirecting the user back to either the info # documentation or the '--help' output. set -e; set -u @@ -42,8 +42,8 @@ test $# -le 1 || fatal_ "too many non-option arguments" baseout=`basename_ "$output"` sed 's/^/WARNING: /' >&2 <"$output" <From 6f64d745fb2ce525a056b016ef4ada66416c9e8d Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Tue, 11 Sep 2012 20:54:30 +0200 Subject: [PATCH] build: graceful degradation in man pages generation if perl is lacking Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaks the distributed Makefile.in so that each man page 'man/foo.1' depends on the corresponding source 'src/foo.c' rather than the corresponding program 'src/foo'. That is done to accommodate inferior systems that, lacking perl, cannot run help2man to regenerate the manpage after its corresponding program has been built. This seems a right and proper graceful degradation, in that the man pages dependencies are still 100% correct in a git checkout, while being laxer but "more portable" in a distribution tarball. Alas, that is not the case in practice, as it turns out the tweaked Makefile makes the building of man pages unreliable and potentially incorrect! In fact, assume that instead of the correct a dependency: man/ls.1: src/ls we have the laxer one: man/ls.1: src/ls.c and think of what happens if a user modifies, say, 'src/ls.c', and then runs "make -j4" to rebuild everything. The make process will see that it has to rebuild the man page 'man/ls.1' (because its prerequisite 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls' *before* re-running 'help2man' to generate that man page; so, if 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent make), our user will get either a build error (if 'src/ls' did non exist) or, worse, a man page with an up-to-date timestamp but an out-of-date content. And what's even worse in all of this is that this problem will be present also for users who have perl installed: this is not a "graceful degradation" at all! In our situation, the best and simplest way to implement a graceful degradation it to keep the correct dependencies for man pages (that is, "man/ls.1: src/ls"), and if perl is not present, just generate dummy man pages reporting that built-time issue and redirecting the user back to either the info documentation or the '--help' output. As a consequence of this change, we also stop distributing man pages, since they will now be generated unconditionally. * Makefile.am (do-not-require-help2man): Remove. (dist-hook): Don't depend on it. * man/local.mk: Remove an obsolete comment. (EXTRA_DIST): Stop distributing generated man pages. ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs). (MAINTAINERCLEANFILES): $(ALL_MANS) Do not list it here, and ... (CLEANFILES): ... list it here, instead. (.x.1): Instead of warning if perl is missing, but then trying to run 'help2man' unconditionally, simply run ... (run_help2man): ... the command referenced by this new variable, that expands to a proper invocation of 'help2man' if perl is present, and to an invocation of a shell script generating a dummy manpage if it is not. (EXTRA_DIST): Distribute that shell script. * man/dummy-man: New shell script. Fixes coreutils http://bugs.gnu.org/12715. --- Makefile.am | 20 +---------------- man/dummy-man | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ man/local.mk | 25 +++++++++++---------- 3 files changed, 86 insertions(+), 31 deletions(-) create mode 100755 man/dummy-man diff --git a/Makefile.am b/Makefile.am index 0232090..5eaa45b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -93,29 +93,11 @@ BUILT_SOURCES = .version .version: $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@ -# In general, we run help2man to build a man page from the binary's --help -# output, but when building from a just-unpacked distribution tarball, we -# must not do that, since help2man uses perl. We don't want to depend on -# perl in that case. In general, the .1 file does indeed depend on the -# binary. I.e., for cat, we have this Makefile dependency: -# man/cat.1: src/cat -# That means that once we build src/cat, we would trigger the .x.1 -# rule which runs help2man. The trick is simply to change the RHS to -# "src/cat.c" in the $(distdir) that we're about to tar and compress. -# Also handle the three exceptions corresponding to the three binaries -# for which there is no like-named .c file: dir, vdir, ginstall. -.PHONY: do-not-require-help2man -do-not-require-help2man: - perl -pi -e 's,^(man/.+?\.1:\s*src/.+?)$$,$$1.c,;' \ - -e 's,^(man/.+?\.1:\s*src)/ginstall\.c$$,$$1/install.c,;' \ - -e 's,^(man/.+?\.1:\s*src)/v?dir\.c$$,$$1/ls.c,;' \ - $(distdir)/Makefile.in - # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. -dist-hook: gen-ChangeLog do-not-require-help2man +dist-hook: gen-ChangeLog $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in diff --git a/man/dummy-man b/man/dummy-man new file mode 100755 index 0000000..633a5ba --- /dev/null +++ b/man/dummy-man @@ -0,0 +1,72 @@ +#!/bin/sh +# Poor man's placeholder for help2man invocation on systems lacking perl; +# it generates a dummy man page stating that a proper one could not be +# generated, and redirecting the user back to either the info +# documentation or the '--help' output. + +set -e; set -u + +fatal_ () +{ + printf '%s: %s\n' "$0" "$*" >&2 + exit 1 +} + +basename_ () +{ + printf '%s\n' "$1" | sed 's,.*/,,' +} + +output= +source="GNU coreutils" +while test $# -gt 0; do + case $1 in + # Help2man options we recognize and handle. + --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;; + --output) shift; output=$1;; + --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;; + --source) shift; source=$1;; + # Recognize (as no-op) other help2man options that might be used + # in the makefile. + --include=*);; + --include) shift;; + -*) fatal_ "invalid or unrecognized help2man option '$1'";; + --) shift; break;; + *) break;; + esac + shift +done + +test $# -gt 0 || fatal_ "missing argument" +test $# -le 1 || fatal_ "too many non-option arguments" + +baseout=`basename_ "$output"` +sed 's/^/WARNING: /' >&2 <"$output" <. -EXTRA_DIST += man/help2man +EXTRA_DIST += man/help2man man/dummy-man + +## Graceful degradation for systems lacking perl. +if HAVE_PERL +run_help2man = $(PERL) -- $(srcdir)/man/help2man +else +run_help2man = $(SHELL) $(srcdir)/man/dummy-man +endif man1_MANS = @man1_MANS@ -EXTRA_DIST += $(man1_MANS) $(man1_MANS:.1=.x) +EXTRA_DIST += $(man1_MANS:.1=.x) EXTRA_MANS = @EXTRA_MANS@ -EXTRA_DIST += $(EXTRA_MANS) $(EXTRA_MANS:.1=.x) +EXTRA_DIST += $(EXTRA_MANS:.1=.x) ALL_MANS = $(man1_MANS) $(EXTRA_MANS) -MAINTAINERCLEANFILES += $(ALL_MANS) +CLEANFILES += $(ALL_MANS) # This is required because we have subtle inter-directory dependencies: # in order to generate all man pages, even those for which we don't @@ -161,13 +168,7 @@ man/whoami.1: src/whoami man/yes.1: src/yes .x.1: - $(AM_V_GEN)case '$(PERL)' in \ - *"/missing "*) \ - echo 'WARNING: cannot update man page $@ since perl is missing' \ - 'or inadequate' 1>&2 \ - exit 0;; \ - esac; \ - name=`echo $@ | sed -e 's|.*/||' -e 's|\.1$$||'` || exit 1; \ + $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \ ## Ensure that help2man runs the 'src/ginstall' binary as 'install' when ## creating 'install.1'. Similarly, ensure that it uses the 'src/[' binary ## to create 'test.1'. @@ -184,7 +185,7 @@ man/yes.1: src/yes && rm -rf $$t \ && $(MKDIR_P) $$t \ && (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog $$name) \ - && $(PERL) -- $(srcdir)/man/help2man \ + && $(run_help2man) \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/man/$$name.x \ --output=$$t/$$name.1 $$t/$$name \ -- 1.8.0 From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Bernhard Voelker Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 25 Oct 2012 14:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , Stefano Lattarini , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135117403720412 (code B ref 12715); Thu, 25 Oct 2012 14:08:02 +0000 Received: (at 12715) by debbugs.gnu.org; 25 Oct 2012 14:07:17 +0000 Received: from localhost ([127.0.0.1]:33302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRO5d-0005JB-Gi for submit@debbugs.gnu.org; Thu, 25 Oct 2012 10:07:17 -0400 Received: from moutng.kundenserver.de ([212.227.17.10]:51138) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRO5b-0005Iz-9q for 12715@debbugs.gnu.org; Thu, 25 Oct 2012 10:07:16 -0400 Received: from [192.168.2.108] (p4FF77F0F.dip.t-dialin.net [79.247.127.15]) by mrelayeu.kundenserver.de (node=mreu4) with ESMTP (Nemesis) id 0LhpBu-1T67s01hGk-00nJnv; Thu, 25 Oct 2012 16:04:50 +0200 Message-ID: <50894701.2030700@bernhard-voelker.de> Date: Thu, 25 Oct 2012 16:04:49 +0200 From: Bernhard Voelker User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> In-Reply-To: <87a9vahduv.fsf@rho.meyering.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:/WLKDpiz0OsGHyp8msMQ3kAfRM3ofY/pafgNDlAmS8H gtQ1UMMNadA7ntUQb5JjIIas4X+wcseBjAwDbwINpvdZuTxgGk Zig0OkzWMVVeK2sfCOt6srsqpDkpHcZNAlWE/2TrRocoBcaKdU baZgpz6kieNAC9anZQ7LRIK80v91KB2sE6Bnpfm2AXJOD+qkku kcMUG+qJVjJZwamPwMvkET6LWvADSInosFMA+wZDUaxJVbUbFZ 0Tj8hO4HKVoKnTBprcfc554Zk1RaxOaxK5JRc8eg6i7pV8QpNo +G6c7DD+CdY4Mw61xlPPSZ3/xahrvqq5HBJ+x2VnVcaiS8BTdI wbnDlCs6HxCPdf9LbIcDnjCaX1PMDTps8JpQ7IWOO X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) On 10/25/2012 03:37 PM, Jim Meyering wrote: > -Due to lack of perl on your system, the GNU coreutils build system > -hasn't been able to create the manual page for > +Due to lack of perl on your system, the $source build system > +failed to create the manual page for Isn't it "Due to lack on the build system, ..."? I.e. coreutils could be built on system A lacking perl, and then be installed on system B which has perl. The above text would be misleading in this case. Have a nice day, Berny From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 25 Oct 2012 14:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Bernhard Voelker Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , Stefano Lattarini , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135117423920713 (code B ref 12715); Thu, 25 Oct 2012 14:11:02 +0000 Received: (at 12715) by debbugs.gnu.org; 25 Oct 2012 14:10:39 +0000 Received: from localhost ([127.0.0.1]:33310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRO8t-0005O2-9x for submit@debbugs.gnu.org; Thu, 25 Oct 2012 10:10:39 -0400 Received: from mx.meyering.net ([88.168.87.75]:42163) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRO8q-0005Nt-Ut for 12715@debbugs.gnu.org; Thu, 25 Oct 2012 10:10:38 -0400 Received: from rho.meyering.net (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id C36FA6024F; Thu, 25 Oct 2012 16:08:31 +0200 (CEST) From: Jim Meyering In-Reply-To: <50894701.2030700@bernhard-voelker.de> (Bernhard Voelker's message of "Thu, 25 Oct 2012 16:04:49 +0200") References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> <50894701.2030700@bernhard-voelker.de> Date: Thu, 25 Oct 2012 16:08:31 +0200 Message-ID: <874nlihcf4.fsf@rho.meyering.net> Lines: 31 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) Bernhard Voelker wrote: > On 10/25/2012 03:37 PM, Jim Meyering wrote: >> -Due to lack of perl on your system, the GNU coreutils build system >> -hasn't been able to create the manual page for >> +Due to lack of perl on your system, the $source build system >> +failed to create the manual page for > > Isn't it "Due to lack on the build system, ..."? > > I.e. coreutils could be built on system A lacking perl, > and then be installed on system B which has perl. The above > text would be misleading in this case. Good point. I've merged this in: diff --git a/man/dummy-man b/man/dummy-man index 633a5ba..3069376 100755 --- a/man/dummy-man +++ b/man/dummy-man @@ -56,8 +56,8 @@ cat >"$output" < Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 25 Oct 2012 14:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , Stefano Lattarini , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135117528022184 (code B ref 12715); Thu, 25 Oct 2012 14:28:02 +0000 Received: (at 12715) by debbugs.gnu.org; 25 Oct 2012 14:28:00 +0000 Received: from localhost ([127.0.0.1]:33315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TROPf-0005ll-Ov for submit@debbugs.gnu.org; Thu, 25 Oct 2012 10:28:00 -0400 Received: from moutng.kundenserver.de ([212.227.126.186]:61690) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TROPe-0005lX-EN for 12715@debbugs.gnu.org; Thu, 25 Oct 2012 10:27:59 -0400 Received: from [192.168.2.108] (p4FF77F0F.dip.t-dialin.net [79.247.127.15]) by mrelayeu.kundenserver.de (node=mreu3) with ESMTP (Nemesis) id 0Lq2aK-1SwkSc3j84-00dkHJ; Thu, 25 Oct 2012 16:25:43 +0200 Message-ID: <50894BE6.7070506@bernhard-voelker.de> Date: Thu, 25 Oct 2012 16:25:42 +0200 From: Bernhard Voelker User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> <50894701.2030700@bernhard-voelker.de> <874nlihcf4.fsf@rho.meyering.net> In-Reply-To: <874nlihcf4.fsf@rho.meyering.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:8ihw69p4kjBEhIlZVtx3R9XQZxz8iLDHgUKP6JELkV4 jB8c3wsUJCvuh/ABjHj+Y8iDJyNQRSXuwMPhyz0U62VL/wIZ8n B16C2aEiFyu+Z/V7q3pYWdRbP+BJCMjOn07K8h01HFD1xm2nAC 7UQj2ppASTjyF2iA7TPvTQgRHB8kCC9C4Ctjt7A24Wq/z7TCic BiUfNN3in3+J+WYnaKnH2oqnddWvSRggxjWi16Pp36A8+2fhCx oIGCWUdyzVf+jpJD9zrn80y6uadC5fCgOKu7cS0jncWLrDjqgK jxHFAbj6blWGq7jfN8broryh3kHh47PPPfaUnCGDK2tq2EQG/j oKXtTOMKjCtIjQ8xY2w9QGAGOzeSaQ1Cq8Kb7M73I X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) On 10/25/2012 04:08 PM, Jim Meyering wrote: > Bernhard Voelker wrote: >> Isn't it "Due to lack on the build system, ..."? >> >> I.e. coreutils could be built on system A lacking perl, >> and then be installed on system B which has perl. The above >> text would be misleading in this case. > > Good point. > I've merged this in: > > diff --git a/man/dummy-man b/man/dummy-man > index 633a5ba..3069376 100755 > --- a/man/dummy-man > +++ b/man/dummy-man > @@ -56,8 +56,8 @@ cat >"$output" < $progname $bs- a $source program > .SH DESCRIPTION > .B OOOPS! > -Due to lack of perl on your system, the $source build system > -failed to create the manual page for > +Due to the lack of perl on the build system, we were > +unable to create a proper manual page for > .B $progname. > For concise option descriptions, run > .IP Looks good, thanks. Berny From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Stefano Lattarini Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 26 Oct 2012 07:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Bernhard Voelker Cc: 12715@debbugs.gnu.org, Mike Frysinger , =?UTF-8?Q?P=C3=A1draig?= Brady , Jim Meyering , coreutils@gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.135123786829632 (code B ref 12715); Fri, 26 Oct 2012 07:52:02 +0000 Received: (at 12715) by debbugs.gnu.org; 26 Oct 2012 07:51:08 +0000 Received: from localhost ([127.0.0.1]:34147 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TReh9-0007ht-BP for submit@debbugs.gnu.org; Fri, 26 Oct 2012 03:51:07 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:33134) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TReh6-0007hk-E8 for 12715@debbugs.gnu.org; Fri, 26 Oct 2012 03:51:05 -0400 Received: by mail-bk0-f44.google.com with SMTP id jc3so1041439bkc.3 for <12715@debbugs.gnu.org>; Fri, 26 Oct 2012 00:48:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=7y3jW06zWxJV3h27HRjl+7Bm4ftnFLhoaXXnbWJhc/k=; b=bmiXL7kITExxFWd2Mw20AG2CJrDXbJJ+OyoZY0jZl10NTZe1xDxsb32/7EDLfbo+3j SqbvgmXY42wkzDd35IJtYM7SoI5weLFH7L7PWHfTjEJxuEladU5wWFh+K2VsYywtv2SA vdNbSxCZaY5SkZvowR8YtKScavUri21bow4KApfv6zzwnzUExYGO5VvdJhLHxDCeym8x GJk445THWLwZVCqBTT6qorFjIrCdwxMRLIKRK2vU79sMYnn3MOSHGDWNocUt9lepIFSo 1yo4sNNjH7Xqvy1Q9F27/ys+aOHOyN79Kz6YZLSq00f6JgVQboT6BJZt1kZKkXB5ow2p iYAA== Received: by 10.204.8.208 with SMTP id i16mr6690044bki.116.1351237735489; Fri, 26 Oct 2012 00:48:55 -0700 (PDT) Received: from [192.168.178.21] (host247-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.247]) by mx.google.com with ESMTPS id j24sm213527bkv.0.2012.10.26.00.48.53 (version=SSLv3 cipher=OTHER); Fri, 26 Oct 2012 00:48:54 -0700 (PDT) Message-ID: <508A4057.2030800@gmail.com> Date: Fri, 26 Oct 2012 09:48:39 +0200 From: Stefano Lattarini MIME-Version: 1.0 References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> <50894701.2030700@bernhard-voelker.de> <874nlihcf4.fsf@rho.meyering.net> <50894BE6.7070506@bernhard-voelker.de> In-Reply-To: <50894BE6.7070506@bernhard-voelker.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) On 10/25/2012 04:25 PM, Bernhard Voelker wrote: > On 10/25/2012 04:08 PM, Jim Meyering wrote: >> Bernhard Voelker wrote: >>> Isn't it "Due to lack on the build system, ..."? >>> >>> I.e. coreutils could be built on system A lacking perl, >>> and then be installed on system B which has perl. The above >>> text would be misleading in this case. >> >> Good point. >> I've merged this in: >> >> diff --git a/man/dummy-man b/man/dummy-man >> index 633a5ba..3069376 100755 >> --- a/man/dummy-man >> +++ b/man/dummy-man >> @@ -56,8 +56,8 @@ cat >"$output" <> $progname $bs- a $source program >> .SH DESCRIPTION >> .B OOOPS! >> -Due to lack of perl on your system, the $source build system >> -failed to create the manual page for >> +Due to the lack of perl on the build system, we were >> +unable to create a proper manual page for >> .B $progname. >> For concise option descriptions, run >> .IP > > Looks good, thanks. > Fine by me as well. Thanks, Stefano From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 26 Oct 2012 09:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Stefano Lattarini Cc: Mike Frysinger , Bernhard Voelker , =?UTF-8?Q?P=C3=A1draig?= Brady , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.13512442096298 (code B ref 12715); Fri, 26 Oct 2012 09:37:01 +0000 Received: (at 12715) by debbugs.gnu.org; 26 Oct 2012 09:36:49 +0000 Received: from localhost ([127.0.0.1]:34221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRgLR-0001dW-8L for submit@debbugs.gnu.org; Fri, 26 Oct 2012 05:36:49 -0400 Received: from mx.meyering.net ([88.168.87.75]:37196) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRgLM-0001dM-Rm for 12715@debbugs.gnu.org; Fri, 26 Oct 2012 05:36:47 -0400 Received: from rho (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 9196E60096; Fri, 26 Oct 2012 11:34:35 +0200 (CEST) From: Jim Meyering In-Reply-To: <508A4057.2030800@gmail.com> (Stefano Lattarini's message of "Fri, 26 Oct 2012 09:48:39 +0200") References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> <50894701.2030700@bernhard-voelker.de> <874nlihcf4.fsf@rho.meyering.net> <50894BE6.7070506@bernhard-voelker.de> <508A4057.2030800@gmail.com> Date: Fri, 26 Oct 2012 11:34:35 +0200 Message-ID: <87haph4lw4.fsf@meyering.net> Lines: 121 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Stefano Lattarini wrote: > On 10/25/2012 04:25 PM, Bernhard Voelker wrote: >> On 10/25/2012 04:08 PM, Jim Meyering wrote: >>> Bernhard Voelker wrote: >>>> Isn't it "Due to lack on the build system, ..."? >>>> >>>> I.e. coreutils could be built on system A lacking perl, >>>> and then be installed on system B which has perl. The above >>>> text would be misleading in this case. >>> >>> Good point. >>> I've merged this in: >>> >>> diff --git a/man/dummy-man b/man/dummy-man >>> index 633a5ba..3069376 100755 >>> --- a/man/dummy-man >>> +++ b/man/dummy-man >>> @@ -56,8 +56,8 @@ cat >"$output" <>> $progname $bs- a $source program >>> .SH DESCRIPTION >>> .B OOOPS! >>> -Due to lack of perl on your system, the $source build system >>> -failed to create the manual page for >>> +Due to the lack of perl on the build system, we were >>> +unable to create a proper manual page for >>> .B $progname. >>> For concise option descriptions, run >>> .IP >> >> Looks good, thanks. >> > Fine by me as well. This is definitely NEWS-worthy and I nearly forgot to add a NEWS entry. Here's the adjusted log and NEWS diffs: commit 2eeec4ebbdda9ed89263c815a4087675043b556a Author: Stefano Lattarini Date: Tue Sep 11 20:54:30 2012 +0200 build: man page generation: degrade gracefully when perl is lacking Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaked the distributed Makefile.in to make each man page 'man/foo.1' depend on the corresponding source 'src/foo.c' rather than the corresponding program 'src/foo'. That was done to accommodate systems without perl, which cannot run help2man to regenerate the manpage after its corresponding program has been built. This seems a right and proper graceful degradation, in that the man pages dependencies are still 100% correct in a git checkout, while being more lax but "more portable" in a distribution tarball. Alas, that is not the case in practice, as it turns out the tweaked Makefile makes the building of man pages unreliable and potentially incorrect! In fact, assume that instead of the correct a dependency: man/ls.1: src/ls we have the laxer one: man/ls.1: src/ls.c and think of what happens if a user modifies, say, 'src/ls.c', and then runs "make -j4" to rebuild everything. The make process will see that it has to rebuild the man page 'man/ls.1' (because its prerequisite 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls' *before* re-running 'help2man' to generate that man page; so, if 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent make), our user will get either a build error (if 'src/ls' did non exist) or, worse, a man page with an up-to-date timestamp but an out-of-date content. And what's even worse in all of this is that this problem will be present also for users who have perl installed: this is not a "graceful degradation" at all! In our situation, the best and simplest way to implement a graceful degradation it to keep the correct dependencies for man pages (that is, "man/ls.1: src/ls"), and if perl is not present, just generate dummy man pages reporting that built-time issue and redirecting the user back to either the info documentation or the '--help' output. As a consequence of this change, we also stop distributing man pages, since they will now be generated unconditionally. * Makefile.am (do-not-require-help2man): Remove. (dist-hook): Don't depend on it. * man/local.mk: Remove an obsolete comment. (EXTRA_DIST): Stop distributing generated man pages. ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs). (MAINTAINERCLEANFILES): $(ALL_MANS) Do not list it here, and ... (CLEANFILES): ... list it here, instead. (.x.1): Instead of warning if perl is missing, but then trying to run 'help2man' unconditionally, simply run ... (run_help2man): ... the command referenced by this new variable, that expands to a proper invocation of 'help2man' if perl is present, and to an invocation of a shell script generating a dummy manpage if it is not. (EXTRA_DIST): Distribute that shell script. * man/dummy-man: New shell script. * NEWS (Build-related): Mention this. Fixes coreutils http://bugs.gnu.org/12715. diff --git a/NEWS b/NEWS index e13ba22..2d32ca5 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,14 @@ GNU coreutils NEWS -*- outline -*- consistently padded with spaces, rather than with zeros for certain widths. [bug introduced in TEXTUTILS-1_22i] +** Build-related + + The generated man/*.1 man pages are no longer distributed. Building + without perl, you would create stub man pages, and besides would be + unable to run a significant percentage of the tests (so don't do that!). + Thus, while perl is not an official prerequisite (build and "make check" + will still succeed), any resulting man pages would be inferior. + * Noteworthy changes in release 8.20 (2012-10-23) [stable] From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 26 Oct 2012 09:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: Mike Frysinger , Bernhard Voelker , Stefano Lattarini , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.13512447047040 (code B ref 12715); Fri, 26 Oct 2012 09:46:02 +0000 Received: (at 12715) by debbugs.gnu.org; 26 Oct 2012 09:45:04 +0000 Received: from localhost ([127.0.0.1]:34237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRgTP-0001pS-Oz for submit@debbugs.gnu.org; Fri, 26 Oct 2012 05:45:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48774) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRgTM-0001oT-Um for 12715@debbugs.gnu.org; Fri, 26 Oct 2012 05:45:01 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9Q9gmPH009172 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 26 Oct 2012 05:42:49 -0400 Received: from [10.36.116.73] (ovpn-116-73.ams2.redhat.com [10.36.116.73]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q9Q9giCf006743 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 26 Oct 2012 05:42:46 -0400 Message-ID: <508A5B13.2090909@draigBrady.com> Date: Fri, 26 Oct 2012 10:42:43 +0100 From: =?UTF-8?Q?P=C3=A1draig?= Brady User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1 MIME-Version: 1.0 References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> <50894701.2030700@bernhard-voelker.de> <874nlihcf4.fsf@rho.meyering.net> <50894BE6.7070506@bernhard-voelker.de> <508A4057.2030800@gmail.com> <87haph4lw4.fsf@meyering.net> In-Reply-To: <87haph4lw4.fsf@meyering.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id q9Q9gmPH009172 X-Spam-Score: -4.2 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.2 (----) On 10/26/2012 10:34 AM, Jim Meyering wrote: > +** Build-related > + > + The generated man/*.1 man pages are no longer distributed. Building > + without perl, you would create stub man pages, and besides would be > + unable to run a significant percentage of the tests (so don't do tha= t!). > + Thus, while perl is not an official prerequisite (build and "make ch= eck" > + will still succeed), any resulting man pages would be inferior. We should probably mention that this fixes a parallel build failure when building modified sources, like a patched distro package for example. thanks, P=E1draig. From unknown Tue Jun 24 05:13:16 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12715: [PATCH] build: do not require help2man at build-from-tarball time Resent-From: Jim Meyering Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 26 Oct 2012 09:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12715 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: Mike Frysinger , Bernhard Voelker , Stefano Lattarini , coreutils@gnu.org, 12715@debbugs.gnu.org Received: via spool by 12715-submit@debbugs.gnu.org id=B12715.13512451677666 (code B ref 12715); Fri, 26 Oct 2012 09:53:02 +0000 Received: (at 12715) by debbugs.gnu.org; 26 Oct 2012 09:52:47 +0000 Received: from localhost ([127.0.0.1]:34241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRgas-0001zb-Kx for submit@debbugs.gnu.org; Fri, 26 Oct 2012 05:52:46 -0400 Received: from mx.meyering.net ([88.168.87.75]:37220) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRgaq-0001zT-BX for 12715@debbugs.gnu.org; Fri, 26 Oct 2012 05:52:45 -0400 Received: from rho (rho.meyering.net [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 767A16012B; Fri, 26 Oct 2012 11:50:35 +0200 (CEST) From: Jim Meyering In-Reply-To: <508A5B13.2090909@draigBrady.com> ("=?UTF-8?Q?P=C3=A1draig?= Brady"'s message of "Fri, 26 Oct 2012 10:42:43 +0100") References: <87ipbmnx4f.fsf@rho.meyering.net> <504DC2D4.7080509@gmail.com> <87vcfmm9z4.fsf@rho.meyering.net> <201209151946.42381.vapier@gentoo.org> <874nmytix4.fsf@rho.meyering.net> <87zk3cl2vu.fsf@rho.meyering.net> <5087A7BA.4070405@draigBrady.com> <87txtkl07c.fsf@rho.meyering.net> <5087B58E.2040401@gmail.com> <5087C511.4050907@gmail.com> <5087C706.3050205@gmail.com> <87a9vahduv.fsf@rho.meyering.net> <50894701.2030700@bernhard-voelker.de> <874nlihcf4.fsf@rho.meyering.net> <50894BE6.7070506@bernhard-voelker.de> <508A4057.2030800@gmail.com> <87haph4lw4.fsf@meyering.net> <508A5B13.2090909@draigBrady.com> Date: Fri, 26 Oct 2012 11:50:35 +0200 Message-ID: <87625x4l5g.fsf@meyering.net> Lines: 32 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.1 (/) P=E1draig Brady wrote: > On 10/26/2012 10:34 AM, Jim Meyering wrote: >> +** Build-related >> + >> + The generated man/*.1 man pages are no longer distributed. Building >> + without perl, you would create stub man pages, and besides would be >> + unable to run a significant percentage of the tests (so don't do that= !). >> + Thus, while perl is not an official prerequisite (build and "make che= ck" >> + will still succeed), any resulting man pages would be inferior. > > We should probably mention that this fixes a parallel build failure > when building modified sources, like a patched distro package for example. Yes. Good point. How about this? I was tempted to note it in the "Bug fixes" section, but figures this would be enough. ** Build-related Perl is now more of a prerequisite. It has long been required in order to run (not skip) a significant percentage of the tests. Now, it is also required in order to generate proper man pages, via help2man. The generated man/*.1 man pages are no longer distributed. Building without perl, you would create stub man pages. Thus, while perl is not an official prerequisite (build and "make check" will still succeed), any resulting man pages would be inferior. In addition, this fixes a bug in distributed (not from clone) Makefile.in that could cause parallel build failure when building from modified sources, as is common practice for a patched distribution package. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 15 13:46:50 2018 Received: (at control) by debbugs.gnu.org; 15 Oct 2018 17:46:50 +0000 Received: from localhost ([127.0.0.1]:51239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gC6x8-0002a0-7E for submit@debbugs.gnu.org; Mon, 15 Oct 2018 13:46:50 -0400 Received: from mail-it1-f179.google.com ([209.85.166.179]:53234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gC6x6-0002VU-HK for control@debbugs.gnu.org; Mon, 15 Oct 2018 13:46:48 -0400 Received: by mail-it1-f179.google.com with SMTP id 134-v6so29817998itz.2 for ; Mon, 15 Oct 2018 10:46:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:message-id:date:user-agent:mime-version:content-language :content-transfer-encoding; bh=qAXhhNS4rLJIiWMBjEuEpAIjDna1ignSv9nZr0JP9wU=; b=elu2YPu5h8jV3mzak/rc6+iC0zgSAjUyby/6JStnEiV/xqc6UkN5cpTTovRel5X5K0 yYz1N4GgISHgxjOJKk6fzqkwhdxgejAcJhc0yp1lAGIRllDmlCiSFkJ6N4pJlNN8RsHR JK7UAGqZpML3lvSDa8je19kDGd4Un1i129zaovTLOJRl9Toi2o1lhpJhdDW1w9p1P2pK 8Nx2nWkZOkwJAnF60A7r3UgWbxNrHMF6FAHjMmQ+g08mjymnu27cw6trL9N774TtWcKA yAshXS4TymURP2un7txFhXF0ESuJK1hnaHfR6tRp1uBsu6GQwVvsAdyqP/B5nJcb76CR hvDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=qAXhhNS4rLJIiWMBjEuEpAIjDna1ignSv9nZr0JP9wU=; b=oPcmmAC0u4FdmswXXdVwBBxK0KDTTq3czUvyfW0OvWKGg8JOgLXmU9yIA2JpK2QJXC o9gO29+qOsMPXzJg14EQwc7gtmCorN5ZbOyNy+6DQiv1dBS9RZGdV1eFHQrQJR4v/L9x OnNZ+JHEjwhLUHUZupTqLDdvFd1PxJ1eQhLGvzgIfwppGGeYb7MFUhw9utvtdfma6P7E zV+GOpin8CS0Rsr6EYycot1eLE2jQin9XCbGNbIpgmF9fL7X1wi5c7epohl+O77A1z+f YR3HoXCOaydNX1r0MocI61zO3JQk9DD4qjwACLJMeZvsG2QESfq9oCcWXteCxhTV/OkD HZUA== X-Gm-Message-State: ABuFfojOSWkbDWUbbU9mzOl4ycBPDz82rc+UW3/hghKNox33TGyMFgVL K6+vNjDY+yPAi5bYoSV07+KcblCaOhw= X-Google-Smtp-Source: ACcGV61p1ybbRx3uUUT4K0TiYmnAgD/UEYP4OzC0wkhD+eFFNZIo5ivAuom4gs773QfKPfGC87c7Cg== X-Received: by 2002:a24:bd0b:: with SMTP id x11-v6mr11527568ite.162.1539625601815; Mon, 15 Oct 2018 10:46:41 -0700 (PDT) Received: from tomato.housegordon.com (moose.housegordon.com. [184.68.105.38]) by smtp.googlemail.com with ESMTPSA id h8-v6sm3638730ioa.52.2018.10.15.10.46.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Oct 2018 10:46:40 -0700 (PDT) To: control@debbugs.gnu.org From: Assaf Gordon Message-ID: Date: Mon, 15 Oct 2018 11:46:39 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 12715 fixed close 12715 [...] Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [209.85.166.179 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (assafgordon[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.166.179 listed in wl.mailspike.net] 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) tags 12715 fixed close 12715