Comments (26)
I am looking into using boxen, however, I would aslo like to have homebrew install in /usr/local to avoid any weirdness down the line. I took a quick glance at the homebrew module and it looks like it is fairly simple to fork it and change the homebrew paths in config.pp. I need to do some more testing to ensure there is no other places where it expects boxen path to homebrew.
The one other thing I can think of is the suffix -boxen# to the homebrew package versions. Will need to look for that in other modules to see if that suffix is being appended on brew packages.
from puppet-boxen.
Has there been any change in this? An idea for this is to check if there already is an homebrew installation and/or ask the user if boxen should take precedence.
from puppet-boxen.
Boxen seems quite limited without this.
from puppet-boxen.
I was able to hack this in my own fork but unfortunately it required changing both puppet-boxen and puppet-homebrew.
from puppet-boxen.
None of the comments give us a good reason to support this.
Could you please give us advantages for using /usr/local
?
(not giving 👍 or 👎 here, just want to understand why this should be supported, personal preference is not a good reason)
from puppet-boxen.
@rafaelfranca The biggest benefit for me was that I already had an existing homebrew install with a fair number of packages in it that I did not want to have to reinstall.
from puppet-boxen.
@rafaelfranca Also, on their site the homebrew project explains why they recommend installing to /usr/local: https://github.com/mxcl/homebrew/wiki/FAQ#why-does-homebrew-insist-i-install-to-usrlocal-with-such-vehemence
from puppet-boxen.
If the universe of boxen homebrew is smaller than that of homebrew there will be packages that I could use out of the box except I can't, so I have to do my own building of them. I will either have to do it manually, or figure out how to set it up in Boxen.
For example I'm trying to install py2cairo, it should be trivial, but it's not finding the right locations. No amount of searching will tell me what is wrong so I have to make guesses. So far 3 evenings with no luck. And I have to resolve it. Soon this one problem will have taken me longer than setting up boxen, so at this rate I will go back to vanilla homebrew no matter what. I think boxen is great though so I would like to keep it.
And since you expressly warn against having a parallel homebrew install, I'm looking for an alternative that allows me to install this stuff without making up my own distribution (which I will have to maintain) for all the modules I'm going to use.
Perhaps I should just bite the bullet and develop on a Linux VM, but that seems stupid to me when Macs are such a solid system.
from puppet-boxen.
I faced similar problems with GHC and Haskell platform, it just didn't want to work. In the end I installed it using the installer from haskell.org instead.
from puppet-boxen.
@rafaelfranca Related to boxen/puppet-homebrew#8, installing outside of /usr/local
completely prevents nearly all official Bottled packages from installing. This forces many enormous packages (like GHC/Haskell-Platform) to unnecessarily build from source, and radically extends install time (as in, minutes to quite a few hours for a common setup on a MacBook Air which includes a number of major binary packages). Boxen is useful for administering small numbers of individual machines, not just for large corporate environments. In small environments or for individuals, it is infeasible to build and host custom binary images for everything.
In short: Bottles are a major usability improvement for Homebrew, and installing outside of /usr/local
largely precludes their use.
from puppet-boxen.
I don't mind installing homebrew outside /user/local
but it displays a warning saying some packages won't be able to build
.
from puppet-boxen.
I'm having Python issues I suspect might be related to this. Both meld and pip used to work for me until I started using boxen's homebrew location (on a fresh laptop). Had a very similar experience to what @thepian describes above, and the only thing that seems to be amiss with my config is this output from brew doctor:
% brew doctor
Warning: Your Homebrew is not installed to /usr/local
You can install Homebrew anywhere you want, but some brews may only build
correctly if you install in /usr/local. Sorry!
from puppet-boxen.
I would much rather re-use the existing 150 GB of homebrew installations, too, in /usr/local. @ssgelm What did you have to change exactly to make it work?
from puppet-boxen.
@haf Here are my two forks that I made to make it happen:
https://github.com/ssgelm/puppet-homebrew/compare
https://github.com/ssgelm/puppet-boxen/compare
from puppet-boxen.
Are there any news on this homebrew location topic? I understand, that github internally it makes sense to have everything under /opt/boxen
. As you utilize your own homebrew bottles you have a very clean and isolated structure as well as all benefits of installing precompiled packages. Most other people don't have those resources (the custom build server), therefore it would be great if at least it was possible to easily switch the homebrew location to /usr/local
in order to utilize bottles.
The default could still remain to have everything under /opt/boxen
but it would be possible to easily switch over if wanted/needed. What do you think?
from puppet-boxen.
+1 - plus one!
from puppet-boxen.
It is already possible since puppet-homebrew 1.2.0 using hiera.
You only need to put in your hiera data:
"homebrew::installdir": "/usr/local"
from puppet-boxen.
What about the other changes like ssgelm/puppet-homebrew@boxen:master...master#diff-60ae41fd0a31977447947f59940ee9a4R28?
from puppet-boxen.
This can live in your own boxen repository. You can either extract a class or put in your site.pp. Maybe is worth to add support to this in puppet-homebrew but it have to be optional.
from puppet-boxen.
I meant: what do you say about its functionality? Is it needed? Seems to initialise things.
from puppet-boxen.
It seems to be needed if you want to install in /usr/local
from puppet-boxen.
I did some hacks on this, unfortunately with no success so far. Would be awesome to get this working some day..
https://github.com/Intelliplan/puppet-boxen/commits/homebrew_in_usrlocal
https://github.com/Intelliplan/puppet-homebrew/commits/homebrew_in_usrlocal
https://github.com/molst/our-boxen/blob/baec1b92a48eedd12fd2c74a9bb8a703e8c7b36c/hiera/common.yaml
A grep -rn . -e '.*homebrew.*'
in our-boxen shows there are more hardcoded paths to be fixed.
from puppet-boxen.
I just submitted a pull request to puppet-homebrew (boxen/puppet-homebrew#51) that allows a custom fact to be set to make boxen not use its custom bottles and to make it put the install in /usr/local.
from puppet-boxen.
I'd love to see homebrew in /usr/local for all the precompiled bottles. I can't install encfs because it doesn't compile because of the non-standard location. It would be compiling in /usr/local (and I'd have a bottle too, anyway)
👍
from puppet-boxen.
@keo, 🎅 has a 🎁 for you:
homebrew_root: /usr/local
See boxen/puppet-homebrew#51 (comment)
from puppet-boxen.
nice, will reconsider Boxen
from puppet-boxen.
Related Issues (20)
- ./script/cibuild is not working HOT 5
- Launchd overrides.plist doesn't exist on Yosemite
- relative_bin.sh on PATH causes problems because of a relative dir in PaTH HOT 2
- Is there a way to do a shallow git clone? HOT 1
- appdmg_eula provider uses insecure curl option, fails HOT 5
- Had to hard reset on /opt/boxen/homebrew HOT 4
- Cannot install app after changing homebrew_root to '/usr/local' HOT 1
- Use puppetlabs/puppet#3341 instead of ripienaar/puppet-module-data ? HOT 1
- Hiera config not being merged HOT 7
- Error in `osx_defaults.pp` when using future parser HOT 5
- What is BOXEN_SETUP_VERSION used for? HOT 2
- Add dotfiles support to Boxen HOT 1
- Homebrew and Caskroom package names collide HOT 1
- Bring in MAS support for Boxen
- Would it be better to move project manifests outside of Boxen? HOT 2
- Reusing Boxen manifests with Linux HOT 1
- git svn broken on Mavericks HOT 1
- Setting dictionary values with boxen::osx_defaults is getting quoted incorrectly HOT 4
- Sourcing env.sh from Fish Shell HOT 2
- Unless value doesnt work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppet-boxen.