-
-
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
formulary: migrate fully-scoped formulae names. #1371
formulary: migrate fully-scoped formulae names. #1371
Conversation
Is this going to mean keeping dead/empty (or mostly dead/empty) taps around "forever" as a registry, and then causing it to break if/when the repo is ever removed? If so, let's just put the registry/registries in brew itself in a structured file/files, not rely on zombie repositories to serve as alias databases. |
Don't forget tap migrations is a feature that's available to third party taps as well. I would suggest keeping the info in the destination tap as well, so that if the source tap is unavailable, we can still track down the destination if the destination tap is tapped. This at the very least solves the third-party-tap-incorporated-into-core problem. |
In the short-term: yes. In the long-term: no.
Indeed. |
I agree with this. Relying on the original taps, even in the short-run, seems like a mistake when the needed information is available and can be kept in brew or core. |
We will need both approaches for the cases where a migration happens between a tap that's tapped and one that is not. |
If pillow moves to
should not require tapping |
If some random, non Homebrew-org tap wants to move a formula from one tap to another it shouldn't require us to make a change in homebrew-core or Homebrew/brew so this change will still be needed regardless. Even when moving things from taps to homebrew/core I don't know how I feel about maintaining migration lists in multiple places. Something that's not here yet but will be added to this PR is a user-facing deprecation warning to fix up the dependency/Brewfile/install line accordingly. |
That's not the use case we currently face, and supporting insecure redirects from third parties to fourth parties is not exactly a high priority. |
e.g. allow `brew install some/tap/formula` to look that formula up in another tap if it has been migrated. Also, add a deprecation message to point people towards the correct naming.
Um, ok ... |
@ilovezfs This is an improvement as-is and we're going to need this even if we additionally decide to have these migrations live in e.g. homebrew/core. |
@ilovezfs If/when we do kill homebrew/versions I'll take the approach you've mentioned where this logic will live in homebrew/core. |
I just don't like the precedent of "silent" merges when the conversation was left as it was above. |
Apologies, I thought the conversation had reached a conclusion in that we'd disagreed on the short-term approach but agreed on the long-term one. This is ready to go and working so I don't think it makes sense to block this (already pretty delayed) work on the long-term version. |
Yup, agreed. Just like things to end with 😸 not 😡 No apologies needed. |
It looks like this isn't able to handle the homebrew/versions/glfw3 -> homebrew/core/glfw migration: https://bot.brew.sh/job/Homebrew%20Testing/1219/version=el_capitan/console |
Migration and rename shouldn't be mutually exclusive. |
The underlying entries look correct: |
Yeah, the migration & rename entries are correct, but migration and rename are handled as mutually exclusive cases in the code: https://github.com/Homebrew/brew/blob/c3a2bf3/Library/Homebrew/formulary.rb#L182-L197. |
@zmwangx I think the bug may be specific to test-bot though
|
Hmm, okay, isn't immediately obvious from the code... Good thing it's not user facing 🤔 |
@zmwangx I think it's the new aggressive untapping behavior which is causing test-bot to shoot itself in the foot:
|
That's not correct, the migration case calls back into |
Partial implementation of https://github.com/Homebrew/brew-evolution/pull/15, along with the ability to search for deleted formulae in git history (inspired by Homebrew#1996) which is not described in the proposal. See also: Homebrew#1371.
brew tests
with your changes locally?e.g. allow
brew install some/tap/formula
to look that formula up inanother tap if it has been migrated.
CC @ilovezfs @tdsmith this will mean we can migrate formulae from taps and have e.g.
brew install homebrew/python/pillow
not go 💥