Bruno Haible wrote:
Jacob Bachmeyer wrote:
Another related check that /would/ have caught this attempt would be comparing the aclocal m4 files in a release against their (meta)upstream sources before building a package. This is something distribution maintainers could do without cooperation from upstream. If m4/build-to-host.m4 had been recognized as coming from gnulib and compared to the copy in gnulib, the nonempty diff would have been suspicious.

True.

Note, however, that there would be some false positives:

True; all of these are Free Software, so a non-empty diff would still require manual review.

 libtool.m4 is often shipped modified,
  a) if the maintainer happens to use /usr/bin/libtoolize and
     is using a distro that has modified libtool.m4 (such as Gentoo), or

Distribution libtool patches could be accumulated into the set of "known sources".

  b) if the maintainer intentionally improved the support of specific
     platforms, such as Solaris 11.3.

In this case, the distribution maintainer should ideally take up pushing those improvements back to upstream libtool, if they are suitably general.

Also, for pkg.m4 there is no single upstream source. They distribute
a pkg.m4.in, from which pkg.m4 is generated on the developer's machine.

This would be a special case, but could be treated as a package-specific m4 file anyway, since the developer must generate it. The developer could also write their own m4 macros to use with autoconf.

But for macros from Gnulib or the Autoconf macros archive, this is a
reasonable check to make.

This type of check could also allow "sweeping" improvements upstream, in the case of a package maintainer that may be unsure of how to upstream their changes. (Of course, upstream needs to be careful about blindly collecting improvements, lest some of those "improvements" turn out to have come from cracker sockpuppets...)


-- Jacob


Reply via email to