Issue #17033 has been updated by Charlie Sharpsteen.

Status changed from In Topic Branch Pending Review to Code Insufficient

----------------------------------------
Bug #17033: Unpacker should force mv when extracting module to install dir
https://projects.puppetlabs.com/issues/17033#change-92186

* Author: Dick Olsson
* Status: Code Insufficient
* Priority: Normal
* Assignee: Ryan Coleman
* Category: module tool
* Target version: 3.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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to