Skip to content

Switch required autoconf to 2.71#11294

Merged
xavierleroy merged 3 commits intoocaml:trunkfrom
dra27:autoconf-2.71
Sep 28, 2022
Merged

Switch required autoconf to 2.71#11294
xavierleroy merged 3 commits intoocaml:trunkfrom
dra27:autoconf-2.71

Conversation

@dra27
Copy link
Copy Markdown
Member

@dra27 dra27 commented Jun 4, 2022

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-latest to 22.04 and the release of Ubuntu 24.04 the ubuntu-22.04 will want changing back to ubuntu-latest 🙂

@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Jun 4, 2022

Just for belt-and-braces, as it's a build system change, this is running through precheck#700.

@xavierleroy
Copy link
Copy Markdown
Contributor

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!

@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Jun 6, 2022

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 configure.ac generates configure. The default version for the worker is 20.04 (autoconf 2.69 of April 2012 with a couple of patches) but there's an opt-in 22.04 worker image (autoconf 2.71 of January 2021).

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. Debian stable and RHEL are still on autoconf 2.69, but Fedora, Debian testing, Ubuntu (LTS), Arch, etc. are all on autoconf 2.71.

@Octachron
Copy link
Copy Markdown
Member

Octachron commented Jun 7, 2022

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.

@shindere
Copy link
Copy Markdown
Contributor

shindere commented Jun 7, 2022 via email

@shindere
Copy link
Copy Markdown
Contributor

shindere commented Jun 7, 2022 via email

@xavierleroy
Copy link
Copy Markdown
Contributor

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"?

@shindere
Copy link
Copy Markdown
Contributor

shindere commented Jun 7, 2022 via email

@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Jun 7, 2022

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"?

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 (!!):

docker run --rm -it -v $PWD:/home/opam/ocaml ocaml/opam:ubuntu-22.04-opam sh -c 'sudo apt install -y autoconf ; make -C ocaml configure'

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 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.

@shindere
Copy link
Copy Markdown
Contributor

shindere commented Jun 7, 2022 via email

@xavierleroy
Copy link
Copy Markdown
Contributor

You may have an autoconf-2.71 package you can install.

No autoconf-2.71 package that I could find in Ubuntu 20.4 nor Fedora 35 (those that have autoconf 2.69).
But there is an autoconf-2.69 package in Ubuntu 22.4. Not sure about Fedora 36.

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.

@xavierleroy
Copy link
Copy Markdown
Contributor

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".

@xavierleroy
Copy link
Copy Markdown
Contributor

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.
@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Sep 28, 2022

Rebased - good to merge from my perspective.

Copy link
Copy Markdown
Contributor

@xavierleroy xavierleroy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the rebase. Here is a formal approval. Will merge next.

@xavierleroy xavierleroy merged commit 99a1269 into ocaml:trunk Sep 28, 2022
xavierleroy pushed a commit that referenced this pull request Sep 28, 2022
* 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)
@xavierleroy
Copy link
Copy Markdown
Contributor

Cherry-picked to 5.0: 2224550

shindere pushed a commit to shindere/ocaml that referenced this pull request Oct 10, 2022
* Switch required autoconf to 2.71

Minimum version moves with the GitHub Actions runners supported version
on Ubuntu.

* Remove unneeded patching from configure
@dra27 dra27 deleted the autoconf-2.71 branch December 2, 2022 09:44
gasche pushed a commit to gasche/ocaml that referenced this pull request Feb 8, 2024
* 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants