Issue #17033 has been updated by Andrew  Parker.

Status changed from Unreviewed to In Topic Branch Pending Review
Assignee set to Ryan Coleman

Ryan, the module tool is your domain, so I'm going to hand this over to you.
----------------------------------------
Bug #17033: Unpacker should force mv when extracting module to install dir
https://projects.puppetlabs.com/issues/17033#change-75386

Author: Dick Olsson
Status: In Topic Branch Pending Review
Priority: Normal
Assignee: Ryan Coleman
Category: module tool
Target version: 3.0.x
Affected Puppet version: 
Keywords: simplefix
Branch: https://github.com/puppetlabs/puppet/pull/1226


When the Unpacker tries to extract a module containing a broken symlink to its 
install dir the `FileUtils::mv` command fails for some reason. I'm not sure 
why, because moving a directly with broken symlinks is normally ok. But doing a 
force move fixes the problem.

It fails with the following error:

    Error executing puppet module install:
    puppet module install --debug --verbose --target-dir 
'/etc/puppet/manifests/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/apache/version/9eac01120a372609e0afa3b236d9ed2d'
 --modulepath 
'/etc/puppet/manifests/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/apache/version/9eac01120a372609e0afa3b236d9ed2d'
 --ignore-dependencies 'puppetlabs/apache'
    Error: No such file or directory - 
/etc/puppet/manifests/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/apache/version/9eac01120a372609e0afa3b236d9ed2d/apache/spec/fixtures/modules/apache

In my case, it happens to be `librarian-puppet` that's executing `puppet module 
install`, which fails. The broken symlink is coming from the apache module, 
which tries to self reference itself in the `fixtures` folder. This in itself 
might be a bug in the `puppetlabs-apache` module. But still, I think `Unpacker` 
should be able to handle cases like this.

For reference, here's the broken symlink in the `puppetlabs-apache` module:

    me@laptop:/tmp/puppetlabs-apache-0.4.0/spec/fixtures/modules# ls -l
    lrwxrwxrwx 1 me me  50 Aug 24 23:31 apache -> 
/Users/hunner/Documents/work/git/puppetlabs-apache

Note that the symlink is pointing to a broken place, probably on 
[hunner](https://github.com/hunner)'s computer.
I guess the broken symlink is coming from here: 
https://github.com/puppetlabs/puppetlabs-apache/blob/master/.fixtures.yml#L6

My environment:  
* Ubuntu 12.04  
* Ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]  
* Puppet: 3.0.0  


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to