GNU bug report logs - #9773
"make install-info" with DESTDIR writes unwanted usr/share/info/dir.gz

Previous Next

Package: automake;

Reported by: Jonathan Nieder <jrnieder <at> gmail.com>

Date: Mon, 17 Oct 2011 06:41:01 UTC

Severity: normal

Tags: patch

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

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 9773 in the body.
You can then email your comments to 9773 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-automake <at> gnu.org:
bug#9773; Package automake. (Mon, 17 Oct 2011 06:41:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jonathan Nieder <jrnieder <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Mon, 17 Oct 2011 06:41:02 GMT) Full text and rfc822 format available.

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

From: Jonathan Nieder <jrnieder <at> gmail.com>
To: bug-automake <at> gnu.org
Subject: "make install-info" with DESTDIR writes unwanted usr/share/info/dir.gz
Date: Mon, 17 Oct 2011 01:39:22 -0500
Hi,

Santiago Vila writes[1]:

> There is some code in /usr/share/automake-1.11/am/texinfos.am which
> checks whether install-info is "Debian install-info" or not:
[..]
> Now, install-info is GNU install-info, and the "if" will be always true,
> as the very first line of "install-info --version" says:
>
> This is not dpkg install-info anymore, but GNU install-info
>
> which does not contain the string "debian". As a result, packages may
> easily ship /usr/share/info/dir.gz files inside the .deb binary package,
> exactly as it happened in 2003.

"Now" means dpkg 1.15.4 (2009-09-06) and later.  dpkg does not want to
be in the business of providing its own "install-info" command.

Anyway, as far as I can tell, the check in texinfos.am for Debian
didn't make much sense in the first place.  It affected not only
people building Debian packages but anything else a person happened to
do on a Debian machine.  And as described at [2], packaging systems
which could not rely on such a check ended up removing the dir.gz file
on their own.  A more appropriate replacement for the "if Debian"
condition might be "am I installing to a staging area, or directly to
the target system?".

In other words, how about this patch?  Untested for now.
---
[1] http://bugs.debian.org/543992
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=25;bug=543992

 ChangeLog          |   13 +++++++++++++
 lib/am/texinfos.am |   15 +++------------
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4a470bd..40d0d5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2011-10-17  Jonathan Nieder  <jrnieder <at> gmail.com>
+
+	For Debian Bug#543992:
+	* lib/am/texinfos.am (install-info-am): When deciding whether to
+	add to an info/dir file, instead of checking for Debian
+	install-info, check if DESTDIR is nonempty.  Debian install-info
+	--version does not print "debian" nowadays, so the existing test
+	was never triggering.  Without this change, when preparing a
+	tarball or package in order to install it later, packagers would
+	have to remove install-info first or remove the dir file
+	afterward to avoid clobbering /usr/share/info/dir on the target
+	system.
+
 2011-10-07  Stefano Lattarini  <stefano.lattarini <at> gmail.com>
 
 	parallel-tests: warn on conditional TEST_EXTENSIONS definition
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index bfde665..3134943 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -208,18 +208,9 @@ install-info-am: $(INFO_DEPS)
 	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
 	  $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
 	@$(POST_INSTALL)
