Subject: Re: bug#39666: distcheck for VPATH build: #line directives of generated YACC and LEX c-files in tarballs

From: Karl Berry <[email-masked]>
Date: Fri, 20 Nov 2020 19:20:03 -0700

Hi Jannick - (sorry for the delayed reply)

    So my question is under the premise of a VPATH build: Is there a
    remedy for the incorrect paths in these #line directives (OTHER THAN
    running configure and make in the top src dir)?

My gut reaction is that make distcheck is not intended to be run under
VPATH and thus the incorrect #line's are not exactly a bug. Although I
would have nothing against fixing ylwrap to handle that situation, I'm
not going to have the energy to tackle it. Sorry. Maybe someone else
here (or you?) would be interested?

I could update the documentation as a "known deficiency", at least, I
guess. I'll mark this bug confirmed until I get around to that, assuming
there's no real fix in the meantime.

As for your other report:

    ... it would be great if the dir file could be dropped in the
    currently prompted error message. [...]

    ERROR: files left after uninstall:
    ./path/to/file/forgotten/to/uninstall
    ./share/info/dir

There is code now that tries to remove the dir file from that list.
>From lib/am/distdir.am:

  am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
    | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'

I am not sure when it was added (I can't find it in the ChangeLog),
which makes me think it is not doing its job (maybe $(infodir) has some
other value?). If you can make a little tarball that reproduces the
problem with the current automake and submit it as a separate bug, that
at least should not be difficult to fix.

Thanks for the reports,
Karl