Comments (9)
Just curious, what was the original reason for recurse => true,
in there? It seems like the formula should decide what perms its own files have... adding or removing execute permissions for packages themselves feels like it could mess with their own functionality... I even caught a crazy edge case with this module where 'watchman' (from facebook's tap) was creating a socket file in /usr/local/var/run, which caused a puppet error while trying to apply those perms (ignore => 'sock',
fixed that fine though).
My initial impression is that this should only manage perms for folders above what packages might deploy, but maybe I'm missing some context, since it looks like you used to have it that way. Glad to see you're looking at this!!
from puppet-homebrew.
@kpete The recurse true was set to match this suggestions (http://blog.strug.de/2012/06/my-homebrew-multi-user-setup/) among others on how to make it work on a multi-user system.
Happy to help correct the needed permissions.
@TheKevJames how are you doing on this?
from puppet-homebrew.
@kpete The recurse true was set to match this suggestions (http://blog.strug.de/2012/06/my-homebrew-multi-user-setup/) among others on how to make it work on a multi-user system.
Happy to help correct the needed permissions.
Ahh that makes sense. I'll see if I end up with a situation where the package itself breaks from it, (not just puppet). Thanks!
from puppet-homebrew.
@jordigg for the most part, I'm blocked on #53 -- the long test cycles and random timeouts have been making this difficult to work on. I think I'll need to look into #53 first, but I've been way too busy lately. Hopefully I'll have some time over the weekend to look into this.
from puppet-homebrew.
@jordigg The recursive permissions seem to break logrotate. The default config file placed by the formula is in /usr/local/etc/logrotate.conf, and if logrotate is run as root (necessary to be able to rotate logs owned by root) then it returns: Ignoring /usr/local/etc/logrotate.conf because the file owner is wrong (should be root or user with uid 0).
from puppet-homebrew.
That makes sense. We should be able to limit the effect of the recurse to a few folders that are really owned by brew.
Want to check if it's possible to leave the chmod intact and just rely on the group to allow those members to manage brew in a multi-user environment.
I'll finish first with #52 and then work on this.
from puppet-homebrew.
The change to make the repo location /usr/local/Homebrew in brew 1.0 should help this a lot: Homebrew/install@2182f13
I'm happy to take a look at this too if time permits. Thanks!
from puppet-homebrew.
If homebrew is contained on it's own folder is going to make things easier for everyone.
Will check if it's already available and how it effects multi-user setup.
from puppet-homebrew.
As @kpete remarked, homebrew now installs to /usr/local/Homebrew
so this issue was easily solved in #58 . Thanks @kpete and @jordigg for the comments!
from puppet-homebrew.
Related Issues (20)
- executing brew info from within puppet fails, but doing it manually in the shell works HOT 2
- Run brew commands from `/tmp` or similar public folder
- Unable to install from URL with mixed-case HOT 2
- Unable to install java8 due to sudo asking for password HOT 1
- Notify error when brew user has no privileges on cwd HOT 1
- fix puppet6 dependencies HOT 1
- fix PDK build in CI HOT 2
- privileged installers HOT 1
- Brewcask provider no longer works
- Dependency and Compatibility Versions HOT 1
- module doesn't support M1 installations HOT 6
- Unclear docs/recommendations for running as root (or not)
- Apple M1 Chip is installing Brew to usr/local/bin instead of /opt/homebrew
- Use proper homebrew installation script
- Update functionality does not work as expected HOT 3
- Fix bug for incomplete brew installations
- Handle better brew outputs
- /usr/local immutable on High Sierra
- Silently fails to install a package on first run of Puppet HOT 1
- /usr/local under High Sierra HOT 7
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-homebrew.