dnbert / prm

PRM Allows you to quickly build package repositories, inspired by Jordan Sissels' FPM
MIT License
249 stars 31 forks source link

mkdir errors on new repo creation? #22

Closed kitchen closed 11 years ago

kitchen commented 11 years ago
root@puppet1:~# prm -t deb -p pool -r precise -a amd64 -c unstable -s stable -g
/var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:347:in `mkdir': No such file or directory - pool/dists/precise/stable-2013-07-17-15-06 (Errno::ENOENT)
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:347:in `block in snapshot_to'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:336:in `each'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:336:in `snapshot_to'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:475:in `create'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/bin/prm:58:in `execute'
        from /var/lib/gems/1.9.1/gems/clamp-0.6.1/lib/clamp/command.rb:67:in `run'
        from /var/lib/gems/1.9.1/gems/clamp-0.6.1/lib/clamp/command.rb:125:in `run'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/bin/prm:62:in `<top (required)>'
        from /usr/local/bin/prm:19:in `load'
        from /usr/local/bin/prm:19:in `<main>'

I tried making the dir:

  <target port='0'/>
root@puppet1:~# mkdir -p pool/dists/precise/stable-2013-07-17-15-08
root@puppet1:~# prm -t deb -p pool -r precise -a amd64 -c unstable -s stable -g
/usr/lib/ruby/1.9.1/fileutils.rb:1406:in `unlink': No such file or directory - pool/dists/precise/stable (Errno::ENOENT)
        from /usr/lib/ruby/1.9.1/fileutils.rb:1406:in `block in remove_file'
        from /usr/lib/ruby/1.9.1/fileutils.rb:1411:in `platform_support'
        from /usr/lib/ruby/1.9.1/fileutils.rb:1405:in `remove_file'
        from /usr/lib/ruby/1.9.1/fileutils.rb:785:in `remove_file'
        from /usr/lib/ruby/1.9.1/fileutils.rb:563:in `block in rm'
        from /usr/lib/ruby/1.9.1/fileutils.rb:562:in `each'
        from /usr/lib/ruby/1.9.1/fileutils.rb:562:in `rm'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:394:in `block in snapshot_to'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:336:in `each'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:336:in `snapshot_to'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/lib/prm/repo.rb:475:in `create'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/bin/prm:58:in `execute'
        from /var/lib/gems/1.9.1/gems/clamp-0.6.1/lib/clamp/command.rb:67:in `run'
        from /var/lib/gems/1.9.1/gems/clamp-0.6.1/lib/clamp/command.rb:125:in `run'
        from /var/lib/gems/1.9.1/gems/prm-0.1.3/bin/prm:62:in `<top (required)>'
        from /usr/local/bin/prm:19:in `load'
        from /usr/local/bin/prm:19:in `<main>'

So I tried making that dir!

root@puppet1:~# prm -t deb -p pool -r precise -a amd64 -c unstable -s stable -g
Snapshot target is a filesystem, remove it or rename your snap target

wat?!

I used both the latest from rubygems.org and also direct from github and got the same results.

This is on a fresh precise box with ruby1.9.1 1.9.3.0-1ubuntu2.7 installed. And pretty much nothing more :)

dnbert commented 11 years ago

Hey Jeremy,

This probably wasn't explained clearly enough in the documentation (and I found a bug in unlinking a directory too! which is fixed in the latest release).

To snapshot a component with the -s flag, the component must exist first. https://github.com/dnbert/prm/commit/430ff57e66d18422892d5817b101e496391319cf should fix this issue with more clarity. As well, I've published 0.1.3 to Rubygems.org

Let me know if you run into any further issues