-
-
Notifications
You must be signed in to change notification settings - Fork 45
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
portable_formula: use [email protected] on Linux #156
Conversation
I'm a little unsure how to add the |
It'll need to be in |
b3d5cee
to
e4387c9
Compare
Okay that got us past the first hurdle but now it's failing with this:
I guess it's trying to build |
You'll need to special case install homebrew-portable-ruby/cmd/portable-package.rb Lines 37 to 40 in a213023
|
9637eaa
to
eb3f429
Compare
I realized we needed to test this with Ubuntu 16.04, so I changed the Dockerfile to use that instead. Now I'm stuck with
Presumably I'm missing a step in the Dockerfile, though I'm not exactly sure what to change. |
cmd/portable-package.rb
Outdated
deps = Utils.safe_popen_read("brew", "deps", "-n", "--include-build", name).split("\n") | ||
|
||
if deps.include?("[email protected]") | ||
safe_system "brew", "install", "--ignore-dependencies", *verbose, "[email protected]" | ||
deps -= ["[email protected]"] | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[email protected]
will still be there.
Maybe try something like (variable names could maybe be better):
deps = Utils.safe_popen_read("brew", "deps", "-n", "--include-build", name).split("\n") | |
if deps.include?("[email protected]") | |
safe_system "brew", "install", "--ignore-dependencies", *verbose, "[email protected]" | |
deps -= ["[email protected]"] | |
end | |
deps_to_install_from_bottles = ["[email protected]"] | |
deps = Dependency.expand(Formula[name], cache_key: "portable-package-#{name}") do |dependent, dep| | |
Dependency.prune if dep.test? || dep.optional? | |
next if deps_to_install_from_bottles.include?(dep.name) | |
Dependency.keep_but_prune_recursive_deps | |
end.map(&:name) | |
bottled_deps, deps = deps.partition { |dep| deps_to_install_from_bottles.include?(dep) } | |
safe_system "brew", "install", *verbose, *bottled_deps |
I did an array and maybe that's overkill but you get the point hopefully.
I'll take a look tomorrow but maybe try pass |
0e14042
to
7e961a7
Compare
I added |
That error is really weird. The |
I can't reproduce it locally by just using |
Maybe it has to do with the way we mount the core repo. |
That does look very odd, but I pushed a commit to change it and it didn't seem to help. I'm still not sure how to try to reproduce this locally. I think I have to run the Dockerfile locally with |
No that's intentional - it converts it to lowercase. $ GITHUB_REPOSITORY=Homebrew/homebrew-portable-ruby; echo ${GITHUB_REPOSITORY,,}
homebrew/homebrew-portable-ruby Really we can ditch the Dockerfile. I can push the CI changes needed to do that, though it would be nice to know how we're managing to get past the several git repo checks in |
96db95a
to
1eedd01
Compare
Our "Test Portable Ruby" step apparently has never worked properly on macOS since it's impossible to specify an external Ruby to be used. It also didn't work on Linux because |
eaa89ea
to
6d9e543
Compare
I've rerun them. Presumably you don't have sufficient permissions. |
In the last push I fixed this step so it would actually test something - i.e. it now actually checks if it is using the just-built Ruby. For months/years it's never actually tested that properly. For months/years it's actually been using the existing Portable Ruby that I've got it working on Linux but it seems to still be using it's own Portable Ruby on macOS for some reason. I think because the removal of the existing Portable Ruby in |
Looks like |
0c20031
to
a6a237c
Compare
I made the "Test Portable Ruby" step Linux-only and 10.11 now works, but now ARM isn't. I messed up pulling the other commits added here and overwrote some by accident and that may be why ARM isn't working, though I thought I managed to restore everything. |
Sorry for the delay - I took the week off. I think the proper fix is still on the |
Should we rerun this with testing of Portable Ruby enabled on macOS when Homebrew/brew#13644 is merged? |
Did this now @danielnachun 👍🏻 |
10.11 works now. 11-arm64 however refuses to use the Ruby on the path:
|
Looks like |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
@danielnachun Is this needed for 3.6.0/the glibc changes? |
This is only needed to deprecate the Debian 7 Docker image. No plans to ship a new version of portable-ruby - existing bottles should be fine. This is ready to go, just need to fix |
Ok. Sounds like this may also be worth doing as part of 3.6.0. |
It would be great to get this in with 3.6.0. I've tried to look into this and haven't figure anything out yet. |
Hurrah, thanks for getting this over the line, both! |
This PR should allow us to build the portable formulae on Linux runners with newer
glibc
. We won't need to rebuilt the bottles since they are currently build against glibc 2.13 in the Wheezy container - the goal here is to make sure they work.