-
-
Notifications
You must be signed in to change notification settings - Fork 10.1k
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
Automate bootstrapping of curl and git on Linux #13909
Comments
We should not do this. It will need updated too often.
This is a good idea. Another 3. option: use the system
We used to do this but its a bit messy. Instead I think we should use and rely on
Can we use our analytics to estimate how many of these systems there are? |
Agreed.
Alternatively: improve documentation for providing your own source-built We can print links to this documentation whenever
to make sure that this works, but I'm ambivalent about this.
Agreed.
I'd rather not make it easier to install Homebrew without any use of If we make this too easy, then users who might've gone out of their way to use Making the I am willing to change my position on this if we're able to make all important formulae (e.g. Regarding minimal Docker containers: to me, it would be much better to provide a minimal Docker container that has I also agree with Mike regarding analytics about systems with |
I will work on this as soon as I can, as it is relatively straight forward.
What's "messy" about this? I'd love to be able to use
I don't think we currently collect this level of detail about our hosts, but it might be useful to add at some point. |
We should focus on issues with
There is some distro information in our analytics. See #13619 (comment). Can we infer or estimate numbers from here? |
I strongly agree. I'm not going to ✅ any PRs related to this functionality in this issue until we've had at least a week of stability with the Ubuntu 22.04/glibc/gcc transition. At the time of writing here: we have CI failing all over the Homebrew organisation due to this transition.
Yes, please. This should be done before writing code and prioritising work, not after.
It's messy because:
I don't want additional work going into improving unsupported workflows when supported workflows are so broken today. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Provide a detailed description of the proposed feature
We have completed our transition to a newer CI image on Linux and I wanted to address the other Linux-related subject I believe needs some refinement: the bootstrapping process before we can install any formulae. Currently, we require
curl
7.41.0 andgit
2.7.0 to be installed before any formulae can be installed. This can complicate things if the host OS doesn’t offer newer versions of these andgit
is often not installed in Docker images by default either. It has been brought up as an issue regularly:The goal here would be very simple – find an automated way for Homebrew to bootstrap itself enough on Linux to the point where brewed
curl
andgit
can be installed. There is no intention here to change anything about Homebrew functions once those two formulae are installed, and anything which might be used temporarily in the bootstrapping can be discarded afterward.I have a few possible solutions that I came up with based on the follow criteria:
Solutions for
curl
:Use a
portable-curl
similar toportable-ruby
to avoid the need for an outsidecurl
. It would be bult in its own repo modeled afterportable-ruby
and would be updated automatically with livecheck. Aportable-git
is not possible because it’s not relocatable.Add a
DownloadStrategy
that uses the HTTP gem from Ruby while installingcurl
and its dependencies -git
can be installed afterward with brewedcurl
. This is similar to how Anaconda downloads its packages with Python. This would only be needed to installcurl
so that theCurlDownloadStrategy
would work, and would have an appropriate unit test.Solutions for
git
:git
.Solutions for both
curl
andgit
:curl
andgit
binaries in aconda
environment.What is the motivation for the feature?
It will make Homebrew much easier to install on Linux systems without
sudo
, on a host system that does provide new enoughcurl
orgit
packages or in more minimal Docker containers.How will the feature be relevant to at least 90% of Homebrew users?
It will be relevant to any potential Linux user whose host system's
curl
is too old or whosegit
is too old or missing. It does not affect existing users.What alternatives to the feature have been considered?
The status quo.
The text was updated successfully, but these errors were encountered: