operator-framework / operator-sdk

SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
https://sdk.operatorframework.io
Apache License 2.0
7.24k stars 1.74k forks source link

Allow users install a version lower than the latest one by homebrew. #1739

Closed camilamacedo86 closed 5 years ago

camilamacedo86 commented 5 years ago

Feature Request

Is your feature request related to a problem? Please describe. I'd like to be able to install the CLI tool with a version lower than the latest one by homebrew.

Following an example for you check that we are not able to find the versions.

$ brew search postgresql
Warning: Cask 'movist-pro' is unreadable: undefined method `method_missing_message' for Utils:Module
==> Formulae
postgresql                                       postgresql@10                                    postgresql@9.4                                   postgresql@9.5                                   postgresql@9.6

==> Casks
navicat-for-postgresql
camilamacedo@Camilas-MacBook-Pro ~/go/pkg/mod $ brew search operator-sdk
Warning: Cask 'movist-pro' is unreadable: undefined method `method_missing_message' for Utils:Module
==> Formulae
operator-sdk ✔

Describe the solution you'd like

camilamacedo86 commented 5 years ago

Hi, @shawn-hurley @jmrodri @hasbro17 @LiliC  wdyt?

joelanford commented 5 years ago

@camilamacedo86 I didn't find anything in the Formula Cookbook docs about how to support multiple versions, but I did find this: https://discourse.brew.sh/t/how-do-i-add-multiple-versions-to-a-formula-on-github/910

I hesitate to suggest we go down that path for a few reasons:

  1. It doesn't seem well supported by Homebrew, each version requires a separate formula.
  2. Very few formula support multiple versions, so we'd be going against the grain. It would probably mean we'd have to devote more time to keep it up to date (brew bump-formula-pr looks like it assumes a single formula and makes it easy for Homebrew maintainers to keep formula up-to-date, typically without intervention by each formula's app owner)
  3. Since we haven't made a 1.0 release yet, we'd be creating lots of formulae. e.g. if we ever get to 2.0, it might make sense to maintain 1.x and 2.x formulae versions.
camilamacedo86 commented 5 years ago

Hi @joelanford,

Thank you for your reply.

PostgreSQL has this feature implemented in the homebrew as follows, which we could use to know how to do that since shows worked very fine.

I agree with you that maybe would make more sense if we decide to do it does from 1.0 and not now. So, please feel free to close this RFE and let it for the future.

$ brew install postgresql@9.4  
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> Updated Formulae
mercurial ✔          cfn-lint             dialog               highlight            mame                 mysql@5.7            shellharden          spirv-cross          webtorrent-cli       xtensor
bind                 citus                exploitdb            imagemagick          mingw-w64            packer               skopeo               tile38               xapian               you-get
camlp5               dependency-check     folly                inlets               mtr                  pre-commit           sphinx-doc           vim                  xdot

==> Downloading https://homebrew.bintray.com/bottles/postgresql@9.4-9.4.23.mojave.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/2e/2e4f8ee2cf55492d4bb76b815fdf8203055f28349fd0fbf36f46ffd1349a81a7?__gda__=exp=1564999619~hmac=2612300d8e5a2bb6a28770b68ec8a2db59427442baa1509a2757951f0c11c58b&resp
######################################################################## 100.0%
==> Pouring postgresql@9.4-9.4.23.mojave.bottle.tar.gz
==> /usr/local/Cellar/postgresql@9.4/9.4.23/bin/initdb /usr/local/var/postgresql@9.4
==> Caveats
If builds of PostgreSQL 9 are failing and you have version 8.x installed,
you may need to remove the previous version first. See:
  https://github.com/Homebrew/legacy-homebrew/issues/2510

To migrate existing data from a previous major version (pre-9.3) of PostgreSQL, see:
  https://www.postgresql.org/docs/9.3/static/upgrading.html

When installing the postgres gem, including ARCHFLAGS is recommended:
  ARCHFLAGS="-arch x86_64" gem install pg

To install gems without sudo, see the Homebrew documentation:
  https://docs.brew.sh/Gems,-Eggs-and-Perl-Modules

postgresql@9.4 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have postgresql@9.4 first in your PATH run:
  echo 'export PATH="/usr/local/opt/postgresql@9.4/bin:$PATH"' >> ~/.bash_profile

For compilers to find postgresql@9.4 you may need to set:
  export LDFLAGS="-L/usr/local/opt/postgresql@9.4/lib"
  export CPPFLAGS="-I/usr/local/opt/postgresql@9.4/include"

For pkg-config to find postgresql@9.4 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/postgresql@9.4/lib/pkgconfig"

To have launchd start postgresql@9.4 now and restart at login:
  brew services start postgresql@9.4
Or, if you don't want/need a background service you can just run:
  pg_ctl -D /usr/local/var/postgresql@9.4 start
==> Summary
🍺  /usr/local/Cellar/postgresql@9.4/9.4.23: 2,783 files, 31.1MB

$ brew search postgresql
==> Formulae
postgresql                                 postgresql@10                              postgresql@9.4 ✔                           postgresql@9.5                             postgresql@9.6

==> Casks
navicat-for-postgresql
joelanford commented 5 years ago

Closing for now. We can revisit in the future if still desirable.

kuwv commented 7 months ago

https://github.com/operator-framework/operator-sdk/issues/6750

Currently, there is no fallback for brew when there is a bug within the application.

@joelanford Can the be reopened and have a priority set?