GNU logs - #31157, boring messages


Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Reuben Thomas <rrt@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sat, 14 Apr 2018 23:50:02 +0000
Resent-Message-ID: <handler.31157.B.152374975731128 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: 31157 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-automake <bug-automake@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.152374975731128
          (code B ref -1); Sat, 14 Apr 2018 23:50:02 +0000
Received: (at submit) by debbugs.gnu.org; 14 Apr 2018 23:49:17 +0000
Received: from localhost ([127.0.0.1]:52886 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1f7Uuz-000860-2Q
	for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 19:49:17 -0400
Received: from eggs.gnu.org ([208.118.235.92]:42866)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rrt@HIDDEN>) id 1f7Uuv-00085l-U6
 for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 19:49:14 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rrt@HIDDEN>) id 1f7Uup-0007Y9-Oh
 for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 19:49:08 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,HTML_MESSAGE,
 T_DKIM_INVALID autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:53617)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <rrt@HIDDEN>) id 1f7Uup-0007Y5-Kd
 for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 19:49:07 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:33828)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <rrt@HIDDEN>) id 1f7Uum-0006qu-Eh
 for bug-automake@HIDDEN; Sat, 14 Apr 2018 19:49:07 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rrt@HIDDEN>) id 1f7Uuj-0007We-Vk
 for bug-automake@HIDDEN; Sat, 14 Apr 2018 19:49:04 -0400
Received: from mail-ot0-x229.google.com ([2607:f8b0:4003:c0f::229]:35002)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
 (Exim 4.71) (envelope-from <rrt@HIDDEN>) id 1f7Uuj-0007W2-Oz
 for bug-automake@HIDDEN; Sat, 14 Apr 2018 19:49:01 -0400
Received: by mail-ot0-x229.google.com with SMTP id f47-v6so13675413oth.2
 for <bug-automake@HIDDEN>; Sat, 14 Apr 2018 16:49:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sc3d.org; s=google;
 h=mime-version:from:date:message-id:subject:to;
 bh=6/ZjnnnY35jE0x1YEMZZgeXJ9eACvl8eWPFTQ+32VT4=;
 b=vLUX7gvDuOi9BM6ka6Tic6PSF12gW7yy50GOS9Nm9qapcXVh3F/GrGCHLTB7yTBxy/
 4H81o4Xm5rMHj805W7S3NrUVZ2J0E8zvEDwI6KZF4Ufcst+dotTmTWIMT87ITc8xXoGG
 rMrDgCPv5ypfb/fnbEINesWHJJsQB4BTUIDXo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=6/ZjnnnY35jE0x1YEMZZgeXJ9eACvl8eWPFTQ+32VT4=;
 b=XsCm8U24uOGxIdjbo8LvjEa4xsN9wLxVzXbf2mTOCLHxV87CjVsXVvdWJZZyzDlOOz
 RudT+Ke2CZTt42Fzc43b3jVO4dhEo8bIzN85rOr7tOjUvY5lGqXQz/Mu0xtclAnvOm/f
 in8DDBgyeky/01J2Z8W0C8TaeYt8v+/WVUXJdVxJ2tQ3Euyix6vtU5FJZtmK7EOIFkj7
 qpgTVAs5UuQiz3NGgULPFf+ZjJSQqz9dJvTtqerxc6PcShusszimcRwxdVKsWvskEMxc
 +e8GvMZeD4IFl72tEu1XI5HNGBMaA8mHAx8hBTqMeb2DIsl07PRcs9e9Gf7/fPfMrkzc
 ZOxw==
X-Gm-Message-State: ALQs6tDsAPXVQaSXyHmFJ4q+DJG1vOMsc2RcZycitqvSrr/tFNIC1XAO
 9Nq+bAmTfwPzTQet2SYzkLTZtJIV72jRjQnoMfXPJzUy
X-Google-Smtp-Source: AIpwx48ehsbuxjMWjcykXS9psmlo83Qt4HexlzA45oINooxDUKQC5u4EOL2/2Z7BWC6utqUUfDxvYvpBhhEON0agpwg=
X-Received: by 2002:a9d:4902:: with SMTP id e2-v6mr514286otf.212.1523749740232; 
 Sat, 14 Apr 2018 16:49:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a9d:4611:0:0:0:0:0 with HTTP; Sat, 14 Apr 2018 16:48:59
 -0700 (PDT)
From: Reuben Thomas <rrt@HIDDEN>
Date: Sun, 15 Apr 2018 00:48:59 +0100
Message-ID: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000fe5e620569d7a137"
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.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.1 (-----)

--000000000000fe5e620569d7a137
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

In the manual, we are given the following pattern for using help2man
without breaking make distcheck:

     foo.1: foo.c $(top_srcdir)/configure.ac
             $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
             help2man --output=3Dfoo.1 ./foo$(EXEEXT)

The problem is that with make -j this can result in two attempts to make a
library in parallel (suppose that we have:

    foo_LDADD =3D libfoo.la
    lib_LTLIBRARIES =3D libfoo.la

). This can fail, and in any case is wasteful.

I'm using automake 1.15. I can't see anything since then that fixes this
problem.

The best workaround I could come up with was to revert the dependency to=E2=
=80=8B

=E2=80=8B     foo.1: foo$(EXEEXT)

and then set distcleancheck_listfiles appropriately. Obviously, since this
could hide other problems in the build system, it's not ideal.

Am I missing a better solution? If so, it should be added to the manual. If
not, this problem should probably be documented. I'm finding that parallel
make is becoming a must-have rather than a nice boost, given the
proliferation of slow multi-core machines (for example: -j makes it
feasible to hack on my phone; without it, builds are painfully slow).

--=20
https://rrt.sc3d.org

--000000000000fe5e620569d7a137
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family: times\ =
new\ roman, serif; font-size: small;">In the manual, we are given the follo=
wing pattern for using help2man without breaking make distcheck:<br><br>=C2=
=A0=C2=A0=C2=A0=C2=A0 foo.1: foo.c $(top_srcdir)/<a href=3D"http://configur=
e.ac">configure.ac</a><br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)<br>=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 help2man --=
output=3Dfoo.1 ./foo$(EXEEXT)<br><br></div><div class=3D"gmail_default" sty=
le=3D"font-family: times\ new\ roman, serif; font-size: small;">The problem=
 is that with make -j this can result in two attempts to make a library in =
