...
 
Commits (10)
......@@ -2,3 +2,4 @@ pkg/
Gemfile.lock
tmp/
coverage/
*.gem
......@@ -6,11 +6,11 @@
Librarian-puppet is a bundler for your puppet infrastructure. You can use
librarian-puppet to manage the puppet modules your infrastructure depends on,
whether the modules come from the [Puppet Forge](https://forge.puppetlabs.com/),
whether the modules come from the [Puppet Forge](https://forge.puppet.com/),
Git repositories or just a path.
* Librarian-puppet can reuse the dependencies listed in your `Modulefile` or `metadata.json`
* Forge modules can be installed from [Puppetlabs Forge](https://forge.puppetlabs.com/) or an internal Forge such as [Pulp](http://www.pulpproject.org/)
* Forge modules can be installed from [Puppetlabs Forge](https://forge.puppet.com/) or an internal Forge such as [Pulp](http://www.pulpproject.org/)
* Git modules can be installed from a branch, tag or specific commit, optionally using a path inside the repository
* Modules can be installed from GitHub using tarballs, without needing Git installed
* Modules can be installed from a filesystem path
......@@ -31,8 +31,9 @@ and isolate a project's dependencies.
## Versions
Librarian-puppet >= 2.0 (as well as 1.1, 1.2 and 1.3) requires Ruby 1.9 and uses the Puppet Forge API v3.
Versions < 2.0 work on Ruby 1.8.
Librarian-Puppet 3.0.0 and newer requires Ruby >= 2.0. Use version 2.2.4 if you need support for Puppet 3.7 or earlier, or Ruby 1.9 or earlier. Note that [Puppet 4.10 and newer require Ruby 2.1](https://puppet.com/docs/puppet/4.10/system_requirements.html#prerequisites) or newer.
Librarian-Puppet 2.0.0 and newer requires Ruby >= 1.9 and uses Puppet Forge API v3. For Ruby 1.8 use 1.5.0.
See the [Changelog](Changelog.md) for more details.
......@@ -129,6 +130,11 @@ This includes any branch name, tag name, SHA, or SHA unique prefix. If we use a
branch, we can later ask Librarian-puppet to update the module by fetching the
most recent version of the module from that same branch.
Note that Librarian-puppet recognizes the [r10k Puppetfile's](https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd) additional
options, `:tag`, `:commit`, and `:branch`, but only as aliases for `:ref`.
That is, there is no implementation of r10k's optimizations around fetching
these different types of git objects.
The Git source also supports a `:path =>` option. If we use the path option,
Librarian-puppet will navigate down into the Git repository and only use the
specified subdirectory. Some people have the habit of having a single repository
......
librarian-puppet (3.0.0-1) unstable; urgency=medium
* New upstream version 3.0.0
Upstream fix in ruby-librarian for git 2.14.0 (Closes: #876785)
* d/watch: Use Github in order to import spec files and upstream changelog
* d/compat: Bump compat version to 11
* d/control:
+ Bump to Standards-Version 4.1.3 (no changes needed)
+ Use salsa.debian.org in Vcs-* fields
* d/copyright: Update copyritght years and use HTTPS for URI
-- Sebastien Badia <sbadia@debian.org> Sun, 18 Mar 2018 21:12:45 +0100
librarian-puppet (2.2.3-2) unstable; urgency=medium
* d/control:
......
......@@ -6,16 +6,16 @@ Section: admin
Testsuite: autopkgtest-pkg-ruby
Priority: optional
Build-Depends: cucumber,
debhelper (>= 10),
debhelper (>= 11),
gem2deb,
rake,
ruby-json,
ruby-librarian (>= 0.6.3~),
ruby-puppet-forge,
ruby-rsync
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-ruby-extras/librarian-puppet.git
Vcs-Git: https://anonscm.debian.org/git/pkg-ruby-extras/librarian-puppet.git
Standards-Version: 4.1.3
Vcs-Browser: https://salsa.debian.org/ruby-team/librarian-puppet
Vcs-Git: https://salsa.debian.org/ruby-team/librarian-puppet.git
Homepage: https://github.com/voxpupuli/librarian-puppet
XS-Ruby-Versions: all
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: librarian-puppet
Source: https://github.com/voxpupuli/librarian-puppet
Files: *
Copyright: 2012-2014 Tim Sharpe
2012-2014 Carlos Sanchez
2016 Voxpupuli Contributors
2016-2018 Voxpupuli Contributors
License: Expat
Files: debian/*
Copyright: 2013 Stig Sandbeck Mathisen <ssm@debian.org>
2014-2018 Sebastien Badia <sbadia@debian.org>
License: Expat
License: Expat
......
---
Name: librarian-puppet
Repository: https://github.com/voxpupuli/librarian-puppet.git
Repository-Browse: https://github.com/voxpupuli/librarian-puppet
version=3
opts=dversionmangle=s/\+(?:ds|dfsg)$// \
http://pkg-ruby-extras.alioth.debian.org/cgi-bin/gemwatch/librarian-puppet .*/librarian-puppet-(.*).tar.gz
version=4
https://github.com/voxpupuli/librarian-puppet/releases .*/v(.*).tar.gz
......@@ -158,7 +158,8 @@ module Librarian
@repo ||= {}
unless @repo[name]
# if we are using the official Forge then use API v3, otherwise stick to v1 for now
# If we are using the official Forge then use API v3, otherwise use the preferred api
# as defined by the CLI option use_v1_api
if uri.hostname =~ /\.puppetlabs\.com$/ || !environment.use_v1_api
@repo[name] = RepoV3.new(self, name)
else
......
......@@ -87,7 +87,7 @@ module Librarian
target = vendored?(name, version) ? vendored_path(name, version).to_s : name
# can't pass the default v3 forge url (http://forgeapi.puppetlabs.com)
# to clients that use the v1 API (https://forge.puppetlabs.com)
# to clients that use the v1 API (https://forge.puppet.com)
# nor the other way around
module_repository = source.to_s
......
......@@ -11,10 +11,10 @@ module Librarian
def initialize(source, name)
super(source, name)
# API returned data for this module including all versions and dependencies, indexed by module name
# from http://forge.puppetlabs.com/api/v1/releases.json?module=#{name}
# from https://forge.puppetlabs.com/api/v1/releases.json?module=#{name}
@api_data = nil
# API returned data for this module and a specific version, indexed by version
# from http://forge.puppetlabs.com/api/v1/releases.json?module=#{name}&version=#{version}
# from https://forge.puppetlabs.com/api/v1/releases.json?module=#{name}&version=#{version}
@api_version_data = {}
end
......
......@@ -26,7 +26,21 @@ module Librarian
# If the rsync configuration parameter is set, use rsync instead of FileUtils
def cp_r(src, dest)
if rsync?
Rsync.run(File.join(src, "/"), dest, ['-avz', '--delete'])
if Gem.win_platform?
src_clean = "#{src}".gsub(/^([a-z])\:/i,'/cygdrive/\1')
dest_clean = "#{dest}".gsub(/^([a-z])\:/i,'/cygdrive/\1')
else
src_clean = src
dest_clean = dest
end
debug { "Copying #{src_clean}/ to #{dest_clean}/ with rsync -avz --delete" }
result = Rsync.run(File.join(src_clean, "/"), File.join(dest_clean, "/"), ['-avz', '--delete'])
if result.success?
debug { "Rsync from #{src_clean}/ to #{dest_clean}/ successfull" }
else
msg = "Failed to rsync from #{src_clean}/ to #{dest_clean}/: " + result.error
raise Error, msg
end
else
begin
FileUtils.cp_r(src, dest, :preserve => true)
......
module Librarian
module Puppet
VERSION = "2.2.3"
VERSION = "3.0.0"
end
end
......@@ -5,11 +5,11 @@
Gem::Specification.new do |s|
s.name = "librarian-puppet"
s.version = "2.2.3"
s.version = "3.0.0"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Tim Sharpe", "Carlos Sanchez"]
s.date = "2016-04-21"
s.date = "2018-01-15"
s.description = "Simplify deployment of your Puppet infrastructure by\n automatically pulling in modules from the forge and git repositories with\n a single command."
s.email = ["tim@sharpe.id.au", "carlos@apache.org"]
s.executables = ["librarian-puppet"]
......@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
s.homepage = "https://github.com/voxpupuli/librarian-puppet"
s.licenses = ["MIT"]
s.require_paths = ["lib"]
s.required_ruby_version = Gem::Requirement.new(">= 1.9.0")
s.required_ruby_version = Gem::Requirement.new(">= 2.0.0")
s.rubygems_version = "1.8.23"
s.summary = "Bundler for your Puppet modules"
......@@ -26,11 +26,11 @@ Gem::Specification.new do |s|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_development_dependency(%q<aruba>, ["< 0.8.0"])
s.add_development_dependency(%q<cucumber>, [">= 0"])
s.add_development_dependency(%q<cucumber>, ["< 3.0.0"])
s.add_runtime_dependency(%q<librarianp>, [">= 0.6.3"])
s.add_development_dependency(%q<minitest>, ["~> 5"])
s.add_development_dependency(%q<mocha>, [">= 0"])
s.add_development_dependency(%q<puppet>, ["~> 4.1.0"])
s.add_development_dependency(%q<puppet>, ["~> 5.2.0"])
s.add_runtime_dependency(%q<puppet_forge>, ["~> 2.1"])
s.add_development_dependency(%q<rake>, [">= 0"])
s.add_development_dependency(%q<rspec>, [">= 0"])
......@@ -38,11 +38,11 @@ Gem::Specification.new do |s|
s.add_development_dependency(%q<simplecov>, [">= 0.9.0"])
else
s.add_dependency(%q<aruba>, ["< 0.8.0"])
s.add_dependency(%q<cucumber>, [">= 0"])
s.add_dependency(%q<cucumber>, ["< 3.0.0"])
s.add_dependency(%q<librarianp>, [">= 0.6.3"])
s.add_dependency(%q<minitest>, ["~> 5"])
s.add_dependency(%q<mocha>, [">= 0"])
s.add_dependency(%q<puppet>, ["~> 4.1.0"])
s.add_dependency(%q<puppet>, ["~> 5.2.0"])
s.add_dependency(%q<puppet_forge>, ["~> 2.1"])
s.add_dependency(%q<rake>, [">= 0"])
s.add_dependency(%q<rspec>, [">= 0"])
......@@ -51,11 +51,11 @@ Gem::Specification.new do |s|
end
else
s.add_dependency(%q<aruba>, ["< 0.8.0"])
s.add_dependency(%q<cucumber>, [">= 0"])
s.add_dependency(%q<cucumber>, ["< 3.0.0"])
s.add_dependency(%q<librarianp>, [">= 0.6.3"])
s.add_dependency(%q<minitest>, ["~> 5"])
s.add_dependency(%q<mocha>, [">= 0"])
s.add_dependency(%q<puppet>, ["~> 4.1.0"])
s.add_dependency(%q<puppet>, ["~> 5.2.0"])
s.add_dependency(%q<puppet_forge>, ["~> 2.1"])
s.add_dependency(%q<rake>, [">= 0"])
s.add_dependency(%q<rspec>, [">= 0"])
......