New Upstream Release - ruby-carrierwave

Ready changes

Summary

Merged new upstream version: 2.2.3 (was: 2.2.2).

Resulting package

Built on 2023-01-16T10:33 (took 8m31s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-releases ruby-carrierwave

Lintian Result

Diff

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 7c22cfc..2141944 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -14,10 +14,10 @@ jobs:
         include:
           - ruby: 2.2
             gemfile: gemfiles/rails-5-0.gemfile
-            experimental: false
+            experimental: true
           - ruby: 2.3
             gemfile: gemfiles/rails-5-1.gemfile
-            experimental: false
+            experimental: true
           - ruby: 2.4
             gemfile: gemfiles/rails-5-2.gemfile
             experimental: false
@@ -63,6 +63,8 @@ jobs:
           ${{ runner.os }}-gems-${{ matrix.ruby }}-
     - name: Setup ImageMagick policy
       run: sudo sh -c 'echo '\''<policymap><policy domain="coder" rights="read|write" pattern="PDF" /></policymap>'\'' > /etc/ImageMagick-6/policy.xml'
+    - name: Update package list
+      run: sudo apt update
     - name: Install ghostscript to process PDF
       run: sudo apt-get -y install ghostscript
     - name: Install libvips-dev for Carrierwave::Vips
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 193e70e..f935a54 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
 
 ## [Unreleased]
 
+## 2.2.3 - 2022-11-21
+### Fixed
+* Add workaround for 'undefined method closed?' error caused by ssrf_filter 1.1 (@mshibuya [c74579d](https://github.com/carrierwaveuploader/carrierwave/commit/c74579d382ad124193e80cc5af71824a23de57e6), [#2628](https://github.com/carrierwaveuploader/carrierwave/issues/2628))
+* Add workaround for the API change in ssrf_filter 1.1 (@BrianHawley [#2629](https://github.com/carrierwaveuploader/carrierwave/pull/2629), [#2625](https://github.com/carrierwaveuploader/carrierwave/issues/2625))
+
 ## 2.2.2 - 2021-05-28
 ### Fixed
 * Fix `no implicit conversion of CSV into String` error when parsing a CSV object (@pjmartorell [#2562](https://github.com/carrierwaveuploader/carrierwave/pull/2562), [#2559](https://github.com/carrierwaveuploader/carrierwave/issues/2559))
diff --git a/carrierwave.gemspec b/carrierwave.gemspec
index 8dce30f..7546eaa 100644
--- a/carrierwave.gemspec
+++ b/carrierwave.gemspec
@@ -39,7 +39,12 @@ Gem::Specification.new do |s|
   s.add_development_dependency "rspec-retry"
   s.add_development_dependency "webmock"
   s.add_development_dependency "fog-aws"
-  s.add_development_dependency "fog-google", ["~> 1.7", "!= 1.12.1"]
+  if 2.3 < RUBY_VERSION.to_f && RUBY_VERSION.to_f < 2.7
+    # See https://github.com/fog/fog-google/issues/535 for this restriction.
+    s.add_development_dependency "fog-google", "~> 1.13.0"
+  else
+    s.add_development_dependency "fog-google", ["~> 1.7", "!= 1.12.1"]
+  end
   s.add_development_dependency "fog-local"
   s.add_development_dependency "fog-rackspace"
   s.add_development_dependency "mini_magick", ">= 3.6.0"
diff --git a/debian/changelog b/debian/changelog
index e2ba5e3..dd37215 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ruby-carrierwave (2.2.3-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Mon, 16 Jan 2023 10:25:17 -0000
+
 ruby-carrierwave (2.2.2-1) experimental; urgency=medium
 
   [ Debian Janitor ]
diff --git a/debian/patches/add-available-locales.patch b/debian/patches/add-available-locales.patch
index 57b04f7..095e115 100644
--- a/debian/patches/add-available-locales.patch
+++ b/debian/patches/add-available-locales.patch
@@ -3,9 +3,11 @@ Author: Balasankar C <balasankarc@autistici.org
 Last-Update: 2016-02-02
 ---
 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/spec/spec_helper.rb
-+++ b/spec/spec_helper.rb
-@@ -29,6 +29,7 @@
+Index: ruby-carrierwave.git/spec/spec_helper.rb
+===================================================================
+--- ruby-carrierwave.git.orig/spec/spec_helper.rb
++++ ruby-carrierwave.git/spec/spec_helper.rb
+@@ -37,6 +37,7 @@ end
  
  CarrierWave.root = public_path
  I18n.load_path << File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "carrierwave", "locale", 'en.yml'))
diff --git a/debian/patches/remove-rubygems-require.patch b/debian/patches/remove-rubygems-require.patch
index fa2abc4..3f6b685 100644
--- a/debian/patches/remove-rubygems-require.patch
+++ b/debian/patches/remove-rubygems-require.patch
@@ -3,8 +3,10 @@ Author: Praveen Arimbrathodiyil <praveen@debian.org>
 Forwarded: no
 Last-Update: 2013-05-01
 
---- a/spec/spec_helper.rb
-+++ b/spec/spec_helper.rb
+Index: ruby-carrierwave.git/spec/spec_helper.rb
+===================================================================
+--- ruby-carrierwave.git.orig/spec/spec_helper.rb
++++ ruby-carrierwave.git/spec/spec_helper.rb
 @@ -1,6 +1,3 @@
 -require 'rubygems'
 -require 'bundler/setup'
diff --git a/gemfiles/rails-master.gemfile b/gemfiles/rails-master.gemfile
index bb9283b..efecb7b 100644
--- a/gemfiles/rails-master.gemfile
+++ b/gemfiles/rails-master.gemfile
@@ -1,11 +1,6 @@
 source "https://rubygems.org"
 
 gem "rails", github: "rails/rails", branch: "main"
-gem "rack", github: "rack/rack", branch: "master"
-gem "arel", github: "rails/arel", branch: "master"
-gem "sprockets", github: "rails/sprockets", branch: "master"
-gem "sprockets-rails", github: "rails/sprockets-rails", branch: "master"
-gem "sass-rails", github: "rails/sass-rails"
 gem "activemodel-serializers-xml"
 gem "activerecord-jdbcpostgresql-adapter", github: "jruby/activerecord-jdbc-adapter", platforms: :jruby
 
diff --git a/lib/carrierwave/downloader/base.rb b/lib/carrierwave/downloader/base.rb
index b040bbc..e447e63 100644
--- a/lib/carrierwave/downloader/base.rb
+++ b/lib/carrierwave/downloader/base.rb
@@ -29,8 +29,14 @@ module CarrierWave
             response = OpenURI.open_uri(process_uri(url.to_s), headers)
           else
             request = nil
-            response = SsrfFilter.get(uri, headers: headers) do |req|
-              request = req
+            if ::SsrfFilter::VERSION.to_f < 1.1
+              response = SsrfFilter.get(uri, headers: headers) do |req|
+                request = req
+              end
+            else
+              response = SsrfFilter.get(uri, headers: headers, request_proc: ->(req) { request = req }) do |res|
+                res.body # ensure to read body
+              end
             end
             response.uri = request.uri
             response.value
diff --git a/lib/carrierwave/version.rb b/lib/carrierwave/version.rb
index 5dcdfc5..395c1f1 100644
--- a/lib/carrierwave/version.rb
+++ b/lib/carrierwave/version.rb
@@ -1,3 +1,3 @@
 module CarrierWave
-  VERSION = "2.2.2"
+  VERSION = "2.2.3"
 end
diff --git a/spec/downloader/base_spec.rb b/spec/downloader/base_spec.rb
index 337e4f4..e375bb9 100644
--- a/spec/downloader/base_spec.rb
+++ b/spec/downloader/base_spec.rb
@@ -135,6 +135,16 @@ describe CarrierWave::Downloader::Base do
     end
   end
 
+  context 'when actually downloading a file' do
+    let(:uri) { 'https://raw.githubusercontent.com/carrierwaveuploader/carrierwave/master/spec/fixtures/test.jpg' }
+    before { WebMock.disable! }
+    after { WebMock.enable! }
+
+    it 'retrieves the body successfully' do
+      expect(subject.download(uri).file.read).to eq 'this is stuff'
+    end
+  end
+
   describe '#process_uri' do
     it "converts a URL with internationalized domain name to Punycode URI" do
       uri = "http://ドメイン名例.jp/#{CGI.escape(filename)}"
diff --git a/spec/storage/file_spec.rb b/spec/storage/file_spec.rb
index 0a5dc6b..5c04ee5 100644
--- a/spec/storage/file_spec.rb
+++ b/spec/storage/file_spec.rb
@@ -39,7 +39,6 @@ describe CarrierWave::Storage::File do
   end
 
   describe '#cache!' do
-    before { pending "Fails in JRuby with 'undefined local variable or method __memoized...'" if RUBY_ENGINE == 'jruby' }
     context "when FileUtils.mkdir_p raises Errno::EMLINK" do
       before { fake_failed_mkdir_p(Errno::EMLINK) }
       after { storage.cache!(sanitized_temp_file) }

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/carrierwave-2.2.3.gemspec

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/carrierwave-2.2.2.gemspec

No differences were encountered in the control files

More details

Full run details