parallel (suppose that we have:<br><br></div><div class=3D"gmail_default" s=
tyle=3D"font-family: times\ new\ roman, serif; font-size: small;">=C2=A0=C2=
=A0=C2=A0 foo_LDADD =3D <a href=3D"http://libfoo.la">libfoo.la</a><br></div=
><div class=3D"gmail_default" style=3D"font-family: times\ new\ roman, seri=
f; font-size: small;">=C2=A0=C2=A0=C2=A0 lib_LTLIBRARIES =3D <a href=3D"htt=
p://libfoo.la">libfoo.la</a><br><br></div><div class=3D"gmail_default" styl=
e=3D"font-family: times\ new\ roman, serif; font-size: small;">). This can =
fail, and in any case is wasteful.<br></div><div class=3D"gmail_default" st=
yle=3D"font-family: times\ new\ roman, serif; font-size: small;"><br>I&#39;=
m using automake 1.15. I can&#39;t see anything since then that fixes this =
problem.<br clear=3D"all"></div><br><div style=3D"font-family: times\ new\ =
roman, serif; font-size: small;" class=3D"gmail_default">The best workaroun=
d I could come up with was to revert the dependency to=E2=80=8B</div><br><d=
iv style=3D"font-family: times\ new\ roman, serif; font-size: small;" class=
=3D"gmail_default">=E2=80=8B=C2=A0=C2=A0=C2=A0=C2=A0 foo.1: foo$(EXEEXT)<br=
><br></div><div style=3D"font-family: times\ new\ roman, serif; font-size: =
small;" class=3D"gmail_default">and then set distcleancheck_listfiles appro=
priately. Obviously, since this could hide other problems in the build syst=
em, it&#39;s not ideal.<br><br>Am I missing a better solution? If so, it sh=
ould be added to the manual. If not, this problem should probably be docume=
nted. I&#39;m finding that parallel make is becoming a must-have rather tha=
n a nice boost, given the proliferation of slow multi-core machines (for ex=
ample: -j makes it feasible to hack on my phone; without it, builds are pai=
nfully slow).<br></div><br>-- <br><div class=3D"gmail_signature"><div dir=
=3D"ltr"><a href=3D"https://rrt.sc3d.org" target=3D"_blank">https://rrt.sc3=
d.org</a></div></div>
</div>

--000000000000fe5e620569d7a137--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Reuben Thomas <rrt@HIDDEN>
Subject: bug#31157: Acknowledgement (Advice for help2man does not work for
 parallel builds)
Message-ID: <handler.31157.B.152374975731128.ack <at> debbugs.gnu.org>
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
X-Gnu-PR-Message: ack 31157
X-Gnu-PR-Package: automake
Reply-To: 31157 <at> debbugs.gnu.org
Date: Sat, 14 Apr 2018 23:50:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-automake@HIDDEN

If you wish to submit further information on this problem, please
send it to 31157 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
31157: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D31157
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Mathieu Lirzin <mthl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sat, 21 Apr 2018 15:15:02 +0000
Resent-Message-ID: <handler.31157.B31157.15243236541905 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: Reuben Thomas <rrt@HIDDEN>
Cc: 31157 <at> debbugs.gnu.org
Received: via spool by 31157-submit <at> debbugs.gnu.org id=B31157.15243236541905
          (code B ref 31157); Sat, 21 Apr 2018 15:15:02 +0000
Received: (at 31157) by debbugs.gnu.org; 21 Apr 2018 15:14:14 +0000
Received: from localhost ([127.0.0.1]:35141 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1f9uDM-0000Ue-IT
	for submit <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:14 -0400
Received: from eggs.gnu.org ([208.118.235.92]:59674)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mthl@HIDDEN>) id 1f9uDK-0000UR-PH
 for 31157 <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:11 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <mthl@HIDDEN>) id 1f9uDB-0004Cb-4t
 for 31157 <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:05 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34884)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <mthl@HIDDEN>)
 id 1f9uDB-0004CS-0h; Sat, 21 Apr 2018 11:14:01 -0400
Received: from 176-179-165-201.abo.bbox.fr ([176.169.165.201]:38200 helo=godel)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <mthl@HIDDEN>)
 id 1f9uDA-0005qg-H1; Sat, 21 Apr 2018 11:14:00 -0400
From: Mathieu Lirzin <mthl@HIDDEN>
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
Date: Sat, 21 Apr 2018 17:13:58 +0200
In-Reply-To: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
 (Reuben Thomas's message of "Sun, 15 Apr 2018 00:48:59 +0100")
Message-ID: <87o9ica8y1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

Hello Reuben,

Reuben Thomas <rrt@HIDDEN> writes:

> In the manual, we are given the following pattern for using help2man
> without breaking make distcheck:
>
> foo.1: foo.c $(top_srcdir)/configure.ac
> $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
> help2man --output=3Dfoo.1 ./foo$(EXEEXT)
>
> The problem is that with make -j this can result in two attempts to
> make a library in parallel (suppose that we have:
>
> foo_LDADD =3D libfoo.la
> lib_LTLIBRARIES =3D libfoo.la
>
> ). This can fail, and in any case is wasteful.

Have you identified the reason why this can fail?  because=20

> I'm using automake 1.15. I can't see anything since then that fixes this =
problem.

Yes, this problem is likely to still be present in 1.16.1.

> The best workaround I could come up with was to revert the dependency to=
=E2=80=8B
>
> =E2=80=8B foo.1: foo$(EXEEXT)
>
> and then set distcleancheck_listfiles appropriately. Obviously, since
> this could hide other problems in the build system, it's not ideal.

This is not ideal since this result in making =E2=80=98help2man=E2=80=99 (a=
nd =E2=80=98perl=E2=80=99
transitively) a build dependency for tarball builders.

> Am I missing a better solution? If so, it should be added to the
> manual. If not, this problem should probably be documented. I'm
> finding that parallel make is becoming a must-have rather than a nice
> boost, given the proliferation of slow multi-core machines (for
> example: -j makes it feasible to hack on my phone; without it, builds
> are painfully slow).

I agree that it is important to provide a solution that support parallel
builds.  I remember that the issue has been adressed by Guix with
something like this (untested):

--8<---------------cut here---------------start------------->8---
$(srcdir)/foo.1: foo.c foo$(EXEEXT)
	-@case '$?' in \
	  *foo.c*) $(AM_V_P) && set -x || echo "  HELP2MAN $@"; \
	           LANGUAGE=3D help2man --output=3D"$(srcdir)/foo.1" ./foo$(EXEEXT=
);; \
	  *) : ;; \
	esac;
