Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

go-app-engine-{32,64} + google-app-engine #31380

Closed
brianmhunt opened this issue Aug 6, 2014 · 7 comments
Closed

go-app-engine-{32,64} + google-app-engine #31380

brianmhunt opened this issue Aug 6, 2014 · 7 comments

Comments

@brianmhunt
Copy link

When one tries to install both of these packages the following (or the inverse complaint) occurs:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/appcfg.py
Target /usr/local/bin/appcfg.py
is a symlink belonging to google-app-engine. You can unlink it:
  brew unlink google-app-engine

To force the link and overwrite all conflicting files:
  brew link --overwrite go-app-engine-64

To list all files that would be deleted:
  brew link --overwrite --dry-run go-app-engine-64

Possible conflicting files are:
/usr/local/bin/appcfg.py -> /usr/local/Cellar/google-app-engine/1.9.7/bin/appcfg.py
/usr/local/bin/bulkload_client.py -> /usr/local/Cellar/google-app-engine/1.9.7/bin/bulkload_client.py
/usr/local/bin/bulkloader.py -> /usr/local/Cellar/google-app-engine/1.9.7/bin/bulkloader.py
/usr/local/bin/dev_appserver.py -> /usr/local/Cellar/google-app-engine/1.9.7/bin/dev_appserver.py
/usr/local/bin/download_appstats.py -> /usr/local/Cellar/google-app-engine/1.9.7/bin/download_appstats.py

One would expect these packages to co-exist harmoniously.

Cheers

@jacknagel
Copy link
Contributor

Given the large number of conflicting files, suggestions as to how to properly sandbox these are welcome.

@brianmhunt
Copy link
Author

Thanks @jacknagel ... it looks like, based on my limited experimentation, that the only bits of go-app-engine-* that need to be exposed are gofmt, godoc, and goapp.

In other words, if you have both installed, you only need to expose those go* commands – they seem to figure out where the rest of their install is from their own path.

There might be no duplication at all, if that is the case. When both are installed, it would seem that you could link everything to the google-app-engine files, then add in the go* commands from the go-app-engine-*.

I am not steeped in brew enough to know whether or how such conflicts can be handled, but that is a general overview conceptually of where I would start. I hope that helps.

@adamv
Copy link
Contributor

adamv commented Sep 25, 2014

Note: if we linked gofmt, then it would conflict with the main Go formula.

@apjanke
Copy link
Contributor

apjanke commented Aug 5, 2015

Looks like go-app-engine-{32,64} also conflict with each other. My go-app-engine-64 install failed after I had installed go-app-engine-32.

==> Finishing up
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/appcfg.py
Target /usr/local/bin/appcfg.py
is a symlink belonging to go-app-engine-32. You can unlink it:
  brew unlink go-app-engine-32

To force the link and overwrite all conflicting files:
  brew link --overwrite go-app-engine-64

To list all files that would be deleted:
  brew link --overwrite --dry-run go-app-engine-64

Possible conflicting files are:
/usr/local/bin/appcfg.py -> /usr/local/Cellar/go-app-engine-32/1.9.23/bin/appcfg.py
/usr/local/bin/bulkload_client.py -> /usr/local/Cellar/go-app-engine-32/1.9.23/bin/bulkload_client.py
/usr/local/bin/bulkloader.py -> /usr/local/Cellar/go-app-engine-32/1.9.23/bin/bulkloader.py
/usr/local/bin/dev_appserver.py -> /usr/local/Cellar/go-app-engine-32/1.9.23/bin/dev_appserver.py
/usr/local/bin/download_appstats.py -> /usr/local/Cellar/go-app-engine-32/1.9.23/bin/download_appstats.py
/usr/local/bin/goapp -> /usr/local/Cellar/go-app-engine-32/1.9.23/bin/goapp
==> Summary
🍺  /usr/local/Cellar/go-app-engine-64/1.9.24: 3643 files, 136M, built in 21 seconds

@MikeMcQuaid
Copy link
Member

@brianmhunt @apjanke Could you try and open a pull request to add a conflicts_with to the relevant formulae? This should help and I'm happy to walk you through anything else: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/How-To-Open-a-Homebrew-Pull-Request-(and-get-it-merged).md#how-to-open-a-homebrew-pull-request-and-get-it-merged

Thanks!

@apjanke
Copy link
Contributor

apjanke commented Aug 9, 2015

PR opened: #42689

@brianmhunt
Copy link
Author

This looks closed now because the conflict is acknowledged. Will close, but please re-open if I am mistaken. 😁

@Homebrew Homebrew locked and limited conversation to collaborators Jul 11, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants