Switch required autoconf to 2.71#11294
Conversation
|
Just for belt-and-braces, as it's a build system change, this is running through precheck#700. |
|
CI seems to be happy. Does this mean all our test platforms have Autoconf 2.71? Any reason to suspect some platforms are stuck with earlier versions? Actually, I'm a bit slow and I could use a more detailed explanation of the Ubuntu 22.04 situation and the need for the change. Thanks! |
|
Sorry, I rushed that one somewhat at the weekend, as @sadiqj had been bitten by it! The only CI worker which matters for this is the Ubuntu worker on GitHub Actions, as it's the one which does the Hygiene job which includes the check that The main thing is to have a version which most developers are using, as it's a pain to generate |
|
I am in favor of switching to autoconf 2.71 now that most desktop linux distribution have switched, that will make the release process slightly simpler. |
|
David Allsopp (2022/06/06 13:03 -0700):
The main thing is to have a version which most developers are using,
as it's a pain to generate `configure` on your workstation and then
discover when you push that CI rejects it.
Of course another way would be not to check this in CI but that's not
really suitable because we may lose the sync between configure.ac and
configure. Yet another possibility would be to not version configure on
trunk and to generate it only when forking release branches.
|
|
How about making the Changes entry slightly more precise by making
explicit which version was required before?
|
|
My main development machines are still running Ubuntu 20.04 LTS and have Autoconf 2.69. Does this mean I'll be in trouble until the upgrade to 22.04 LTS is offered to 20.04 users? In other words, how do you determine "a version which most developers are using"? |
|
Xavier Leroy (2022/06/07 02:28 -0700):
My main development machines are still running Ubuntu 20.04 LTS and
have Autoconf 2.69. Does this mean I'll be in trouble until the
upgrade to 22.04 LTS is offered to 20.04 users?
You may have an autoconf-2.71 package you can install. If so, you can
use that autoconf version like this:
```
tools/autogen autocnf2.71
```
Again, life would be simpler if we didn't version configure, at least on
trunk.
|
Until August (when 22.04.1 comes out, and 20.04 offers the upgrade), yes. Which would make this an error. I don't think there's a backport package of 2.71 for 20.04, although this Docker command does do it when run from a Git checkout locally (!!): Perhaps this should either be paused until August (I've not yet heard of someone trying to do this on a system which doesn't have autoconf 2.69 as a separate package), or we could decide to go with @shindere's suggestion in the meantime. I object to adding autoconf as a release dependency of OCaml, but that objection is entirely satisfied by including |
|
David Allsopp (2022/06/07 03:03 -0700):
I object to adding autoconf as a _release_
dependency of OCaml,
That would definitely be agains all the usual conventions and,
therefore, is definitely not desirable.
but that objection is entirely satisfied by
including `configure` either just with the release tags (which would
therefore include them in the tarballs) or even just including
`configure` on release branches. If we remove `configure` from trunk,
it'd just need a small update to the opam-repository package.
Yeah, I indeed never considered the option of not distributiing the
configure script in our releases. In my opinion, we definitely should /
must distribute it, be it generated only at releases time or at
branching time.
|
No autoconf-2.71 package that I could find in Ubuntu 20.4 nor Fedora 35 (those that have autoconf 2.69). So, please, don't merge this PR until everyone is on one of these newer distros. In the meantime, install the autoconf 2.69 package if you're running Ubuntu 22.4. |
|
For the record: Ubuntu 22.4.1 LTS is out and all Ubutu users are encouraged to upgrade to it. So, we're getting to the point where Autoconf 2.71 is "a version which most developers are using". |
|
I think it's time to apply this PR, as it seems that Autoconf 2.71 is now "a version which most developers are using". |
Minimum version moves with the GitHub Actions runners supported version on Ubuntu.
61e340e to
cfd56f8
Compare
|
Rebased - good to merge from my perspective. |
xavierleroy
left a comment
There was a problem hiding this comment.
Thanks for the rebase. Here is a formal approval. Will merge next.
* Switch required autoconf to 2.71 Minimum version moves with the GitHub Actions runners supported version on Ubuntu. * Remove unneeded patching from configure (cherry picked from commit 99a1269)
|
Cherry-picked to 5.0: 2224550 |
* Switch required autoconf to 2.71 Minimum version moves with the GitHub Actions runners supported version on Ubuntu. * Remove unneeded patching from configure
* Switch required autoconf to 2.71 Minimum version moves with the GitHub Actions runners supported version on Ubuntu. * Remove unneeded patching from configure (cherry picked from commit 99a1269)
Minimum version moves with the GitHub Actions runners supported version on Ubuntu. The Ubuntu 22.04 runner on GitHub action is in beta at the moment, but we only need to use it for the Hygiene job.
At some point between the move of
ubuntu-latestto 22.04 and the release of Ubuntu 24.04 theubuntu-22.04will want changing back toubuntu-latest🙂