-## Only run this code if install-info actually exists, and it is not
-## the Debian install-info.  FIXME: once Debian install-info goes
-## away, we can remove this hack.  Some versions of Debian install-info
-## print their version on stderr (e.g. 1.8.3), other do it in
-## on stdout (e.g. 1.10.15).
-##
-## Do not use
-##    install-info --version 2>&1 | sed 1q | grep -v -i debian
-## as if install-info does not exist, grep -v will be happy, and
-## therefore the code will be triggered although install-info is missing.
-	@if (install-info --version && \
-	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+## We only want to run this code if installing directly to the target system.
+## As an approximation, check if DESTDIR is empty.
+	@if test "x$(DESTDIR)" = x; then
 	  list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
 	  for file in $$list; do \
 ## Strip directory
-- 
1.7.7





Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sat, 22 Oct 2011 19:08:02 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: Jonathan Nieder <jrnieder <at> gmail.com>, 9773 <at> debbugs.gnu.org
Subject: Re: bug#9773: "make install-info" with DESTDIR writes unwanted
	usr/share/info/dir.gz
Date: Sat, 22 Oct 2011 21:05:30 +0200
On Monday 17 October 2011, Jonathan Nieder wrote:
> Hi,
>
Hi Jonathan, sorry for the delay.

> [SNIP]
>
> In other words, how about this patch?  Untested for now.
> ---
> [1] http://bugs.debian.org/543992
> [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=25;bug=543992
> 
>  ChangeLog          |   13 +++++++++++++
>  lib/am/texinfos.am |   15 +++------------
>  2 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/ChangeLog b/ChangeLog
> index 4a470bd..40d0d5d 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,16 @@
> +2011-10-17  Jonathan Nieder  <jrnieder <at> gmail.com>
> +
> +	For Debian Bug#543992:
> +	* lib/am/texinfos.am (install-info-am): When deciding whether to
> +	add to an info/dir file, instead of checking for Debian
> +	install-info, check if DESTDIR is nonempty.  Debian install-info
> +	--version does not print "debian" nowadays, so the existing test
> +	was never triggering.  Without this change, when preparing a
> +	tarball or package in order to install it later, packagers would
> +	have to remove install-info first or remove the dir file
> +	afterward to avoid clobbering /usr/share/info/dir on the target
> +	system.
> +
I must say that I don't like this very much.  A better fix IMHO would
be to have an environment variable to inhibit the creation/updating of
the `${infodir}/dir' file, rather than trying to guess the user's
intentions by looking at $(DESTDIR) behind his back.  But I don't know
exactly how the creation of debian packages work, so I can't tell
whether my proposed solution would satisfy the packagers or not.
Opinions?  Objections?

Thanks,
  Stefano




Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sat, 22 Oct 2011 19:08:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sun, 23 Oct 2011 06:29:02 GMT) Full text and rfc822 format available.

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

From: Jonathan Nieder <jrnieder <at> gmail.com>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: 9773 <at> debbugs.gnu.org
Subject: Re: "make install-info" with DESTDIR writes unwanted
	usr/share/info/dir.gz
Date: Sun, 23 Oct 2011 01:27:14 -0500
Stefano Lattarini wrote:
> On Monday 17 October 2011, Jonathan Nieder wrote:

>> +++ b/ChangeLog
>> @@ -1,3 +1,16 @@
>> +2011-10-17  Jonathan Nieder  <jrnieder <at> gmail.com>
>> +
>> +	For Debian Bug#543992:
>> +	* lib/am/texinfos.am (install-info-am): When deciding whether to
>> +	add to an info/dir file, instead of checking for Debian
>> +	install-info, check if DESTDIR is nonempty.
[...]
> I must say that I don't like this very much.  A better fix IMHO would
> be to have an environment variable to inhibit the creation/updating of
> the `${infodir}/dir' file

Yes, that sounds sensible.  It would be better than checking for
Debian install-info (because that was insane) and better than the
current state (because it gives packagers on all distros an easy way
to request inhibiting creation of the ${infodir}/dir file).

Keying behavior on $(DESTDIR) left an unpleasant taste in my mouth,
too.  Thanks for your thoughtfulness.




Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sun, 23 Oct 2011 11:29:02 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: Jonathan Nieder <jrnieder <at> gmail.com>, 9773 <at> debbugs.gnu.org,
	automake-patches <at> gnu.org
Subject: Re: bug#9773: "make install-info" with DESTDIR writes unwanted
	usr/share/info/dir.gz
Date: Sun, 23 Oct 2011 13:26:18 +0200
[Message part 1 (text/plain, inline)]
On Sunday 23 October 2011, Jonathan Nieder wrote:
> Stefano Lattarini wrote:
> > On Monday 17 October 2011, Jonathan Nieder wrote:
> 
> >> +++ b/ChangeLog
> >> @@ -1,3 +1,16 @@
> >> +2011-10-17  Jonathan Nieder  <jrnieder <at> gmail.com>
> >> +
> >> +	For Debian Bug#543992:
> >> +	* lib/am/texinfos.am (install-info-am): When deciding whether to
> >> +	add to an info/dir file, instead of checking for Debian
> >> +	install-info, check if DESTDIR is nonempty.
> [...]
> > I must say that I don't like this very much.  A better fix IMHO would
> > be to have an environment variable to inhibit the creation/updating of
> > the `${infodir}/dir' file
> 
> Yes, that sounds sensible.  It would be better than checking for
> Debian install-info (because that was insane) and better than the
> current state (because it gives packagers on all distros an easy way
> to request inhibiting creation of the ${infodir}/dir file).
> 
> Keying behavior on $(DESTDIR) left an unpleasant taste in my mouth,
> too.  Thanks for your thoughtfulness.
> 
Glad we agree :-)

Here is my proposed patch (for maint).  I will push in 72 hours if there
is no objection or review by then.

Thanks,
  Stefano
[0001-info-allow-user-to-inhibit-creation-update-of-infodi.patch (text/x-patch, inline)]
From 8b0bb8bbda8ac1e859c577cba1549ffbc0ae4d52 Mon Sep 17 00:00:00 2001
Message-Id: <8b0bb8bbda8ac1e859c577cba1549ffbc0ae4d52.1319369157.git.stefano.lattarini <at> gmail.com>
From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Date: Sun, 23 Oct 2011 13:19:21 +0200
Subject: [PATCH] info: allow user to inhibit creation/update of '${infodir}/dir'

With this change, we allow the user to request the install-info
rules not to update the `${infodir}/dir' file, by exporting the
environment variable `AM_UPDATE_INFO_DIR' to the value "no".
This is especially useful to distro packagers, and is a definite
improvement over our previous hack of looking whether the
`install-info' program was the Debian or GNU version -- hack
which had been silently broken with recent versions of debian
install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
This change fixes automake bug#9773.  See also Debian Bug#543992.

* lib/am/texinfos.am: Don't look anymore at the output of
`install-info --version' to decide whether to use it to update
the `${infodir}/dir' or not; instead, honour the environment
variable `AM_UPDATE_INFO_DIR'.
* tests/install-info-dir.test: New test.
* tests/Makefile.am (TESTS): Add it.
* tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
interferences from the environment.
* doc/automake.texi (Texinfo): Update.
* NEWS: Likewise.
* THANKS: Likewise.
Report by Jonathan Nieder.
---
 ChangeLog                   |   25 ++++++++
 NEWS                        |    8 +++
 THANKS                      |    1 +
 doc/automake.texi           |    7 ++
 lib/am/texinfos.am          |   22 +++----
 tests/Makefile.am           |    1 +
 tests/Makefile.in           |    1 +
 tests/install-info-dir.test |  142 +++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 195 insertions(+), 12 deletions(-)
 create mode 100755 tests/install-info-dir.test

diff --git a/ChangeLog b/ChangeLog
index 0836c77..44d77f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2011-10-23  Stefano Lattarini  <stefano.lattarini <at> gmail.com>
+
+	info: allow user to inhibit creation/update of '${infodir}/dir'
+	With this change, we allow the user to request the install-info
+	rules not to update the `${infodir}/dir' file, by exporting the
+	environment variable `AM_UPDATE_INFO_DIR' to the value "no".
+	This is especially useful to distro packagers, and is a definite
+	improvement over our previous hack of looking whether the
+	`install-info' program was the Debian or GNU version -- hack
+	which had been silently broken with recent versions of debian
+	install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
+	This change fixes automake bug#9773.  See also Debian Bug#543992.
+	* lib/am/texinfos.am: Don't look anymore at the output of
+	`install-info --version' to decide whether to use it to update
+	the `${infodir}/dir' or not; instead, honour the environment
+	variable `AM_UPDATE_INFO_DIR'.
+	* tests/install-info-dir.test: New test.
+	* tests/Makefile.am (TESTS): Add it.
+	* tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
+	interferences from the environment.
+	* doc/automake.texi (Texinfo): Update.
+	* NEWS: Likewise.
+	* THANKS: Likewise.
+	Report by Jonathan Nieder.
+
 2011-10-19  Stefano Lattarini  <stefano.lattarini <at> gmail.com>
 
 	dejagnu: allow the package developer to extend site.exp
diff --git a/NEWS b/NEWS
index 92c7735..fe1dc97 100644
--- a/NEWS
+++ b/NEWS
@@ -44,6 +44,10 @@ New in 1.11.0a:
     file generated by automake-provided rules by defining the special make
     variable `$(EXTRA_DEJAGNU_SITE_CONFIG)'.
 
+  - The `install-info' rule can now be instructed not to create/update
+    the `${infodir}/dir' file, by exporting the new environment variable
+    `AM_UPDATE_INFO_DIR' to the value "no".
+
 Bugs fixed in 1.11.0a:
 
 * Bugs introduced by 1.11:
@@ -127,6 +131,10 @@ Bugs fixed in 1.11.0a:
   - Now aclocal and automake, when they've to spawn autoconf or autom4te
     processes, honour the configure-time definitions of AUTOCONF and
     AUTOM4TE.
+
+  - The `install-info' recipe does not try anymore to guess whether the
+    `install-info' program is from Debian or from GNU, and adaptively
+    change its behaviour; this has proven to be frail and easy to regress.
 
 New in 1.11:
 
diff --git a/THANKS b/THANKS
index eae683f..7fa37c2 100644
--- a/THANKS
+++ b/THANKS
@@ -171,6 +171,7 @@ John Pierce		hawkfan <at> pyrotechnics.com
 John Ratliff		autoconf <at> technoplaza.net
 John R. Cary		cary <at> txcorp.com
 John W. Coomes		jcoomes <at> eng.Sun.COM
+Jonathan Nieder		jrnieder <at> gmail.com
 Josh MacDonald		jmacd <at> cs.berkeley.edu
 Joshua Cowan		jcowan <at> jcowan.reslife.okstate.edu
 js pendry		js.pendry <at> msdw.com
diff --git a/doc/automake.texi b/doc/automake.texi
index eac380a..f6039bb 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -7963,6 +7963,13 @@ be prevented via the @code{no-installinfo} option.  In this case,
 @file{.info} files are not installed by default, and user must
 request this explicitly using @samp{make install-info}.
 
+@vindex AM_UPDATE_INFO_DIR
+By default, @code{make install-info} will try to run the
+@command{install-info} program (if available) to update (or create)
+the @file{@code{$@{infodir@}}/dir} index.  If this is undesired, it
+can be prevented by exporting the @code{AM_UPDATE_INFO_DIR} variable
+to "@code{no}".
+
 The following variables are used by the Texinfo build rules.
 
 @vtable @code
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index c9dcd9d..0279bf3 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -208,18 +208,16 @@ install-info-am: $(INFO_DEPS)
 	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
 	  $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
 	@$(POST_INSTALL)
-## Only run this code if install-info actually exists, and it is not
-## the Debian install-info.  FIXME: once Debian install-info goes
-## away, we can remove this hack.  Some versions of Debian install-info
-## print their version on stderr (e.g. 1.8.3), other do it in
-## on stdout (e.g. 1.10.15).
-##
-## Do not use
-##    install-info --version 2>&1 | sed 1q | grep -v -i debian
-## as if install-info does not exist, grep -v will be happy, and
-## therefore the code will be triggered although install-info is missing.
-	@if (install-info --version && \
-	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+## Only run this code if install-info actually exists, and if the user
+## don't request it not to be run (through the `AM_UPDATE_INFO_DIR'
+## environment variable).  See automake bug#9773 and Debian Bug#543992.
+	@am__run_installinfo=yes; \
+	case $$AM_UPDATE_INFO_DIR in \
+	  n|no|NO) am__run_installinfo=no;; \
+	  *) (install-info --version) >/dev/null 2>&1 \
+	       || am__run_installinfo=no;; \
+	esac; \
+	if test $$am__run_installinfo = yes; then \
 	  list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
 	  for file in $$list; do \
 ## Strip directory
