Hi Frank,

On Tue, 2024-06-11 at 10:30 -0400, Frank Ch. Eigler wrote:
> While trying to get a reliable fedora-copr build of the git/master
> snapshot of elfutils, I ran into a problem that took me too long to
> figure out.  I was running "make rpm" from an elfutils build tree,
> which involves running a "make dist" substep to produce a complete
> buildable source tarball (with all the autoconf* stuff included).  Or
> rather, "complete" .... since the behaviour of "make dist" is itself
> dependent on the previous configure and thus the characteristics of
> the host.

That is certainly a bug, dist targets shouldn't be conditional.

> On this particular host, I was testing json-c-devel-less debuginfod
> configuration recently, and didn't reinstall some library or other.
> When "make rpm" ran "make dist" on elfutils, the resulting tarball was
> NOT COMPLETE, because the doc/Makefile.am only conditionally adds some
> of the man pages.

Oops. make distcheck would have caught this, but apparently we only run
this after configuring with everything enabled.

> That might have been fine, if the machine on which the tarball/srpm
> would finally build were of the same configuration, but that's not the
> case.  That one was a fully (json-c-devel) equipped box.  So when the
> configure ran there, the make configury expected the doc/debuginfod.8
> file in the sources, but it wasn't there.  Build failed.

Yeah, I see the error with configure --disable-debuginfod && make dist
&& make rpmbuild.

> A workaround this could be to unconditionalize all those "notrans"
> "dist" bits in doc/Makefile.am (and hope that the rest of the tree
> behaves).

Yes, I'll sent a patch.

>   But I think the root cause is more the continued reliance
> on "make dist", made necessary by the exclusion of generated autoconf*
> materiel in the source tree.

I really don't think putting generated file into git is a good idea.
You get all those issues that gcc, binutils and gdb have where you need
all this extra CI just to make sure people use the "correct" tools to
regenerate the files.

Cheers,

Mark

Reply via email to