voxpupuli / puppet-archive

Compressed archive file download and extraction with native types/providers for Windows and Unix
https://forge.puppet.com/puppet/archive
Apache License 2.0
59 stars 176 forks source link

Fix catalog compilation failure when net/ftp is not available #491

Closed smortex closed 1 year ago

smortex commented 1 year ago

When net/ftp is not available, the archive module fail to load and the PuppetServer catalog compilation fail. While this gem is generally available because part of the Ruby standard library, some flavors of Ruby do noth ship with it by default, e.g. FreeBSD package of Ruby 3.2 or GitHub actions of Ruby 3.2.

Because the archive module has multiple ways to download files, the absence of net/ftp is not necessarily an issue because when curl(1) is available, it is preferred over net/ftp. The catalog compilation error is therefore not required.

Lazy load net/ftp when the pure-ruby download-over-FTP code is run, so that the absence of net/ftp cause a resource evaluation error on the agent side and the rest of the catalog still apply.

Fixes #488

david22swan commented 1 year ago

Any word on this getting merged and released?