diff --git a/tests/Makefile.am b/tests/Makefile.am
index efb4fea..54519b2 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -437,6 +437,7 @@ init2.test \
 insh2.test \
 install2.test \
 installdir.test \
+install-info-dir.test \
 instsh.test \
 instsh2.test \
 instsh3.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index f12b81d..ea7c724 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -721,6 +721,7 @@ init2.test \
 insh2.test \
 install2.test \
 installdir.test \
+install-info-dir.test \
 instsh.test \
 instsh2.test \
 instsh3.test \
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
new file mode 100755
index 0000000..b10a5ad
--- /dev/null
+++ b/tests/install-info-dir.test
@@ -0,0 +1,142 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Checks on the `install-info' target.
+# Details about the individual checks' purposes and motivations are
+# inlined, below.
+
+# FIXME: this test is a good candidate for a conversion top TAP.
+# FIXME: and could be merged with txinfo27.test
+
+required=makeinfo
+. ./defs || Exit 1
+
+cwd=`pwd` || fatal_ "cannot get current working directory"
+
+mkdir bin
+saved_PATH=$PATH; export saved_PATH
+PATH=$cwd/bin$PATH_SEPARATOR$PATH; export PATH
+
+set -e
+
+cat >> configure.in <<'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = foo.texi
+END
+
+cat > foo.texi << 'END'
+\input texinfo
+@setfilename foo.info
+@node Top
+Hello world!
+@bye
+END
+
+: > texinfo.tex
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+instdir=_inst
+destdir=_dest
+
+./configure --prefix="$cwd/$instdir" --infodir="$cwd/$instdir/info"
+
+$MAKE info
+test -f foo.info
+
+if install-info --version; then
+  have_installinfo=yes
+else
+  have_installinfo=no
+fi
+
+# The `install-info' target updates the `${infodir}/dir' file
+# by default (if the `install-info' program is available).
+# This should happen in a normal as well as in a DESTDIR installation.
+if test $have_installinfo = yes; then
+  $MAKE install-info
+  test -f $instdir/info/foo.info
+  test -f $instdir/info/dir
+  $MAKE DESTDIR="$cwd/$destdir" install-info
+  test -f "$destdir/$cwd/$instdir"/info/foo.info
+  test -f "$destdir/$cwd/$instdir"/info/dir
+fi
+
+rm -rf $instdir $destdir
+
+# The `install-info' target doesn't fail if the `install-info'
+# program is not available.
+cat > bin/install-info <<'END'
+#!/bin/sh
+echo error from install-info >&2
+exit 127
+END
+chmod a+x bin/install-info
+$MAKE install-info >output 2>&1 || { cat output; Exit 1; }
+cat output
+test -f $instdir/info/foo.info
+test ! -f $instdir/info/dir
+grep 'error from install-info' output && Exit 1
+
+rm -rf $instdir output
+
+if test $have_installinfo = yes; then
+  # The `install-info' target doesn't try to guess whether the `install-info'
+  # is the GNU or debian version.
+  unindent > bin/install-info <<'END'
+    #!/bin/sh
+    set -e; set -u;
+    for fd in 1 2; do
+      for str in dpkg debian Debian; do
+        eval "echo This is $str install-info >&$fd"
+      done
+    done
+    PATH=$saved_PATH; export PATH
+    exec install-info ${1+"$@"}
+END
+  $MAKE install-info
+  test -f $instdir/info/foo.info
+  test -f $instdir/info/dir
+fi
+
+rm -rf $instdir bin/install-info
+
+# The `AM_UPDATE_INFO_DIR' environment variable can be used to
+# prevent the creation or update of the `${infodir}/dir' file,
+# if set to a "no" value.
+for val in no NO n; do
+  rm -rf $instdir
+  env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
+  test -f $instdir/info/foo.info
+  test ! -f $instdir/info/dir
+done
+if test $have_installinfo = yes; then
+  for val in 'yes' 'who cares!'; do
+    rm -rf $instdir
+    env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
+    test -f $instdir/info/foo.info
+    test -f $instdir/info/dir
+  done
+fi
+
+rm -rf $instdir
+
+:
-- 
1.7.2.3


Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sun, 23 Oct 2011 11:29:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sun, 23 Oct 2011 15:14:02 GMT) Full text and rfc822 format available.

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

