GNU bug report logs - #29727
changing contributing.texi does not trigger rebuild of “info” target

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Fri, 15 Dec 2017 23:59:01 UTC

Severity: normal

Tags: patch

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 29727 in the body.
You can then email your comments to 29727 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#29727; Package guix. (Fri, 15 Dec 2017 23:59:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 15 Dec 2017 23:59:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: bug-guix <at> gnu.org
Subject: changing contributing.texi does not trigger rebuild of
 “info” target
Date: Sat, 16 Dec 2017 00:11:49 +0100
After modifying “doc/contributing.texi” the command “make info” does not
rebuild “guix.info”.  “contributing.texi” is included from “guix.texi”.

Only after touching “guix.texi” does “make info” rebuild “guix.info”.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net






Information forwarded to bug-guix <at> gnu.org:
bug#29727; Package guix. (Mon, 15 Jan 2018 14:15:01 GMT) Full text and rfc822 format available.

Message #8 received at 29727 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Lirzin <mthl <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 29727 <at> debbugs.gnu.org
Subject: Re: bug#29727: changing contributing.texi does not trigger rebuild
 of “info” target
Date: Mon, 15 Jan 2018 15:14:03 +0100
[Message part 1 (text/plain, inline)]
Hello,

Ricardo Wurmus <rekado <at> elephly.net> writes:

> After modifying “doc/contributing.texi” the command “make info” does not
> rebuild “guix.info”.  “contributing.texi” is included from “guix.texi”.
>
> Only after touching “guix.texi” does “make info” rebuild “guix.info”.

Here is a fix for that.

[0001-build-Declare-doc-guix.texi-dependencies.patch (text/x-patch, inline)]
From 0bab7bb491aca9077f42a0ab4084040742440b1f Mon Sep 17 00:00:00 2001
From: Mathieu Lirzin <mthl <at> gnu.org>
Date: Mon, 15 Jan 2018 14:47:12 +0100
Subject: [PATCH] =?UTF-8?q?build:=20Declare=20=E2=80=9Cdoc/guix.texi?=
 =?UTF-8?q?=E2=80=9C=20dependencies.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This fixes bug#29727.

* doc/local.mk (%C%_guix_TEXINFOS): New variable containing files included by
“doc/guix.texi”.
(EXTRA_DIST): Remove ‘.texi’ files.
---
 doc/local.mk | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/doc/local.mk b/doc/local.mk
index dc48fc22b..397ade050 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -3,7 +3,7 @@
 # Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo <at> gnu.org>
 # Copyright © 2013 Andreas Enge <andreas <at> enge.fr>
 # Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli <at> gmail.com>
-# Copyright © 2016 Mathieu Lirzin <mthl <at> gnu.org>
+# Copyright © 2016, 2018 Mathieu Lirzin <mthl <at> gnu.org>
 #
 # This file is part of GNU Guix.
 #
@@ -22,6 +22,10 @@
 
 info_TEXINFOS = %D%/guix.texi
 
+%C%_guix_TEXINFOS = \
+  %D%/contributing.texi \
+  %D%/fdl-1.3.texi
+
 DOT_FILES =					\
   %D%/images/bootstrap-graph.dot		\
   %D%/images/bootstrap-packages.dot		\
@@ -36,8 +40,6 @@ DOT_VECTOR_GRAPHICS =				\
 
 EXTRA_DIST +=					\
   %D%/htmlxref.cnf				\
-  %D%/contributing.texi				\
-  %D%/fdl-1.3.texi				\
   $(DOT_FILES)					\
   $(DOT_VECTOR_GRAPHICS)			\
   %D%/images/coreutils-size-map.eps		\
-- 
2.15.1

[Message part 3 (text/plain, inline)]
Feel free to ping <automake <at> gnu.org> for help when confronted with
similar issues.

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

Added tag(s) patch. Request was from Mathieu Lirzin <mthl <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 15 Jan 2018 14:16:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#29727; Package guix. (Wed, 17 Jan 2018 07:31:02 GMT) Full text and rfc822 format available.

Message #13 received at 29727 <at> debbugs.gnu.org (full text, mbox):

From: Chris Marusich <cmmarusich <at> gmail.com>
To: Mathieu Lirzin <mthl <at> gnu.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 29727 <at> debbugs.gnu.org
Subject: Re: bug#29727: changing contributing.texi does not trigger rebuild
 of “info” target
Date: Tue, 16 Jan 2018 23:30:21 -0800
[Message part 1 (text/plain, inline)]
Mathieu Lirzin <mthl <at> gnu.org> writes:

>  info_TEXINFOS = %D%/guix.texi
>  
> +%C%_guix_TEXINFOS = \
> +  %D%/contributing.texi \
> +  %D%/fdl-1.3.texi

Why is the %C% required here?  What does it do?  I read (automake)
Texinfo, so I understand that this is probably a way to tell Automake
that guix.texi depends on contributing.texi and fdl-1.3.texi, but I
don't understand why %C% is present in the variable name here.

-- 
Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#29727; Package guix. (Wed, 17 Jan 2018 12:21:01 GMT) Full text and rfc822 format available.

Message #16 received at 29727 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Lirzin <mthl <at> gnu.org>
To: Chris Marusich <cmmarusich <at> gmail.com>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 29727 <at> debbugs.gnu.org
Subject: Re: bug#29727: changing contributing.texi does not trigger rebuild
 of “info” target
Date: Wed, 17 Jan 2018 13:20:08 +0100
Hello,

Chris Marusich <cmmarusich <at> gmail.com> writes:

> Mathieu Lirzin <mthl <at> gnu.org> writes:
>
>>  info_TEXINFOS = %D%/guix.texi
>>  
>> +%C%_guix_TEXINFOS = \
>> +  %D%/contributing.texi \
>> +  %D%/fdl-1.3.texi
>
> Why is the %C% required here?  What does it do?  I read (automake)
> Texinfo, so I understand that this is probably a way to tell Automake
> that guix.texi depends on contributing.texi and fdl-1.3.texi, but I
> don't understand why %C% is present in the variable name here.

Indeed this is can be hard to grasp.

A variable like ‘doc_foo_TEXINFOS’ declares the dependencies of
‘doc/foo.texi’ which must be declared in the special ‘info_TEXINFOS’
variable to be built with ‘makeinfo’.  The transformation from
‘doc/foo_XXX’ to ‘doc_foo_XXX’ is required because only letters and
underscores can be used for Make variables indentifier.  This
transformation is called canonalization [1].

Guix uses the inclusion of Makefile snippets instead of recursive Makefiles
which are evil [2]. %D% and %C% are used to avoid having to be explicit
about the current directory where the Makefile snippet is located.

- %D% is a shorthand for %reldir% which is substituted with the dirname
  relative to the top level “Makefile.am”.

- %C% is a shorthand for %canon_reldir% which is the canonalization of
  %reldir% [3].

HTH,

[1] https://www.gnu.org/software/automake/manual/html_node/Canonicalization.html
[1] https://ator1699.home.xs4all.nl/Work/GBS/Doc_and_download/2_RecursiveMakeConsideredHarmful.pdf
[2] https://www.gnu.org/software/automake/manual/html_node/Include.html for

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




Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Wed, 17 Jan 2018 13:58:01 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Wed, 17 Jan 2018 13:58:02 GMT) Full text and rfc822 format available.

Message #21 received at 29727-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mathieu Lirzin <mthl <at> gnu.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 29727-done <at> debbugs.gnu.org
Subject: Re: bug#29727: changing contributing.texi does not trigger rebuild
 of “info” target
Date: Wed, 17 Jan 2018 14:57:48 +0100
Heya,

Mathieu Lirzin <mthl <at> gnu.org> skribis:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> After modifying “doc/contributing.texi” the command “make info” does not
>> rebuild “guix.info”.  “contributing.texi” is included from “guix.texi”.
>>
>> Only after touching “guix.texi” does “make info” rebuild “guix.info”.
>
> Here is a fix for that.

Awesome!  Applied.

> Feel free to ping <automake <at> gnu.org> for help when confronted with
> similar issues.

Will do.  :-)

Thanks,
Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 15 Feb 2018 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 43 days ago.

Previous Next


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