Message 292829 - Python tracker (original) (raw)

https://github.com/python/cpython/pull/1405#pullrequestreview-35923931

Zachary Ware: "LGTM, but I haven't fully parsed how the old mess worked. We should also have CI (either Travis or buildbot) confirming that make rebuild-all doesn't leave any checked-in files modified."

Yeah, such CI would be useful.

--

If we go in this direction, maybe we can go further and also run autoconf && autoheader?

While fixing bpo-30232, I had to do a second commit (9ed34a89532763cf89f5e11fffb91ef7dee29fed) because my first one (5facdbb29169c2799c42f887cef4cd9d087b0167) only modified configure.ac. Well, it might be a bot on pull requests, but an extra check wouldn't hurt anyway ;-)

A problem with autoconf is that the result depends on the exact autoconf version :-/ For example, autoconf 2.69 of my Fedora 25 wants to remove runstatedir from configure. I don't know what is runstatedir, so I had to revert these autoconf changes on configure before pushing...

haypo@selma$ touch configure.ac && autoconf && git diff

diff --git a/configure b/configure index a20cf97..a6b13e8 100755 --- a/configure +++ b/configure @@ -783,7 +783,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir (...)

A solution would be to use a fixed autoconf version and ensure that configure is always generated with the same autoconf version. Maybe Gentoo is a good OS for such CI such Gentoo provides multiple versions of autotools, whereas other Linux distro usually only provide one version of all autotools tools.