From 86938e8642b4bfbe2021046191954a9672b2ea81 Mon Sep 17 00:00:00 2001 From: Gerard Kok Date: Sun, 13 Mar 2016 15:47:07 +0100 Subject: [PATCH 1/5] rewriting imports to use relative paths --- lib/puppet/provider/dsconfigad/default.rb | 2 +- lib/puppet/provider/macgroup/default.rb | 2 +- lib/puppet/provider/mobileconfig.rb | 2 +- lib/puppet/provider/mobileconfig/default.rb | 2 +- lib/puppet/provider/propertylist/default.rb | 2 +- lib/puppet/provider/propertylist/defaults.rb | 2 +- lib/puppet/provider/remotemanagement/default.rb | 2 +- lib/puppet/type/macgroup.rb | 2 +- lib/puppet/type/mobileconfig.rb | 2 +- lib/puppet/type/propertylist.rb | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/puppet/provider/dsconfigad/default.rb b/lib/puppet/provider/dsconfigad/default.rb index 76997d9..912b733 100644 --- a/lib/puppet/provider/dsconfigad/default.rb +++ b/lib/puppet/provider/dsconfigad/default.rb @@ -1,5 +1,5 @@ require 'cfpropertylist' -require 'puppet/managedmac/common' +require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'managedmac', 'common')) Puppet::Type.type(:dsconfigad).provide(:default) do diff --git a/lib/puppet/provider/macgroup/default.rb b/lib/puppet/provider/macgroup/default.rb index 9426898..4448a6c 100644 --- a/lib/puppet/provider/macgroup/default.rb +++ b/lib/puppet/provider/macgroup/default.rb @@ -1,5 +1,5 @@ require 'cfpropertylist' -require 'puppet/provider/mobileconfig' +require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'provider', 'mobileconfig')) Puppet::Type.type(:macgroup).provide(:default) do diff --git a/lib/puppet/provider/mobileconfig.rb b/lib/puppet/provider/mobileconfig.rb index 6ecde64..5dd468b 100644 --- a/lib/puppet/provider/mobileconfig.rb +++ b/lib/puppet/provider/mobileconfig.rb @@ -1,7 +1,7 @@ require 'cfpropertylist' require 'securerandom' require 'fileutils' -require 'puppet/managedmac/common' +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'managedmac', 'common')) class Puppet::Provider::MobileConfig < Puppet::Provider diff --git a/lib/puppet/provider/mobileconfig/default.rb b/lib/puppet/provider/mobileconfig/default.rb index ad6b3e1..50a2c5d 100644 --- a/lib/puppet/provider/mobileconfig/default.rb +++ b/lib/puppet/provider/mobileconfig/default.rb @@ -1,4 +1,4 @@ -require 'puppet/provider/mobileconfig' +require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'provider', 'mobileconfig')) Puppet::Type.type(:mobileconfig).provide(:default, :parent => Puppet::Provider::MobileConfig) do diff --git a/lib/puppet/provider/propertylist/default.rb b/lib/puppet/provider/propertylist/default.rb index 02a34bc..aaa4963 100644 --- a/lib/puppet/provider/propertylist/default.rb +++ b/lib/puppet/provider/propertylist/default.rb @@ -1,4 +1,4 @@ -require 'puppet/provider/propertylist' +require File.dirname(__FILE__) Puppet::Type.type(:propertylist).provide(:default, :parent => Puppet::Provider::PropertyList) do diff --git a/lib/puppet/provider/propertylist/defaults.rb b/lib/puppet/provider/propertylist/defaults.rb index 736a9ee..5487118 100644 --- a/lib/puppet/provider/propertylist/defaults.rb +++ b/lib/puppet/provider/propertylist/defaults.rb @@ -1,4 +1,4 @@ -require 'puppet/provider/propertylist' +require File.dirname(__FILE__) Puppet::Type.type(:propertylist).provide(:defaults, :parent => Puppet::Provider::PropertyList) do diff --git a/lib/puppet/provider/remotemanagement/default.rb b/lib/puppet/provider/remotemanagement/default.rb index 7943a5b..7ebe04c 100644 --- a/lib/puppet/provider/remotemanagement/default.rb +++ b/lib/puppet/provider/remotemanagement/default.rb @@ -1,6 +1,6 @@ require 'fileutils' require 'cfpropertylist' -require 'puppet/managedmac/common' +require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'managedmac', 'common')) Puppet::Type.type(:remotemanagement).provide(:default) do desc "Abstracts the Mac OS X kickstart command, allowing management of the Apple Remote Desktop features." diff --git a/lib/puppet/type/macgroup.rb b/lib/puppet/type/macgroup.rb index 7b60630..af04a5b 100644 --- a/lib/puppet/type/macgroup.rb +++ b/lib/puppet/type/macgroup.rb @@ -1,4 +1,4 @@ -require 'puppet/managedmac/common' +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'managedmac', 'common')) Puppet::Type.newtype(:macgroup) do @doc = %q{A drop-in replacement for the built-in Puppet Type: Group diff --git a/lib/puppet/type/mobileconfig.rb b/lib/puppet/type/mobileconfig.rb index a116284..8dcf81c 100644 --- a/lib/puppet/type/mobileconfig.rb +++ b/lib/puppet/type/mobileconfig.rb @@ -1,4 +1,4 @@ -require 'puppet/managedmac/common' +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'managedmac', 'common')) Puppet::Type.newtype(:mobileconfig) do @doc = %q{Dynamically create and manage OS X .mobileconfig profiles diff --git a/lib/puppet/type/propertylist.rb b/lib/puppet/type/propertylist.rb index b928409..786b2a8 100644 --- a/lib/puppet/type/propertylist.rb +++ b/lib/puppet/type/propertylist.rb @@ -1,4 +1,4 @@ -require 'puppet/managedmac/common' +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'managedmac', 'common')) Puppet::Type.newtype(:propertylist) do desc %q{Puppet type for managing OS X PropertyLists. From 7ca9df2079ba2f26c0cc4a04a9ada3d75ec24884 Mon Sep 17 00:00:00 2001 From: Gerard Kok Date: Sun, 13 Mar 2016 15:54:03 +0100 Subject: [PATCH 2/5] removing 'provider' attribute --- manifests/softwareupdate.pp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/manifests/softwareupdate.pp b/manifests/softwareupdate.pp index 60c23ef..f7af651 100644 --- a/manifests/softwareupdate.pp +++ b/manifests/softwareupdate.pp @@ -171,8 +171,7 @@ owner => 'root', group => 'wheel', mode => '0644', - method => insert, - provider => defaults, + method => insert } } @@ -192,8 +191,7 @@ owner => 'root', group => 'wheel', mode => '0644', - method => insert, - provider => defaults, + method => insert } } From 71ecff5412a7f7bf82c7ab8859dc0684e552aa80 Mon Sep 17 00:00:00 2001 From: Gerard Kok Date: Sun, 13 Mar 2016 20:34:13 +0100 Subject: [PATCH 3/5] Reverting removal of 'provider' attribute from softwareupdate --- .../{propertylist.rb => property_list.rb} | 0 .../default.rb | 2 +- .../defaults.rb | 4 +-- .../{propertylist.rb => property_list.rb} | 2 +- manifests/softwareupdate.pp | 32 +++++++++---------- 5 files changed, 19 insertions(+), 21 deletions(-) rename lib/puppet/provider/{propertylist.rb => property_list.rb} (100%) rename lib/puppet/provider/{propertylist => property_list}/default.rb (74%) rename lib/puppet/provider/{propertylist => property_list}/defaults.rb (92%) rename lib/puppet/type/{propertylist.rb => property_list.rb} (99%) diff --git a/lib/puppet/provider/propertylist.rb b/lib/puppet/provider/property_list.rb similarity index 100% rename from lib/puppet/provider/propertylist.rb rename to lib/puppet/provider/property_list.rb diff --git a/lib/puppet/provider/propertylist/default.rb b/lib/puppet/provider/property_list/default.rb similarity index 74% rename from lib/puppet/provider/propertylist/default.rb rename to lib/puppet/provider/property_list/default.rb index aaa4963..3435c78 100644 --- a/lib/puppet/provider/propertylist/default.rb +++ b/lib/puppet/provider/property_list/default.rb @@ -1,6 +1,6 @@ require File.dirname(__FILE__) -Puppet::Type.type(:propertylist).provide(:default, +Puppet::Type.type(:property_list).provide(:default, :parent => Puppet::Provider::PropertyList) do defaultfor :operatingsystem => :darwin diff --git a/lib/puppet/provider/propertylist/defaults.rb b/lib/puppet/provider/property_list/defaults.rb similarity index 92% rename from lib/puppet/provider/propertylist/defaults.rb rename to lib/puppet/provider/property_list/defaults.rb index 5487118..ffd1a07 100644 --- a/lib/puppet/provider/propertylist/defaults.rb +++ b/lib/puppet/provider/property_list/defaults.rb @@ -1,7 +1,7 @@ require File.dirname(__FILE__) -Puppet::Type.type(:propertylist).provide(:defaults, - :parent => Puppet::Provider::PropertyList) do +Puppet::Type.type(:property_list).provide(:defaults, + :parent => Puppet::Type::PropertyList) do commands :defaults => '/usr/bin/defaults' diff --git a/lib/puppet/type/propertylist.rb b/lib/puppet/type/property_list.rb similarity index 99% rename from lib/puppet/type/propertylist.rb rename to lib/puppet/type/property_list.rb index 786b2a8..de04d4f 100644 --- a/lib/puppet/type/propertylist.rb +++ b/lib/puppet/type/property_list.rb @@ -1,6 +1,6 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'managedmac', 'common')) -Puppet::Type.newtype(:propertylist) do +Puppet::Type.newtype(:property_list) do desc %q{Puppet type for managing OS X PropertyLists. Suitable for the creation and management of configuration files and diff --git a/manifests/softwareupdate.pp b/manifests/softwareupdate.pp index f7af651..55a1c93 100644 --- a/manifests/softwareupdate.pp +++ b/manifests/softwareupdate.pp @@ -99,7 +99,6 @@ # Copyright 2015 Simon Fraser University, unless otherwise noted. # class managedmac::softwareupdate ( - $catalog_url = undef, $allow_pre_release_installation = undef, $automatic_update_check = undef, @@ -107,40 +106,37 @@ $automatic_download = undef, $config_data_install = undef, $critical_update_install = undef, - $auto_update_restart_required = undef, - -) { - + $auto_update_restart_required = undef,) { unless $allow_pre_release_installation == undef { - validate_bool ($allow_pre_release_installation) + validate_bool($allow_pre_release_installation) } unless $automatic_update_check == undef { - validate_bool ($automatic_update_check) + validate_bool($automatic_update_check) } unless empty($catalog_url) { - validate_re ($catalog_url, '\Ahttps?:\/\/(-*\w+-*(\.|-))+-*\w+-*\/') + validate_re($catalog_url, '\Ahttps?:\/\/(-*\w+-*(\.|-))+-*\w+-*\/') } unless $automatic_download == undef { - validate_bool ($automatic_download) + validate_bool($automatic_download) } unless $auto_update_apps == undef { - validate_bool ($auto_update_apps) + validate_bool($auto_update_apps) } unless $config_data_install == undef { - validate_bool ($config_data_install) + validate_bool($config_data_install) } unless $critical_update_install == undef { - validate_bool ($critical_update_install) + validate_bool($critical_update_install) } unless $auto_update_restart_required == undef { - validate_bool ($auto_update_restart_required) + validate_bool($auto_update_restart_required) } $store_plist_content = { @@ -165,13 +161,14 @@ $autoupdate_plist_ensure = compact_hash($autoupdate_plist_content) unless empty($autoupdate_plist_ensure) { - propertylist { $autoupdate_plist_path: + property_list { $autoupdate_plist_path: ensure => present, content => $autoupdate_plist_content, owner => 'root', group => 'wheel', mode => '0644', - method => insert + method => insert, + provider => defaults } } @@ -185,13 +182,14 @@ $swup_plist_ensure = compact_hash($swup_plist_content) unless empty($swup_plist_content) { - propertylist { '/Library/Preferences/com.apple.SoftwareUpdate.plist': + property_list { '/Library/Preferences/com.apple.SoftwareUpdate.plist': ensure => present, content => $swup_plist_content, owner => 'root', group => 'wheel', mode => '0644', - method => insert + method => insert, + provider => defaults } } From 0ec808d45e4559598e363730efd330af4de075ca Mon Sep 17 00:00:00 2001 From: Gerard Kok Date: Sun, 13 Mar 2016 20:47:07 +0100 Subject: [PATCH 4/5] provider is the parent, not the type --- lib/puppet/provider/property_list/defaults.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/provider/property_list/defaults.rb b/lib/puppet/provider/property_list/defaults.rb index ffd1a07..8cca807 100644 --- a/lib/puppet/provider/property_list/defaults.rb +++ b/lib/puppet/provider/property_list/defaults.rb @@ -1,7 +1,7 @@ require File.dirname(__FILE__) Puppet::Type.type(:property_list).provide(:defaults, - :parent => Puppet::Type::PropertyList) do + :parent => Puppet::Provider::PropertyList) do commands :defaults => '/usr/bin/defaults' From 7f747e12b8a55812bd06e540a3299c5e1f8531bf Mon Sep 17 00:00:00 2001 From: Gerard Kok Date: Mon, 14 Mar 2016 20:49:22 +0100 Subject: [PATCH 5/5] propertylist -> property_list in documentation --- README.md | 2 +- lib/puppet/provider/property_list.rb | 2 +- lib/puppet/type/property_list.rb | 20 ++++++++++---------- manifests/propertylists.pp | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 9c2f9e0..a8530af 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ This is a giant Puppet module. It abstracts all the things. It won't win any awa Some of this stuff is very useful, a lot of it is new, all of it is IN ONE PLACE. * Mobileconfig Type for managing OS X profiles -* Propertylist Type for managing OS X plist and preferences +* Property_list Type for managing OS X plist and preferences * Macauthdb Type for managing OS X Authorization DB * Macgroup Type for managing groups-in-groups * Manages Login/Logout Hooks globally diff --git a/lib/puppet/provider/property_list.rb b/lib/puppet/provider/property_list.rb index 8be465b..64c0f52 100644 --- a/lib/puppet/provider/property_list.rb +++ b/lib/puppet/provider/property_list.rb @@ -12,7 +12,7 @@ def instances args = Puppet::Util::CommandLine.new.args resource_type, resource_name = args.each { |x| x } unless resource_name - err = ['Listing propertylist instances is not supported.', + err = ['Listing property_list instances is not supported.', 'Please specify a file or directory, e.g. puppet resource file /etc'].join(' ') raise Puppet::Error, err end diff --git a/lib/puppet/type/property_list.rb b/lib/puppet/type/property_list.rb index de04d4f..60e8f65 100644 --- a/lib/puppet/type/property_list.rb +++ b/lib/puppet/type/property_list.rb @@ -10,9 +10,9 @@ # You can transpose a PropertyList file into a Puppet resource. - `sudo puppet resource propertylist /Library/Preferences/com.apple.loginwindow.plist ` + `sudo puppet resource property_list /Library/Preferences/com.apple.loginwindow.plist ` - propertylist { '/Library/Preferences/com.apple.loginwindow.plist': + property_list { '/Library/Preferences/com.apple.loginwindow.plist': ensure => 'present', content => {'MCXLaunchAfterUserLogin' => 'true', 'OptimizerLastRunForBuild' => '27396096', @@ -33,7 +33,7 @@ $content = { LoginwindowText => 'A message to you, Rudy.' } - propertylist { '/Library/Preferences/com.apple.loginwindow.plist': + property_list { '/Library/Preferences/com.apple.loginwindow.plist': ensure => present, method => insert, content => $content, @@ -56,7 +56,7 @@ $content = { LoginwindowText => 'A message to you, Rudy.' } - propertylist { '/Library/Preferences/com.apple.loginwindow.plist': + property_list { '/Library/Preferences/com.apple.loginwindow.plist': ensure => present, method => insert, content => $content, @@ -137,7 +137,7 @@ $content = { LoginwindowText => 'A message to you, Rudy.' } - propertylist { '/Library/Preferences/com.apple.loginwindow.plist': + property_list { '/Library/Preferences/com.apple.loginwindow.plist': ensure => present, method => insert, content => $content, @@ -213,7 +213,7 @@ def is_to_s(value) end newparam(:method) do - desc %q{Whether to overwrite the propertylist, or insert the specified data. + desc %q{Whether to overwrite the property_list, or insert the specified data. This behaviour demands a detailed explanation, because it's not as simple as it sounds. First, a little about PropertyLists in general... @@ -316,7 +316,7 @@ def is_to_s(value) # Here is our resource declaration, but notice that we have set the # :method parameter to :insert - propertylist { '/Library/Preferences/com.apple.loginwindow.plist': + property_list { '/Library/Preferences/com.apple.loginwindow.plist': ensure => present, group => 'staff', mode => '0644', @@ -348,7 +348,7 @@ def is_to_s(value) $content = [1, 2, 3, 4, 5] # Some non-essential params removed - propertylist { '/Library/Preferences/com.apple.loginwindow.plist': + property_list { '/Library/Preferences/com.apple.loginwindow.plist': content => $content, method => insert, } @@ -383,7 +383,7 @@ def is_to_s(value) This array has 5 elements. Let's create a PropertyList with it. - propertylist { '/Users/Shared/foo.plist': + property_list { '/Users/Shared/foo.plist': format => xml, content => $content, method => insert, @@ -406,7 +406,7 @@ def is_to_s(value) $content = [1, 2, 3, 5] - propertylist { '/Users/Shared/foo.plist': + property_list { '/Users/Shared/foo.plist': format => xml, content => $content, method => insert, diff --git a/manifests/propertylists.pp b/manifests/propertylists.pp index 90863df..f338633 100644 --- a/manifests/propertylists.pp +++ b/manifests/propertylists.pp @@ -88,7 +88,7 @@ validate_raw_constructor ($files) validate_hash ($defaults) - create_resources(propertylist, $files, $defaults) + create_resources(property_list, $files, $defaults) }