rodjek / librarian-puppet

http://librarian-puppet.com
MIT License
692 stars 209 forks source link

Cannot bounce Puppetfile.lock! with v1.3.2 #253

Closed fatmcgav closed 10 years ago

fatmcgav commented 10 years ago

I appear to have hit the infamous Cannot bounce Puppetfile.lock! error again when running with Librarian-Puppet 1.3.2

Debug output looks like:

$ librarian-puppet install --path=spec/fixtures/modules/ --verbose
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 2.1.11
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 1.3.2
[Librarian] Project: /var/lib/jenkins/workspace/RemotePOST Puppet Module
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 1.7.1
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. You should update your Puppetfile
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "https://github.com/cescoffier/puppet-nexus.git", {}]
[Librarian]   [:git, "git://git.card.co.uk/puppet/base.git", {}]
[Librarian] Resolving puppetlabs-stdlib (>= 3.2.0) <https://forgeapi.puppetlabs.com>
[Librarian]   Checking manifests
[Librarian]   Module puppetlabs-stdlib found versions: 4.3.2, 4.3.0, 4.2.2, 4.2.1, 4.2.0, 4.1.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0, 3.0.1, 3.0.0, 2.6.0, 2.5.1, 2.5.0, 2.4.0, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.1, 2.2.0, 2.1.3, 2.0.0, 1.1.0, 1.0.0, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1
[Librarian]     Checking puppetlabs-stdlib/4.3.2 <https://forgeapi.puppetlabs.com>
[Librarian]       Resolving fatmcgav-glassfish (>= 0.1.0) <https://forgeapi.puppetlabs.com>
[Librarian]         Checking manifests
[Librarian]   Module fatmcgav-glassfish found versions: 0.2.0, 0.1.0
[Librarian]           Checking fatmcgav-glassfish/0.2.0 <https://forgeapi.puppetlabs.com>
[Librarian]             Resolving cescoffier-nexus (>= 0) <https://github.com/cescoffier/puppet-nexus.git#master>
[Librarian]               Checking manifests
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --> origin
[Librarian]     -->   origin/HEAD -> origin/master
[Librarian]     -->   origin/master
[Librarian]     --> 72606b155f460c4a39943ad79328b8e864be823e
[Librarian]     --> 72606b155f460c4a39943ad79328b8e864be823e
[Librarian]                 Checking cescoffier-nexus/0.0.1 <https://github.com/cescoffier/puppet-nexus.git#master>
[Librarian]                   Resolving datacentred-ldap (>= 0.2.3) <https://forgeapi.puppetlabs.com>
[Librarian]                     Checking manifests
[Librarian]   Module datacentred-ldap found versions: 0.2.3, 0.2.1, 0.2.0, 0.1.1, 0.1.0
[Librarian]                       Checking datacentred-ldap/0.2.3 <https://forgeapi.puppetlabs.com>
[Librarian]                         Resolving act-base (>= 0) <git://git.card.co.uk/puppet/base.git#master>
[Librarian]                           Checking manifests
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --> origin
[Librarian]     -->   origin/HEAD -> origin/master
[Librarian]     -->   origin/master
[Librarian]     --> fa59e8a76a3d09359d81def7984e19e10adffd3d
[Librarian]     --> fa59e8a76a3d09359d81def7984e19e10adffd3d
[Librarian]                             Checking act-base/0.1.0 <git://git.card.co.uk/puppet/base.git#master>
[Librarian] Pre-Cached Sources:
Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. You should update your Puppetfile
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "https://github.com/cescoffier/puppet-nexus.git", {}]
[Librarian]                               Resolving puppetlabs-concat (>= 1.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                 Checking manifests
[Librarian]   Module puppetlabs-concat found versions: 1.1.1, 1.1.0, 1.1.0-rc1, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0, 1.0.0-rc1
[Librarian]                                   Checking puppetlabs-concat/1.1.1 <https://forgeapi.puppetlabs.com>
[Librarian]                                     Resolving puppetlabs-ntp (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                       Checking manifests
[Librarian]   Module puppetlabs-ntp found versions: 3.1.2, 3.1.1, 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-rc1, 2.0.1, 2.0.0, 2.0.0-rc1, 1.0.1, 1.0.0, 1.0.0-rc1, 0.3.0, 0.2.0, 0.1.0, 0.0.4, 0.0.3
[Librarian]                                         Checking puppetlabs-ntp/3.1.2 <https://forgeapi.puppetlabs.com>
[Librarian]                                           Resolving saz-resolv_conf (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                             Checking manifests
[Librarian]   Module saz-resolv_conf found versions: 3.0.0, 2.1.0, 2.0.0, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0
[Librarian]                                               Checking saz-resolv_conf/3.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]                                                 Resolving saz-ssh (>= 2.3.6) <https://forgeapi.puppetlabs.com>
[Librarian]                                                   Checking manifests
[Librarian]   Module saz-ssh found versions: 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.0, 2.1.0, 2.0.0, 1.4.0, 1.2.0, 1.1.1, 1.1.0, 1.0.3, 1.0.2, 1.0.1, 1.0.0
[Librarian]                                                     Checking saz-ssh/2.3.6 <https://forgeapi.puppetlabs.com>
[Librarian]                                                       Resolving saz-sudo (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                                         Checking manifests
[Librarian]   Module saz-sudo found versions: 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.0, 2.2.0, 2.1.0, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.0.2, 1.0.1, 1.0.0
[Librarian]                                                           Checking saz-sudo/3.0.6 <https://forgeapi.puppetlabs.com>
[Librarian]                                                             Resolving saz-timezone (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                                               Checking manifests
[Librarian]   Module saz-timezone found versions: 3.1.0, 3.0.1, 3.0.0, 2.0.0, 1.2.0, 1.1.0, 1.0.0
[Librarian]                                                                 Checking saz-timezone/3.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]                                                                   Resolved saz-timezone (>= 3.0.0) <https://forgeapi.puppetlabs.com> at saz-timezone/3.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]                                                               Resolved saz-timezone (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                                             Resolved saz-sudo (>= 3.0.0) <https://forgeapi.puppetlabs.com> at saz-sudo/3.0.6 <https://forgeapi.puppetlabs.com>
[Librarian]                                                         Resolved saz-sudo (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                                       Resolved saz-ssh (>= 2.3.6) <https://forgeapi.puppetlabs.com> at saz-ssh/2.3.6 <https://forgeapi.puppetlabs.com>
[Librarian]                                                   Resolved saz-ssh (>= 2.3.6) <https://forgeapi.puppetlabs.com>
[Librarian]                                                 Resolved saz-resolv_conf (>= 3.0.0) <https://forgeapi.puppetlabs.com> at saz-resolv_conf/3.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]                                             Resolved saz-resolv_conf (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                           Resolved puppetlabs-ntp (>= 3.0.0) <https://forgeapi.puppetlabs.com> at puppetlabs-ntp/3.1.2 <https://forgeapi.puppetlabs.com>
[Librarian]                                       Resolved puppetlabs-ntp (>= 3.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                                     Resolved puppetlabs-concat (>= 1.0.0) <https://forgeapi.puppetlabs.com> at puppetlabs-concat/1.1.1 <https://forgeapi.puppetlabs.com>
[Librarian]                                 Resolved puppetlabs-concat (>= 1.0.0) <https://forgeapi.puppetlabs.com>
[Librarian]                               Resolved act-base (>= 0) <git://git.card.co.uk/puppet/base.git#master> at act-base/0.1.0 <git://git.card.co.uk/puppet/base.git#master>
[Librarian]                           Resolved act-base (>= 0) <git://git.card.co.uk/puppet/base.git#master>
[Librarian]                         Resolved datacentred-ldap (>= 0.2.3) <https://forgeapi.puppetlabs.com> at datacentred-ldap/0.2.3 <https://forgeapi.puppetlabs.com>
[Librarian]                     Resolved datacentred-ldap (>= 0.2.3) <https://forgeapi.puppetlabs.com>
[Librarian]                   Resolved cescoffier-nexus (>= 0) <https://github.com/cescoffier/puppet-nexus.git#master> at cescoffier-nexus/0.0.1 <https://github.com/cescoffier/puppet-nexus.git#master>
[Librarian]               Resolved cescoffier-nexus (>= 0) <https://github.com/cescoffier/puppet-nexus.git#master>
[Librarian]             Resolved fatmcgav-glassfish (>= 0.1.0) <https://forgeapi.puppetlabs.com> at fatmcgav-glassfish/0.2.0 <https://forgeapi.puppetlabs.com>
[Librarian]         Resolved fatmcgav-glassfish (>= 0.1.0) <https://forgeapi.puppetlabs.com>
[Librarian]       Resolved puppetlabs-stdlib (>= 3.2.0) <https://forgeapi.puppetlabs.com> at puppetlabs-stdlib/4.3.2 <https://forgeapi.puppetlabs.com>
[Librarian]   Resolved puppetlabs-stdlib (>= 3.2.0) <https://forgeapi.puppetlabs.com>
[Librarian] Bouncing Puppetfile.lock
[Librarian] lockfile_text:
FORGE
  remote: https://forgeapi.puppetlabs.com
  specs:
    datacentred-ldap (0.2.3)
      puppetlabs-stdlib (>= 4.1.0)
    fatmcgav-glassfish (0.2.0)
      puppetlabs-stdlib (>= 3.2.0)
    puppetlabs-concat (1.1.1)
      puppetlabs-stdlib (< 5.0.0, >= 3.2.0)
    puppetlabs-ntp (3.1.2)
      puppetlabs-stdlib (>= 4.0.0)
    puppetlabs-stdlib (4.3.2)
    saz-resolv_conf (3.0.0)
    saz-ssh (2.3.6)
      puppetlabs-stdlib (>= 2.2.1)
    saz-sudo (3.0.6)
      puppetlabs-stdlib (>= 2.3.0)
    saz-timezone (3.1.0)
      puppetlabs-stdlib (>= 2.3.0)

GIT
  remote: git://git.card.co.uk/puppet/base.git
  ref: master
  sha: fa59e8a76a3d09359d81def7984e19e10adffd3d
  specs:
    act-base (0.1.0)
      cescoffier-nexus (>= 0.0.1)
      cescoffier-nexus (>= 0)
      datacentred-ldap (>= 0.2.3)
      fatmcgav-glassfish (>= 0.1.0)
      puppetlabs-concat (>= 1.0.0)
      puppetlabs-ntp (>= 3.0.0)
      puppetlabs-stdlib (>= 3.2.0)
      saz-resolv_conf (>= 3.0.0)
      saz-ssh (>= 2.3.6)
      saz-sudo (>= 3.0.0)
      saz-timezone (>= 3.0.0)

GIT
  remote: https://github.com/cescoffier/puppet-nexus.git
  ref: master
  sha: 72606b155f460c4a39943ad79328b8e864be823e
  specs:
    cescoffier-nexus (0.0.1)

DEPENDENCIES
  act-base (>= 0)
  cescoffier-nexus (>= 0)
  datacentred-ldap (>= 0.2.3)
  fatmcgav-glassfish (>= 0.1.0)
  puppetlabs-stdlib (>= 3.2.0)

[Librarian] bounced_lockfile_text:
FORGE
  remote: https://forgeapi.puppetlabs.com
  specs:
    datacentred-ldap (0.2.3)
      puppetlabs-stdlib (>= 4.1.0)
    fatmcgav-glassfish (0.2.0)
      puppetlabs-stdlib (>= 3.2.0)
    puppetlabs-concat (1.1.1)
      puppetlabs-stdlib (< 5.0.0, >= 3.2.0)
    puppetlabs-ntp (3.1.2)
      puppetlabs-stdlib (>= 4.0.0)
    puppetlabs-stdlib (4.3.2)
    saz-resolv_conf (3.0.0)
    saz-ssh (2.3.6)
      puppetlabs-stdlib (>= 2.2.1)
    saz-sudo (3.0.6)
      puppetlabs-stdlib (>= 2.3.0)
    saz-timezone (3.1.0)
      puppetlabs-stdlib (>= 2.3.0)

GIT
  remote: git://git.card.co.uk/puppet/base.git
  ref: master
  sha: fa59e8a76a3d09359d81def7984e19e10adffd3d
  specs:
    act-base (0.1.0)
      cescoffier-nexus (>= 0)
      datacentred-ldap (>= 0.2.3)
      fatmcgav-glassfish (>= 0.1.0)
      puppetlabs-concat (>= 1.0.0)
      puppetlabs-ntp (>= 3.0.0)
      puppetlabs-stdlib (>= 3.2.0)
      saz-resolv_conf (>= 3.0.0)
      saz-ssh (>= 2.3.6)
      saz-sudo (>= 3.0.0)
      saz-timezone (>= 3.0.0)

GIT
  remote: https://github.com/cescoffier/puppet-nexus.git
  ref: master
  sha: 72606b155f460c4a39943ad79328b8e864be823e
  specs:
    cescoffier-nexus (0.0.1)

DEPENDENCIES
  act-base (>= 0)
  cescoffier-nexus (>= 0)
  datacentred-ldap (>= 0.2.3)
  fatmcgav-glassfish (>= 0.1.0)
  puppetlabs-stdlib (>= 3.2.0)

Cannot bounce Puppetfile.lock!
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/action/persist_resolution_mixin.rb:20:in `persist_resolution'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/action/resolve.rb:27:in `run'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/cli.rb:169:in `resolve!'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-puppet-1.3.2/lib/librarian/puppet/cli.rb:67:in `install'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/gems/librarian-puppet-1.3.2/bin/librarian-puppet:7:in `<top (required)>'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/bin/librarian-puppet:23:in `load'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/bin/librarian-puppet:23:in `<main>'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/bin/ruby_executable_hooks:15:in `eval'
/var/lib/jenkins/.rvm/gems/ruby-1.9.3-p484@puppet-profiles/bin/ruby_executable_hooks:15:in `<main>'

The only difference I can see between the 2 _lockfiletext files is the removal of cescoffier-nexus (>= 0.0.1) from the act-base dependency list.

It may be relevant, but the act-base module has it's own Puppetfile which I guess it being pulled in as part of the dependency resolution.

Any ideas on how I can fix?

Cheers Gavin

carlossg commented 10 years ago

The cescoffier-nexus dependency is duplicated in the act-base module

fatmcgav commented 10 years ago

@carlossg I started looking at that...

Puppetfile and metadata.json from act-base look like:

#!/usr/bin/env ruby

forge 'http://forge.puppetlabs.com'

mod 'puppetlabs-stdlib', '>=3.2.0'
mod 'fatmcgav-glassfish', '>=0.1.0'
mod 'saz-ssh', '>=2.3.6'
mod 'saz-timezone', '>=3.0.0'
mod 'saz-resolv_conf', '>=3.0.0'
mod 'saz-sudo', '>=3.0.0'
mod 'puppetlabs-ntp', '>=3.0.0'
mod 'puppetlabs-concat', '>=1.0.0'

# Pull Nexus repo from Git
mod 'cescoffier-nexus', 
  :git => 'https://github.com/cescoffier/puppet-nexus.git'

mod 'datacentred-ldap', '>=0.2.3'
{
    "license": "ACT Ltd 2014",
    "name": "act-base",
    "project_page": "TBC",
    "source": "http://git.card.co.uk/gitblit/summary/puppet!base.git",
    "summary": "ACT Base configuration classes for Puppet.",
    "version": "0.1.0",
    "author": "Gavin Williams <gavin.williams@weareact.com>",
    "dependencies": [{
            "name": "fatmcgav/glassfish",
            "version_requirement": ">= 0.1.0"
        },{
            "name": "saz/ssh",
            "version_requirement": ">= 2.3.6"
        },{
            "name": "puppetlabs/stdlib",
            "version_requirement": ">= 3.2.0"
        },{
            "name": "saz/timezone",
            "version_requirement": ">= 3.0.0"
        },{
            "name": "saz/resolv_conf",
            "version_requirement": ">= 3.0.0"
        },{
            "name": "saz/sudo",
            "version_requirement": ">= 3.0.0"
        },{
            "name": "puppetlabs/ntp",
            "version_requirement": ">= 3.0.0"
        },{
            "name": "puppetlabs/concat",
            "version_requirement": ">= 1.0.0"
        },{
            "name": "cescoffier/nexus",
            "version_requirement": ">= 0.0.1"
        },{
            "name": "datacentred/ldap",
            "version_requirement": ">= 0.2.3"
        }
    ]
}

The 'act-base' module runs fine with Librarian-puppet, it's only when including it as a dependency on other modules that I see issues...

Thoughts?

Cheers Gavin

carlossg commented 10 years ago

I bet it is because Puppetfile and metadata have different version requirements, so they are not merged If you add ">= 0.0.1" to the Puppetfile dependency probably works

fatmcgav commented 10 years ago

@carlossg Good shout, amended act-base Puppetfile to add a version config and it now works...

From b68ebf65f55dde8e65c827cc4eee1d7eb15535d6 Mon Sep 17 00:00:00 2001
From: Gavin Williams <gavin.williams@weareact.com>
Date: Tue, 16 Sep 2014 10:35:34 +0100
Subject: [PATCH] Add version to Puppetfile dependency. 

---
 Puppetfile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Puppetfile b/Puppetfile
index f8bb209..40c6294 100644
--- a/Puppetfile
+++ b/Puppetfile
@@ -12,7 +12,7 @@
 mod 'puppetlabs-concat', '>=1.0.0'

 # Pull Nexus repo from Git
-mod 'cescoffier-nexus', 
+mod 'cescoffier-nexus', '>=0.0.1',
   :git => 'https://github.com/cescoffier/puppet-nexus.git'

 mod 'datacentred-ldap', '>=0.2.3'
\ No newline at end of file

Didn't think that was supported/required for :git sources though :)

fatmcgav commented 10 years ago

One other quick question then...

Do I need to specify the act-base dependencies in Puppetfile of modules that have a dependency on act-base? Would be cleaner if I didn't have to... :)

fatmcgav commented 10 years ago

Ok, to answer my own question, it looks like it is possible to inherit the dependencies from act-base, but only for forge modules... Anything from git doesn't get picked up correctly...

Would be nice if any dependencies served from Git on the inherited list also inherited their source...

carlossg commented 10 years ago

If you have duplicated Puppetfile and metadata.json then things get confusing if they don't match. Puppetfile is not needed.

You shouldn't need to list the dependencies of your dependencies, they are resolved magically. Maybe something not covered by the tests? https://github.com/rodjek/librarian-puppet/blob/master/features/install/git.feature#L73

fatmcgav commented 10 years ago

OK, I guess the challenge comes in when a dependency is being fulfilled from Git rather than Forge... In that scenario, the Puppetfile is the only way isn't it?

fatmcgav commented 10 years ago

Ah, actually, looks like you're right...

I ran a clean, and removed my Puppetfile.lock, then re-ran Librarian-puppet with the following Puppetfile, and it resolved cescoffier-nexus/0.0.1 correctly from Git :D

#!/usr/bin/env ruby

forge 'http://forgeapi.puppetlabs.com'

# Pull in ACT modules from Git
mod 'act-base',
  :git => 'git://git.card.co.uk/puppet/base.git'

Snippet from librarian-puppet verbose run looks like:

$ librarian-puppet install --path=spec/fixtures/ --verbose
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 2.1.11
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 1.0.9
[Librarian] Project: /var/lib/jenkins/workspace/RemotePOST Puppet Module
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 1.7.1
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "git://git.card.co.uk/puppet/base.git", {}]
[Librarian] Resolving act-base (>= 0) <git://git.card.co.uk/puppet/base.git#master>
[Librarian]   Checking manifests
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --> origin
[Librarian]     -->   origin/HEAD -> origin/master
[Librarian]     -->   origin/master
[Librarian]     --> b68ebf65f55dde8e65c827cc4eee1d7eb15535d6
[Librarian]     --> b68ebf65f55dde8e65c827cc4eee1d7eb15535d6
[Librarian]     Checking act-base/0.1.0 <git://git.card.co.uk/puppet/base.git#master>
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "https://github.com/cescoffier/puppet-nexus.git", {}]
[Librarian]       Resolving cescoffier-nexus (>= 0.0.1) <https://github.com/cescoffier/puppet-nexus.git#master>