From cd1bdda5f963236dac849eb9257812f81c8af8ba Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 18 Feb 2025 13:27:37 +0200 Subject: test for dup resource --- lib/dslkeywords/package.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/dslkeywords') diff --git a/lib/dslkeywords/package.rb b/lib/dslkeywords/package.rb index b28ed50..86903cf 100644 --- a/lib/dslkeywords/package.rb +++ b/lib/dslkeywords/package.rb @@ -4,12 +4,25 @@ require 'fileutils' require_relative 'resource' module RCM + class DNFPackageManager + def installed?(pkg) = false + def install(pkg) = `dnf install -y "#{pkg}"` unless installed?(pkg) + def update(pkg) = `dnf update -y "#{pkg}"` + def remove(pkg) = `dnf remove -y "#{pkg}"` if installed?(pkg) + end + # Managing packages class Package < Resource attr_reader :path + class UnsupportedOS < StandardError; end + def initialize(name) super(name) + raise UnsupportedOS, 'OS is not supported' unless File.file?('/etc/fedora-release') + + @manager = DNFPackageManager.new + @name = name end -- cgit v1.2.3