-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
on_system conditionals not respected for :all
manifest tab cause issues in keg relocation
#18695
Comments
https://formulae.brew.sh/formula/embulk It’s necessary to distinguish between different architectures here. |
In theory, it should not need multiple bottles as the Java path replacement is done at install time. The bottle should be using a placeholder, e.g. The issue appears to be combining dependencies into its variations isn't handled correctly for API. When using a local tap, it seems okay, e.g. ❯ brew info embulk --json=v2 --variations | jq '.formulae[].dependencies'
[
"openjdk@21"
]
❯ arch -x86_64 brew info embulk --json=v2 --variations | jq '.formulae[].dependencies'
[
"openjdk@8"
] ❯ brew info embulk --json=v2 --variations | jq '.formulae[].variations.arm64_sequoia'
null
❯ brew info embulk --json=v2 --variations | jq '.formulae[].variations.sequoia'
{
"dependencies": [
"openjdk@8"
]
}
❯ arch -x86_64 brew info embulk --json=v2 --variations | jq '.formulae[].variations.arm64_sequoia'
{
"dependencies": [
"openjdk@21"
]
}
❯ arch -x86_64 brew info embulk --json=v2 --variations | jq '.formulae[].variations.sequoia'
null However, the API data is generated based on single platform: ❯ curl -sL "https://formulae.brew.sh/api/formula/embulk.json" | jq '.dependencies'
[
"openjdk@21"
] |
That's a bug, but I wonder why it affects is in CI when we set |
As workaround, can just use same OpenJDK on For issue, could also be a general keg relocation problem. Would need to check on that code. The bottle itself has: export JAVA_HOME="${JAVA_HOME:-@@HOMEBREW_JAVA@@}"
exec "${JAVA_HOME}/bin/java" -jar "@@HOMEBREW_CELLAR@@/embulk/0.11.5/libexec/embulk-0.11.5.jar" "$@" So as long as bottle pour substitutes right path then it should have worked. EDIT: Another possibility is if it is reading tab from manifest. |
It is the manifest rather than JSON API. Sadly no idea how to handle this for accurate tab in Another idea is skipping manifest's tab if OS/arch doesn't match, though this may not work if we remove info based on #17395 Tab from https://github.com/Homebrew/homebrew-core/pkgs/container/core%2Fembulk/290843166
|
:all
manifest tab cause issues in keg relocation
brew gist-logs <formula>
link ORbrew config
ANDbrew doctor
outputbrew doctor
Verification
brew doctor
output saysYour system is ready to brew.
and am still able to reproduce my issue.brew update
and am still able to reproduce my issue.brew doctor
and that did not fix my problem.What were you trying to do (and why)?
Submit a PR to upgrade
openjdk@8
to version 1.8.0-432.What happened (include all command output)?
brew test --retry --verbose embulk
failed because it selected the incorrect version ofopenjdk@21
(it should actually selectopenjdk@8
on the Intel architecture):What did you expect to happen?
Select
openjdk@8
correctly (@@HOMEBREW_JAVA@@
).Or
Step-by-step reproduction instructions (by running
brew
commands)For more detailed logs, see here.
The text was updated successfully, but these errors were encountered: