Skip to content

Commit

Permalink
Merge pull request #9287 from bastelfreak/pacman
Browse files Browse the repository at this point in the history
package: pacman provider: Add purgeable feature
  • Loading branch information
joshcooper authored Mar 12, 2024
2 parents 12cc9e6 + 08eaa3d commit b3aacd2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
14 changes: 12 additions & 2 deletions lib/puppet/provider/package/pacman.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ def self.yaourt?
has_feature :uninstall_options
has_feature :upgradeable
has_feature :virtual_packages
has_feature :purgeable

# Checks if a given name is a group
def self.group?(name)
Expand Down Expand Up @@ -191,6 +192,16 @@ def self.to_resource_hash(name, version)

# Removes a package from the system.
def uninstall
remove_package(false)
end

def purge
remove_package(true)
end

private

def remove_package(purge_configs = false)
resource_name = @resource[:name]

is_group = self.class.group?(resource_name)
Expand All @@ -201,6 +212,7 @@ def uninstall
cmd += uninstall_options if @resource[:uninstall_options]
cmd << "-R"
cmd << '-s' if is_group
cmd << '--nosave' if purge_configs
cmd << resource_name

if self.class.yaourt?
Expand All @@ -210,8 +222,6 @@ def uninstall
end
end

private

def install_options
join_options(@resource[:install_options])
end
Expand Down
8 changes: 8 additions & 0 deletions spec/unit/provider/package/pacman_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,14 @@
end
end

describe "when purging" do
it "should call pacman to remove the right package and configs quietly" do
args = ["/usr/bin/pacman", "--noconfirm", "--noprogressbar", "-R", "--nosave", resource[:name]]
expect(executor).to receive(:execute).with(args, no_extra_options).and_return("")
provider.purge
end
end

describe "when uninstalling" do
it "should call pacman to remove the right package quietly" do
args = ["/usr/bin/pacman", "--noconfirm", "--noprogressbar", "-R", resource[:name]]
Expand Down

0 comments on commit b3aacd2

Please sign in to comment.