When trying to package some dependencies for a new version of Nanoc, I
noticed that some gems start to ship SHA256 digests instead of SHA1 in
addition to SHA512.
This happens for example with the ddmetrics gem

As a consequence, gem2deb fails on such gems with the following error.

ddmetrics doesn't seem to exist. Let's try to download it with 'gem fetch 
gem fetch ddmetrics
Fetching: ddmetrics-1.0.0.gem (100%)
Downloaded ddmetrics-1.0.0
-- Creating source tarball from ddmetrics-1.0.0.gem ...
tar xfm /tmp/ddmetrics-1.0.0.gem
/usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:131:in `block (2 levels) in 
verify_and_strip_checksums': undefined method `[]' for nil:NilClass 
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:130:in `each'
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:130:in `block in 
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:128:in `each'
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:128:in 
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:85:in `block in 
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:83:in `chdir'
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:83:in 
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:67:in `convert!'
        from /usr/lib/ruby/vendor_ruby/gem2deb/gem2tgz.rb:33:in `convert!'
        from /usr/bin/gem2deb:114:in `<main>'

I am considering adding Digest::SHA256 to the list of digests tested in
gem2tgz and skip the checksum computation if the digest name is not a
key of the hash read from the YAML file.

What do you think?


Attachment: signature.asc
Description: PGP signature

Reply via email to