-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
brew upgrade
doesn't preserve brews options
#11086
Comments
Can you gist INSTALL_RECEIPT.json from the current mtr keg, and the old one? |
I'm not sure but the issue may be that getting a Tab for a formula that has a newer version that what you have installed does not bring up the installed receipt; getting it for a keg seems to, though. Though I may be misdiagnosing some behavior I'm seeing in a branch of mine. |
|
How old was the original mtr installation? If it predates 9e773c3 (committed on Nov 13, 2011), it won't have an install receipt to pull options from. |
Figured it out.
|
@mxcl can you think of a good solution here? |
I apologise that I broke this feature. I think we need to pass the tab to the formula_installer or whatever component uses the tab. The unlink is a safety step that will prevent issues in the future, so it should stay, unless it fucks everything up. |
I think passing the tab to the installer makes sense. |
Yes, that previous mtr installation was definitely order than Nov 13th. So I should take it that this was expected behavior, and it should work for any package installed like that past that date? |
That's how it should work, however it actually is broken atm for the reason I stated above (just tested it). |
Pushed a fix for this; we now load the tab before unlinking the keg and then pass it to the installer. |
Callers of FormulaInstaller now usually unlink the existing keg prior to running the installer. However, Tab.for_formula uses the LinkedKeg record to obtain the tab. Since we need the tab to persist install options across upgrades, we must start creating the Tab object before unlinking the old keg and passing it to the FormulaInstaller. Fixes Homebrew#11086. Signed-off-by: Jack Nagel <[email protected]>
Callers of FormulaInstaller now usually unlink the existing keg prior to running the installer. However, Tab.for_formula uses the LinkedKeg record to obtain the tab. Since we need the tab to persist install options across upgrades, we must start creating the Tab object before unlinking the old keg and passing it to the FormulaInstaller. Fixes Homebrew#11086. Signed-off-by: Jack Nagel <[email protected]>
Callers of FormulaInstaller now usually unlink the existing keg prior to running the installer. However, Tab.for_formula uses the LinkedKeg record to obtain the tab. Since we need the tab to persist install options across upgrades, we must start creating the Tab object before unlinking the old keg and passing it to the FormulaInstaller. Fixes Homebrew#11086. Signed-off-by: Jack Nagel <[email protected]>
This issue should be reopened. I installed wine, so I had to manually install jpeg and libtiff with --universal (the wine keg is broken, and doesn't do this). Whenever I upgrade these libraries, they are invariably upgraded to a non-universal version. |
I've installed
mtr
with--no-gtk
to prevent downloading whole bunch of libraries, as I don't really need graphical version ofmtr
. Some time later, a cronjob I'm running consisting ofbrew update && brew upgrade
decided to update mtr - but it forgot my flag, and grabbed gtk+ plus all deps.This shouldn't happen.
The text was updated successfully, but these errors were encountered: