Subject: 25.1.50; Makefile target install-info tries to install deleted info files

From: [email-masked] (Francis Litterio)
Date: Sat, 26 Mar 2016 12:17:07 -0400

The Makefile generated by configuring the latest master branch source
code contains target "install-info" which refers to deleted info files,
causing error messages from /usr/bin/install-info.  Here's the relevant
section of the Makefile (with parts elided for brevity):

install-info: info
	...
	if [ "`cd ${srcdir}/info && /bin/pwd`" = "$$exp_infodir" ]; then \
	  true; \
	else \
	   ...
	   for elt in ${INFO_NONMISC} $${info_misc}; do \
	      ...
	      for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
	       (cd "$${thisdir}"; \
	        ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \
	        ...
	        ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \
	      done; \
	     (cd "$${thisdir}"; \
	      ${INSTALL_INFO} --info-dir="$(DESTDIR)${infodir}" "$(DESTDIR)${infodir}/$$elt"); \
	   done; \
	fi

This command near the end:

  ${INSTALL_INFO} --info-dir="$(DESTDIR)${infodir}" "$(DESTDIR)${infodir}/$$elt")

refers to info file $(DESTDIR)${infodir}/$$elt, but that file has been
deleted by this preceding gzip command:

  ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"

because the -n switch tells gzip to delete the file being compressed.
Both of these commands are in a for loop that processes every info file.
This leads to a block of errors in the output of "make install-info" of
this form, with one error for each info file being installed:

  install-info: No such file or directory for /apps/emacs/share/info/emacs.info
  install-info: No such file or directory for /apps/emacs/share/info/eintr.info
  install-info: No such file or directory for /apps/emacs/share/info/elisp.info
  install-info: No such file or directory for /apps/emacs/share/info/ada-mode.info
  ...

Oddly, file $(DESTDIR)${infodir}/dir seems to contain references to all
of the installed info files, but that may be because file "dir" was
created that way during my build, because my build output contains this
line:

    GEN      info/dir
--
Fran Litterio
flitterio -at- gmail.com

In GNU Emacs 25.1.50.1 (i686-pc-mingw32)
 of 2016-03-25 built on PUPPY
Repository revision: 368b9bb45f125061506d43af4bd4791ab2cfd7b9
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Configured using:
 'configure --prefix=c:/apps/emacs --without-x --without-xpm
 --without-png --without-jpeg --without-tiff --without-gif'

Configured features:
SOUND NOTIFY ACL TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: C.ISO-8859-1
  locale-coding-system: cp1252

Major mode: Emacs-Lisp

Minor modes in effect:
  erc-list-mode: t
  erc-menu-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  diff-auto-refine-mode: t
  show-paren-mode: t
  save-place-mode: t
  icomplete-mode: t
  savehist-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent messages:
Type "q" to delete help window.
Mark set [11 times]
Type C-x 1 to remove help window.  
Type "q" to restore previous buffer. [2 times]
Type "q" to delete help window, <next> to scroll help.
a is undefined
View mode: type M-h for help, h for commands, q to quit.
Quit [4 times]
Mark set
Type C-x 1 to remove help window.  

Load-path shadows:
None found.

Features:
(shadow mail-extr emacsbug goto-addr view eieio-opt speedbar sb-image
ezimage dframe find-func help-fns vc-git make-mode misearch
multi-isearch hi-lock server sort gnus-draft gnus-agent gnus-srvr
nnvirtual nndraft nnmh gnus-msg gnus-cite canlock gnus-async gnus-score
score-mode gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap
gnus-cache gnus-sum fpl-moo fpl-react cl erc-notify erc-truncate erc-log
erc-dcc erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete
erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit
erc-goodies erc erc-backend erc-compat thingatpt source-safe ediff-merg
ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff
grep sh-script smie executable python tramp-sh json map ielm pp
sgml-mode csharp-mode cc-langs smtpmail sendmail nntp gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc
parse-time gnus-spec gnus-int gnus-range message rfc822 mml mml-sec epa
derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader gnus-win nnoo gnus nnheader subr-x
gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils
mm-util mail-prsvr wid-edit etags vc vc-dispatcher dired-aux hexl
smerge-mode diff-mode easy-mmode paren man info compile apropos tramp
tramp-compat tramp-loaddefs trampver ucs-normalize format-spec advice
saveplace icomplete xref project savehist browse-url shell pcomplete
warnings arc-mode archive-mode ange-ftp socks network-stream puny seq
nsm auth-source cl-seq eieio byte-opt bytecomp byte-compile cl-extra
help-mode cconv eieio-core cl-macs gv eieio-loaddefs password-cache
starttls tls gnutls dired dired-loaddefs cc-mode cc-fonts easymenu
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs pcase cl-lib comint ansi-color ring calc-ext calc
calc-loaddefs calc-macs time-stamp time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32
ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev
obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
w32notify w32 multi-tty make-network-process emacs)

Memory information:
((conses 8 443161 29953)
 (symbols 32 45252 0)
 (miscs 32 100 743)
 (strings 16 95545 12311)
 (string-bytes 1 3002603)
 (vectors 8 63416)
 (vector-slots 4 1015676 21210)
 (floats 8 516 412)
 (intervals 28 4442 1213)
 (buffers 516 23))