--8<---------------cut here---------------end--------------->8---

This solution handles silent rules and possible localization of the
=E2=80=98./foo --help=E2=80=99 output.  However its limitation is that if y=
ou have
another rule with =E2=80=98$(srcdir)/foo.1=E2=80=99 as a prerequisite then =
it will be
triggered at every build.

WDYT?

Thanks for the report.

--=20
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 21 Apr 2018 15:14:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 21 11:14:27 2018
Received: from localhost ([127.0.0.1]:35144 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1f9uDb-0000V7-6R
	for submit <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:27 -0400
Received: from eggs.gnu.org ([208.118.235.92]:59834)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mthl@HIDDEN>) id 1f9uDa-0000Ut-5Y
 for control <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:26 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <mthl@HIDDEN>) id 1f9uDQ-0004Ru-7L
 for control <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:21 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34886)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <mthl@HIDDEN>)
 id 1f9uDQ-0004Rj-35
 for control <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:16 -0400
Received: from 176-179-165-201.abo.bbox.fr ([176.169.165.201]:38202 helo=godel)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <mthl@HIDDEN>) id 1f9uDP-0005t3-K4
 for control <at> debbugs.gnu.org; Sat, 21 Apr 2018 11:14:15 -0400
Date: Sat, 21 Apr 2018 17:14:14 +0200
Message-Id: <87muxwa8xl.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Mathieu Lirzin <mthl@HIDDEN>
Subject: control message for bug #31157
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

severity 31157 minor




Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Peter Johansson <trojkan@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sat, 21 Apr 2018 23:57:01 +0000
Resent-Message-ID: <handler.31157.B31157.152435500830596 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: Mathieu Lirzin <mthl@HIDDEN>, Reuben Thomas <rrt@HIDDEN>
Cc: 31157 <at> debbugs.gnu.org
Received: via spool by 31157-submit <at> debbugs.gnu.org id=B31157.152435500830596
          (code B ref 31157); Sat, 21 Apr 2018 23:57:01 +0000
Received: (at 31157) by debbugs.gnu.org; 21 Apr 2018 23:56:48 +0000
Received: from localhost ([127.0.0.1]:35239 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fA2N2-0007xM-Ft
	for submit <at> debbugs.gnu.org; Sat, 21 Apr 2018 19:56:48 -0400
Received: from mail-pg0-f48.google.com ([74.125.83.48]:33467)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <trojkan@HIDDEN>) id 1fA2Mx-0007x6-6G
 for 31157 <at> debbugs.gnu.org; Sat, 21 Apr 2018 19:56:43 -0400
Received: by mail-pg0-f48.google.com with SMTP id i194so5835436pgd.0
 for <31157 <at> debbugs.gnu.org>; Sat, 21 Apr 2018 16:56:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-transfer-encoding:content-language;
 bh=7eTsy5ACVibmSb1N3COczqalVvutZ4kAUGJ+g1chCtU=;
 b=HWqRmYObLii9+6Onc2LSVctS+Ui723b2iANpMpbbEfhTXuy/BnX4ay6sDP+RmUK1bU
 ZGufWF7rBO2LluyHz/Tc4KxzO3N7GZw88qRNG+A4nGFBT7vrKjWN3gDYXeU4tDtnw4E6
 1nofbTvYQs5XVxqbjOw+wzOdRv3sKSHbyHHn9L+HzqssO8dQE6FdR+HVuzrJVLQWLeXD
 OT2G/clSiY+n9x1XyJZ7/8oiyS7An8Q1WL8fkpC7TvQsREzqvm4bc5EXJQ6fskC1C8Px
 xA/ESx9LNEjDxF1x3atK15pvynHobGd/lFomJz18wKH3ugSmdqM3oxMcPjSqEDrpx3Vr
 BLfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=7eTsy5ACVibmSb1N3COczqalVvutZ4kAUGJ+g1chCtU=;
 b=L3Mc1b/BZuIm/DW3jxHVRYSJLEH0HaBAbxPTpGRYf2U12y0FbvbpxPizlcWFsicm7b
 dUBsN/ttYh3WNTJIlX8tAyuCcUd3AOtKeedJTHAp3QqvetGLXSp9oSUNJxb7X44yb0NM
 3srdhKCVjll06emyCyHjyMXeAvEnMDDLfDQV9qbY4oP8W97D5TuNQxu/aHL2Gv0yRb0C
 3oqTGRrjjA6Zqica1GQPbDJpzrJnBFqpIjdRkITJ5Eb7Cb4IFn1rpN0GrzWBoRMhadzP
 X7Fko4pdMF3VSVI/Yj9YV3xxiD+ozdCoHDRu34Fd3JlMiIZ0CzkxVeT6wOfY9n18IvqJ
 8IFw==
X-Gm-Message-State: ALQs6tAII9nVdzbliNzvrpetaK6mULizs36lD8QKYa5a6Eqh29XIF2X+
 Q3rrbv/yGjr3pRV/wqOEVH8=
X-Google-Smtp-Source: AIpwx4/cL6BQH3n7spechUtG45XhknsHfTp5xeVxNO1THxQslhRH8AGNFoCm2VT2z8UZvmw+OkNBjQ==
X-Received: by 2002:a17:902:462:: with SMTP id
 89-v6mr9636105ple.300.1524354993170; 
 Sat, 21 Apr 2018 16:56:33 -0700 (PDT)
Received: from [10.1.1.235] (58-6-252-124.dyn.iinet.net.au. [58.6.252.124])
 by smtp.gmail.com with ESMTPSA id w1sm12748495pfb.39.2018.04.21.16.56.30
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 21 Apr 2018 16:56:32 -0700 (PDT)
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
 <87o9ica8y1.fsf@HIDDEN>
From: Peter Johansson <trojkan@HIDDEN>
Message-ID: <80eb0a21-fe98-afb1-5531-fe83581c8cbf@HIDDEN>
Date: Sun, 22 Apr 2018 09:56:28 +1000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <87o9ica8y1.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Ruben and Mathieu,


