From 8285e313eb4daefe088e959121eef86962f900c5 Mon Sep 17 00:00:00 2001 From: Drew Leske Date: Tue, 27 Oct 2020 14:59:56 -0700 Subject: [PATCH 1/5] Add dependency on EPEL for RedHat hosts --- manifests/install.pp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/manifests/install.pp b/manifests/install.pp index 5450b0f..cacccf5 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -1,7 +1,12 @@ # @!visibility private class etckeeper::install { - package { $etckeeper::package_name: + # if RedHat, need to have EPEL installed + if $::osfamily == 'RedHat' { + include ::epel + Class['::epel'] -> Package[$::etckeeper::package_name] + } + package { $::etckeeper::package_name: ensure => present, } From 176ef5f61afe46aa1de3dd83ccea77010a5080fb Mon Sep 17 00:00:00 2001 From: Drew Leske Date: Tue, 27 Oct 2020 20:11:30 -0700 Subject: [PATCH 2/5] Add `assume_epel` parameter --- manifests/init.pp | 2 ++ manifests/install.pp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 1190d69..381b40a 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -15,6 +15,7 @@ # vcs_user_email => 'alice@example.com', # } # +# @param assume_epel Assume EPEL repository installed (Red Hat variants only) # @param avoid_commit_before_install # @param avoid_daily_autocommits # @param avoid_special_file_warning @@ -37,6 +38,7 @@ # # @since 1.0.0 class etckeeper ( + Optional[Boolean] $assume_epel, Optional[Boolean] $avoid_commit_before_install, Optional[Boolean] $avoid_daily_autocommits, Optional[Boolean] $avoid_special_file_warning, diff --git a/manifests/install.pp b/manifests/install.pp index cacccf5..ae0ec05 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -2,7 +2,7 @@ class etckeeper::install { # if RedHat, need to have EPEL installed - if $::osfamily == 'RedHat' { + if $::osfamily == 'RedHat' and ! $::etckeeper::assume_epel { include ::epel Class['::epel'] -> Package[$::etckeeper::package_name] } From e3f152ef8489bd0f02418f1f64c785c5ca6ffe55 Mon Sep 17 00:00:00 2001 From: Drew Leske Date: Tue, 27 Oct 2020 20:11:57 -0700 Subject: [PATCH 3/5] Add `assume_epel` parameter and update EPEL module name --- README.md | 3 ++- data/common.yaml | 1 + manifests/config.pp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8861054..de56370 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,8 @@ previous commits. On RHEL/CentOS platforms you will need to have access to the EPEL repository by using [puppet/epel](https://forge.puppet.com/puppet/epel) or by other -means. +means. If using the EPEL repository module, this module will include it by +default. To override, set `assume_epel` to True. ### Beginning with etckeeper diff --git a/data/common.yaml b/data/common.yaml index e35fc2c..34f7980 100644 --- a/data/common.yaml +++ b/data/common.yaml @@ -1,4 +1,5 @@ --- +etckeeper::assume_epel: ~ etckeeper::avoid_commit_before_install: ~ etckeeper::avoid_daily_autocommits: ~ etckeeper::avoid_special_file_warning: ~ diff --git a/manifests/config.pp b/manifests/config.pp index 9e51d9a..f30178d 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -1,6 +1,7 @@ # @!visibility private class etckeeper::config { + $assume_epel = $etckeeper::assume_epel $avoid_commit_before_install = $etckeeper::avoid_commit_before_install $avoid_daily_autocommits = $etckeeper::avoid_daily_autocommits $avoid_special_file_warning = $etckeeper::avoid_special_file_warning From b9be691b0bff17a47c02be06f2ee69197d89b124 Mon Sep 17 00:00:00 2001 From: Drew Leske Date: Tue, 27 Oct 2020 21:47:59 -0700 Subject: [PATCH 4/5] Add RHEL8 to list of tested OSes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index de56370..dc006b6 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ This module has been built on and tested against Puppet 5 and higher. The module has been tested on: -* Red Hat/CentOS Enterprise Linux 6/7 +* RedHat Enterprise/CentOS Linux 6/7/8 * Ubuntu 14.04/16.04 * Debian 7/8 From 5bcb05ecef7debd0579d88930f40f9db9735ab18 Mon Sep 17 00:00:00 2001 From: Drew Leske Date: Fri, 30 Oct 2020 05:44:48 +0000 Subject: [PATCH 5/5] Check for definition of epel class for RH variants --- manifests/install.pp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/manifests/install.pp b/manifests/install.pp index ae0ec05..15f0580 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -3,8 +3,12 @@ # if RedHat, need to have EPEL installed if $::osfamily == 'RedHat' and ! $::etckeeper::assume_epel { - include ::epel - Class['::epel'] -> Package[$::etckeeper::package_name] + if defined(Class['epel']) { + Class['epel'] -> Package[$::etckeeper::package_name] + } + else { + warning("Without EPEL repository configured, I probably won't be able to find package ${::etckeeper::package_name}. See \$assume_epel for more information.") + } } package { $::etckeeper::package_name: ensure => present,