Hi -

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.

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.

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.

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).  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.  (In these SBOM days, a source tarball
that crypto traceable to a git tag would also be welcome, but the
current auto* exclusion policy does not enable that either.)

Perhaps it's time to reconsider this policy.

- FChE

Reply via email to