On 4/22/2018 1:13 AM, Mathieu Lirzin wrote:
> Hello Reuben,
>
> Reuben Thomas <rrt@HIDDEN> writes:
>
>> In the manual, we are given the following pattern for using help2man
>> without breaking make distcheck:
>>
>> foo.1: foo.c $(top_srcdir)/configure.ac
>> $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
>> help2man --output=foo.1 ./foo$(EXEEXT)
>>
>> The problem is that with make -j this can result in two attempts to
>> make a library in parallel (suppose that we have:
>>
>> foo_LDADD = libfoo.la
>> lib_LTLIBRARIES = libfoo.la
>>
>> ). This can fail, and in any case is wasteful.
> Have you identified the reason why this can fail?  because

One problem is that the rule for foo.1 can be triggered before 
foo.$(EXEEXT) exists and the rule needs foo.$(EXEEXT) or help2man will 
fail. In a -j1 build this is never a problem as binaries are built 
before man pages.

When the 'missing' script changed behaviour in Automake 1.13 (and became 
useless imvho), we changed the rule in one project so foo.1 depended on 
foo.$(EXEEXT) but not if we are 1) building from a tarball and 2) 
foo.$(EXEEXT) exists.

http://dev.thep.lu.se/svndigest/browser/trunk/man/Makefile.am


Cheers,
Peter




Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Reuben Thomas <rrt@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sun, 22 Apr 2018 06:53:01 +0000
Resent-Message-ID: <handler.31157.B31157.15243799313686 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: Mathieu Lirzin <mthl@HIDDEN>
Cc: 31157 <at> debbugs.gnu.org
Received: via spool by 31157-submit <at> debbugs.gnu.org id=B31157.15243799313686
          (code B ref 31157); Sun, 22 Apr 2018 06:53:01 +0000
Received: (at 31157) by debbugs.gnu.org; 22 Apr 2018 06:52:11 +0000
Received: from localhost ([127.0.0.1]:35384 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fA8r5-0000xN-51
	for submit <at> debbugs.gnu.org; Sun, 22 Apr 2018 02:52:11 -0400
Received: from mail-ot0-f177.google.com ([74.125.82.177]:46630)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rrt@HIDDEN>) id 1fA8r3-0000x9-Cl
 for 31157 <at> debbugs.gnu.org; Sun, 22 Apr 2018 02:52:09 -0400
Received: by mail-ot0-f177.google.com with SMTP id v64-v6so13905641otb.13
 for <31157 <at> debbugs.gnu.org>; Sat, 21 Apr 2018 23:52:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sc3d.org; s=google;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=3bMVINqHtYLGys2ORSs5GUu2mXPVYqNzjblvTUPHiUI=;
 b=oLmgOUVSoTE0AQ52xc7ZezR2i68U7KVPPJJm1XVrSYR+XdKHKyYzzE1Y7TCEiMSito
 kWCuK4aFR/FpheCU3Q3N5Ig63bcjL64m2iYhVBXvTtpOAncx7HjGkPssdVsHOaaVeTOP
 jlesHwdbNI4bydLdqJWlk5mQxEpP4mReaodMc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc;
 bh=3bMVINqHtYLGys2ORSs5GUu2mXPVYqNzjblvTUPHiUI=;
 b=M+I+dxIXru7cLR9+OfR/YxLraLk/7tSoyyBN5+pEbSET2akwDmZAX5iB8+iavconeh
 G8x4n478DXdhl/+QHDuhed2o8RioREAbSEpJ+g0GJM5aTqfkMhWXApNPVi0Tvg5y+SzB
 lLVuD1AJFq06SBFJagqEew2+ynb1+nhsdTa7RZyLikMjyiEqDzw0SBwHYXjhf4PB+5g+
 i4SrCbKjFGJdGCRAON0KOGXz7q3YijvV80AESqnoGkPv6SIUDgGnGmRLXh0/d4dsCLTw
 Mi0K5yDhwtaCy/BnkuLBfGGQgxD1eX4WGK8nT62zzJsMYrnb/m4M+ahDidu9QLZiGWoo
 X6Wg==
X-Gm-Message-State: ALQs6tCQg5aKYdqGBWsYFWaK4pTuWyNkc3ahUUvbHvkJKP94r7mom5DC
 KXjpLTfMwPgQ7dq9ZaNhaI/W6Jq2sBpCURXAgzKSHA==
X-Google-Smtp-Source: AIpwx49NngKhU+TAkyBxXx0TUDNwvAmOZqFR5ce6fiqNZhU6lcP388uhnNcmbFLQznaxfEr/QDPq2DVNNwNjPqrgMWw=
X-Received: by 2002:a9d:f48:: with SMTP id
 66-v6mr11336397ott.146.1524379923318; 
 Sat, 21 Apr 2018 23:52:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a9d:3389:0:0:0:0:0 with HTTP; Sat, 21 Apr 2018 23:52:02
 -0700 (PDT)
In-Reply-To: <87o9ica8y1.fsf@HIDDEN>
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
 <87o9ica8y1.fsf@HIDDEN>
From: Reuben Thomas <rrt@HIDDEN>
Date: Sun, 22 Apr 2018 07:52:02 +0100
Message-ID: <CAOnWdogdGR4=32WgSaLjR5e5vmeL8JMXRWQYm3P-8sqvP9X_Tg@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000d51f65056a6a5be1"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000d51f65056a6a5be1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On 21 April 2018 at 16:13, Mathieu Lirzin <mthl@HIDDEN> wrote:

> Hello Reuben,
>
> Reuben Thomas <rrt@HIDDEN> writes:
>
> > In the manual, we are given the following pattern for using help2man
> > without breaking make distcheck:
> >
> > foo.1: foo.c $(top_srcdir)/configure.ac
> > $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
> > help2man --output=3Dfoo.1 ./foo$(EXEEXT)
> >
> > The problem is that with make -j this can result in two attempts to
> > make a library in parallel (suppose that we have:
> >
> > foo_LDADD =3D libfoo.la
> > lib_LTLIBRARIES =3D libfoo.la
> >
> > ). This can fail, and in any case is wasteful.
>
> Have you identified the reason why this can fail?  because
>

=E2=80=8BBecause two independent parallel invocations of make =E2=80=8Bcan =
end up trying to
build the library (which is wasteful anyway) and some needed file can be
deleted by one invocation when the other is trying to use it to link the
library.

