voxpupuli / librarian-puppet

MIT License
95 stars 38 forks source link

Issue with Semver 'pre-release' version number. #35

Open lastmikoi opened 8 years ago

lastmikoi commented 8 years ago

Hi,

I'm currently trying to ship a custom hotfixed version of a given module (here 'jhoblitt-selenium') to my librarian-puppet deployment that uses a custom forge (pulp_puppet), and while everything forge-side worked fine (module building, synchronization and publishing), Librarian-puppet seems unable to deal with the special, yet semver-compliant, version number (here 1.1.0-custom).

Here is the Puppetfile:

forge "https://forge.domain.tld/pulp_puppet/forge/repository/reponame"

mod 'jhoblitt-selenium', "1.1.0-custom"

(note: the forge URI has been redacted)

And librarian-puppet's output:

# cd /etc/puppet && /usr/local/bin/librarian-puppet install --verbose --path /etc/puppet/modules/
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 1.8.23
[Librarian] Librarian Version: 0.6.3
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.2.3
[Librarian] Project: /etc/puppet
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 1.9.1
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
/usr/lib/ruby/1.9.1/rubygems/requirement.rb:81:in `parse': Illformed requirement ["1.1.0-custom"] (ArgumentError)
    from /usr/lib/ruby/1.9.1/rubygems/requirement.rb:106:in `block in initialize'
    from /usr/lib/ruby/1.9.1/rubygems/requirement.rb:106:in `map!'
    from /usr/lib/ruby/1.9.1/rubygems/requirement.rb:106:in `initialize'
    from /usr/lib/ruby/1.9.1/rubygems/requirement.rb:44:in `new'
    from /usr/lib/ruby/1.9.1/rubygems/requirement.rb:44:in `create'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dependency.rb:10:in `initialize'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dependency.rb:144:in `new'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dependency.rb:144:in `initialize'
    from /var/lib/gems/1.9.1/gems/librarian-puppet-2.2.3/lib/librarian/puppet/dependency.rb:12:in `initialize'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl/target.rb:61:in `new'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl/target.rb:61:in `dependency'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl/receiver.rb:11:in `block (2 levels) in initialize'
    from /etc/puppet/Puppetfile:6:in `run'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl/receiver.rb:33:in `instance_eval'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl/receiver.rb:33:in `run'
    from /var/lib/gems/1.9.1/gems/librarian-puppet-2.2.3/lib/librarian/puppet/dsl.rb:47:in `run'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl.rb:95:in `block in run'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl.rb:85:in `tap'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl.rb:85:in `run'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/dsl.rb:17:in `run'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/environment.rb:148:in `dsl'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/specfile.rb:15:in `read'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/action/resolve.rb:13:in `run'
    from /var/lib/gems/1.9.1/gems/librarian-puppet-2.2.3/lib/librarian/puppet/action/resolve.rb:10:in `run'
    from /var/lib/gems/1.9.1/gems/librarian-puppet-2.2.3/lib/librarian/puppet/cli.rb:104:in `resolve!'
    from /var/lib/gems/1.9.1/gems/librarian-puppet-2.2.3/lib/librarian/puppet/cli.rb:68:in `install'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/cli.rb:31:in `returning_status'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/cli.rb:26:in `block in bin!'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/cli.rb:47:in `with_environment'
    from /var/lib/gems/1.9.1/gems/librarianp-0.6.3/lib/librarian/cli.rb:26:in `bin!'
    from /var/lib/gems/1.9.1/gems/librarian-puppet-2.2.3/bin/librarian-puppet:7:in `<top (required)>'
    from /usr/local/bin/librarian-puppet:23:in `load'
    from /usr/local/bin/librarian-puppet:23:in `<main>'

No Puppetfile.lock is created.

EDIT: Forgot to write that the distribution I am using is Ubuntu 14.04, which provides Puppet v3.4.3 and Ruby 1.9.3p484

BcTpe4HbIu commented 7 years ago

Same problem here. Is there any workaround for this?