-
-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
Python 3.8: Migrate connected formulae #47326
Conversation
For me it didn't work properly, maybe because `python@3.8` is keg_only or
because I have `python` installed (and the formula picked it first).
…On Fri, 29 Nov 2019, 18:45 Bo Anderson, ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In Formula/anjuta.rb
<#47326 (comment)>
:
> depends_on "shared-mime-info"
depends_on "vala"
depends_on "vte3"
def install
+ # Required for migration period (3.7 -> 3.8)
+ ENV.prepend_path "PATH", ***@***.***"].opt_bin
Does brew not already do this? It seems to for library paths at least.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#47326?email_source=notifications&email_token=AAGS7VO7X2JVBONEJDXGJGDQWFPMFA5CNFSM4JTAZQNKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCNOIM3Q#pullrequestreview-324830830>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAGS7VNYENKQ7VUHIG5F5A3QWFPMFANCNFSM4JTAZQNA>
.
|
The superenv should put dependencies at the front of the PATH list, including keg-only dependencies. What might be happening is regular python is being pulled in somewhere, perhaps as a build-only dependency. |
Progress so far
There's perhaps other cases of picking up the wrong Python that might be going unnoticed. Really, I should see where the hole is that it is picking up 3.7. |
Good to know, will remove redundant PATH prepending
For -DPYTHON_EXECUTABLE=#{Formula["python"].opt_bin}/python3 Thanks for the help! |
da871a9
to
a9549da
Compare
Looks like even if we are able to migrate all the connected formulae at once, there still be a case when user rebuilds a formula from source and they has both |
Apart from the test stage, that shouldn’t happen unless the build scripts are hardcoded to look at /usr/local over any paths which are set. Is there a particular example of this happening? |
I suspect
Here is the failed installation: https://jenkins.brew.sh/job/Homebrew%20Core%20Pull%20Requests/52862/version=highsierra/testReport/junit/brew-test-bot/high_sierra/install___build_bottle_adios2/ |
It's because
If you can find a way to get |
Another possibility is to symlink |
This |
Just to add that if we do this:
then we also need to symlink the contents of I'll look further into suggesting a patch for framework searching upstream at the weekend. |
I think we should consider @iMichka's suggestion:
It's explicit but will require to change all the formulae depending on |
Note that those which use the newer |
12 days since the last comment. How migration going? I've asked in other tickets how I can help, been directed to this ticket, so I'll post here, that I am available to help. Was told needed to "wait" on this pull to be merge before I can help. Can the work not be done in parallel or distributed? Seem like a lot of work and responsibility for just 1 person. |
It's not just one person, we are a few maintainers working on this. Some of these formula were not compatible with Python 3.8 (backward compatibility?). Others failed to build (reproducible builds?). Build times are getting huge, and we our disk space on our CI has been exhausted .... With issues piling up, this is not an easy move. I think that we will discuss all these issues in February during our annual homebrew meeting. As a first step, we created a pyhton@3.8 formula, which is now merged: #47273 This python version will not be in your path, and can be found at: |
I would propose to rebase this and:
Let the build run and have a look at the logs, to see what needs to be still fixed. We may still fill the hard drive of our bot. In that case I'll have a look at the brew test-bot code to add more aggressive |
a9549da
to
4c213a2
Compare
Rebased the branch and applied fixes for some formulae (stashed since the last run). Let's see how it goes |
|
4c213a2
to
2d6f1fe
Compare
Downloading the test file takes ages: it was mirrored on bintray to speed up the test, which would sometimes hang forever.
It is back up. At this point if it fails again we will pull this PR anyway. The same holds for any other not-so-important package, we had enough rebuilds now.
Fixed
Fixed, I wrote a patch for it. I triggered a new rebuild. If this is green we can pull the PR right away. |
Fixes: fitsio/hdu/table.py:234: SyntaxWarning: "is" with a literal. Did you mean "=="? if data.shape is (): fitsio/hdu/table.py:234: SyntaxWarning: "is" with a literal. Did you mean "=="? if data.shape is (): Error found in Homebrew/homebrew-core#47326
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install <formula>
)?This PR is a rough approach to migration connected formulae to
python@3.8
.Ref #47274