This is not ideal since this result in making =E2=80=98help2man=E2=80=99 (a=
nd =E2=80=98perl=E2=80=99
> transitively) a build dependency for tarball builders.
>

=E2=80=8BI'm increasingly of the view this is not a problem. Perl is increa=
singly
reasonable as a build dep (it seems to be in most base systems now), and
help2man is small. Further, it's increasingly common to build from git
sources, or a tarball of git, or, as Debian does, to rerun
autoreconf/bootstrap at build time.=E2=80=8B However, for now I am being
conservative!

$(srcdir)/foo.1: foo.c foo$(EXEEXT)
>         -@case '$?' in \
>           *foo.c*)
> =E2=80=8B=E2=80=8B
> $(AM_V_P) && set -x || echo "  HELP2MAN $@"; \
>                    LANGUAGE=3D help2man --output=3D"$(srcdir)/foo.1"
> ./foo$(EXEEXT);; \
>           *) : ;; \
>         esac;
>

Nice! The one thing I don't understand: why is "-" needed at the start
(i.e. why do we need to ignore failure of this command?).

Combining the above with what I originally posted, I get:

beetle.1: tbl_opts.h beetle$(EXEEXT)
## Exit gracefully if beetle.1 is not writeable, such as during distcheck!
    @if ( touch $@.w && rm -f $@.w; ) >/dev/null 2>&1; then \
        case '$?' in \
          *tbl_opts.h*) $(AM_V_P) && set -x || echo "  HELP2MAN $@"; \
          $(top_srcdir)/build-aux/missing --run $(HELP2MAN) --no-info \
            --name=3D"Forth virtual machine" \
            --output=3D$@ ./beetle$(EXEEXT);; \
          *) : ;; \
        esac; \
    fi

--=20
https://rrt.sc3d.org

--000000000000d51f65056a6a5be1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra">On 21 April 2018 at 16:13, Math=
ieu Lirzin <span dir=3D"ltr">&lt;<a href=3D"mailto:mthl@HIDDEN" target=3D"=
_blank">mthl@HIDDEN</a>&gt;</span> wrote:<br><div class=3D"gmail_quote"><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex">Hello Reuben,<br>
<br>
Reuben Thomas &lt;<a href=3D"mailto:rrt@HIDDEN" target=3D"_blank">rrt@sc3=
d.org</a>&gt; writes:<br>
<br>
&gt; In the manual, we are given the following pattern for using help2man<b=
r>
&gt; without breaking make distcheck:<br>
&gt;<br>
&gt; foo.1: foo.c $(top_srcdir)/<a href=3D"http://configure.ac" rel=3D"nore=
ferrer" target=3D"_blank">configure.ac</a><br>
&gt; $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)<br>
&gt; help2man --output=3Dfoo.1 ./foo$(EXEEXT)<br>
&gt;<br>
&gt; The problem is that with make -j this can result in two attempts to<br=
>
&gt; make a library in parallel (suppose that we have:<br>
&gt;<br>
&gt; foo_LDADD =3D <a href=3D"http://libfoo.la" rel=3D"noreferrer" target=
=3D"_blank">libfoo.la</a><br>
&gt; lib_LTLIBRARIES =3D <a href=3D"http://libfoo.la" rel=3D"noreferrer" ta=
rget=3D"_blank">libfoo.la</a><br>
&gt;<br>
&gt; ). This can fail, and in any case is wasteful.<br>
<br>
Have you identified the reason why this can fail?=C2=A0 because <br></block=
quote><div><br><div class=3D"gmail_default">=E2=80=8BBecause two independen=
t parallel invocations of make =E2=80=8Bcan end up trying to build the libr=
ary (which is wasteful anyway) and some needed file can be deleted by one i=
nvocation when the other is trying to use it to link the library.<br></div>=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

This is not ideal since this result in making =E2=80=98help2man=E2=80=99 (a=
nd =E2=80=98perl=E2=80=99<br>
transitively) a build dependency for tarball builders.<br></blockquote><div=
><br><div class=3D"gmail_default">=E2=80=8BI&#39;m increasingly of the view=
 this is not a problem. Perl is increasingly reasonable as a build dep (it =
seems to be in most base systems now), and help2man is small. Further, it&#=
39;s increasingly common to build from git sources, or a tarball of git, or=
, as Debian does, to rerun autoreconf/bootstrap at build time.=E2=80=8B How=
ever, for now I am being conservative!<br></div><br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">
$(srcdir)/foo.1: foo.c foo$(EXEEXT)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 -@case &#39;$?&#39; in \<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *foo.c*) <div class=3D"gmail_default">=
=E2=80=8B=E2=80=8B</div>$(AM_V_P) &amp;&amp; set -x || echo &quot;=C2=A0 HE=
LP2MAN $@&quot;; \<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0LANGUA=
GE=3D help2man --output=3D&quot;$(srcdir)/foo.1&quot; ./foo$(EXEEXT);; \<br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *) : ;; \<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 esac;<br></blockquote><div><br><div class=3D"gm=
ail_default">Nice! The one thing I don&#39;t understand: why is &quot;-&quo=
t; needed at the start (i.e. why do we need to ignore failure of this comma=
nd?).<br><br></div><div class=3D"gmail_default">Combining the above with wh=
at I originally posted, I get:<br><br>beetle.1: tbl_opts.h beetle$(EXEEXT)<=
br>## Exit gracefully if beetle.1 is not writeable, such as during distchec=
k!<br>=C2=A0=C2=A0=C2=A0 @if ( touch $@.w &amp;&amp; rm -f $@.w; ) &gt;/dev=
/null 2&gt;&amp;1; then \<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 case &#3=
9;$?&#39; in \<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *tbl_op=
ts.h*) $(AM_V_P) &amp;&amp; set -x || echo &quot;=C2=A0 HELP2MAN $@&quot;; =
\<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 $(top_srcdir)/build-aux/m=
issing --run $(HELP2MAN) --no-info \<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=
=A0 =C2=A0=C2=A0=C2=A0 --name=3D&quot;Forth virtual machine&quot; \<br>=C2=
=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 --output=3D$@ ./beetl=
e$(EXEEXT);; \<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *) : ;;=
 \<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 esac; \<br>=C2=A0=C2=A0=C2=A0 f=
