rodjek / librarian-puppet

http://librarian-puppet.com
MIT License
694 stars 216 forks source link

module install throwing 'File name too long' from tar #305

Closed sci-burns closed 9 years ago

sci-burns commented 9 years ago

Executing command: librarian-puppet install --verbose

Chokes, with error: Error: Could not extract contents of module archive: Execution of 'gzip -dc /vagrant/puppet/.tmp/librarian/cache/source/puppet/forge/forgeapi_puppetlabs_com/nanliu-staging/1.0.3/cache/nanliu-staging20150520-2926-2dj8lc | tar xof -' returned 2: tar: nanliu-staging-1.0.3/spec/unit/puppet/parser/functions: Cannot mkdir: File name too long tar: nanliu-staging-1.0.3/spec/unit/puppet/parser/functions: Cannot mkdir: File name too long tar: nanliu-staging-1.0.3/spec/unit/puppet/parser/functions/scope_defaults_spec.rb: Cannot open: No such file or directory tar: nanliu-staging-1.0.3/spec/unit/puppet/parser/functions: Cannot mkdir: File name too long tar: nanliu-staging-1.0.3/spec/unit/puppet/parser/functions/staging_parse_spec.rb: Cannot open: No such file or directory tar: nanliu-staging-1.0.3/lib/puppet/parser/functions/scope_defaults.rb: Cannot open: File name too long tar: Exiting with failure status due to previous errors

If I perform manual install like this puppet module install nanliu-staging then all is well, but if I execute as the full command as shown in the error details then I get the same "File name too long" error.

I tried with a few different modules with the same result.

Full verbose output here: https://gist.github.com/sci-burns/5c6f004acdfa7141157a

sci-burns commented 9 years ago

OK, I have a line on it.

This is running inside Vagrant - the guest is Linux, but the host is Windows and the source is being shared via a VMWare guest - host shared folder.

Copied the puppet source folder to the Linux users home folder, which is not shared with Windows and it worked liked a champ.

Amazing to me that in the year 2015 still dealing with Windows file name limitations.