-
-
Notifications
You must be signed in to change notification settings - Fork 9.9k
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
Taps created with brew extract are unable to use original bottles #6059
Comments
This is currently intentional behaviour. The assumption if you
What would you think about this being a |
and also I do not like overriding the some other ideas: but, what about refactoring so that bottle download uses new attribute of formula, which defaults to |
I'd suggest |
@glensc , thanks for the tip with https://github.com/astorath/homebrew-core/blob/master/cmd/brew-fixtap.rb PS: For a title "The missing package manager for macOS", not being able to install specific package version and make versioned dependencies is a bit strange... |
@astorath Please omit the
|
I would like to work on this feature. Specifically adding |
@madushan1000 to start, I think the dsl can be added to the BottleSpecification by adding |
Fixes Homebrew#6059 WIP because this currently _breaks_ core tap formulae that have an AT version and have a bottle, e.g. postgresql@9.6. The filename builder needs to know if it should drop the @Version or not, and that should probably be a part of the `use_core_bottles!` invocation.
I'm able to reproduce this.
I'm seeing a strange difference between
Fetch doesn't add the tap name. I got a start on it in the branch I just linked but I'm out of time for today. See the commit message for what's broken still. |
Sounds like a bug. |
I've investigated this further and I'm afraid it cannot work as desired.
This doesn't just force it for bottle download but for the entire formula. Doing this effectively makes the formula file be named This is undesirable as it prevents the formula from being installed alongside The bottles from Sorry for the delay in getting to this and the unclear analysis at first from my end. Setting |
So in other words, the problem with bottle re-use for another formula, is that the paths inside the bottle are absolute paths from filesystem root and are, therefore unsuitable. |
@glensc Exactly. It's unfortunate (hence my attempt to fix this). |
So, I downloaded the bottle, and looked inside. The paths are not absolute, but they do contain the recipe name and version, so the problem remains:
|
I created versioned formula using
brew extract
command based on information from https://docs.brew.sh/Versionssee: glensc/homebrew-tap#1
however, appears that brew internally determines
f.name
androot_url
based on formula name and whether it's a tap. and there's no way to provide proper values other than hacking.so it tries to download from:
instead of correct one:
the superfluous parts are:
-tap
in path@2.8.2
in filenameso far i've come up working solution with some drawbacks:
glensc/homebrew-tap@d6b70ca
I think brew should provide somewhat solution here and perhaps documented on https://docs.brew.sh/Versions
also, looks like this same problem was reported to formulas repository by
@astorath Homebrew/homebrew-core#38782
the whole research and details can be seen in this PR comments: glensc/homebrew-tap#1
The text was updated successfully, but these errors were encountered: