unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#29727: changing contributing.texi does not trigger rebuild of “info” target
@ 2017-12-15 23:11 Ricardo Wurmus
  2018-01-15 14:14 ` Mathieu Lirzin
  0 siblings, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2017-12-15 23:11 UTC (permalink / raw)
  To: 29727

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#29727: changing contributing.texi does not trigger rebuild of “info” target
  2017-12-15 23:11 bug#29727: changing contributing.texi does not trigger rebuild of “info” target Ricardo Wurmus
@ 2018-01-15 14:14 ` Mathieu Lirzin
  2018-01-17  7:30   ` Chris Marusich
  2018-01-17 13:57   ` Ludovic Courtès
  0 siblings, 2 replies; 5+ messages in thread
From: Mathieu Lirzin @ 2018-01-15 14:14 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 29727

[-- Attachment #1: Type: text/plain, Size: 345 bytes --]

Hello,

Ricardo Wurmus <rekado@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.


[-- Attachment #2: 0001-build-Declare-doc-guix.texi-dependencies.patch --]
[-- Type: text/x-patch, Size: 1607 bytes --]

From 0bab7bb491aca9077f42a0ab4084040742440b1f Mon Sep 17 00:00:00 2001
From: Mathieu Lirzin <mthl@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@gnu.org>
 # Copyright © 2013 Andreas Enge <andreas@enge.fr>
 # Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+# Copyright © 2016, 2018 Mathieu Lirzin <mthl@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


[-- Attachment #3: Type: text/plain, Size: 160 bytes --]


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

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#29727: changing contributing.texi does not trigger rebuild of “info” target
  2018-01-15 14:14 ` Mathieu Lirzin
@ 2018-01-17  7:30   ` Chris Marusich
  2018-01-17 12:20     ` Mathieu Lirzin
  2018-01-17 13:57   ` Ludovic Courtès
  1 sibling, 1 reply; 5+ messages in thread
From: Chris Marusich @ 2018-01-17  7:30 UTC (permalink / raw)
  To: Mathieu Lirzin; +Cc: 29727

[-- Attachment #1: Type: text/plain, Size: 447 bytes --]

Mathieu Lirzin <mthl@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#29727: changing contributing.texi does not trigger rebuild of “info” target
  2018-01-17  7:30   ` Chris Marusich
@ 2018-01-17 12:20     ` Mathieu Lirzin
  0 siblings, 0 replies; 5+ messages in thread
From: Mathieu Lirzin @ 2018-01-17 12:20 UTC (permalink / raw)
  To: Chris Marusich; +Cc: 29727

Hello,

Chris Marusich <cmmarusich@gmail.com> writes:

> Mathieu Lirzin <mthl@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#29727: changing contributing.texi does not trigger rebuild of “info” target
  2018-01-15 14:14 ` Mathieu Lirzin
  2018-01-17  7:30   ` Chris Marusich
@ 2018-01-17 13:57   ` Ludovic Courtès
  1 sibling, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2018-01-17 13:57 UTC (permalink / raw)
  To: Mathieu Lirzin; +Cc: 29727-done

Heya,

Mathieu Lirzin <mthl@gnu.org> skribis:

> Ricardo Wurmus <rekado@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@gnu.org> for help when confronted with
> similar issues.

Will do.  :-)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-17 13:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-15 23:11 bug#29727: changing contributing.texi does not trigger rebuild of “info” target Ricardo Wurmus
2018-01-15 14:14 ` Mathieu Lirzin
2018-01-17  7:30   ` Chris Marusich
2018-01-17 12:20     ` Mathieu Lirzin
2018-01-17 13:57   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).