fix(recipes): give ollama (and the generator) a Linux curl install path#65
Merged
Conversation
ollama only had `homebrew` + `winget` install methods, so on a plain Linux box with no Homebrew every install guard failed and bootstrap dead-ended with no method — ollama's canonical Linux install (`curl -fsSL https://ollama.com/install.sh | sh`) had nowhere to live. The gap was in the generator, not just the YAML: gen_recipes.py only knew `brew`/`winget`/language-manager methods, so any Linux-only-via-curl tool had the same hole (and a hand-edit to ollama.yaml would be clobbered on the next --rewrite). Add a reusable `curl` method type: a `curl` seed field (the install-script URL) renders `curl -fsSL <url> | sh`, emitted LAST in the preference order — after winget too, since Windows also ships `curl` — so it only fires when no managed installer matches. Wired into both install and update (re-running the script upgrades). Seed it on ollama and regenerate (only ollama.yaml drifts). Verified on this Linux host: erbina now picks the curl method for install and update. Lint + full pytest suite green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bug
ollamaonly hadhomebrew(macOS) +winget(Windows) install methods. On a plain Linux box with no Homebrew, every install guard fails and bootstrap dead-ends with no method. Ollama's canonical Linux install —curl -fsSL https://ollama.com/install.sh | sh— had nowhere to live.Root cause: the generator, not just the YAML
recipes/ollama.yamlis generated from a seed inscripts/recipe_data.py, andscripts/gen_recipes.pyonly knewbrew/winget/language-manager methods. So any Linux-only-via-curl tool has the same hole, and a hand-edit toollama.yamlwould be clobbered on the next--rewrite.Fix
curlinstall-method type to the generator: acurlseed field (the install-script URL) renderscurl -fsSL <url> | sh.wingettoo, since Windows also shipscurl— so it only fires when no managed installer matches (e.g. plain Linux).installandupdate(re-running the script upgrades to latest).--rewrite(onlyollama.yamldrifted — the other 482 rows render byte-identical, so no hand-curation touched).Verification
curl -fsSL https://ollama.com/install.sh | shfor both install and update.lint_recipes.py: all 520 valid.🤖 Generated with Claude Code