puppetlabs / Puppet.Dsc

Convert DSC resources into Puppet Resource API types and providers
https://www.powershellgallery.com/packages/Puppet.Dsc
Apache License 2.0
9 stars 12 forks source link

Modules with long file paths can be published but not installed #144

Closed michaeltlombardi closed 3 years ago

michaeltlombardi commented 3 years ago

Describe the Bug

Using the functions in this module, it is possible to puppetize and publish a module with DSC Resources which cannot be installed via puppet module install.

Expected Behavior

Modules published to the forge can be installed by end users.

Steps to Reproduce

# Validate the module is buildable
New-Item /tdsc -ItemType Directory
Import-Module -Name Puppet.Dsc
New-PuppetDscModule New-PuppetDscModule -PowerShellModuleName xremotedesktopsessionhost -Verbose -OutputDirectory /tdsc
# Show that the module built in this way is _not_ installable
puppet module install dsc-xremotedesktopsessionhost --version 2.0.0-0-1 --trace

Additional Context

The root of this problem is with minitar as described in PUP-10924 and elaborated on in PDK-1684 - as long as we are unable to support long paths on module installation even when the operating system supports those paths we will have modules which are not installable by end users.

This Issue needs to be resolved before a 1.0.0 release can be cut.

michaeltlombardi commented 3 years ago

Support for long file paths has landed in core ruby but not yet in minitar.

michaeltlombardi commented 3 years ago

Possibly resolved by #169 once testing and docs are implemented

michaeltlombardi commented 3 years ago

No longer able to reproduce the bug.