[DRE-commits] [librarian-puppet] 46/97: Issue #134 Check for puppet executable instead of gem
Stig Sandbeck Mathisen
ssm at debian.org
Tue Mar 11 12:12:49 UTC 2014
This is an automated email from the git hooks/post-receive script.
ssm pushed a commit to branch master
in repository librarian-puppet.
commit e75d5408f0d25b0441aa327d993e102b614864c7
Author: Carlos Sanchez <csanchez at maestrodev.com>
Date: Thu Jan 2 21:22:37 2014 +0100
Issue #134 Check for puppet executable instead of gem
---
lib/librarian/puppet.rb | 20 ++++++++++++++++----
lib/librarian/puppet/source/forge.rb | 2 +-
lib/librarian/puppet/source/git.rb | 1 +
3 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/lib/librarian/puppet.rb b/lib/librarian/puppet.rb
index 9c51444..3ddec44 100644
--- a/lib/librarian/puppet.rb
+++ b/lib/librarian/puppet.rb
@@ -1,16 +1,28 @@
require 'librarian'
require 'fileutils'
+require 'open3'
+
+status = nil
+puppet_version = nil
begin
- require 'puppet'
-rescue LoadError
+ Open3.popen3('puppet --version') {|stdin, stdout, stderr, wait_thr|
+ pid = wait_thr.pid # pid of the started process.
+ puppet_version = stdout.read
+ status = wait_thr.value # Process::Status object returned.
+ }
+rescue
+end
+
+if status.nil? or status.exitstatus != 0
$stderr.puts <<-EOF
-Unable to load puppet. Either install it using native packages for your
-platform (eg .deb, .rpm, .dmg, etc) or as a gem (gem install puppet).
+Unable to load puppet. Please install it using native packages for your platform (eg .deb, .rpm, .dmg, etc).
EOF
exit 1
end
+PUPPET_VERSION=puppet_version.split(' ').first.strip
+
require 'librarian/puppet/extension'
require 'librarian/puppet/version'
diff --git a/lib/librarian/puppet/source/forge.rb b/lib/librarian/puppet/source/forge.rb
index 0e40436..99bd59a 100644
--- a/lib/librarian/puppet/source/forge.rb
+++ b/lib/librarian/puppet/source/forge.rb
@@ -107,7 +107,7 @@ module Librarian
def check_puppet_module_options
min_version = Gem::Version.create('2.7.13')
- puppet_version = Gem::Version.create(`puppet --version`.split(' ').first.strip.gsub('-', '.'))
+ puppet_version = Gem::Version.create(PUPPET_VERSION.gsub('-', '.'))
if puppet_version < min_version
raise Error, "To get modules from the forge, we use the puppet faces module command. For this you need at least puppet version 2.7.13 and you have #{puppet_version}"
diff --git a/lib/librarian/puppet/source/git.rb b/lib/librarian/puppet/source/git.rb
index 07b0b20..c2624fa 100644
--- a/lib/librarian/puppet/source/git.rb
+++ b/lib/librarian/puppet/source/git.rb
@@ -1,5 +1,6 @@
require 'librarian/source/git'
require 'librarian/puppet/source/local'
+require 'puppet'
module Librarian
module Source
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/librarian-puppet.git
More information about the Pkg-ruby-extras-commits
mailing list