Skip to content

Commit

Permalink
Merge pull request #9293 from puppetlabs/backport-9287-to-7.x
Browse files Browse the repository at this point in the history
[Backport 7.x] package: pacman provider: Add purgeable feature
  • Loading branch information
joshcooper committed Mar 12, 2024
2 parents a1d2344 + 31c302f commit c6e5c59
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 @@ -23,6 +23,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 @@ -193,6 +194,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 @@ -203,6 +214,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 @@ -212,8 +224,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 c6e5c59

Please sign in to comment.