Issue #17033 has been updated by Andrew Parker.

Target version changed from 3.0.x to 3.x

As the 3.0.x line is winding down with the impending release of 3.1.0, I am 
removing the target at 3.0.x from tickets in the system and targeting them at 
3.x instead.
----------------------------------------
Bug #17033: Unpacker should force mv when extracting module to install dir
https://projects.puppetlabs.com/issues/17033#change-80564

Author: Dick Olsson
Status: In Topic Branch Pending Review
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 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