From: Jonathan Nieder <jrnieder <at> gmail.com>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: 9773 <at> debbugs.gnu.org, automake-patches <at> gnu.org
Subject: Re: "make install-info" with DESTDIR writes unwanted
	usr/share/info/dir.gz
Date: Sun, 23 Oct 2011 10:12:00 -0500
Stefano Lattarini wrote:

> Here is my proposed patch (for maint).

Thanks!  Two nits:

[...]
> --- a/lib/am/texinfos.am
> +++ b/lib/am/texinfos.am
> @@ -208,18 +208,16 @@ install-info-am: $(INFO_DEPS)
>  	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
>  	  $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
>  	@$(POST_INSTALL)
[...]
> +## Only run this code if install-info actually exists, and if the user
> +## don't request it not to be run (through the `AM_UPDATE_INFO_DIR'
> +## environment variable).  See automake bug#9773 and Debian Bug#543992.

"don't request" -> "doesn't request"

[...]
> --- /dev/null
> +++ b/tests/install-info-dir.test
> @@ -0,0 +1,142 @@
[...]
> +# FIXME: this test is a good candidate for a conversion top TAP.
> +# FIXME: and could be merged with txinfo27.test

"top TAP" -> "to TAP"

The patch itself looks sensible, though I haven't tested it or
anything.




Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sun, 23 Oct 2011 17:12:02 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: Jonathan Nieder <jrnieder <at> gmail.com>, 9773 <at> debbugs.gnu.org,
	automake-patches <at> gnu.org