i<br><br></div></div></div>-- <br><div class=3D"gmail-m_2865329520839415486=
gmail_signature"><div dir=3D"ltr"><a href=3D"https://rrt.sc3d.org" target=
=3D"_blank">https://rrt.sc3d.org</a></div></div>
</div></div>

--000000000000d51f65056a6a5be1--




Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Mathieu Lirzin <mthl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sun, 22 Apr 2018 09:30:02 +0000
Resent-Message-ID: <handler.31157.B31157.152438935017509 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: Reuben Thomas <rrt@HIDDEN>
Cc: 31157 <at> debbugs.gnu.org
Received: via spool by 31157-submit <at> debbugs.gnu.org id=B31157.152438935017509
          (code B ref 31157); Sun, 22 Apr 2018 09:30:02 +0000
Received: (at 31157) by debbugs.gnu.org; 22 Apr 2018 09:29:10 +0000
Received: from localhost ([127.0.0.1]:35409 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fABIv-0004YH-J3
	for submit <at> debbugs.gnu.org; Sun, 22 Apr 2018 05:29:10 -0400
Received: from eggs.gnu.org ([208.118.235.92]:52062)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mthl@HIDDEN>) id 1fABIt-0004Xm-KS
 for 31157 <at> debbugs.gnu.org; Sun, 22 Apr 2018 05:29:04 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <mthl@HIDDEN>) id 1fABIl-0000oZ-0B
 for 31157 <at> debbugs.gnu.org; Sun, 22 Apr 2018 05:28:58 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49805)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <mthl@HIDDEN>)
 id 1fABIk-0000oR-SH; Sun, 22 Apr 2018 05:28:54 -0400
Received: from 176-179-165-201.abo.bbox.fr ([176.169.165.201]:47882
 helo=neptune)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <mthl@HIDDEN>)
 id 1fABIk-0007Oz-9U; Sun, 22 Apr 2018 05:28:54 -0400
From: Mathieu Lirzin <mthl@HIDDEN>
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
 <87o9ica8y1.fsf@HIDDEN>
 <CAOnWdogdGR4=32WgSaLjR5e5vmeL8JMXRWQYm3P-8sqvP9X_Tg@HIDDEN>
Date: Sun, 22 Apr 2018 11:28:51 +0200
In-Reply-To: <CAOnWdogdGR4=32WgSaLjR5e5vmeL8JMXRWQYm3P-8sqvP9X_Tg@HIDDEN>
 (Reuben Thomas's message of "Sun, 22 Apr 2018 07:52:02 +0100")
Message-ID: <87wowzvbcc.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

Reuben Thomas <rrt@HIDDEN> writes:

> On 21 April 2018 at 16:13, Mathieu Lirzin <mthl@HIDDEN> wrote:
>
>  Reuben Thomas <rrt@HIDDEN> writes:
>
>  > In the manual, we are given the following pattern for using help2man
>  > without breaking make distcheck:
>  >
>  > foo.1: foo.c $(top_srcdir)/configure.ac
>  > $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
>  > help2man --output=3Dfoo.1 ./foo$(EXEEXT)
>  >
>  > The problem is that with make -j this can result in two attempts to
>  > make a library in parallel (suppose that we have:
>  >
>  > foo_LDADD =3D libfoo.la
>  > lib_LTLIBRARIES =3D libfoo.la
>  >
>  > ). This can fail, and in any case is wasteful.
>
>  Have you identified the reason why this can fail? because=20
>
> =E2=80=8BBecause two independent parallel invocations of make =E2=80=8Bca=
n end up trying
> to build the library (which is wasteful anyway) and some needed file
> can be deleted by one invocation when the other is trying to use it to
> link the library.

Makes sense.

>  This is not ideal since this result in making =E2=80=98help2man=E2=80=99=
 (and =E2=80=98perl=E2=80=99
>  transitively) a build dependency for tarball builders.
>
> =E2=80=8BI'm increasingly of the view this is not a problem. Perl is
> increasingly reasonable as a build dep (it seems to be in most base
> systems now), and help2man is small.

In term of convenience for end users, I agree this is often a harmless
issue.  However having been involved in GNU Guix for awhile I think it
is important to avoid accidental dependencies to improve the simplicity
of the bootstrapping process of our systems [1][2].

>  $(srcdir)/foo.1: foo.c foo$(EXEEXT)
>  -@case '$?' in \
>  *foo.c*)=20
>  =E2=80=8B=E2=80=8B$(AM_V_P) && set -x || echo " HELP2MAN $@"; \
>  LANGUAGE=3D help2man --output=3D"$(srcdir)/foo.1" ./foo$(EXEEXT);; \
>  *) : ;; \
>  esac;
>
> Nice! The one thing I don't understand: why is "-" needed at the start
> (i.e. why do we need to ignore failure of this command?).

I don't recall exactly the reason Guix added it, I guess it was to allow
the build to "succeed" even if the man pages generation failed since
that doesn't impact the software to run.  However I am not sure if it's
a good idea.

> Combining the above with what I originally posted, I get:
>
> beetle.1: tbl_opts.h beetle$(EXEEXT)
> ## Exit gracefully if beetle.1 is not writeable, such as during distcheck!
> @if ( touch $@.w && rm -f $@.w; ) >/dev/null 2>&1; then \

IIUC this case silently ignores when the =E2=80=98beetle.1=E2=80=99 is not =
distributed,
which doesn't seem desirable for =E2=80=98make distcheck=E2=80=99, no?
=20=20=20=20=20
> case '$?' in \
> *tbl_opts.h*) $(AM_V_P) && set -x || echo " HELP2MAN $@"; \
> $(top_srcdir)/build-aux/missing --run $(HELP2MAN) --no-info \
> --name=3D"Forth virtual machine" \
> --output=3D$@ ./beetle$(EXEEXT);; \
> *) : ;; \
> esac; \
> fi

[1] https://www.gnu.org/software/guix/manual/html_node/Bootstrapping.html
[2] http://bootstrappable.org/

--=20
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37




Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Mathieu Lirzin <mthl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sun, 22 Apr 2018 10:08:02 +0000
Resent-Message-ID: <handler.31157.B31157.152439166520791 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: Peter Johansson <trojkan@HIDDEN>
Cc: 31157 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Reuben Thomas <rrt@HIDDEN>
Received: via spool by 31157-submit <at> debbugs.gnu.org id=B31157.152439166520791
          (code B ref 31157); Sun, 22 Apr 2018 10:08:02 +0000
