Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds support for various automake version, fix install on alpine Linux #306

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

MrMarvin
Copy link

The current approach to bypass automake as a dependency (introduced with #118) is in fact limiting which versions of automake are supported. This reduces portability of this package, as different Linux distributions ship various versions, most of them newer than the one our current configuration is created for.

This is particularly problematic when installing httpuv on alpine Linux - very common in containerized environments. This PR fixes #280.

@CLAassistant
Copy link

CLAassistant commented Jun 19, 2021

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

With the current approach we are limiting which versions
of automake are supported (i.e. 1.16 at the moment), while
newer versions throw errors at install time.
Fixes rstudio#280.
@MrMarvin MrMarvin force-pushed the support_newer_automake_versions branch from 01052e4 to 6cfc608 Compare June 19, 2021 15:26
@anjafr
Copy link

anjafr commented Oct 19, 2021

Any chance of this being merged soon? We use Alpine Linux systems at work and this issue makes the setup quite a bit flaky - would really appreciate to see a solution! 🥳

@wch
Copy link
Collaborator

wch commented Oct 19, 2021

Unfortunately, I think it's likely that this PR will break httpuv on other (non-Alpine) platforms -- the logic that was removed by this PR was added for a specific reason. We'll have to find a method that we're sure works on all platforms.

@MrMarvin
Copy link
Author

I'm unsure if bundling system specific configuration files from the package developers systems to all users systems is a good idea. For a package that's building from source anyway.
The current solution literally tricks autotools into believing it already ran recently, making it use the committed generated files instead of generating configuration on the fly. To my understand the initial issue #107 could have been solved by the user installing automake as a dependency.

While I agree that it would be great if users of the package would not need to have those build dependencies installed, I'd argue this is a use case for binary distribution packages. The source package should be as portable as possible. This means not requiring a certain version (or family of compatible versions) of automake. Additionally if we decide to move forward in this way, it should be at least clearly documented what systems are supported and a clear error message given to users in unsupported environments. What do you think, @wch?

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.

Error Installing httpuv on docker alpine 3.12
4 participants