thekevjames / puppet-homebrew Goto Github PK
View Code? Open in Web Editor NEWhomebrew (+brewcask! +taps!) package installer and provider
Home Page: https://forge.puppet.com/thekevjames/homebrew
License: Apache License 2.0
homebrew (+brewcask! +taps!) package installer and provider
Home Page: https://forge.puppet.com/thekevjames/homebrew
License: Apache License 2.0
When I run puppet as root the brew commands seem to fail silently using the following:
class { 'homebrew':
user => 'stevef',
group => 'staff',
}
package { 'httpd24':
ensure => present,
provider => brew,
install_options => [ '--with-privileged-ports', '--with-http2' ],
}
I see the following debug output when running puppet as root with the (options agent -t --debug) :
Info: Applying configuration version '1489432019'
Debug: /Stage[main]/Homebrew::Compiler/before: subscribes to Class[Homebrew::Install]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Cellar]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/etc]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Frameworks]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/include]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib/pkgconfig]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/opt]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/doc]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/man]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/var]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Homebrew]/before: subscribes to Exec[install-homebrew]
Debug: /Stage[main]/Homebrew::Install/Exec[install-homebrew]/notify: subscribes to File[/usr/local/bin/brew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Cellar]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/etc]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Frameworks]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/include]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib/pkgconfig]: Adding autorequire relationship with File[/usr/local/lib]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/opt]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/doc]: Adding autorequire relationship with File[/usr/local/share]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/man]: Adding autorequire relationship with File[/usr/local/share]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/var]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin/brew]: Adding autorequire relationship with File[/usr/local/bin]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin/brew]/mode: Not managing symlink mode
Debug: Prefetching brew resources for package
Debug: Listing installed packages
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew list --versions'
Debug: Listing installed packages
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew list --versions httpd24'
Debug: Package httpd24 not installed
Debug: Looking for httpd24 package...
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew info httpd24'
Error: Could not find package: httpd24
Error: /Stage[main]/Main/Node[comp-office-elcapitan]/Package[httpd24]/ensure: change from absent to present failed: Could not find package: httpd24
Debug: Node[comp-office-elcapitan]: Resource is being skipped, unscheduling all events
But running it as a normal user with sudo I get the following (sudo puppet agent -t --debug):
Info: Applying configuration version '1489432174'
Debug: /Stage[main]/Homebrew::Compiler/before: subscribes to Class[Homebrew::Install]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Cellar]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/etc]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Frameworks]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/include]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib/pkgconfig]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/opt]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/doc]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/man]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/var]/before: subscribes to File[/usr/local/Homebrew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Homebrew]/before: subscribes to Exec[install-homebrew]
Debug: /Stage[main]/Homebrew::Install/Exec[install-homebrew]/notify: subscribes to File[/usr/local/bin/brew]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Cellar]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/etc]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/Frameworks]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/include]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/lib/pkgconfig]: Adding autorequire relationship with File[/usr/local/lib]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/opt]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/doc]: Adding autorequire relationship with File[/usr/local/share]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/share/man]: Adding autorequire relationship with File[/usr/local/share]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/var]: Adding autorequire relationship with File[/usr/local]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin/brew]: Adding autorequire relationship with File[/usr/local/bin]
Debug: /Stage[main]/Homebrew::Install/File[/usr/local/bin/brew]/mode: Not managing symlink mode
Debug: Prefetching brew resources for package
Debug: Listing installed packages
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew list --versions'
Debug: Listing installed packages
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew list --versions httpd24'
Debug: Package httpd24 not installed
Debug: Looking for httpd24 package...
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew info httpd24'
Debug: Package found, installing...
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=3002 gid=20: '/usr/local/bin/brew install httpd24 --with-privileged-ports --with-http2'
Notice: /Stage[main]/Main/Node[comp-office-elcapitan]/Package[httpd24]/ensure: created
Debug: /Package[httpd24]: The container Node[comp-office-elcapitan] will propagate my refresh event
I'm using this module to get Brew and Brewcask on MacOS. Brew works fine but I can't make brewcask to work. I'm using Puppet version 4.
I'm using the package like in the examples, my code is below.
$brewcask_packages = ['java', 'sbt', 'cmake']
package { $brewcask_packages:
ensure => present,
provider => 'brewcask',
}
I get always the same error regardless which package I'm trying to install.
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=0 gid=80: '/usr/local/bin/brew cask list --versions'
**Error: /Package[cmake]: Could not evaluate: no implicit conversion of nil into String**
When brew cask list --versions cmake
is run manually returns the following: Warning: cmake is not installed
Error: nothing to list
but brew list --versions python
returns Error: No such keg: /usr/local/Cellar/python
when the packages aren't installed.
Any clues?
Thanks!
If I have:
package { 'mosh':
provider => homebrew;
}
It installs successfully on the first puppet run, and then reinstalls on every subsequent run.
This is because mosh
is actually an alias/alt-name for the package mobile-shell
, so brew list --versions mosh
returns nothing, but brew search mosh
indicates that it's installed.
This might actually be an issue with Homebrew (if so let me know and I'll find/link/report it there). It can be worked around by checking for installed-ness via the success of brew info $package | grep '^Not installed$
(or the Ruby equivalent), logical-or the failure of the brew info
command (package name doesn't exist). The info
subcommand honors/follows alternate names, with brewcask as well as brew. However, this probably breaks the ability to use this module offline (no idea if that was important to begin with), since I don't think brew list
needs the internet to get data about modules, but brew list
does, especially if a module isn't found.
For some reason, the ruby 2.2.3 tests are failing and I can not for the life of me figure out why. Disabled 2.2.3 tests for now, since I've verified the module works locally with 2.2.3 and the tests seem to be travis-env related (maybe?), but it would be great if we could fix this and get them re-enabled.
Travis build #176 of commit c367a34 is the last master build before these tests were disabled.
Debug: Listing installed packages
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew list --versions'
Debug: Found packages /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in `block in materialize': Could not find CFPropertyList-2.2.8 in any of the sources (Bundler::GemNotFound)
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
Warning: Could not match from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Warning: Could not match from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Error: Could not prefetch package provider 'brew': No resource and no name in property hash in brew instance
Debug: Listing installed packages
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew list --versions git'
Debug: Found packages /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in `block in materialize': Could not find CFPropertyList-2.2.8 in any of the sources (Bundler::GemNotFound)
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
Warning: Could not match from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Warning: Could not match from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Debug: Prefetching brewcask resources for package
Debug: Listing installed packages
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew cask list --versions'
Debug: Found packages /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in `block in materialize': Could not find CFPropertyList-2.2.8 in any of the sources (Bundler::GemNotFound)
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
Warning: Could not match from /Users/travis/.rvm/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
Warning: Could not match from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Warning: Could not match from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Error: Could not prefetch package provider 'brewcask': No resource and no name in property hash in brewcask instance
Debug: Listing installed packages
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew cask list --versions'
Error: /Package[google-chrome]: Could not evaluate: invalid number of elements (14 for 1..2)
I continue having the following error intermittently on new systems:
Error: Failed to apply catalog: No command brew defined for provider brew
I'm not sure what is causing this error to appear on some new system and not on some others. I can confirm that if brew
is already present before puppet runs the problem will disappear. May be related to the random order that puppet runs every time is executed.
The only way I've found to fix this issue is adding the following line
commands :brew => '/usr/local/bin/brew'
into https://github.com/TheKevJames/puppet-homebrew/blob/master/lib/puppet/provider/package/brew.rb
This shouldn't interfere with anything else, so I would suggest adding it in order to get rid of this random errors. What do you say @TheKevJames?
Sorry for the issue dump. This is the last one, I promise :)
Every time I run puppet with class { homebrew: ...}
somewhere, even if Homebrew is already installed, I get a ton of output like:
Notice: /Stage[main]/Homebrew::Install/File[/usr/local/Homebrew/.git/objects/69/db3754c4d5bc95d2c02c86299de29e1cd4b460]/mode: mode changed '0444' to '0775'
Whatever perms fixup is being done here probably doesn't need to be run every single time Puppet runs; just at initial bootstrap.
Also, some of the things being manipulated should probably not be: git internal files etc. should probably not be executable.
If the goal of the perms fixup inside the homebrew::install
class is to get ownership correct, it might be better to manage owner/group, rather than perms, and trust the Homebrew installer to get those right. I don't really know if that's what's being done, though.
Thanks!
I had the following error several times already. This error log is from a fresh laptop with MacOSX Sierra but I have had the same issue on El Capitan. The error is the following:
Error: Facter: error while resolving custom fact "git_version": undefined method `strip' for nil:NilClass
Error: Failed to apply catalog: No command brew defined for provider brew
The error happens just after the user gets prompted to install the command line tools via a GUI installer window. I think this installer is triggered when the module or something else tries to use curl or similar.
If I run puppet agent -t
after installing the command line tools manually it still doesn't work and keep reporting the following error:
Error: Failed to apply catalog: No command brew defined for provider brew
To get going I just install brew from the command line supplied on brew.sh and re run puppet agent -t
to finish with my puppet setup. Somehow after the install is run once it doesn't check if it's correctly setup/present so it doesn't try to install it again.
The way I use the module is the following:
# Add Homebrew and BrewCask
if versioncmp($::macosx_productversion_major, '10.12') >= 0 {
class { 'homebrew':
user => 'it',
command_line_tools_package => 'Command_Line_Tools_macOS_10.12_for_Xcode_8.dmg',
command_line_tools_source => 'https://storage.googleapis.com/improbable-public-storage/Command_Line_Tools_macOS_10.12_for_Xcode_8.dmg',
require => [ User['it'], Exec['run-startup-script'], Package['puppet-agent'] ],
}
} else {
class { 'homebrew':
user => 'it',
command_line_tools_package => 'Command_Line_Tools_OS_X_10.11_for_Xcode_7.3.1.dmg',
command_line_tools_source => 'https://storage.googleapis.com/improbable-public-storage/Command_Line_Tools_OS_X_10.11_for_Xcode_7.3.1.dmg',
require => [ User['it'], Exec['run-startup-script'], Package['puppet-agent'] ],
}
}
I'm trying to use version 1.3.0 of the module (taken from the Puppet Forge) on OSX 10.11 with Puppet 3.8.6 and Facter 2.4.6 and hit a problem where the confine
in lib/facter/has_compiler.rb
don't trigger any of the settings, causing has_compiler
to be set to nil
and the module tries to install the command line tools and Homebrew when it shouldn't (they are already available on the sever).
I added the following debug prints to has_compiler.rb
:
--- has_compiler.rb 2016-02-03 14:11:58.000000000 +1100
+++ .../has_compiler.rb 2016-04-19 10:49:10.000000000 +1000
@@ -1,12 +1,15 @@
Facter.add(:has_compiler) do
+ puts("Inside has_compiler, operatingsystem: #{Facter.value(:operatingsystem)}; macosx_productversion_major: #{Facter.value(:macosx_productversion_major)}")
confine :operatingsystem => :darwin
setcode do
+ puts('Inside :operatingsystem => :darwin')
File.exists?('/usr/bin/cc') || system('/usr/bin/xcrun -find cc >/dev/null 2>&1')
end
# /usr/bin/cc exists in Mavericks, but it's not real
confine :macosx_productversion_major => '10.9'
setcode do
+ puts('Inside :macosx_productversion_majon => 10.9')
(File.exists?('/Applications/Xcode.app') or File.exists?('/Library/Developer/CommandLineTools/')) and
(File.exists?('/usr/bin/cc') || system('/usr/bin/xcrun -find cc >/dev/null 2>&1'))
end
And when I run puppet apply
I can see that the confine
don't match:
$ puppet apply --verbose --modulepath modules -e 'class { "homebrew": }'
...
Inside has_compiler, operatingsystem: Darwin; macosx_productversion_major: 10.11
Warning: Config file /Users/ashapira/.puppet/hiera.yaml not found, using Hiera defaults
Notice: Scope(Class[Homebrew::Compiler]): Installing Command Line Tools.
...
And of course it fails because it tries to download a .dmg
file from a URL which doesn't exist.
Any guidance on how can I get around this?
Thanks.
Some of the environments I use this module on don't have access to the Forge (we're working on it; #justcorporatethings), but do have access to GitHub. It's useful to be able to deploy new modules to them by selecting the same version tags we'd ask for in the Forge, but 1.6.0 isn't available as a tag on this GH repo. Could it be added?
Thanks!
Zac
Brew allows now to install specific versions. Should we provide a parameter instead of asking the user to provide the name of the package with the versioning included?
Homebrew/brew#620
If there is a checksum error while installing a cask (or probably any other kind of Homebrew package/object, though I've only seen it with casks), this module will endlessly loop trying to re-install the cask. It will also report that it successfully installed the cask, despite the fact that the underlying command is returning an error and not doing the install. The following should be fixed:
From @nexussafe:
Error is:
Debug: Prefetching brewcask resources for package
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew cask list --versions'
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew cask list --versions'
Debug: Executing '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing '/usr/local/bin/brew cask install firefox'
Error: Could not find package firefox
Error: /Stage[main]/Main/Package[firefox]/ensure: change from absent to present failed: Could not find package firefox
Workaround is to call (eg. without owner change):
super(cmd, # No idea why
:custom_environment => { 'HOME' => home })
User had installed brew manually, then brew cask install puppet
.
$ ls -la /usr/local/bin/brew
-rwxr-xr-x 1 nexussafe admin 656 Mar 8 17:46 /usr/local/bin/brew
$ stat -nf %Uu /usr/local/bin/brew
501%
$ stat -nf %Ug /usr/local/bin/brew
80%
$ id
uid=501(nexussafe) gid=20(staff) groups=20(staff),<SNIP>,80(admin),<SNIP>
$ which puppet
/usr/bin/puppet
$ puppet --version
3.8.6
See #2 for context.
Just updated my Puppet Server to 2.3.1 and got errors on the has_brew and has_compiler facts.
error while resolving custom fact "has_brew": undefined method 'err' for #<Facter::Util::Resolution:0x0000000281b8c8>
same for has_compiler. Is it maybe that errors should be handled, for example, by:
rescue Facter::Core::Execution::ExecutionFailure 'timeout!'
Another question is, should we confine that custom_fact just to MacOSX?
confine :kernel => "Darwin"
If I install a broken cask, in Puppet, I get output like the following:
==> Verifying checksum for Cask appfresh
==> Note: running "brew update" may fix sha256 checksum errors
Error: /Stage[main]/Main/Node[default]/Package[appfresh]/ensure: change from absent to present failed: Could not install package: Execution of '/usr/local/bin/brew cask install appfresh' returned 1: ==> Downloading http://backend.metaquark.de/download/appfresh/versions/909
==> Verifying checksum for Cask appfresh
==> Note: running "brew update" may fix sha256 checksum errors
However, running brew cask install appfresh
yields the real error:
==> Downloading http://backend.metaquark.de/download/appfresh/versions/909
Already downloaded: /Users/zbentley/Library/Caches/Homebrew/Cask/appfresh--1.0.5_909
==> Verifying checksum for Cask appfresh
==> Note: running "brew update" may fix sha256 checksum errors
Error: sha256 mismatch
Expected: e4d4e719bebf17f0ea5e7336e5da84d032b26dfaefa2f5102250fe9a208674cc
Actual: eaa4e7d92bfe8985d626507972902b2b50d4700b69fa6e5c273132466dc5008e
File: /Users/zbentley/Library/Caches/Homebrew/Cask/appfresh--1.0.5_909
To retry an incomplete download, remove the file above.
Could the actual error output be surfaced from puppet-homebrew?
I have seen in a few occasions the module fail because a package was in a bad state, usually when the installation couldn't complete because a the installer of such package was broken.
The error is similar to:
Debug: Prefetching brewcask resources for package
Debug: Listing installed packages
Debug: Executing: โ/usr/bin/stat -nf %Uu /usr/local/bin/brewโ
Debug: Executing: โ/usr/bin/stat -nf %Ug /usr/local/bin/brewโ
Debug: Executing with uid=404 gid=80: โ/usr/local/bin/brew cask list --versionsโ
Warning: Could not match virtualbox
Debug: Storing state
Debug: Stored state in 0.35 seconds
Error: Failed to apply catalog: No resource and no name in property hash in brewcask instance
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:531:in `nameโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/package.rb:5:in `block in prefetchโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/package.rb:4:in `eachโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/package.rb:4:in `prefetchโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:323:in `prefetchโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:223:in `prefetch_if_necessaryโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:107:in `block in evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:116:in `callโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:116:in `traverseโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:154:in `evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:222:in `block in applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:155:in `with_destinationโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:142:in `as_logging_destinationโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:221:in `applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:171:in `block in apply_catalogโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:223:in `block in benchmarkโ
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:222:in `benchmarkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:170:in `apply_catalogโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:343:in `run_internalโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:221:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `overrideโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:241:in `overrideโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:195:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (4 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lockโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (3 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:98:in `with_clientโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `block (2 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:65:in `run_in_forkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:41:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `callโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:39:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:353:in `onetimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:331:in `run_commandโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:540:in `exit_on_failโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `executeโ
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
I've seen this issue on brew cask install virtualbox
a few weeks ago because they released a broken installer.
After debugging the error I've seen that the issue is caused by the package being "half" installed, the brew folders would have been created and populated but some files are missing.
The result of that is that you get an unexpected return when running brew cask list --versions
where you will get the name of the package but an empty version string. The parsing then will send an error and break the run without providing much debugging information to fix it.
The line causing the error is https://github.com/TheKevJames/puppet-homebrew/blob/master/lib/puppet/provider/package/brewcask.rb#L149
This should not fail in this case, return some debugging information or trying to fix the error by itself. An improvement would be that if we detect a package without reported version we try and fix it but maybe this functionality would be better part of the brew project.
When trying to use PE to install homebrew the operation fails with the following error -
Error: Could not retrieve catalog from remote server:
Error 500 on SERVER: Server Error:
Evaluation Error: Error while evaluating a Resource Statement,
Evaluation Error: Error while evaluating a Resource Statement,
Duplicate declaration: File[/usr/local] is already declared in file /etc/puppetlabs/code/environments/production/modules/homebrew/manifests/install.pp:19;
cannot redeclare at /opt/puppetlabs/puppet/modules/puppet_enterprise/manifests/symlinks.pp:31
at /opt/puppetlabs/puppet/modules/puppet_enterprise/manifests/symlinks.pp:31:5 on node solutosmacvm11.local
Is there any way to solve this error without disabling symlinks?
Mac is running macos sierra 10.12.3
PE version is 2016.4.2
You can use this method: https://github.com/timsutton/osx-vm-templates/blob/ce8df8a7468faa7c5312444ece1b977c1b2f77a4/scripts/xcode-cli-tools.sh#L6-L14
This way we don't have to specify the tools dmg.
If I try to install an app and it times out fetching from the server or otherwise has a communication error, Puppet reports that the app was successfully installed.
This module should probably check exit codes from homebrew-cask to ensure that this doesn't occur, and should definitely error if installation of a cask fails for any reason. This could probably be done by either doing more detailed checking of brew cask install
's results/output, or externally, by doing brew cask info
after installation and/or statting files that homebrew-cask lists as "managed" by a cask. The latter route is tricky, though, since some casks don't have files listed in that section (or are preference panes etc).
Hey,
I have a couple RHEL 6 systems running Puppet 3.8.7 with Ruby 1.8.7 that have no profile references to the homebrew module other than it being in the main Puppetfile. However, Once I added it to the Puppetfile, I started getting the following errors on these systems:
puppet agent -t Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Error: Could not autoload puppet/provider/package/brew: /var/lib/puppet/lib/puppet/provider/package/brew.rb:83: syntax error, unexpected ':', expecting ')' ...o, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:84: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:90: syntax error, unexpected ':', expecting ')' ...*install_options], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:107: syntax error, unexpected ':', expecting ')' ...l, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:108: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:118: syntax error, unexpected ':', expecting ')' ...e, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:119: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ Error: Could not autoload puppet/type/package: Could not autoload puppet/provider/package/brew: /var/lib/puppet/lib/puppet/provider/package/brew.rb:83: syntax error, unexpected ':', expecting ')' ...o, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:84: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:90: syntax error, unexpected ':', expecting ')' ...*install_options], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:107: syntax error, unexpected ':', expecting ')' ...l, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:108: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:118: syntax error, unexpected ':', expecting ')' ...e, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:119: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ Error: Could not retrieve catalog from remote server: Could not intern from text/pson: Could not autoload puppet/type/package: Could not autoload puppet/provider/package/brew: /var/lib/puppet/lib/puppet/provider/package/brew.rb:83: syntax error, unexpected ':', expecting ')' ...o, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:84: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:90: syntax error, unexpected ':', expecting ')' ...*install_options], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:107: syntax error, unexpected ':', expecting ')' ...l, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:108: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:118: syntax error, unexpected ':', expecting ')' ...e, resource_name], failonfail: true) ^ /var/lib/puppet/lib/puppet/provider/package/brew.rb:119: syntax error, unexpected tASSOC rescue Puppet::ExecutionFailure => detail ^ Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run
I have checked and double checked and I can't figure out why these systems get this error. If I remove the homebrew module from the Puppetfile, the error goes away and Puppet runs successfully.
I have the module tagged to 1.6.0 in the Puppetfile.
My RHEL 7 systems don't seem to have any issues, but they're running Ruby 2.0.x. RHN doesn't have Ruby above v1.8.7 for RHEL 6 so I was thinking maybe that's a possible issue? I still don't understand why it would happen since the provider files all have the darwin system constraints.
Any assistance would be great!
Installing packages calls stat way too many times. Also, installing multiple packages in your manifest calls stat way too many times.
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=0 gid=80: '/usr/local/bin/brew cask list --versions'
Debug: Executing: '/usr/bin/stat -nf %Uu /usr/local/bin/brew'
Debug: Executing: '/usr/bin/stat -nf %Ug /usr/local/bin/brew'
Debug: Executing with uid=0 gid=80: '/usr/local/bin/brew cask install google-chrome'
I got people reporting that the actual config still doesn't allow for multi-user on certain situations. Don't have all the examples but one would be when a user uses the module on a system that already had brew installed.
Seems that only one folder requires to be changed to make it work with the multi-user implementation. The command would be: sudo chown 775 -R /usr/local/Homebrew/.git
For Puppet we'll need to add the following to puppet-homebrew/manifests/install.pp
file { '/usr/local/Homebrew/.git':
ensure => directory,
owner => $homebrew::user,
group => $homebrew::group,
mode => '0775',
recurse => true,
}
Will verify on VMs and send a PR when I make sure is all fixed. Other folder may need to be managed like /usr/local/var/homebrew/locks
but want to confirm this first.
Tests are starting to timeout -- the init test alone takes something like 1380s. Need to fix this.
Do we already support it? Need to check the upgrade docs etc.
In our environment, we use the chocolatey's module and when I installed the homebrew module, both modules started having problems with their providers. Could you, please, check how to separate the providers?
Thank you for your attention.
[kevin@aerobox(zsh):~] brew list --versions docker
docker 1.10.1 1.10.2 1.9.1
[kevin@aerobox(zsh):~] brew list --versions docker-machine
docker-machine 0.5.5 0.6.0
Would be interesting to add the ability to manage Taps via puppet. This module does it, would it be difficult to implement?
I think we should update the Brew repo. The actual one https://github.com/mxcl/homebrew
is a leagacy one. Is there any reason we are not installing Brew using the command provided on it's website? /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
I think with that we can fix other bugs.
I'll give it a go and send a PR.
From @jordigg :
I wouldn't let the user select user and/or group and instead move everything to be under the root user and the admin group: http://apple.stackexchange.com/questions/42127/homebrew-permissions-multiple-users-needing-to-brew-update
Something I do too is to set the default set up path to be /Applications
rather than the /Users/user/Applications
so everything that gets installed is available on the Applications folder of all users and is always located on the same applications folder /Applications/
. I do that by setting an environment variable called HOMEBREW_CASK_OPTS --appdir=/Applications
. Maybe we could allow the parameter --appdir
when installing packages. Like brew cask install --appdir="~/Applications" google-chrome
See #59 and #71. I genuinely have no idea what's going on with the tests.
Everything seems to work from manual tests; I'm leaning towards this being something odd about the Travis infra changes (https://blog.travis-ci.com/2016-09-15-new-default-osx-image-coming/) causing some sort of inconsistency, but... \shrug.
Help would be much appreciated.
(/cc @jordigg I know you might have been looking into this. If you could throw any information you gather here, that'd be great)
See issue #2 for context: looks like brew cask
changed their output format?
If so: consider forcing an update to brewcask to ensure this module's parsing will work. Consider pinning brewcask version.
If not: look into why my version of brewcask worked with the former parsing mechanic and jordigg
's did not.
I can't seem to get the update
block to ever trigger. I have a package installed via this Homebrew provider, there is a newer one available and I've specified ensure => latest
however nothing gets upgraded. I've tried setting ensure
to a specific version, 3.3
for example but it fails with package-name-3.3
not found.
When setting ensure => latest
I've seen Listing installed packages
and Found package package-name
in the logs (among some /usr/bin/stat
) calls, but no calls to brew upgrade
Any ideas? Is there something I'm missing @TheKevJames?
Some thoughts: between brew devs hating brew-as-root and Apple doing everything it can to strip root privileges, brew-as-root is going to get harder and harder. Should that be reflected in this package? Should we enforce using a new user to sidestep the issue completely?
If I have a puppet manifest like so:
# In site.pp:
Package {
provider => homebrew
}
# Manifest code:
package {
[
'ack',
'binutils'
]:
install_options => [
'--with-default-names',
],
}
When I run puppet, the packages are not installed with default names. Running with --debug
indicates that --with-default-names
is not being passed to the underlying brew install
command.
The latest version of Mac OS has changed the behavior of /usr/local. Using version 1.7.1 of the module and this manifest
class { 'homebrew':
user => 'username',
}
gives the following error:
Error: Failed to set group to '80': Operation not permitted @ lchown_internal - /usr/local
Error: /Stage[main]/Homebrew::Install/File[/usr/local]/group: change from wheel to admin failed: Failed to set group to '80': Operation not permitted @ lchown_internal - /usr/local
Error: failed to set mode 0755 on /usr/local: Operation not permitted @ chmod_internal - /usr/local
Error: /Stage[main]/Homebrew::Install/File[/usr/local]/mode: change from 0755 to 0775 failed: failed to set mode 0755 on /usr/local: Operation not permitted @ chmod_internal - /usr/local
Related issue: Homebrew/brew#3228
I am applying a puppet manifest locally using "puppet apply", and am running into a roadblock with the package provider not autoloading.
The exact error is:
"Could not autoload puppet/provider/package/brew: Could not find parent provider brewcommon of brew"
My suspicion is that it is trying to load each of the package providers alphabetically, which means brew would go first. Any help with this would be greatly appreciated.
I'm experiencing several issues with new systems, some of them I already saw in the past but thought were already solved.
If Homebrew install process fails, it doesn't get fixed by itself on the next run and it will always throw a error similar to no command brew found for provider brew
.
After Homebrew was moved to /usr/local/Homebrew
the installer is missing a few elements to make it work. For example it doesn't symlink /usr/local/Homebrew/bin/brew
to /usr/local/bin
which on a new Mac OS system also doesn't exist. Therefore brew
doesn't work since is not present on our $PATH
.
I already fixed all these issues and will be submitting a PR. Also got the multi-user setup after this changes to don't use recurse
option which will help a lot speeding the puppet run and stop conflicting with some other packages on /usr/local
not managed by Homebrew like discussed on #62.
For more information check the brew.sh installer script: https://raw.githubusercontent.com/Homebrew/install/master/install
If I have a manifest that does:
package { "Caskroom/versions":
ensure => present,
provider => tap,
}
The tap will be installed successfully (i.e. homebrew can use packages from it), but Puppet will continually notify about reinstallation of the tap on every run.
This is because the tap's canonical name is caskroom/versions
(lower case C), but the brew tap
command operates case-insensitively.
The presence-or-absence detection used by this module should be case insensitive on taps--and probably on all Homebrew objects/operands that are handled case-insensitively by Homebrew, which I think is many/most things.
When bootstrapping and running puppet for the first time on a new Sierra system, I got the below error.
Basic info:
homebrew
class as recommended, with my username, and letting it default to the admin
group. The error still occurs if I set a different group.Things about this system that may be causing the problem:
zbentley
user account is LDAP-linked and managed.sudo
-ing is a Ruby wrapper that invokes puppet for me and sudos as necessary (a fork of old Boxen; not sure if it does that any more); not me typing sudo puppet...
on the shell. All it's doing in Ruby is system "sudo", "-p", "Password for sudo: ", *args
. Under the covers, it's eventually supplying a puppet apply
command in *args
.Error text:
Debug: Executing '/usr/bin/su zbentley -c '/bin/bash -o pipefail -c "/usr/bin/curl -skSfL https://github.com/homebrew/brew/tarball/master | /usr/bin/tar xz -m --strip 1"''
Notice: /Stage[main]/Homebrew::Install/Exec[install-homebrew]/returns: su: Sorry
Error: /usr/bin/su zbentley -c '/bin/bash -o pipefail -c "/usr/bin/curl -skSfL https://github.com/homebrew/brew/tarball/master | /usr/bin/tar xz -m --strip 1"' returned 1 instead of one of [0]
Error: /Stage[main]/Homebrew::Install/Exec[install-homebrew]/returns: change from notrun to 0 failed: /usr/bin/su zbentley -c '/bin/bash -o pipefail -c "/usr/bin/curl -skSfL https://github.com/homebrew/brew/tarball/master | /usr/bin/tar xz -m --strip 1"' returned 1 instead of one of [0]
Notice: /Stage[main]/Homebrew::Install/File[/usr/local/bin/brew]: Dependency Exec[install-homebrew] has failures: true
Warning: /Stage[main]/Homebrew::Install/File[/usr/local/bin/brew]: Skipping because of failed dependencies
Things I've tried:
sudo su -
or sudo -i
to become root, and then running the above command, complete with the /usr/bin/su zbentley...
stuff. This works; the command returns 0 and gets the files.root
account and setting the password for it.Ideas:
The sorry
message may be caused by the presence of a master password, somehow. If my config is that unique, this is probably not worth the time to fix.
If situations that may cause this are hard/impossible to fix, but easy to detect (e.g. by running a "can su as homebrew user" fact that does su -c sleep 0
or something and seeing if it works), an error message indicating what the possible causes are could be added? Again, not really your problem.
Add README steps/FAQ entries for how to get around this condition?
There's an edge case when a tap contains homebrew-
on the name that the module will re-add that tap even though is already present. This happens because when brew taps a tap with a name like that, the homebrew-
is removed from the name.
To make it easier to understand here an example:
brew tap improbable-io/homebrew-versions
Will result in...
$ brew tap
improbable-io/versions
Therefore when the module checks if a tap is already present by comparing brew tap
with the name of the tap we want to add, it will never match.
There are two possible fixes:
homebrew-
from any tap name on the puppet manifest.homebrew-
part.I think the sane way to proceed is the second one. Will submit a PR.
Sometimes, packages installed with the homebrew
provider fail to install. If the packages are real homebrew packages (not casks), the homebrew
provider masks the actual installation error.
If the brew-to-cask fallback is used for a homebrew
-provided package, the error output from the first brew
command should be kept around. If the brew cask
command also fails, both errors should be outputted. Even if both errors are "package not found", this is still useful info for users.
Special cases could be added for the STDERR/exit codes that indicate "package not found" if you wanted to reduce error volume, but I think printing both is probably a good start.
If I have a manifest (with no other taps) like this or similar:
Package {
provider => homebrew,
install_options => [
'--with-default-names',
],
}
node default {
package { "google-chrome-beta":
provider => "brewcask",
install_options => [
"--appdir=/Applications"
]
}
}
Puppet runs successfully and notifies that
Notice: /Stage[main]/Main/Node[default]/Package[google-chrome-beta]/ensure: created
However, the package is not installed in /Applications
, ~/Applications
, or the Caskroom cache dir. This is because that particular cask (at the time of this writing) is available via the caskroom/versions
tap.
If that tap is missing, the install should error.
Some brew outputs are not being handled correctly and will be interpreted as an error/failure.
In this specific case when brew tries to link the package and finds an existing one will report a "warning" message that we parse as error. It doesn't stop the run but it will think it failed and unschedule any dependencies.
Debug: Package found, installing...
Debug: Executing: โ/usr/bin/stat -nf %Uu /usr/local/bin/brewโ
Debug: Executing: โ/usr/bin/stat -nf %Ug /usr/local/bin/brewโ
Debug: Executing with uid=404 gid=80: โ/usr/local/bin/brew install protobufโ
Error: Could not install package: Execution of โ/usr/local/bin/brew install protobufโ returned 1: ==> Downloading https://homebrew.bintray.com/bottles/protobuf-3.5.0.high_sierra.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/5f/5febe3dbf8e63fd96fc2da057228974c92922d0edd2f52d246af0656025c7068?__gda__=exp=1510845959~hmac=2a7b64145b4aa19af341ec650e1293d26b32a6cb5bb09fedb76f82803aeb9398&response-content-disposition=attachment%3Bfilename%3D%22protobuf-3.5.0.high_sierra.bottle.tar.gz%22&response-content-type=application%2Fgzip&requestInfo=U2FsdGVkX1_07RtMycCE2z0NRHk078y__QTjO5i3Kqo12dfTWWc5Dv9u7nmN4VBkk9OsHIY_gzDn9uaJr63Hu_0UOt0BhpzWyxuVee71ICIT4DuDZ4KtoY7HiWe5RdQz6M9fNYSsGlryNPNWQRxmsA&response-X-Checksum-Sha1=456e9f76ef40ed86c889b1191d9ffdf7d9ed43b5&response-X-Checksum-Sha2=5febe3dbf8e63fd96fc2da057228974c92922d0edd2f52d246af0656025c7068
==> Pouring protobuf-3.5.0.high_sierra.bottle.tar.gz
The formula built, but is not symlinked into /usr/local
Could not symlink bin/protoc
Target /usr/local/bin/protoc
already exists. You may want to remove it:
rm โ/usr/local/bin/protocโ
To force the link and overwrite all conflicting files:
brew link --overwrite protobuf
To list all files that would be deleted:
brew link --overwrite --dry-run protobuf
Possible conflicting files are:
/usr/local/bin/protoc
==> Caveats
Editor support and examples have been installed to:
/usr/local/opt/protobuf/share/doc/protobuf
Python modules have been installed and Homebrewโs site-packages is not
in your Python sys.path, so you will not be able to import the modules
this formula installed. If you plan to develop with these modules,
please run:
mkdir -p /var/it/Library/Python/2.7/lib/python/site-packages
echo โimport site; site.addsitedir(โ/usr/local/lib/python2.7/site-packagesโ)โ >> /var/it/Library/Python/2.7/lib/python/site-packages/homebrew.pth
==> Summary
๐บ /usr/local/Cellar/protobuf/3.5.0: 262 files, 18.0MB
/opt/puppetlabs/puppet/cache/lib/puppet/provider/package/brew.rb:114:in `rescue in installโ
/opt/puppetlabs/puppet/cache/lib/puppet/provider/package/brew.rb:104:in `installโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/package.rb:88:in `block (3 levels) in <module:Puppet>'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:487:in `setโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:561:in `syncโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:236:in `syncโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:134:in `sync_if_neededโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:80:in `perform_changesโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:230:in `applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:246:in `eval_resourceโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `callโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `block (2 levels) in evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:386:in `block in thinmarkโ
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:385:in `thinmarkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `block in evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:118:in `traverseโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:154:in `evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:222:in `block in applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:155:in `with_destinationโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:142:in `as_logging_destinationโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:221:in `applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:171:in `block in apply_catalogโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:223:in `block in benchmarkโ
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:222:in `benchmarkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:170:in `apply_catalogโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:343:in `run_internalโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:221:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `overrideโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:241:in `overrideโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:195:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (4 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lockโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (3 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:98:in `with_clientโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `block (2 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:65:in `run_in_forkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:41:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `callโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:39:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:353:in `onetimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:331:in `run_commandโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:540:in `exit_on_failโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `executeโ
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
Error: /Package[protobuf]: Could not evaluate: Puppet::Util::Log requires a message
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:348:in `message='
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:278:in `initializeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:87:in `newโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:87:in `createโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:12:in `send_logโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/event.rb:81:in `send_logโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:163:in `ensure in sync_if_neededโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:164:in `sync_if_neededโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:80:in `perform_changesโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:230:in `applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:246:in `eval_resourceโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `callโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `block (2 levels) in evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:386:in `block in thinmarkโ
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:385:in `thinmarkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `block in evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:118:in `traverseโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:154:in `evaluateโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:222:in `block in applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:155:in `with_destinationโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:142:in `as_logging_destinationโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:221:in `applyโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:171:in `block in apply_catalogโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:223:in `block in benchmarkโ
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:222:in `benchmarkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:170:in `apply_catalogโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:343:in `run_internalโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:221:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `overrideโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:241:in `overrideโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:195:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (4 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lockโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (3 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:98:in `with_clientโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `block (2 levels) in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:65:in `run_in_forkโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:41:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `callโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:39:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:353:in `onetimeโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:331:in `run_commandโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:540:in `exit_on_failโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `runโ
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `executeโ
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
The error is in this line https://github.com/TheKevJames/puppet-homebrew/blob/master/lib/puppet/provider/package/brew.rb#L113
We should parse the message and accept it as a warning instead of a failure.
I can't install the java package using brew cask. I get the following error:
Error: /Stage[main]/Profiles::Common::Darwin/Package[java]: Could not evaluate: invalid number of elements (4 for 1..2)
If I run manually brew cask install java
works just fine.
Another error I've noticed is that Python doesn't get installed, maybe because detects that mac already have another Python installed but again, doing a brew install python
works just fine. Is just when using puppet with this modules that doesn't work.
Does anyone else have the same problem? I'm trying on fresh installed MacMinis running el Capitan with all the latest updates/Xcode.
If I install a Tap, it should be ordered by Puppet to install before anything of a normal "package" or "cask" type; otherwise, I regularly get into the situation where Puppet tries to install a package before the tap that provides it has been installed, which necessitates running Puppet again. In some of my larger provisioning operations (for lab workstations--dozens of custom taps for locally-hosted software), I have to run puppet 5 or 6 times to get everything green.
If "tap" were its own Puppet resource type, rather than a thin descendant of Package, it would be possible to do something like this in the provider code (or in site.pp, if you want it to be opt-in):
Homebrew::Tap <| |> -> Package <| |>
For brevity, we currently set 0755 on all of /usr/local
. This "works" but causes some files to be marked as modified in brew's git status. Those files should be marked with the correct permissions (0644, probably).
Big output of git status
in /usr/local
attached:
On branch master
Changes not staged for commit:
modified: .github/CONTRIBUTING.md
modified: .github/ISSUE_TEMPLATE.md
modified: .github/PULL_REQUEST_TEMPLATE.md
modified: .gitignore
modified: .travis.yml
modified: .yardopts
modified: CODEOFCONDUCT.md
modified: LICENSE.txt
modified: Library/.editorconfig
modified: Library/.rubocop.yml
modified: Library/Homebrew/README.md
modified: Library/Homebrew/blacklist.rb
modified: Library/Homebrew/brew.rb
modified: Library/Homebrew/brew.sh
modified: Library/Homebrew/build.rb
modified: Library/Homebrew/build_environment.rb
modified: Library/Homebrew/build_options.rb
modified: Library/Homebrew/cask/.gitattributes
modified: Library/Homebrew/cask/.gitignore
modified: Library/Homebrew/cask/.rspec
modified: Library/Homebrew/cask/.rubocop.yml
modified: Library/Homebrew/cask/.simplecov
modified: Library/Homebrew/cask/CONDUCT.md
modified: Library/Homebrew/cask/CONTRIBUTING.md
modified: Library/Homebrew/cask/Gemfile
modified: Library/Homebrew/cask/Gemfile.lock
modified: Library/Homebrew/cask/LICENSE
modified: Library/Homebrew/cask/README.md
modified: Library/Homebrew/cask/Rakefile
modified: Library/Homebrew/cask/USAGE.md
modified: Library/Homebrew/cask/doc/cask_language_reference/all_stanzas.md
modified: Library/Homebrew/cask/doc/cask_language_reference/readme.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/app.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/appcast.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/caveats.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/conflicts_with.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/depends_on.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/flight.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/gpg.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/installer.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/license.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/name.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/pkg.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/sha256.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/suite.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/uninstall.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/url.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/version.md
modified: Library/Homebrew/cask/doc/cask_language_reference/stanzas/zap.md
modified: Library/Homebrew/cask/doc/cask_language_reference/token_reference.md
modified: Library/Homebrew/cask/doc/development/adding_a_cask.md
modified: Library/Homebrew/cask/doc/development/hacking.md
modified: Library/Homebrew/cask/doc/development/maintaining.md
modified: Library/Homebrew/cask/doc/faq/apps_with_malware.md
modified: Library/Homebrew/cask/doc/faq/not_a_discoverability_service.md
modified: Library/Homebrew/cask/doc/faq/rejected_casks.md
modified: Library/Homebrew/cask/doc/issue_templates/bug_report.md
modified: Library/Homebrew/cask/doc/issue_templates/cask_request.md
modified: Library/Homebrew/cask/doc/issue_templates/feature_request.md
modified: Library/Homebrew/cask/doc/issue_templates/issue_dead_app.md
modified: Library/Homebrew/cask/doc/issue_templates/issue_outdated_cask.md
modified: Library/Homebrew/cask/doc/issue_templates/issue_outdated_cask_but_cannot_find_link.md
modified: Library/Homebrew/cask/doc/issue_templates/issue_source_not_there_and_cannot_find_it.md
modified: Library/Homebrew/cask/doc/readme.md
modified: Library/Homebrew/cask/doc/reporting_bugs/a_cask_fails_to_install.md
modified: Library/Homebrew/cask/doc/reporting_bugs/brew_cask_list_shows_wrong_information.md
modified: Library/Homebrew/cask/doc/reporting_bugs/curl_error_fix_curlrc.md
modified: Library/Homebrew/cask/doc/reporting_bugs/curl_error_fix_no_download.md
modified: Library/Homebrew/cask/doc/reporting_bugs/curl_error_fix_outdated.md
modified: Library/Homebrew/cask/doc/reporting_bugs/curl_error_fix_vendor.md
modified: Library/Homebrew/cask/doc/reporting_bugs/curl_error_fix_wont_fix.md
modified: Library/Homebrew/cask/doc/reporting_bugs/permission_denied_error_fix_appdir.md
modified: Library/Homebrew/cask/doc/reporting_bugs/permission_denied_error_fix_bundle.md
modified: Library/Homebrew/cask/doc/reporting_bugs/pre_bug_report.md
modified: Library/Homebrew/cask/doc/reporting_bugs/sha256_mismatch_error_fix_icomplete.md
modified: Library/Homebrew/cask/doc/reporting_bugs/sha256_mismatch_error_fix_outdated.md
modified: Library/Homebrew/cask/doc/reporting_bugs/source_is_not_there_fix.md
modified: Library/Homebrew/cask/doc/reporting_bugs/uninstall_wrongly_reports_cask_as_not_installed.md
modified: Library/Homebrew/cask/lib/hbc.rb
modified: Library/Homebrew/cask/lib/hbc/artifact.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/abstract_flight_block.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/app.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/artifact.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/audio_unit_plugin.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/base.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/binary.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/colorpicker.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/font.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/input_method.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/installer.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/internet_plugin.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/moved.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/nested_container.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/pkg.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/postflight_block.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/preflight_block.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/prefpane.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/qlplugin.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/relocated.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/screen_saver.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/service.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/stage_only.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/suite.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/symlinked.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/uninstall.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/vst3_plugin.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/vst_plugin.rb
modified: Library/Homebrew/cask/lib/hbc/artifact/zap.rb
modified: Library/Homebrew/cask/lib/hbc/audit.rb
modified: Library/Homebrew/cask/lib/hbc/auditor.rb
modified: Library/Homebrew/cask/lib/hbc/cache.rb
modified: Library/Homebrew/cask/lib/hbc/cask.rb
modified: Library/Homebrew/cask/lib/hbc/cask_dependencies.rb
modified: Library/Homebrew/cask/lib/hbc/caskroom.rb
modified: Library/Homebrew/cask/lib/hbc/caveats.rb
modified: Library/Homebrew/cask/lib/hbc/checkable.rb
modified: Library/Homebrew/cask/lib/hbc/cli.rb
modified: Library/Homebrew/cask/lib/hbc/cli/audit.rb
modified: Library/Homebrew/cask/lib/hbc/cli/base.rb
modified: Library/Homebrew/cask/lib/hbc/cli/cat.rb
modified: Library/Homebrew/cask/lib/hbc/cli/cleanup.rb
modified: Library/Homebrew/cask/lib/hbc/cli/create.rb
modified: Library/Homebrew/cask/lib/hbc/cli/doctor.rb
modified: Library/Homebrew/cask/lib/hbc/cli/edit.rb
modified: Library/Homebrew/cask/lib/hbc/cli/fetch.rb
modified: Library/Homebrew/cask/lib/hbc/cli/home.rb
modified: Library/Homebrew/cask/lib/hbc/cli/info.rb
modified: Library/Homebrew/cask/lib/hbc/cli/install.rb
modified: Library/Homebrew/cask/lib/hbc/cli/internal_audit_modified_casks.rb
modified: Library/Homebrew/cask/lib/hbc/cli/internal_checkurl.rb
modified: Library/Homebrew/cask/lib/hbc/cli/internal_dump.rb
modified: Library/Homebrew/cask/lib/hbc/cli/internal_help.rb
modified: Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb
modified: Library/Homebrew/cask/lib/hbc/cli/internal_use_base.rb
modified: Library/Homebrew/cask/lib/hbc/cli/list.rb
modified: Library/Homebrew/cask/lib/hbc/cli/search.rb
modified: Library/Homebrew/cask/lib/hbc/cli/style.rb
modified: Library/Homebrew/cask/lib/hbc/cli/uninstall.rb
modified: Library/Homebrew/cask/lib/hbc/cli/update.rb
modified: Library/Homebrew/cask/lib/hbc/cli/zap.rb
modified: Library/Homebrew/cask/lib/hbc/container.rb
modified: Library/Homebrew/cask/lib/hbc/container/air.rb
modified: Library/Homebrew/cask/lib/hbc/container/base.rb
modified: Library/Homebrew/cask/lib/hbc/container/bzip2.rb
modified: Library/Homebrew/cask/lib/hbc/container/cab.rb
modified: Library/Homebrew/cask/lib/hbc/container/criteria.rb
modified: Library/Homebrew/cask/lib/hbc/container/dmg.rb
modified: Library/Homebrew/cask/lib/hbc/container/generic_unar.rb
modified: Library/Homebrew/cask/lib/hbc/container/gzip.rb
modified: Library/Homebrew/cask/lib/hbc/container/lzma.rb
modified: Library/Homebrew/cask/lib/hbc/container/naked.rb
modified: Library/Homebrew/cask/lib/hbc/container/otf.rb
modified: Library/Homebrew/cask/lib/hbc/container/pkg.rb
modified: Library/Homebrew/cask/lib/hbc/container/rar.rb
modified: Library/Homebrew/cask/lib/hbc/container/seven_zip.rb
modified: Library/Homebrew/cask/lib/hbc/container/sit.rb
modified: Library/Homebrew/cask/lib/hbc/container/tar.rb
modified: Library/Homebrew/cask/lib/hbc/container/ttf.rb
modified: Library/Homebrew/cask/lib/hbc/container/xar.rb
modified: Library/Homebrew/cask/lib/hbc/container/xip.rb
modified: Library/Homebrew/cask/lib/hbc/container/xz.rb
modified: Library/Homebrew/cask/lib/hbc/container/zip.rb
modified: Library/Homebrew/cask/lib/hbc/download.rb
modified: Library/Homebrew/cask/lib/hbc/download_strategy.rb
modified: Library/Homebrew/cask/lib/hbc/dsl.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/appcast.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/base.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/caveats.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/conflicts_with.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/container.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/depends_on.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/gpg.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/installer.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/license.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/postflight.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/preflight.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/stanza_proxy.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/uninstall_postflight.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/uninstall_preflight.rb
modified: Library/Homebrew/cask/lib/hbc/dsl/version.rb
modified: Library/Homebrew/cask/lib/hbc/exceptions.rb
modified: Library/Homebrew/cask/lib/hbc/extend.rb
modified: Library/Homebrew/cask/lib/hbc/extend/hash.rb
modified: Library/Homebrew/cask/lib/hbc/extend/io.rb
modified: Library/Homebrew/cask/lib/hbc/extend/optparse.rb
modified: Library/Homebrew/cask/lib/hbc/extend/string.rb
modified: Library/Homebrew/cask/lib/hbc/fetcher.rb
modified: Library/Homebrew/cask/lib/hbc/installer.rb
modified: Library/Homebrew/cask/lib/hbc/locations.rb
modified: Library/Homebrew/cask/lib/hbc/macos.rb
modified: Library/Homebrew/cask/lib/hbc/options.rb
modified: Library/Homebrew/cask/lib/hbc/pkg.rb
modified: Library/Homebrew/cask/lib/hbc/qualified_token.rb
modified: Library/Homebrew/cask/lib/hbc/scopes.rb
modified: Library/Homebrew/cask/lib/hbc/source.rb
modified: Library/Homebrew/cask/lib/hbc/source/gone.rb
modified: Library/Homebrew/cask/lib/hbc/source/path_base.rb
modified: Library/Homebrew/cask/lib/hbc/source/path_slash_optional.rb
modified: Library/Homebrew/cask/lib/hbc/source/path_slash_required.rb
modified: Library/Homebrew/cask/lib/hbc/source/tapped.rb
modified: Library/Homebrew/cask/lib/hbc/source/tapped_qualified.rb
modified: Library/Homebrew/cask/lib/hbc/source/untapped_qualified.rb
modified: Library/Homebrew/cask/lib/hbc/source/uri.rb
modified: Library/Homebrew/cask/lib/hbc/staged.rb
modified: Library/Homebrew/cask/lib/hbc/system_command.rb
modified: Library/Homebrew/cask/lib/hbc/topological_hash.rb
modified: Library/Homebrew/cask/lib/hbc/underscore_supporting_uri.rb
modified: Library/Homebrew/cask/lib/hbc/url.rb
modified: Library/Homebrew/cask/lib/hbc/url_checker.rb
modified: Library/Homebrew/cask/lib/hbc/utils.rb
modified: Library/Homebrew/cask/lib/hbc/utils/file.rb
modified: Library/Homebrew/cask/lib/hbc/verify.rb
modified: Library/Homebrew/cask/lib/hbc/verify/checksum.rb
modified: Library/Homebrew/cask/lib/hbc/verify/gpg.rb
modified: Library/Homebrew/cask/lib/hbc/version.rb
modified: Library/Homebrew/cask/lib/hbc/without_source.rb
modified: Library/Homebrew/cask/spec/cask/artifact/binary_spec.rb
modified: Library/Homebrew/cask/spec/cask/audit_spec.rb
modified: Library/Homebrew/cask/spec/cask/cask_spec.rb
modified: Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb
modified: Library/Homebrew/cask/spec/cask/cli/doctor_spec.rb
modified: Library/Homebrew/cask/spec/cask/cli/style_spec.rb
modified: Library/Homebrew/cask/spec/cask/cli_spec.rb
modified: Library/Homebrew/cask/spec/cask/download_strategy_spec.rb
modified: Library/Homebrew/cask/spec/cask/dsl/stanza_proxy_spec.rb
modified: Library/Homebrew/cask/spec/cask/dsl/version_spec.rb
modified: Library/Homebrew/cask/spec/cask/macos_spec.rb
modified: Library/Homebrew/cask/spec/cask/scopes_spec.rb
modified: Library/Homebrew/cask/spec/cask/system_command_result_spec.rb
modified: Library/Homebrew/cask/spec/cask/system_command_spec.rb
modified: Library/Homebrew/cask/spec/cask/underscore_supporting_uri_spec.rb
modified: Library/Homebrew/cask/spec/cask/verify/checksum_spec.rb
modified: Library/Homebrew/cask/spec/cask/verify_spec.rb
modified: Library/Homebrew/cask/spec/spec_helper.rb
modified: Library/Homebrew/cask/spec/support/Casks/appcast-checkpoint-sha256-for-empty-string.rb
modified: Library/Homebrew/cask/spec/support/Casks/appcast-invalid-checkpoint.rb
modified: Library/Homebrew/cask/spec/support/Casks/appcast-missing-checkpoint.rb
modified: Library/Homebrew/cask/spec/support/Casks/appcast-valid-checkpoint.rb
modified: Library/Homebrew/cask/spec/support/Casks/booby-trap.rb
modified: Library/Homebrew/cask/spec/support/Casks/generic-artifact-absolute-target.rb
modified: Library/Homebrew/cask/spec/support/Casks/generic-artifact-no-target.rb
modified: Library/Homebrew/cask/spec/support/Casks/generic-artifact-relative-target.rb
modified: Library/Homebrew/cask/spec/support/Casks/invalid-sha256.rb
modified: Library/Homebrew/cask/spec/support/Casks/missing-homepage.rb
modified: Library/Homebrew/cask/spec/support/Casks/missing-license.rb
modified: Library/Homebrew/cask/spec/support/Casks/missing-name.rb
modified: Library/Homebrew/cask/spec/support/Casks/missing-sha256.rb
modified: Library/Homebrew/cask/spec/support/Casks/missing-url.rb
modified: Library/Homebrew/cask/spec/support/Casks/missing-version.rb
modified: Library/Homebrew/cask/spec/support/Casks/osdn-correct-url-format.rb
modified: Library/Homebrew/cask/spec/support/Casks/osdn-incorrect-url-format.rb
modified: Library/Homebrew/cask/spec/support/Casks/sha256-for-empty-string.rb
modified: Library/Homebrew/cask/spec/support/Casks/sourceforge-correct-url-format.rb
modified: Library/Homebrew/cask/spec/support/Casks/sourceforge-incorrect-url-format.rb
modified: Library/Homebrew/cask/spec/support/Casks/sourceforge-version-latest-correct-url-format.rb
modified: Library/Homebrew/cask/spec/support/Casks/version-latest-string.rb
modified: Library/Homebrew/cask/spec/support/Casks/version-latest-with-checksum.rb
modified: Library/Homebrew/cask/spec/support/Casks/with-binary.rb
modified: Library/Homebrew/cask/spec/support/Casks/with-embedded-binary.rb
modified: Library/Homebrew/cask/spec/support/audit_matchers.rb
modified: Library/Homebrew/cask/spec/support/binaries/AppWithBinary.zip
modified: Library/Homebrew/cask/spec/support/binaries/AppWithEmbeddedBinary.zip
modified: Library/Homebrew/cask/spec/support/env_helper.rb
modified: Library/Homebrew/cask/spec/support/expectations_hash_helper.rb
modified: Library/Homebrew/cask/spec/support/file_helper.rb
modified: Library/Homebrew/cask/spec/support/install_helper.rb
modified: Library/Homebrew/cask/spec/support/kernel_at_exit_hacks.rb
modified: Library/Homebrew/cask/spec/support/sha256_helper.rb
modified: Library/Homebrew/cask/test/Casks/compliance_test.rb
modified: Library/Homebrew/cask/test/README.md
modified: Library/Homebrew/cask/test/cask/accessibility_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/alt_target_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/app_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/generic_artifact_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/nested_container_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/pkg_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/postflight_block_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/preflight_block_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/suite_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/two_apps_correct_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/two_apps_incorrect_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/uninstall_test.rb
modified: Library/Homebrew/cask/test/cask/artifact/zap_test.rb
modified: Library/Homebrew/cask/test/cask/cli/audit_test.rb
modified: Library/Homebrew/cask/test/cask/cli/cat_test.rb
modified: Library/Homebrew/cask/test/cask/cli/create_test.rb
modified: Library/Homebrew/cask/test/cask/cli/edit_test.rb
modified: Library/Homebrew/cask/test/cask/cli/fetch_test.rb
modified: Library/Homebrew/cask/test/cask/cli/home_test.rb
modified: Library/Homebrew/cask/test/cask/cli/info_test.rb
modified: Library/Homebrew/cask/test/cask/cli/install_test.rb
modified: Library/Homebrew/cask/test/cask/cli/list_test.rb
modified: Library/Homebrew/cask/test/cask/cli/options_test.rb
modified: Library/Homebrew/cask/test/cask/cli/search_test.rb
modified: Library/Homebrew/cask/test/cask/cli/uninstall_test.rb
modified: Library/Homebrew/cask/test/cask/cli/version_test.rb
modified: Library/Homebrew/cask/test/cask/cli/zap_test.rb
modified: Library/Homebrew/cask/test/cask/container/dmg_test.rb
modified: Library/Homebrew/cask/test/cask/container/naked_test.rb
modified: Library/Homebrew/cask/test/cask/depends_on_test.rb
modified: Library/Homebrew/cask/test/cask/dsl/caveats_test.rb
modified: Library/Homebrew/cask/test/cask/dsl/postflight_test.rb
modified: Library/Homebrew/cask/test/cask/dsl/preflight_test.rb
modified: Library/Homebrew/cask/test/cask/dsl/uninstall_postflight_test.rb
modified: Library/Homebrew/cask/test/cask/dsl/uninstall_preflight_test.rb
modified: Library/Homebrew/cask/test/cask/dsl_test.rb
modified: Library/Homebrew/cask/test/cask/installer_test.rb
modified: Library/Homebrew/cask/test/cask/pkg_test.rb
modified: Library/Homebrew/cask/test/cask/staged_test.rb
modified: Library/Homebrew/cask/test/cask/url_checker_test.rb
modified: Library/Homebrew/cask/test/cask_test.rb
modified: Library/Homebrew/cask/test/plist/parser_test.rb
modified: Library/Homebrew/cask/test/support/Casks/appdir-interpolation.rb
modified: Library/Homebrew/cask/test/support/Casks/auto-updates.rb
modified: Library/Homebrew/cask/test/support/Casks/bad-checksum.rb
modified: Library/Homebrew/cask/test/support/Casks/basic-cask.rb
modified: Library/Homebrew/cask/test/support/Casks/container-7z.rb
modified: Library/Homebrew/cask/test/support/Casks/container-air.rb
modified: Library/Homebrew/cask/test/support/Casks/container-bzip2.rb
modified: Library/Homebrew/cask/test/support/Casks/container-cab.rb
modified: Library/Homebrew/cask/test/support/Casks/container-dmg.rb
modified: Library/Homebrew/cask/test/support/Casks/container-gzip.rb
modified: Library/Homebrew/cask/test/support/Casks/container-lzma.rb
modified: Library/Homebrew/cask/test/support/Casks/container-pkg.rb
modified: Library/Homebrew/cask/test/support/Casks/container-rar.rb
modified: Library/Homebrew/cask/test/support/Casks/container-sit.rb
modified: Library/Homebrew/cask/test/support/Casks/container-tar-gz.rb
modified: Library/Homebrew/cask/test/support/Casks/container-xar.rb
modified: Library/Homebrew/cask/test/support/Casks/container-xz.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-appcast-multiple.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-appcast-url.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-conflicts-with-key.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-depends-on-arch-value.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-depends-on-key.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-depends-on-macos-bad-release.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-depends-on-macos-conflicting-forms.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-depends-on-x11-value.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-conflicting-keys.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-key-id.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-key-url.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-missing-key.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-multiple-stanzas.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-parameter.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-signature-url.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-gpg-type.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-header-format.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-header-token-mismatch.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-header-version.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-license-multiple.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-license-value.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-stage-only-conflict.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-two-homepage.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-two-url.rb
modified: Library/Homebrew/cask/test/support/Casks/invalid/invalid-two-version.rb
modified: Library/Homebrew/cask/test/support/Casks/local-caffeine.rb
modified: Library/Homebrew/cask/test/support/Casks/local-transmission.rb
modified: Library/Homebrew/cask/test/support/Casks/missing-checksum.rb
modified: Library/Homebrew/cask/test/support/Casks/naked-executable.rb
modified: Library/Homebrew/cask/test/support/Casks/nested-app.rb
modified: Library/Homebrew/cask/test/support/Casks/no-checksum.rb
modified: Library/Homebrew/cask/test/support/Casks/no-dsl-version.rb
modified: Library/Homebrew/cask/test/support/Casks/stage-only.rb
modified: Library/Homebrew/cask/test/support/Casks/test-opera-mail.rb
modified: Library/Homebrew/cask/test/support/Casks/test-opera.rb
modified: Library/Homebrew/cask/test/support/Casks/with-accessibility-access.rb
modified: Library/Homebrew/cask/test/support/Casks/with-alt-target.rb
modified: Library/Homebrew/cask/test/support/Casks/with-appcast.rb
modified: Library/Homebrew/cask/test/support/Casks/with-caveats.rb
modified: Library/Homebrew/cask/test/support/Casks/with-conditional-caveats.rb
modified: Library/Homebrew/cask/test/support/Casks/with-conflicts-with.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-arch-failure.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-arch.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-cask-cyclic-helper.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-cask-cyclic.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-cask-multiple.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-cask.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-formula-multiple.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-formula.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-macos-array.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-macos-comparison.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-macos-failure.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-macos-string.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-macos-symbol.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-x11-false.rb
modified: Library/Homebrew/cask/test/support/Casks/with-depends-on-x11.rb
modified: Library/Homebrew/cask/test/support/Casks/with-generic-artifact-no-target.rb
modified: Library/Homebrew/cask/test/support/Casks/with-generic-artifact.rb
modified: Library/Homebrew/cask/test/support/Casks/with-gpg-key-url.rb
modified: Library/Homebrew/cask/test/support/Casks/with-gpg.rb
modified: Library/Homebrew/cask/test/support/Casks/with-installable.rb
modified: Library/Homebrew/cask/test/support/Casks/with-installer-manual.rb
modified: Library/Homebrew/cask/test/support/Casks/with-installer-script.rb
modified: Library/Homebrew/cask/test/support/Casks/with-license.rb
modified: Library/Homebrew/cask/test/support/Casks/with-macosx-dir.rb
modified: Library/Homebrew/cask/test/support/Casks/with-pkgutil-zap.rb
modified: Library/Homebrew/cask/test/support/Casks/with-suite.rb
modified: Library/Homebrew/cask/test/support/Casks/with-two-apps-correct.rb
modified: Library/Homebrew/cask/test/support/Casks/with-two-apps-incorrect.rb
modified: Library/Homebrew/cask/test/support/Casks/with-two-apps-subdir.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-delete.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-early-script.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-kext.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-launchctl.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-login-item.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-pkgutil.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-quit.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-rmdir.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-script.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-signal.rb
modified: Library/Homebrew/cask/test/support/Casks/with-uninstall-trash.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-delete.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-early-script.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-kext.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-launchctl.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-login-item.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-pkgutil.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-quit.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-rmdir.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-script.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-signal.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap-trash.rb
modified: Library/Homebrew/cask/test/support/Casks/with-zap.rb
modified: Library/Homebrew/cask/test/support/binaries/MyFancyApp.zip
modified: Library/Homebrew/cask/test/support/binaries/MyFancyPkg.zip
modified: Library/Homebrew/cask/test/support/binaries/NestedApp.dmg.zip
modified: Library/Homebrew/cask/test/support/binaries/caffeine-suite.zip
modified: Library/Homebrew/cask/test/support/binaries/caffeine.zip
modified: Library/Homebrew/cask/test/support/binaries/caffeines-subdir.zip
modified: Library/Homebrew/cask/test/support/binaries/caffeines.zip
modified: Library/Homebrew/cask/test/support/binaries/container.7z
modified: Library/Homebrew/cask/test/support/binaries/container.air
modified: Library/Homebrew/cask/test/support/binaries/container.cab
modified: Library/Homebrew/cask/test/support/binaries/container.dmg
modified: Library/Homebrew/cask/test/support/binaries/container.pkg
modified: Library/Homebrew/cask/test/support/binaries/container.rar
modified: Library/Homebrew/cask/test/support/binaries/container.tar.gz
modified: Library/Homebrew/cask/test/support/binaries/container.xar
modified: Library/Homebrew/cask/test/support/binaries/empty_directory/.gitignore
modified: Library/Homebrew/cask/test/support/binaries/transmission-2.61.dmg
modified: Library/Homebrew/cask/test/support/cleanup.rb
modified: Library/Homebrew/cask/test/support/fake_dirs.rb
modified: Library/Homebrew/cask/test/support/fake_fetcher.rb
modified: Library/Homebrew/cask/test/support/fake_system_command.rb
modified: Library/Homebrew/cask/test/support/never_sudo_system_command.rb
modified: Library/Homebrew/cask/test/support/shared_examples.rb
modified: Library/Homebrew/cask/test/support/shared_examples/dsl_base.rb
modified: Library/Homebrew/cask/test/support/shared_examples/staged.rb
modified: Library/Homebrew/cask/test/syntax_test.rb
modified: Library/Homebrew/cask/test/test_helper.rb
modified: Library/Homebrew/caveats.rb
modified: Library/Homebrew/checksum.rb
modified: Library/Homebrew/cleaner.rb
modified: Library/Homebrew/cleanup.rb
modified: Library/Homebrew/cmd/--cache.rb
modified: Library/Homebrew/cmd/--cellar.rb
modified: Library/Homebrew/cmd/--env.rb
modified: Library/Homebrew/cmd/--prefix.rb
modified: Library/Homebrew/cmd/--repository.rb
modified: Library/Homebrew/cmd/--version.rb
modified: Library/Homebrew/cmd/analytics.rb
modified: Library/Homebrew/cmd/audit.rb
modified: Library/Homebrew/cmd/bottle.rb
modified: Library/Homebrew/cmd/cat.rb
modified: Library/Homebrew/cmd/cleanup.rb
modified: Library/Homebrew/cmd/command.rb
modified: Library/Homebrew/cmd/commands.rb
modified: Library/Homebrew/cmd/config.rb
modified: Library/Homebrew/cmd/create.rb
modified: Library/Homebrew/cmd/deps.rb
modified: Library/Homebrew/cmd/desc.rb
modified: Library/Homebrew/cmd/diy.rb
modified: Library/Homebrew/cmd/doctor.rb
modified: Library/Homebrew/cmd/edit.rb
modified: Library/Homebrew/cmd/fetch.rb
modified: Library/Homebrew/cmd/gist-logs.rb
modified: Library/Homebrew/cmd/help.rb
modified: Library/Homebrew/cmd/home.rb
modified: Library/Homebrew/cmd/info.rb
modified: Library/Homebrew/cmd/install.rb
modified: Library/Homebrew/cmd/irb.rb
modified: Library/Homebrew/cmd/leaves.rb
modified: Library/Homebrew/cmd/link.rb
modified: Library/Homebrew/cmd/linkapps.rb
modified: Library/Homebrew/cmd/list.rb
modified: Library/Homebrew/cmd/log.rb
modified: Library/Homebrew/cmd/man.rb
modified: Library/Homebrew/cmd/migrate.rb
modified: Library/Homebrew/cmd/missing.rb
modified: Library/Homebrew/cmd/options.rb
modified: Library/Homebrew/cmd/outdated.rb
modified: Library/Homebrew/cmd/pin.rb
modified: Library/Homebrew/cmd/postinstall.rb
modified: Library/Homebrew/cmd/prune.rb
modified: Library/Homebrew/cmd/pull.rb
modified: Library/Homebrew/cmd/readall.rb
modified: Library/Homebrew/cmd/reinstall.rb
modified: Library/Homebrew/cmd/search.rb
modified: Library/Homebrew/cmd/sh.rb
modified: Library/Homebrew/cmd/style.rb
modified: Library/Homebrew/cmd/switch.rb
modified: Library/Homebrew/cmd/tap-info.rb
modified: Library/Homebrew/cmd/tap-pin.rb
modified: Library/Homebrew/cmd/tap-readme.rb
modified: Library/Homebrew/cmd/tap-unpin.rb
modified: Library/Homebrew/cmd/tap.rb
modified: Library/Homebrew/cmd/test.rb
modified: Library/Homebrew/cmd/tests.rb
modified: Library/Homebrew/cmd/uninstall.rb
modified: Library/Homebrew/cmd/unlink.rb
modified: Library/Homebrew/cmd/unlinkapps.rb
modified: Library/Homebrew/cmd/unpack.rb
modified: Library/Homebrew/cmd/unpin.rb
modified: Library/Homebrew/cmd/untap.rb
modified: Library/Homebrew/cmd/update-report.rb
modified: Library/Homebrew/cmd/update.sh
modified: Library/Homebrew/cmd/upgrade.rb
modified: Library/Homebrew/cmd/uses.rb
modified: Library/Homebrew/cmd/vendor-install.sh
modified: Library/Homebrew/compat.rb
modified: Library/Homebrew/compat/.rubocop.yml
modified: Library/Homebrew/compat/dependency_collector.rb
modified: Library/Homebrew/compat/download_strategy.rb
modified: Library/Homebrew/compat/fails_with_llvm.rb
modified: Library/Homebrew/compat/formula.rb
modified: Library/Homebrew/compat/formula_specialties.rb
modified: Library/Homebrew/compat/hardware.rb
modified: Library/Homebrew/compat/keg.rb
modified: Library/Homebrew/compat/language/haskell.rb
modified: Library/Homebrew/compat/macos.rb
modified: Library/Homebrew/compat/md5.rb
modified: Library/Homebrew/compat/pathname.rb
modified: Library/Homebrew/compat/requirements.rb
modified: Library/Homebrew/compat/sha1.rb
modified: Library/Homebrew/compat/software_spec.rb
modified: Library/Homebrew/compat/tap.rb
modified: Library/Homebrew/compat/version.rb
modified: Library/Homebrew/compat/xcode.rb
modified: Library/Homebrew/compilers.rb
modified: Library/Homebrew/config.rb
modified: Library/Homebrew/cxxstdlib.rb
modified: Library/Homebrew/debrew.rb
modified: Library/Homebrew/debrew/irb.rb
modified: Library/Homebrew/dependable.rb
modified: Library/Homebrew/dependencies.rb
modified: Library/Homebrew/dependency.rb
modified: Library/Homebrew/dependency_collector.rb
modified: Library/Homebrew/descriptions.rb
modified: Library/Homebrew/dev-cmd/aspell-dictionaries.rb
modified: Library/Homebrew/dev-cmd/boneyard-formula-pr.rb
modified: Library/Homebrew/dev-cmd/bump-formula-pr.rb
modified: Library/Homebrew/dev-cmd/linkage.rb
modified: Library/Homebrew/dev-cmd/mirror.rb
modified: Library/Homebrew/dev-cmd/test-bot.rb
modified: Library/Homebrew/dev-cmd/update-test.rb
modified: Library/Homebrew/development_tools.rb
modified: Library/Homebrew/diagnostic.rb
modified: Library/Homebrew/download_strategy.rb
modified: Library/Homebrew/emoji.rb
modified: Library/Homebrew/exceptions.rb
modified: Library/Homebrew/extend/ARGV.rb
modified: Library/Homebrew/extend/ENV.rb
modified: Library/Homebrew/extend/ENV/shared.rb
modified: Library/Homebrew/extend/ENV/std.rb
modified: Library/Homebrew/extend/ENV/super.rb
modified: Library/Homebrew/extend/enumerable.rb
modified: Library/Homebrew/extend/fileutils.rb
modified: Library/Homebrew/extend/git_repository.rb
modified: Library/Homebrew/extend/module.rb
modified: Library/Homebrew/extend/os/blacklist.rb
modified: Library/Homebrew/extend/os/bottles.rb
modified: Library/Homebrew/extend/os/cleaner.rb
modified: Library/Homebrew/extend/os/development_tools.rb
modified: Library/Homebrew/extend/os/diagnostic.rb
modified: Library/Homebrew/extend/os/emoji.rb
modified: Library/Homebrew/extend/os/extend/ENV/shared.rb
modified: Library/Homebrew/extend/os/extend/ENV/std.rb
modified: Library/Homebrew/extend/os/extend/ENV/super.rb
modified: Library/Homebrew/extend/os/formula_cellar_checks.rb
modified: Library/Homebrew/extend/os/hardware.rb
modified: Library/Homebrew/extend/os/keg_relocate.rb
modified: Library/Homebrew/extend/os/linux/hardware/cpu.rb
modified: Library/Homebrew/extend/os/mac/blacklist.rb
modified: Library/Homebrew/extend/os/mac/cleaner.rb
modified: Library/Homebrew/extend/os/mac/development_tools.rb
modified: Library/Homebrew/extend/os/mac/diagnostic.rb
modified: Library/Homebrew/extend/os/mac/emoji.rb
modified: Library/Homebrew/extend/os/mac/extend/ENV/shared.rb
modified: Library/Homebrew/extend/os/mac/extend/ENV/std.rb
modified: Library/Homebrew/extend/os/mac/extend/ENV/super.rb
modified: Library/Homebrew/extend/os/mac/formula_cellar_checks.rb
modified: Library/Homebrew/extend/os/mac/hardware/cpu.rb
modified: Library/Homebrew/extend/os/mac/keg_relocate.rb
modified: Library/Homebrew/extend/os/mac/system_config.rb
modified: Library/Homebrew/extend/os/mac/utils/bottles.rb
modified: Library/Homebrew/extend/os/system_config.rb
modified: Library/Homebrew/extend/pathname.rb
modified: Library/Homebrew/extend/string.rb
modified: Library/Homebrew/formula.rb
modified: Library/Homebrew/formula_assertions.rb
modified: Library/Homebrew/formula_cellar_checks.rb
modified: Library/Homebrew/formula_installer.rb
modified: Library/Homebrew/formula_lock.rb
modified: Library/Homebrew/formula_pin.rb
modified: Library/Homebrew/formula_support.rb
modified: Library/Homebrew/formula_versions.rb
modified: Library/Homebrew/formulary.rb
modified: Library/Homebrew/global.rb
modified: Library/Homebrew/gpg.rb
modified: Library/Homebrew/hardware.rb
modified: Library/Homebrew/hooks/bottles.rb
modified: Library/Homebrew/install_renamed.rb
modified: Library/Homebrew/keg.rb
modified: Library/Homebrew/keg_relocate.rb
modified: Library/Homebrew/language/go.rb
modified: Library/Homebrew/language/haskell.rb
modified: Library/Homebrew/language/java.rb
modified: Library/Homebrew/language/node.rb
modified: Library/Homebrew/language/python.rb
modified: Library/Homebrew/language/python_virtualenv_constants.rb
modified: Library/Homebrew/ld64_dependency.rb
modified: Library/Homebrew/manpages/brew-cask.1.md
modified: Library/Homebrew/manpages/brew.1.md.erb
modified: Library/Homebrew/metafiles.rb
modified: Library/Homebrew/migrator.rb
modified: Library/Homebrew/official_taps.rb
modified: Library/Homebrew/options.rb
modified: Library/Homebrew/os.rb
modified: Library/Homebrew/os/mac.rb
modified: Library/Homebrew/os/mac/architecture_list.rb
modified: Library/Homebrew/os/mac/cctools_keg.rb
modified: Library/Homebrew/os/mac/cctools_mach.rb
modified: Library/Homebrew/os/mac/keg.rb
modified: Library/Homebrew/os/mac/linkage_checker.rb
modified: Library/Homebrew/os/mac/pathname.rb
modified: Library/Homebrew/os/mac/pkgconfig/10.10/libcurl.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.10/libexslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.10/libxml-2.0.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.10/libxslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.10/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.10/zlib.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.11/libcurl.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.11/libexslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.11/libxml-2.0.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.11/libxslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.11/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.11/zlib.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.12/libcurl.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.12/libexslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.12/libxml-2.0.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.12/libxslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.12/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.12/zlib.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.5/libcrypto.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.5/libcurl.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.6/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.6/zlib.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.7/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.7/zlib.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.8/libcurl.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.8/libexslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.8/libxml-2.0.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.8/libxslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.8/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.8/zlib.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.9/libcurl.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.9/libexslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.9/libxml-2.0.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.9/libxslt.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.9/sqlite3.pc
modified: Library/Homebrew/os/mac/pkgconfig/10.9/zlib.pc
modified: Library/Homebrew/os/mac/ruby_keg.rb
modified: Library/Homebrew/os/mac/ruby_mach.rb
modified: Library/Homebrew/os/mac/sdk.rb
modified: Library/Homebrew/os/mac/shared_mach.rb
modified: Library/Homebrew/os/mac/version.rb
modified: Library/Homebrew/os/mac/xcode.rb
modified: Library/Homebrew/os/mac/xquartz.rb
modified: Library/Homebrew/patch.rb
modified: Library/Homebrew/pkg_version.rb
modified: Library/Homebrew/postinstall.rb
modified: Library/Homebrew/readall.rb
modified: Library/Homebrew/requirement.rb
modified: Library/Homebrew/requirements.rb
modified: Library/Homebrew/requirements/apr_requirement.rb
modified: Library/Homebrew/requirements/cctools_requirement.rb
modified: Library/Homebrew/requirements/emacs_requirement.rb
modified: Library/Homebrew/requirements/fortran_requirement.rb
modified: Library/Homebrew/requirements/gpg2_requirement.rb
modified: Library/Homebrew/requirements/java_requirement.rb
modified: Library/Homebrew/requirements/language_module_requirement.rb
modified: Library/Homebrew/requirements/maximum_macos_requirement.rb
modified: Library/Homebrew/requirements/minimum_macos_requirement.rb
modified: Library/Homebrew/requirements/mpi_requirement.rb
modified: Library/Homebrew/requirements/osxfuse_requirement.rb
modified: Library/Homebrew/requirements/perl_requirement.rb
modified: Library/Homebrew/requirements/python_requirement.rb
modified: Library/Homebrew/requirements/ruby_requirement.rb
modified: Library/Homebrew/requirements/tuntap_requirement.rb
modified: Library/Homebrew/requirements/unsigned_kext_requirement.rb
modified: Library/Homebrew/requirements/x11_requirement.rb
modified: Library/Homebrew/resource.rb
modified: Library/Homebrew/sandbox.rb
modified: Library/Homebrew/software_spec.rb
modified: Library/Homebrew/system_config.rb
modified: Library/Homebrew/tab.rb
modified: Library/Homebrew/tap.rb
modified: Library/Homebrew/tap_constants.rb
modified: Library/Homebrew/test.rb
modified: Library/Homebrew/test/.rubocop.yml
modified: Library/Homebrew/test/.simplecov
modified: Library/Homebrew/test/Gemfile
modified: Library/Homebrew/test/Gemfile.lock
modified: Library/Homebrew/test/Rakefile
modified: Library/Homebrew/test/bottles/testball_bottle-0.1.yosemite.bottle.tar.gz
modified: Library/Homebrew/test/fixtures/receipt.json
modified: Library/Homebrew/test/fixtures/receipt_old.json
modified: Library/Homebrew/test/fixtures/test.diff
modified: Library/Homebrew/test/fixtures/test.eps
modified: Library/Homebrew/test/fixtures/test.gif
modified: Library/Homebrew/test/fixtures/test.ico
modified: Library/Homebrew/test/fixtures/test.jpg
modified: Library/Homebrew/test/fixtures/test.mp3
modified: Library/Homebrew/test/fixtures/test.pcap
modified: Library/Homebrew/test/fixtures/test.pdf
modified: Library/Homebrew/test/fixtures/test.png
modified: Library/Homebrew/test/fixtures/test.ps
modified: Library/Homebrew/test/fixtures/test.svg
modified: Library/Homebrew/test/fixtures/test.tiff
modified: Library/Homebrew/test/fixtures/test.wav
modified: Library/Homebrew/test/fixtures/updater_fixture.yaml
modified: Library/Homebrew/test/helper/shutup.rb
modified: Library/Homebrew/test/lib/config.rb
modified: Library/Homebrew/test/lib/integration_mocks.rb
modified: Library/Homebrew/test/mach/fat.bundle
modified: Library/Homebrew/test/mach/fat.dylib
modified: Library/Homebrew/test/mach/i386.bundle
modified: Library/Homebrew/test/mach/i386.dylib
modified: Library/Homebrew/test/mach/x86_64.bundle
modified: Library/Homebrew/test/mach/x86_64.dylib
modified: Library/Homebrew/test/patches/noop-a.diff
modified: Library/Homebrew/test/patches/noop-b.diff
modified: Library/Homebrew/test/patches/noop-c.diff
modified: Library/Homebrew/test/tarballs/testball-0.1-patches.tgz
modified: Library/Homebrew/test/tarballs/testball-0.1.tbz
modified: Library/Homebrew/test/test_ARGV.rb
modified: Library/Homebrew/test/test_ENV.rb
modified: Library/Homebrew/test/test_bash.rb
modified: Library/Homebrew/test/test_blacklist.rb
modified: Library/Homebrew/test/test_bottle_collector.rb
modified: Library/Homebrew/test/test_bottle_filename.rb
modified: Library/Homebrew/test/test_bottle_hooks.rb
modified: Library/Homebrew/test/test_build_environment.rb
modified: Library/Homebrew/test/test_build_options.rb
modified: Library/Homebrew/test/test_caveats.rb
modified: Library/Homebrew/test/test_checksum.rb
modified: Library/Homebrew/test/test_checksum_verification.rb
modified: Library/Homebrew/test/test_cleaner.rb
modified: Library/Homebrew/test/test_cleanup.rb
modified: Library/Homebrew/test/test_cmd_audit.rb
modified: Library/Homebrew/test/test_cmd_info.rb
modified: Library/Homebrew/test/test_cmd_testbot.rb
modified: Library/Homebrew/test/test_commands.rb
modified: Library/Homebrew/test/test_compiler_failure.rb
modified: Library/Homebrew/test/test_compiler_selector.rb
modified: Library/Homebrew/test/test_dependencies.rb
modified: Library/Homebrew/test/test_dependency.rb
modified: Library/Homebrew/test/test_dependency_collector.rb
modified: Library/Homebrew/test/test_dependency_expansion.rb
modified: Library/Homebrew/test/test_descriptions.rb
modified: Library/Homebrew/test/test_diagnostic.rb
modified: Library/Homebrew/test/test_download_strategies.rb
modified: Library/Homebrew/test/test_exceptions.rb
modified: Library/Homebrew/test/test_formula.rb
modified: Library/Homebrew/test/test_formula_installer.rb
modified: Library/Homebrew/test/test_formula_installer_bottle.rb
modified: Library/Homebrew/test/test_formula_lock.rb
modified: Library/Homebrew/test/test_formula_pin.rb
modified: Library/Homebrew/test/test_formula_spec_selection.rb
modified: Library/Homebrew/test/test_formula_support.rb
modified: Library/Homebrew/test/test_formula_validation.rb
modified: Library/Homebrew/test/test_formulary.rb
modified: Library/Homebrew/test/test_gpg.rb
modified: Library/Homebrew/test/test_gpg2_requirement.rb
modified: Library/Homebrew/test/test_hardware.rb
modified: Library/Homebrew/test/test_inreplace.rb
modified: Library/Homebrew/test/test_integration_cmds.rb
modified: Library/Homebrew/test/test_json.rb
modified: Library/Homebrew/test/test_keg.rb
modified: Library/Homebrew/test/test_language_go.rb
modified: Library/Homebrew/test/test_language_module_requirement.rb
modified: Library/Homebrew/test/test_language_python.rb
modified: Library/Homebrew/test/test_migrator.rb
modified: Library/Homebrew/test/test_mpi_requirement.rb
modified: Library/Homebrew/test/test_options.rb
modified: Library/Homebrew/test/test_os_mac_blacklist.rb
modified: Library/Homebrew/test/test_os_mac_bottle_collector.rb
modified: Library/Homebrew/test/test_os_mac_bottle_tag.rb
modified: Library/Homebrew/test/test_os_mac_dependency_collector.rb
modified: Library/Homebrew/test/test_os_mac_diagnostic.rb
modified: Library/Homebrew/test/test_os_mac_keg.rb
modified: Library/Homebrew/test/test_os_mac_mach.rb
modified: Library/Homebrew/test/test_os_mac_version.rb
modified: Library/Homebrew/test/test_os_mac_x11_requirement.rb
modified: Library/Homebrew/test/test_patch.rb
modified: Library/Homebrew/test/test_patching.rb
modified: Library/Homebrew/test/test_pathname.rb
modified: Library/Homebrew/test/test_pkg_version.rb
modified: Library/Homebrew/test/test_requirement.rb
modified: Library/Homebrew/test/test_resource.rb
modified: Library/Homebrew/test/test_sandbox.rb
modified: Library/Homebrew/test/test_software_spec.rb
modified: Library/Homebrew/test/test_stdlib.rb
modified: Library/Homebrew/test/test_string.rb
modified: Library/Homebrew/test/test_tab.rb
modified: Library/Homebrew/test/test_tap.rb
modified: Library/Homebrew/test/test_update_report.rb
modified: Library/Homebrew/test/test_utils.rb
modified: Library/Homebrew/test/test_versions.rb
modified: Library/Homebrew/test/test_x11_requirement.rb
modified: Library/Homebrew/test/testball.rb
modified: Library/Homebrew/test/testball_bottle.rb
modified: Library/Homebrew/test/testing_env.rb
modified: Library/Homebrew/utils.rb
modified: Library/Homebrew/utils/analytics.rb
modified: Library/Homebrew/utils/analytics.sh
modified: Library/Homebrew/utils/bottles.rb
modified: Library/Homebrew/utils/curl.rb
modified: Library/Homebrew/utils/fork.rb
modified: Library/Homebrew/utils/git.rb
modified: Library/Homebrew/utils/github.rb
modified: Library/Homebrew/utils/hash.rb
modified: Library/Homebrew/utils/inreplace.rb
modified: Library/Homebrew/utils/json.rb
modified: Library/Homebrew/utils/lock.sh
modified: Library/Homebrew/utils/popen.rb
modified: Library/Homebrew/utils/ruby.sh
modified: Library/Homebrew/vendor/README.md
modified: Library/Homebrew/vendor/macho/macho.rb
modified: Library/Homebrew/vendor/macho/macho/exceptions.rb
modified: Library/Homebrew/vendor/macho/macho/fat_file.rb
modified: Library/Homebrew/vendor/macho/macho/headers.rb
modified: Library/Homebrew/vendor/macho/macho/load_commands.rb
modified: Library/Homebrew/vendor/macho/macho/macho_file.rb
modified: Library/Homebrew/vendor/macho/macho/open.rb
modified: Library/Homebrew/vendor/macho/macho/sections.rb
modified: Library/Homebrew/vendor/macho/macho/structure.rb
modified: Library/Homebrew/vendor/macho/macho/tools.rb
modified: Library/Homebrew/vendor/macho/macho/utils.rb
modified: Library/Homebrew/vendor/macho/macho/view.rb
modified: Library/Homebrew/vendor/okjson.rb
modified: Library/Homebrew/vendor/plist/plist/generator.rb
modified: Library/Homebrew/vendor/plist/plist/parser.rb
modified: Library/Homebrew/vendor/portable-ruby-version
modified: Library/Homebrew/version.rb
modified: README.md
modified: etc/bash_completion.d/brew
modified: share/doc/homebrew/Acceptable-Formulae.md
modified: share/doc/homebrew/Analytics.md
modified: share/doc/homebrew/Bottles.md
modified: share/doc/homebrew/Brew-Test-Bot-For-Core-Contributors.md
modified: share/doc/homebrew/Brew-Test-Bot.md
modified: share/doc/homebrew/C++-Standard-Libraries.md
modified: share/doc/homebrew/Checksum_Deprecation.md
modified: share/doc/homebrew/Common-Issues-for-Core-Contributors.md
modified: share/doc/homebrew/Common-Issues.md
modified: share/doc/homebrew/Custom-GCC-and-cross-compilers.md
modified: share/doc/homebrew/External-Commands.md
modified: share/doc/homebrew/FAQ.md
modified: share/doc/homebrew/Formula-Cookbook.md
modified: share/doc/homebrew/Gems,-Eggs-and-Perl-Modules.md
modified: share/doc/homebrew/Homebrew-and-Python.md
modified: share/doc/homebrew/How-To-Open-a-Homebrew-Pull-Request-(and-get-it-merged).md
modified: share/doc/homebrew/How-to-Create-and-Maintain-a-Tap.md
modified: share/doc/homebrew/How-to-build-software-outside-Homebrew-with-Homebrew-keg-only-dependencies.md
modified: share/doc/homebrew/Installation.md
modified: share/doc/homebrew/Interesting-Taps-&-Branches.md
modified: share/doc/homebrew/Kickstarter-Supporters.md
modified: share/doc/homebrew/Maintainer-Guidelines.md
modified: share/doc/homebrew/Maintainers-Avoiding-Burnout.md
modified: share/doc/homebrew/Migrating-A-Formula-To-A-Tap.md
modified: share/doc/homebrew/New-Maintainer-Checklist.md
modified: share/doc/homebrew/Node-for-Formula-Authors.md
modified: share/doc/homebrew/Prose-Style-Guidelines.md
modified: share/doc/homebrew/Python-for-Formula-Authors.md
modified: share/doc/homebrew/Querying-Brew.md
modified: share/doc/homebrew/README.md
modified: share/doc/homebrew/Rename-A-Formula.md
modified: share/doc/homebrew/Tips-N'-Tricks.md
modified: share/doc/homebrew/Troubleshooting.md
modified: share/doc/homebrew/Xcode.md
modified: share/doc/homebrew/brew-tap.md
modified: share/doc/homebrew/brew.1.html
modified: share/doc/homebrew/images/analytics.png
modified: share/doc/homebrew/images/brew-test-bot-failed-jenkins.png
modified: share/doc/homebrew/images/brew-test-bot-failed-pr.png
modified: share/doc/homebrew/images/brew-test-bot-failed-test.png
modified: share/doc/homebrew/images/brew-test-bot-passed-jenkins.png
modified: share/doc/homebrew/images/brew-test-bot-passed-pr.png
modified: share/doc/homebrew/images/brew-test-bot-triggered-pr.png
modified: share/man/man1/brew-cask.1
modified: share/man/man1/brew.1
modified: share/zsh/site-functions/_brew
no changes added to commit
Re: this blog post by @tfnico , this module may rely on puppetlabs-stdlib.
Check if it does, if so update metadata.json (if not, let tfnico know it's unnecessary ;P)
Run brew update
and brew cask update
now and then.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.