Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin minitar version to < 1.0.0 to keep project working #119

Merged
merged 1 commit into from
Aug 13, 2024

Conversation

der-eismann
Copy link
Contributor

Summary

minitar recently released their v1 release, containing some breaking changes. When using this package (or librarian-puppet, which depends on it) I get this:

$ gem install --no-document librarian-puppet -v '~> 5'
Fetching librarian-puppet-5.0.0.gem
Fetching rsync-1.0.9.gem
Fetching minitar-1.0.1.gem
Fetching faraday-2.10.1.gem
Fetching faraday-net_http-3.1.1.gem
Fetching faraday-follow_redirects-0.3.0.gem
Fetching puppet_forge-4.1.0.gem
Fetching librarianp-1.1.2.gem
Successfully installed rsync-1.0.9
Successfully installed minitar-1.0.1
Successfully installed faraday-net_http-3.1.1
Successfully installed faraday-2.10.1
Successfully installed faraday-follow_redirects-0.3.0
Successfully installed puppet_forge-4.1.0
Successfully installed librarianp-1.1.2
Successfully installed librarian-puppet-5.0.0
8 gems installed

$ librarian-puppet install --clean
<internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- archive/tar/minitar (LoadError)
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/puppet_forge-4.1.0/lib/puppet_forge/tar/mini.rb:2:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/puppet_forge-4.1.0/lib/puppet_forge/tar.rb:4:in `<class:Tar>'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/puppet_forge-4.1.0/lib/puppet_forge/tar.rb:3:in `<module:PuppetForge>'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/puppet_forge-4.1.0/lib/puppet_forge/tar.rb:2:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/puppet_forge-4.1.0/lib/puppet_forge.rb:21:in `<module:PuppetForge>'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/puppet_forge-4.1.0/lib/puppet_forge.rb:3:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/source/forge/repo_v3.rb:2:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/source/forge.rb:4:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/source.rb:3:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/dsl.rb:3:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/environment.rb:2:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/extension.rb:1:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet.rb:4:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/lib/librarian/puppet/cli.rb:4:in `<top (required)>'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/opt/puppetlabs/puppet/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/gems/3.2.0/gems/librarian-puppet-5.0.0/bin/librarian-puppet:6:in `<top (required)>'
	from /opt/puppetlabs/puppet/bin/librarian-puppet:25:in `load'
	from /opt/puppetlabs/puppet/bin/librarian-puppet:25:in `<main>'

This sounds very similar to halostatue/minitar#61 where someone explained that the archive/tar/minitar namespace is not present anymore. So either the version is pinned to < 1.0 or someone fixes the minitar implementation to make it work with newer releases as well.

@der-eismann der-eismann requested review from bastelfreak and a team as code owners August 13, 2024 06:42
@CLAassistant
Copy link

CLAassistant commented Aug 13, 2024

CLA assistant check
All committers have signed the CLA.

@bastelfreak
Copy link
Collaborator

I think this is fine as a workaround, but afterwards we should switch to the new version

@bastelfreak bastelfreak merged commit 80a7a76 into puppetlabs:main Aug 13, 2024
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants