From 3fdbca00d1b6c9bd92d4124b9b14430121a9a8b3 Mon Sep 17 00:00:00 2001 From: Daniel Werdermann Date: Tue, 5 Apr 2016 19:44:12 +0200 Subject: [PATCH] add download_base to specify download url of source tar.gz --- .travis.yml | 28 +++++++++++++--------------- Gemfile | 30 ++++++++++++++++++++++-------- README.md | 5 +++++ manifests/install.pp | 10 +++++----- manifests/params.pp | 1 + spec/spec_helper.rb | 8 ++++++++ 6 files changed, 54 insertions(+), 28 deletions(-) diff --git a/.travis.yml b/.travis.yml index 87d702c..36a381a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,22 @@ --- sudo: false language: ruby +cache: bundler bundler_args: --without system_tests -script: "bundle exec rake validate && bundle exec rake lint && bundle exec rake spec SPEC_OPTS='--format documentation'" +before_install: rm Gemfile.lock || true +script: bundle exec rake validate lint spec matrix: fast_finish: true include: - - rvm: 1.9.3 - env: PUPPET_GEM_VERSION="~> 3.4.0" - - rvm: 1.8.7 - env: PUPPET_GEM_VERSION="~> 3.0" - - rvm: 1.9.3 - env: PUPPET_GEM_VERSION="~> 3.0" - - rvm: 1.9.3 - env: PUPPET_GEM_VERSION="~> 3.0" FUTURE_PARSER="yes" - - rvm: 2.1.5 - env: PUPPET_GEM_VERSION="~> 3.0" - - rvm: 2.1.5 - env: PUPPET_GEM_VERSION="~> 3.6.0" - - rvm: 2.1.5 - env: PUPPET_GEM_VERSION="~> 3.0" FUTURE_PARSER="yes" + - rvm: 2.1.6 + env: PUPPET_GEM_VERSION='~> 4.0' COVERAGE=yes STRICT_VARIABLES=yes + - rvm: 2.1.6 + env: PUPPET_GEM_VERSION='https://github.com/puppetlabs/puppet.git#stable + - rvm: 2.1.5 + env: PUPPET_GEM_VERSION='~> 3.0' FUTURE_PARSER=yes + - rvm: 2.1.5 + env: PUPPET_GEM_VERSION='~> 3.0' + - rvm: 1.9.3 + env: PUPPET_GEM_VERSION='~> 3.0' notifications: email: false diff --git a/Gemfile b/Gemfile index 189b7c5..a4d651f 100644 --- a/Gemfile +++ b/Gemfile @@ -1,9 +1,23 @@ -source 'https://rubygems.org' +source ENV['GEM_SOURCE'] || "https://rubygems.org" -puppetversion = ENV.key?('PUPPET_GEM_VERSION') ? "#{ENV['PUPPET_GEM_VERSION']}" : ['>= 3.3'] -facterversion = ENV.key?('FACTER_GEM_VERSION') ? "#{ENV['FACTER_GEM_VERSION']}" : ['>= 1.7'] -gem 'puppet', puppetversion -gem 'puppetlabs_spec_helper', '>= 0.1.0' -gem 'puppet-lint', '>= 0.3.2' -gem 'facter', facterversion -gem 'rspec', '< 3.2.0' +def location_for(place, version = nil) + if place =~ /^((?:git|https?)[:@][^#]*)#(.*)/ + [version, { :git => $1, :branch => $2, :require => false }].compact + elsif place =~ /^file:\/\/(.*)/ + ['>= 0', { :path => File.expand_path($1), :require => false }] + else + [place, version, { :require => false }].compact + end +end + +gem 'puppet', *location_for(ENV['PUPPET_GEM_VERSION'] || '~> 4') +gem 'facter', '>= 2.0' +gem 'puppetlabs_spec_helper', '>= 0.1.0', :require => false +gem 'puppet-lint', '>= 0.3.2', :require => false +gem 'rspec-puppet', '>= 2.3.2', :require => false +gem 'metadata-json-lint', :require => false +gem 'rake', '< 11.0.0' # rubi <1.9 versus rake 11.0.0 workaround + +if File.exists? "#{__FILE__}.local" + eval(File.read("#{__FILE__}.local"), binding) +end diff --git a/README.md b/README.md index d868457..eb33d78 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,11 @@ the redis install package. Therefor, these values must be adjusted too. Redis system group. Default: undef (string) Default 'undef' results to 'root' as redis system group +#####`download_base` + +Url where to find the source tar.gz. +Default value is 'http://download.redis.io/releases' + ####Defined Type: `redis::server` Used to configure redis instances. You can setup multiple redis servers on the diff --git a/manifests/install.pp b/manifests/install.pp index 48a7be8..039a088 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -20,6 +20,9 @@ # [*redis_group*] # The redis system group. Default value is 'undef', which results to 'root' as system group. # +# [*download_base*] +# Url where to find the source tar.gz. Default value is 'http://download.redis.io/releases' +# class redis::install ( $redis_version = $::redis::params::redis_version, $redis_build_dir = $::redis::params::redis_build_dir, @@ -28,6 +31,7 @@ $download_tool = $::redis::params::download_tool, $redis_user = $::redis::params::redis_user, $redis_group = $::redis::params::redis_group, + $download_base = $::redis::params::download_base, ) inherits redis { if ( $redis_package == true ) { case $::operatingsystem { @@ -90,11 +94,7 @@ ensure => directory, } - if $redis_version == $::redis::params::redis_version { - $redis_download_url = 'http://download.redis.io/redis-stable.tar.gz' - } else { - $redis_download_url = "http://download.redis.io/releases/redis-${redis_version}.tar.gz" - } + $redis_download_url = "${download_base}/redis-${redis_version}.tar.gz" exec { "Download and untar redis ${redis_version}": require => File[$redis_build_dir], diff --git a/manifests/params.pp b/manifests/params.pp index 522709c..1d4e710 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -8,4 +8,5 @@ $download_tool = 'curl -s -L' $redis_user = undef $redis_group = undef + $download_base = 'http://download.redis.io/releases' } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 2c6f566..ba14529 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1 +1,9 @@ +if ENV['COVERAGE'] == 'yes' + RSpec.configure do |c| + c.after(:suite) do + RSpec::Puppet::Coverage.report! + end + end +end + require 'puppetlabs_spec_helper/module_spec_helper'