Skip to content
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

Brew formula missing sub-dependencies #89064

Closed
2 tasks done
rothgar opened this issue Nov 9, 2021 · 2 comments
Closed
2 tasks done

Brew formula missing sub-dependencies #89064

rothgar opened this issue Nov 9, 2021 · 2 comments
Labels
bug Reproducible Homebrew/homebrew-core bug outdated PR was locked due to age

Comments

@rothgar
Copy link

rothgar commented Nov 9, 2021

brew gist-logs <formula> link OR brew config AND brew doctor output

HOMEBREW_VERSION: 3.3.3
ORIGIN: https://github.com/Homebrew/brew
HEAD: 64fb3c86f87eaf4a4b2ba64ddec0a5a3f2530b4c
Last commit: 28 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: dcfd624855c5c3af15596d40fa9480de9b506002
Core tap last commit: 32 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_CORE_GIT_REMOTE: https://github.com/Homebrew/homebrew-core
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_AUTO_UPDATE: set
Homebrew Ruby: 2.6.8 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8/bin/ruby
CPU: octa-core 64-bit skylake
Clang: 13.0.0
Git: 2.30.1 => /bin/git
Curl: 7.68.0 => /bin/curl
Kernel: Linux 5.11.0-37-generic x86_64 GNU/Linux
OS: Ubuntu 20.04.2 LTS (focal)
Host glibc: 2.31
/usr/bin/gcc: 9.3.0
/usr/bin/ruby: N/A
glibc: N/A
gcc@5: N/A
xorg: N/A

  • I ran brew update and am still able to reproduce my issue.
  • I have resolved all warnings from brew doctor and that did not fix my problem.

What were you trying to do (and why)?

Install the eksctl forumla and its dependencies.

A formula I maintain depends on eksctl and I would like it to also install the dependencies in the eksctl formula (aws-iam-authenticator and kubernetes-cli).

What happened (include all command output)?

When I install my formula

brew install aws/tap/eks-anywhere

I get eksctl and aws-iam-authenticator installed but not kubectl

brew install aws/tap/eks-anywhere                                                                                                                                                                                   
==> Tapping aws/tap                                                                                                                                                                                                            
Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/aws/homebrew-tap'...                                                                                                                                            
remote: Enumerating objects: 2416, done.                                                                                                                                                                                       
remote: Counting objects: 100% (1179/1179), done.                                                                                                                                                                              
remote: Compressing objects: 100% (798/798), done.                                                                                                                                                                             
remote: Total 2416 (delta 956), reused 489 (delta 380), pack-reused 1237                                                                                                                                                       
Receiving objects: 100% (2416/2416), 391.43 KiB | 2.99 MiB/s, done.                                                                                                                                                            
Resolving deltas: 100% (1617/1617), done.                                                                                                                                                                                      
Tapped 15 formulae (48 files, 582.5KB).                                                                                                                                                                                        
==> Downloading https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/manifests/0.5.3                                                                                                                                        
######################################################################## 100.0%                                                                                                                                                
==> Downloading https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/blobs/sha256:8b4f5af9a91eda6c629d9fd98e098bdd27e3683a8ca9c2fff19a500edc721fb9                                                                          
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8b4f5af9a91eda6c629d9fd98e098bdd27e3683a8ca9c2fff19a500edc721fb9?se=2021-11-09T18%3A25%3A00Z&sig=3bbOPut53a3Meq1aa1wNh8S8Z2wYu1RbsP1%2Bw%2
######################################################################## 100.0%                                                                                                                                                
==> Downloading https://ghcr.io/v2/linuxbrew/core/eksctl/manifests/0.68.0                                                                                                                                                      
######################################################################## 100.0%                                                                                                                                                
==> Downloading https://ghcr.io/v2/linuxbrew/core/eksctl/blobs/sha256:4fac2fe0ca0b0eca3d41cd16a75f2698e0eb8324fd1fc6383f4a2ce30fb6a497                                                                                         
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:4fac2fe0ca0b0eca3d41cd16a75f2698e0eb8324fd1fc6383f4a2ce30fb6a497?se=2021-11-09T18%3A25%3A00Z&sig=cS9olj0QOGmoCBCMZ6sjasNo%2B8bEQIdLksYI2ZR
######################################################################## 100.0%                                                                                                                                                
==> Downloading https://anywhere-assets.eks.amazonaws.com/releases/eks-a/2/artifacts/eks-a/v0.6.0/linux/eksctl-anywhere-v0.6.0-linux-amd64.tar.gz                                                                              
######################################################################## 100.0%                                                                                                                                                
==> Installing eks-anywhere from aws/tap                                                                                                                                                                                       
==> Installing dependencies for aws/tap/eks-anywhere: aws-iam-authenticator and eksctl                                                                                                                                         
==> Installing aws/tap/eks-anywhere dependency: aws-iam-authenticator                                                                                                                                                          
==> Pouring aws-iam-authenticator--0.5.3.x86_64_linux.bottle.tar.gz                                                                                                                                                            
🍺  /home/linuxbrew/.linuxbrew/Cellar/aws-iam-authenticator/0.5.3: 6 files, 37.0MB                                                                                                                                             
==> Installing aws/tap/eks-anywhere dependency: eksctl                                                                                                                                                                         
==> Pouring eksctl--0.68.0.x86_64_linux.bottle.tar.gz                                                                                                                                                                          
🍺  /home/linuxbrew/.linuxbrew/Cellar/eksctl/0.68.0: 8 files, 100.3MB                                                                                                                                                          
==> Installing aws/tap/eks-anywhere                                                                                                                                                                                            
🍺  /home/linuxbrew/.linuxbrew/Cellar/eks-anywhere/0.6.0: 3 files, 39.9MB, built in 2 seconds

I also verified the dependency is missing from --tree

brew deps --tree aws/tap/eks-anywhere                                                                                                                                                                               
aws/tap/eks-anywhere                                                                                                                                                                                                           
└── eksctl                                                                                                                                                                                                                     
    └── aws-iam-authenticator

However if I use an alternative tap of the same formula (it's the same formula file in a different repo) I can see the correct dependencies

brew tap weaveworks/tap                                                                                                                                                                                             
==> Tapping weaveworks/tap                                                                                                                                                                                                     
Cloning into '/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/weaveworks/homebrew-tap'...                                                                                                                                     
remote: Enumerating objects: 787, done.                                                                                                                                                                                        
remote: Counting objects: 100% (165/165), done.                                                                                                                                                                                
remote: Compressing objects: 100% (161/161), done.                                                                                                                                                                             
remote: Total 787 (delta 82), reused 8 (delta 4), pack-reused 622                                                                                                                                                              
Receiving objects: 100% (787/787), 117.45 KiB | 1.92 MiB/s, done.
Resolving deltas: 100% (335/335), done.
Tapped 4 formulae (18 files, 209.9KB).
gitpod ~ $ brew deps --tree weaveworks/tap/eksctl
weaveworks/tap/eksctl
├── kubernetes-cli
└── aws-iam-authenticator

What did you expect to happen?

eks-anywhere, eksctl, aws-iam-authenticator, and kubectl to be installed.

Step-by-step reproduction instructions (by running brew commands)

`brew install aws/tap/eks-anywhere`
@rothgar rothgar added the bug Reproducible Homebrew/homebrew-core bug label Nov 9, 2021
@Bo98
Copy link
Member

Bo98 commented Nov 9, 2021

This will be using eksctl from homebrew-core.

If you want to use eksctl from that tap, you must specify depends_on "weaveworks/tap/eksctl".

@Bo98 Bo98 closed this as completed Nov 9, 2021
@rothgar
Copy link
Author

rothgar commented Nov 9, 2021

Indeed you're right! I swear I looked at that a bunch of times and must have been looking at something else. The homebrew-core eksctl formula doesn't have the dependency. I'll add it directly to my package.

https://github.com/Homebrew/homebrew-core/blob/master/Formula/eksctl.rb

Thanks

@github-actions github-actions bot added the outdated PR was locked due to age label Dec 10, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Reproducible Homebrew/homebrew-core bug outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests

2 participants