Received: (at 31157) by debbugs.gnu.org; 22 Apr 2018 10:07:45 +0000
Received: from localhost ([127.0.0.1]:35418 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fABuH-0005PD-78
	for submit <at> debbugs.gnu.org; Sun, 22 Apr 2018 06:07:45 -0400
Received: from eggs.gnu.org ([208.118.235.92]:44182)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mthl@HIDDEN>) id 1fABuE-0005P0-SD
 for 31157 <at> debbugs.gnu.org; Sun, 22 Apr 2018 06:07:40 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <mthl@HIDDEN>) id 1fABu6-0004rm-1K
 for 31157 <at> debbugs.gnu.org; Sun, 22 Apr 2018 06:07:33 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50174)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <mthl@HIDDEN>)
 id 1fABtz-0004lY-6d; Sun, 22 Apr 2018 06:07:23 -0400
Received: from 176-179-165-201.abo.bbox.fr ([176.169.165.201]:48100
 helo=neptune)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <mthl@HIDDEN>)
 id 1fABty-0006JS-Df; Sun, 22 Apr 2018 06:07:22 -0400
From: Mathieu Lirzin <mthl@HIDDEN>
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
 <87o9ica8y1.fsf@HIDDEN>
 <80eb0a21-fe98-afb1-5531-fe83581c8cbf@HIDDEN>
Date: Sun, 22 Apr 2018 12:07:19 +0200
In-Reply-To: <80eb0a21-fe98-afb1-5531-fe83581c8cbf@HIDDEN> (Peter
 Johansson's message of "Sun, 22 Apr 2018 09:56:28 +1000")
Message-ID: <87sh7nv9k8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

Hello Peter,

Peter Johansson <trojkan@HIDDEN> writes:

> On 4/22/2018 1:13 AM, Mathieu Lirzin wrote:
>> Hello Reuben,
>>
>> Reuben Thomas <rrt@HIDDEN> writes:
>>
>>> In the manual, we are given the following pattern for using help2man
>>> without breaking make distcheck:
>>>
>>> foo.1: foo.c $(top_srcdir)/configure.ac
>>> $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
>>> help2man --output=3Dfoo.1 ./foo$(EXEEXT)
>>>
>>> The problem is that with make -j this can result in two attempts to
>>> make a library in parallel (suppose that we have:
>>>
>>> foo_LDADD =3D libfoo.la
>>> lib_LTLIBRARIES =3D libfoo.la
>>>
>>> ). This can fail, and in any case is wasteful.
>> Have you identified the reason why this can fail?  because
>
> One problem is that the rule for foo.1 can be triggered before
> foo.$(EXEEXT) exists and the rule needs foo.$(EXEEXT) or help2man will
> fail. In a -j1 build this is never a problem as binaries are built
> before man pages.

with the =E2=80=98$(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)=E2=80=99 recipe line=
, normally
this ensures that the =E2=80=98foo$(EXEEXT)=E2=80=99 is built at least once=
.  My
question was about understanding why building a program/library twice
may end up in a failure in a parallel context.

The answer from Reuben was that since compilation is not thead safe when
for example deleting shared temporary files, then concurrent processes
might impact each other.

> When the 'missing' script changed behaviour in Automake 1.13 (and
> became useless imvho), we changed the rule in one project so foo.1
> depended on foo.$(EXEEXT) but not if we are 1) building from a tarball
> and 2) foo.$(EXEEXT) exists.
>
> http://dev.thep.lu.se/svndigest/browser/trunk/man/Makefile.am

This is an alternative solution which is used by GNU Hello too.  I
remember some people not being fond of this approach because of its
AM_MAINTAINER_MODE spirit [1].

[1] https://www.gnu.org/software/automake/manual/html_node/maintainer_002dm=
ode.html

Thanks for your feedback.

--=20
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37




Message sent to bug-automake@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#31157: Advice for help2man does not work for parallel builds
Resent-From: Reuben Thomas <rrt@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-automake@HIDDEN
Resent-Date: Sun, 22 Apr 2018 13:58:02 +0000
Resent-Message-ID: <handler.31157.B31157.152440545516667 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 31157
X-GNU-PR-Package: automake
X-GNU-PR-Keywords: 
To: Mathieu Lirzin <mthl@HIDDEN>
Cc: 31157 <at> debbugs.gnu.org
Received: via spool by 31157-submit <at> debbugs.gnu.org id=B31157.152440545516667
          (code B ref 31157); Sun, 22 Apr 2018 13:58:02 +0000
Received: (at 31157) by debbugs.gnu.org; 22 Apr 2018 13:57:35 +0000
Received: from localhost ([127.0.0.1]:35941 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fAFUl-0004Kl-KW
	for submit <at> debbugs.gnu.org; Sun, 22 Apr 2018 09:57:35 -0400
Received: from mail-ot0-f169.google.com ([74.125.82.169]:37816)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rrt@HIDDEN>) id 1fAFUj-0004KX-UR
 for 31157 <at> debbugs.gnu.org; Sun, 22 Apr 2018 09:57:34 -0400
Received: by mail-ot0-f169.google.com with SMTP id 77-v6so8345710otd.4
 for <31157 <at> debbugs.gnu.org>; Sun, 22 Apr 2018 06:57:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sc3d.org; s=google;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=35woVE6EacgHofq+Jk0q81Rs2q6kqu6TpJMHP1w/MIs=;
 b=hgB0AP25S+tNHmxHWMp0BZPKtgIvDKvEbUskIehIjAhWR0DEI4NIvb3/IZhHk4e6MR
 obaW0//G0LP3e/1R2bCNvUnuEOt3ws0FGa8qPlhv7mCZhJYtIKqBFJnlT4HQpI3cuz5B
 jIgq7ilgYZ0+CL2QtPbvfQ08mSvf5OLw9/mVE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc;
 bh=35woVE6EacgHofq+Jk0q81Rs2q6kqu6TpJMHP1w/MIs=;
 b=N85b7gqf3RDk8ZeY5WnAEDI+3T+CmL/eAFiiaWX+FSiw4WOLf996oWJIVwAfr+C+g4
 qVGXv49d5yHuSSU0ZGAfViTdLGKvwTbzAznTewhjUX6ay1wywJ2PrFviFAh3jX6kSkty
 pEhUnrDYsD7CQTGDrbUgCDuO4UErjzhovpwejmoFKLUf7ipb90mcY85huZ30EEhm6uf+
 J6YnfTZOfWSJsfNCrYZrQ76rBnH+ZASYGeXjpy2YrgZIaoPcZy8vJe3/cZH6aBSEApia
 VG++sNUky40PyQbEbyW7cbVAMygGDJTZy5mJZGnG94pVCZaFW+rczzuW8oxGrNd5QcRu
 D1gg==