Subject: Re: bug#9773: "make install-info" with DESTDIR writes unwanted
	usr/share/info/dir.gz
Date: Sun, 23 Oct 2011 19:09:59 +0200
On Sunday 23 October 2011, Jonathan Nieder wrote:
> Stefano Lattarini wrote:
> 
> > Here is my proposed patch (for maint).
> 
> Thanks!  Two nits:
> 
Thanks for the quick review, consider those nits fixed.  Also,
I've seen that the test script I've added was creating a dummy
`texinfo.tex' file, instead of allowing "automake -a" to install
a real one (this was a leftover of a previous version of the
patch); I've fixed that too.

Here is what I've squashed in:

diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 0279bf3..80712cf 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -209,7 +209,7 @@ install-info-am: $(INFO_DEPS)
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
        @$(POST_INSTALL)
 ## Only run this code if install-info actually exists, and if the user
-## don't request it not to be run (through the `AM_UPDATE_INFO_DIR'
+## doesn't request it not to be run (through the `AM_UPDATE_INFO_DIR'
 ## environment variable).  See automake bug#9773 and Debian Bug#543992.
        @am__run_installinfo=yes; \
        case $$AM_UPDATE_INFO_DIR in \
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
index b10a5ad..f75b115 100755
--- a/tests/install-info-dir.test
+++ b/tests/install-info-dir.test
@@ -18,8 +18,8 @@
 # Details about the individual checks' purposes and motivations are
 # inlined, below.
 
