diff --git a/CHANGELOG b/CHANGELOG index 6c0b552..02b99d2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +* Thu Oct 19 2023 David Gardner - 1.1.4-0 +- Add support for emptying group when no members are specified (#20) + * Sun Oct 03 2021 Iain Hallam - 1.1.3-0 - Add support for Debian diff --git a/lib/puppet/provider/group/gpasswd.rb b/lib/puppet/provider/group/gpasswd.rb index eee04b2..082a0b1 100644 --- a/lib/puppet/provider/group/gpasswd.rb +++ b/lib/puppet/provider/group/gpasswd.rb @@ -108,10 +108,9 @@ def members_insync?(is, should) Puppet::Etc.send('getpwnam', user) end - Puppet.debug("Ignoring unknown user: '#{user}'") - false rescue + Puppet.debug("Ignoring unknown user: '#{user}'") true end @@ -129,19 +128,17 @@ def members=(to_set) to_be_added = to_set.dup end - unless to_be_added.empty? - if @resource[:auth_membership] - cmd << [ command(:modmember),'-M',to_be_added.join(','), @resource[:name] ].shelljoin - else - to_be_added = to_be_added | @current_members - - !to_be_added.empty? && cmd += to_be_added.map { |x| - [ command(:addmember),'-a',x,@resource[:name] ].shelljoin - } - end + if @resource[:auth_membership] + cmd << [ command(:modmember),'-M',to_be_added.join(','), @resource[:name] ].shelljoin + else + to_be_added = to_be_added | @current_members - mod_group(cmd) + !to_be_added.empty? && cmd += to_be_added.map { |x| + [ command(:addmember),'-a',x,@resource[:name] ].shelljoin + } end + + mod_group(cmd) end private diff --git a/metadata.json b/metadata.json index f14cab9..e2be26f 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "onyxpoint-gpasswd", - "version": "1.1.3", + "version": "1.1.4", "author": "Trevor Vaughan ", "summary": "Adds support for :manages_members to the Linux group native type", "license": "Apache-2.0",