diff --git a/.fixtures.yml b/.fixtures.yml index 8566efb..7105d65 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,5 +1,6 @@ fixtures: repositories: epel: https://github.com/stahnma/puppet-module-epel.git + puppetlabs_yum: https://github.com/stahnma/puppet-module-puppetlabs_yum.git symlinks: rpmbuilder: "#{source_dir}" diff --git a/Modulefile b/Modulefile index 9ff25f6..78f970d 100644 --- a/Modulefile +++ b/Modulefile @@ -1,5 +1,5 @@ name 'puppetlabs-rpmbuilder' -version '0.0.2' +version '0.0.3' source 'https://github.com/Whopper92/puppetlabs-rpmbuilder' author 'Puppet Labs' license 'Apache License 2.0' @@ -9,3 +9,4 @@ project_page 'https://github.com/Whopper92/puppetlabs-rpmbuilder' ## Add dependencies, if any: dependency 'stahnma/puppet-module-epel', '>= 0.0.1' +dependency 'stahnma/puppet-module-puppetlabs_yum', '>= 0.1.0' diff --git a/manifests/init.pp b/manifests/init.pp index c3cc90d..dc25446 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -6,8 +6,12 @@ $proxy = undef, $pe = false, $pe_vers = undef, + $add_pl_repos = true, ) { - include rpmbuilder::repos + if $add_pl_repos { + include puppetlabs_yum + } + include epel include rpmbuilder::packages::essential class { rpmbuilder::mock::puppetlabs_mocks: diff --git a/manifests/packages/essential.pp b/manifests/packages/essential.pp index dc9f7cc..b2cd96b 100644 --- a/manifests/packages/essential.pp +++ b/manifests/packages/essential.pp @@ -1,6 +1,6 @@ class rpmbuilder::packages::essential { Package { - require => Class['rpmbuilder::repos'] + require => Class['epel'] } $builder_pkgs = [ diff --git a/manifests/packages/extra.pp b/manifests/packages/extra.pp index 5aee2ea..d284cfc 100644 --- a/manifests/packages/extra.pp +++ b/manifests/packages/extra.pp @@ -8,6 +8,6 @@ ] package { $builder_pkgs: ensure => installed, - require => Class['rpmbuilder::repos'], + require => Class['epel'], } } diff --git a/manifests/repos.pp b/manifests/repos.pp deleted file mode 100644 index 9858ed1..0000000 --- a/manifests/repos.pp +++ /dev/null @@ -1,55 +0,0 @@ -class rpmbuilder::repos { - - case $operatingsystem { - 'fedora': { - $baseurlOS = 'fedora' - $os_version = $os_maj_version ? { - '15' => 'f15', - '16' => 'f16', - '17' => 'f17', - default => undef, - } - } - default: { - $baseurlOS = 'el' - $os_version = $os_maj_version - } - } - - if $::osfamily == 'RedHat' and $::operatingsystem != 'Fedora' { - include epel - } - - yumrepo { 'puppetlabs-products': - baseurl => "http://yum.puppetlabs.com/${baseurlOS}/${os_version}/products/${::architecture}", - enabled => '1', - gpgcheck => '1', - gpgkey => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs', - descr => "Puppet Labs Products ${os_version} - ${::architecture}", - } - - yumrepo { 'puppetlabs-deps': - baseurl => "http://yum.puppetlabs.com/${baseurlOS}/${os_version}/dependencies/${::architecture}", - enabled => '1', - gpgcheck => '1', - gpgkey => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs', - descr => "Puppet Labs Dependencies ${os_version} - ${::architecture}", - } - - yumrepo { 'puppetlabs-products-source': - baseurl => "http://yum.puppetlabs.com/${baseurlOS}/${os_version}/products/SRPMS", - failovermethod => 'priority', - enabled => '0', - gpgcheck => '1', - gpgkey => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs', - descr => "Puppet Labs Products ${os_version} - ${::architecture} - Source", - } - - yumrepo { 'puppetlabs-deps-source': - baseurl => "http://yum.puppetlabs.com/${baseurlOS}/${os_version}/dependencies/SRPMS", - enabled => '0', - gpgcheck => '1', - gpgkey => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs', - descr => "Puppet Labs Source Dependencies ${os_version} - Source", - } -} diff --git a/spec/classes/repos_spec.rb b/spec/classes/repos_spec.rb deleted file mode 100644 index 963ae50..0000000 --- a/spec/classes/repos_spec.rb +++ /dev/null @@ -1,32 +0,0 @@ -require 'spec_helper' - -describe 'rpmbuilder::repos', :type => 'class' do - - context "On a Fedora OS" do - baseurlOS = 'fedora' - let(:facts) {{ - :operatingsystem => 'fedora', - :os_maj_version => '16', - :architecture => 'i386', - }} - - it { - should contain_yumrepo('puppetlabs-products').with( - { 'baseurl' => "http://yum.puppetlabs.com/#{baseurlOS}/f#{facts[:os_maj_version]}/products/#{facts[:architecture]}" } ) - should contain_yumrepo('puppetlabs-deps').with( - { 'baseurl' => "http://yum.puppetlabs.com/#{baseurlOS}/f#{facts[:os_maj_version]}/dependencies/#{facts[:architecture]}" } ) - should contain_yumrepo('puppetlabs-products-source').with( - { 'baseurl' => "http://yum.puppetlabs.com/#{baseurlOS}/f#{facts[:os_maj_version]}/products/SRPMS" } ) - should contain_yumrepo('puppetlabs-deps-source').with( - { 'baseurl' => "http://yum.puppetlabs.com/#{baseurlOS}/f#{facts[:os_maj_version]}/dependencies/SRPMS" } ) - } - - end - - context "On a non-Fedora OS" do - let(:facts) {{ :operatingsystem => 'centos', :osfamily => 'RedHat' }} - - it { should include_class("epel") } - - end -end diff --git a/spec/classes/rpmbuilder_spec.rb b/spec/classes/rpmbuilder_spec.rb index 1424fbc..7142f32 100644 --- a/spec/classes/rpmbuilder_spec.rb +++ b/spec/classes/rpmbuilder_spec.rb @@ -10,6 +10,7 @@ :proxy => nil, :pe => false, :pe_vers => nil, + :add_pl_repos => true, } end @@ -22,6 +23,7 @@ :proxy => "http://proxy.puppetlabs.com:1234", :pe => true, :pe_vers => ["1.2","lance"], + :add_pl_repos => false, }].each do |param_set| let(:param_hash) do default_params.merge(param_set) @@ -32,7 +34,14 @@ end describe "Using #{param_set == {} ? "default params" : "specifying params"}" do - it { should contain_Rpmbuilder__Repos } + it do + if param_hash[:add_pl_repos] + should contain_Puppetlabs_yum + else + should_not contain_Puppetlabs_yum + end + end + it { should contain_Rpmbuilder__Packages__Essential } it { should contain_Rpmbuilder__Mock__Puppetlabs_Mocks.with({