X-Gm-Message-State: ALQs6tAo9i3+8hDPnt8YhNObq7wOfnOqdCJX3qBIutbG1YPCWKTwFNEK
 /pp02ZVoE15Qs6jRbVpDVe9aV5oOmTGDNfuHsDywTw==
X-Google-Smtp-Source: AIpwx4/fTBKffO08QmKeORYYEbUf37byLXQ17yM34PmYriN35Zx0kW9LJjbKo0ACf2WmS2XMPnpKodoqfNSLa/1nQs0=
X-Received: by 2002:a9d:4902:: with SMTP id
 e2-v6mr11115648otf.212.1524405447925; 
 Sun, 22 Apr 2018 06:57:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a9d:3389:0:0:0:0:0 with HTTP; Sun, 22 Apr 2018 06:57:26
 -0700 (PDT)
In-Reply-To: <87wowzvbcc.fsf@HIDDEN>
References: <CAOnWdoiR3yGdPoAixbkw_6QDCD65uaa2b=a-HXTJysrE0eLTgA@HIDDEN>
 <87o9ica8y1.fsf@HIDDEN>
 <CAOnWdogdGR4=32WgSaLjR5e5vmeL8JMXRWQYm3P-8sqvP9X_Tg@HIDDEN>
 <87wowzvbcc.fsf@HIDDEN>
From: Reuben Thomas <rrt@HIDDEN>
Date: Sun, 22 Apr 2018 14:57:26 +0100
Message-ID: <CAOnWdohpDPAGHVBapT0Kxvn=a-VNuJHMfe7ozAcuFa20JxxxAQ@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000037ba7c056a704d15"
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000037ba7c056a704d15
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On 22 April 2018 at 10:28, Mathieu Lirzin <mthl@HIDDEN> wrote:

>
> >  $(srcdir)/foo.1: foo.c foo$(EXEEXT)
> >  -@case '$?' in \
> >  *foo.c*)
> >  =E2=80=8B=E2=80=8B$(AM_V_P) && set -x || echo " HELP2MAN $@"; \
> >  LANGUAGE=3D help2man --output=3D"$(srcdir)/foo.1" ./foo$(EXEEXT);; \
> >  *) : ;; \
> >  esac;
> >
> > Nice! The one thing I don't understand: why is "-" needed at the start
> > (i.e. why do we need to ignore failure of this command?).
>
> I don't recall exactly the reason Guix added it, I guess it was to allow
> the build to "succeed" even if the man pages generation failed since
> that doesn't impact the software to run.  However I am not sure if it's
> a good idea.
>

Ah, I guess it could fail because if help2man is not available. The code I
supplied=E2=80=8B uses "missing" instead.

IIUC this case silently ignores when the =E2=80=98beetle.1=E2=80=99 is not =
distributed,
>

=E2=80=8BIt is distributed. This is important to cover the case where help2=
man is
not available.=E2=80=8B

Note that the command would not work anyway under make distcheck, as it
would attempt to write to a non-writable directory, and this case is
explicitly handled.

--=20
https://rrt.sc3d.org

--00000000000037ba7c056a704d15
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra">On 22 April 2018 at 10:28, Math=
ieu Lirzin <span dir=3D"ltr">&lt;<a href=3D"mailto:mthl@HIDDEN" target=3D"=
_blank">mthl@HIDDEN</a>&gt;</span> wrote:<br><div class=3D"gmail_quote"><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex"><span class=3D""><br>
&gt;=C2=A0 $(srcdir)/foo.1: foo.c foo$(EXEEXT)<br>
&gt;=C2=A0 -@case &#39;$?&#39; in \<br>
&gt;=C2=A0 *foo.c*) <br>
&gt;=C2=A0 =E2=80=8B=E2=80=8B$(AM_V_P) &amp;&amp; set -x || echo &quot; HEL=
P2MAN $@&quot;; \<br>
&gt;=C2=A0 LANGUAGE=3D help2man --output=3D&quot;$(srcdir)/foo.1&quot; ./fo=
o$(EXEEXT);; \<br>
&gt;=C2=A0 *) : ;; \<br>
&gt;=C2=A0 esac;<br>
&gt;<br>
&gt; Nice! The one thing I don&#39;t understand: why is &quot;-&quot; neede=
d at the start<br>
&gt; (i.e. why do we need to ignore failure of this command?).<br>
<br>
</span>I don&#39;t recall exactly the reason Guix added it, I guess it was =
to allow<br>
the build to &quot;succeed&quot; even if the man pages generation failed si=
nce<br>
that doesn&#39;t impact the software to run.=C2=A0 However I am not sure if=
 it&#39;s<br>
a good idea.<br></blockquote><div><br><div style=3D"font-family: times\ new=
\ roman, serif; font-size: small;" class=3D"gmail_default">Ah, I guess it c=
ould fail because if help2man is not available. The code I supplied=E2=80=
=8B uses &quot;missing&quot; instead.<br></div><br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
IIUC this case silently ignores when the =E2=80=98beetle.1=E2=80=99 is not =
distributed,<br></blockquote><div class=3D"h5"><br><div style=3D"font-famil=
y: times\ new\ roman, serif; font-size: small;" class=3D"gmail_default">=E2=
=80=8BIt is distributed. This is important to cover the case where help2man=
 is not available.=E2=80=8B<br><br></div><div style=3D"font-family: times\ =
new\ roman, serif; font-size: small;" class=3D"gmail_default">Note that the=
 command would not work anyway under make distcheck, as it would attempt to=
 write to a non-writable directory, and this case is explicitly handled.<br=
></div><br clear=3D"all"></div></div>-- <br><div class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><a href=3D"https://rrt.=
sc3d.org" target=3D"_blank">https://rrt.sc3d.org</a></div></div>
</div></div>

--00000000000037ba7c056a704d15--





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.