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'=
m using automake 1.15. I can'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'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'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--
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
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
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
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
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"><<a href=3D"mailto:mthl@HIDDEN" target=3D"=
_blank">mthl@HIDDEN</a>></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 <<a href=3D"mailto:rrt@HIDDEN" target=3D"_blank">rrt@sc3=
d.org</a>> writes:<br>
<br>
> In the manual, we are given the following pattern for using help2man<b=
r>
> without breaking make distcheck:<br>
><br>
> foo.1: foo.c $(top_srcdir)/<a href=3D"http://configure.ac" rel=3D"nore=
ferrer" target=3D"_blank">configure.ac</a><br>
> $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)<br>
> help2man --output=3Dfoo.1 ./foo$(EXEEXT)<br>
><br>
> The problem is that with make -j this can result in two attempts to<br=
>
> make a library in parallel (suppose that we have:<br>
><br>
> foo_LDADD =3D <a href=3D"http://libfoo.la" rel=3D"noreferrer" target=
=3D"_blank">libfoo.la</a><br>
> lib_LTLIBRARIES =3D <a href=3D"http://libfoo.la" rel=3D"noreferrer" ta=
rget=3D"_blank">libfoo.la</a><br>
><br>
> ). 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'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 '$?' 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) && set -x || echo "=C2=A0 HE=
LP2MAN $@"; \<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"$(srcdir)/foo.1" ./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't understand: why is "-&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 && rm -f $@.w; ) >/dev=
/null 2>&1; then \<br>=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 case =
9;$?' 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) && set -x || echo "=C2=A0 HELP2MAN $@"; =
\<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"Forth virtual machine" \<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--
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
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
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"><<a href=3D"mailto:mthl@HIDDEN" target=3D"=
_blank">mthl@HIDDEN</a>></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>
>=C2=A0 $(srcdir)/foo.1: foo.c foo$(EXEEXT)<br>
>=C2=A0 -@case '$?' in \<br>
>=C2=A0 *foo.c*) <br>
>=C2=A0 =E2=80=8B=E2=80=8B$(AM_V_P) && set -x || echo " HEL=
P2MAN $@"; \<br>
>=C2=A0 LANGUAGE=3D help2man --output=3D"$(srcdir)/foo.1" ./fo=
o$(EXEEXT);; \<br>
>=C2=A0 *) : ;; \<br>
>=C2=A0 esac;<br>
><br>
> Nice! The one thing I don't understand: why is "-" neede=
d at the start<br>
> (i.e. why do we need to ignore failure of this command?).<br>
<br>
</span>I don't recall exactly the reason Guix added it, I guess it was =
to allow<br>
the build to "succeed" even if the man pages generation failed si=
nce<br>
that doesn't impact the software to run.=C2=A0 However I am not sure if=
it'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 "missing" 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--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.