-# FIXME: this test is a good candidate for a conversion top TAP.
-# FIXME: and could be merged with txinfo27.test
+# FIXME: this test is a good candidate for a conversion to TAP,
+# FIXME: and could be merged with `txinfo27.test'.
 
 required=makeinfo
 . ./defs || Exit 1
@@ -48,10 +48,8 @@ Hello world!
 @bye
 END
 
-: > texinfo.tex
-
 $ACLOCAL
-$AUTOMAKE
+$AUTOMAKE -a
 $AUTOCONF
 
 instdir=_inst





Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sun, 23 Oct 2011 17:12:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sat, 29 Oct 2011 10:35:01 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: Jonathan Nieder <jrnieder <at> gmail.com>, 9773 <at> debbugs.gnu.org,
	automake-patches <at> gnu.org
Subject: Re: bug#9773: "make install-info" with DESTDIR writes unwanted
	usr/share/info/dir.gz
Date: Sat, 29 Oct 2011 12:32:04 +0200
tags 9773 patch
close 9773
thanks

On Sunday 23 October 2011, Stefano Lattarini wrote:
> Here is my proposed patch (for maint).  I will push in 72 hours
> if there is no objection or review by then.
> 
I've pushed the patch to maint now (after addressing the nits
pointed out by Jonathan).  I'm thus closing this report.

Regards,
  Stefano




Information forwarded to bug-automake <at> gnu.org:
bug#9773; Package automake. (Sat, 29 Oct 2011 10:35:02 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 29 Oct 2011 10:35:03 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 9773 <at> debbugs.gnu.org and Jonathan Nieder <jrnieder <at> gmail.com> Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 29 Oct 2011 10:35:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 26 Nov 2011 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 148 days ago.

Previous Next


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