From bf0122a7f632b8f8cde6abb13e62972955dfb5a6 Mon Sep 17 00:00:00 2001 From: Pirate Praveen Date: Mon, 4 Mar 2019 20:18:14 +0530 Subject: [PATCH] Bump fog and related gems in Gemfile with upstream patch --- debian/patches/0685-bump-fog.patch | 181 +++++++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 182 insertions(+) create mode 100644 debian/patches/0685-bump-fog.patch diff --git a/debian/patches/0685-bump-fog.patch b/debian/patches/0685-bump-fog.patch new file mode 100644 index 0000000000..a6eb311926 --- /dev/null +++ b/debian/patches/0685-bump-fog.patch @@ -0,0 +1,181 @@ +From 4193e3d47543abfd533f5bc73753a2d31ab9eb22 Mon Sep 17 00:00:00 2001 +From: Stan Hu +Date: Wed, 23 Jan 2019 22:17:31 -0800 +Subject: [PATCH 1/6] Bump fog-aws to 3.3.0 and associated dependencies + +Fixes issue with AWS V4 signatures not working with Ceph S3: +https://github.com/fog/fog-aws/issues/462 +--- + Gemfile | 12 ++--- + Gemfile.lock | 47 ++++++++++--------- + .../concerns/send_file_upload_spec.rb | 2 +- + 3 files changed, 31 insertions(+), 30 deletions(-) + +--- a/Gemfile ++++ b/Gemfile +@@ -95,13 +95,13 @@ + gem 'mini_magick' + + # for backups +-gem 'fog-aws', '~> 2.0', '>= 2.0.1' +-gem 'fog-core', '~> 1.44' +-gem 'fog-google', '~> 1.7', '>= 1.7.1' +-gem 'fog-local', '~> 0.3' +-gem 'fog-openstack', '~> 0.1' ++gem 'fog-aws', '~> 3.3' ++gem 'fog-core', '~> 2.1' ++gem 'fog-google', '~> 1.8' ++gem 'fog-local', '~> 0.6' ++gem 'fog-openstack', '~> 1.0' + gem 'fog-rackspace', '~> 0.1.1' +-gem 'fog-aliyun', '~> 0.2.0' ++gem 'fog-aliyun', '~> 0.3' + + # for Google storage + gem 'google-api-client', '~> 0.23' +--- a/Gemfile.lock ++++ b/Gemfile.lock +@@ -217,32 +217,33 @@ + flowdock (0.7.1) + httparty (~> 0.7) + multi_json +- fog-aliyun (0.2.0) +- fog-core (~> 1.27) +- fog-json (~> 1.0) ++ fog-aliyun (0.3.3) ++ fog-core ++ fog-json + ipaddress (~> 0.8) + xml-simple (~> 1.1) +- fog-aws (2.0.1) +- fog-core (~> 1.38) +- fog-json (~> 1.0) ++ fog-aws (3.3.0) ++ fog-core (~> 2.1) ++ fog-json (~> 1.1) + fog-xml (~> 0.1) + ipaddress (~> 0.8) +- fog-core (1.45.0) ++ fog-core (2.1.0) + builder + excon (~> 0.58) + formatador (~> 0.2) +- fog-google (1.7.1) +- fog-core +- fog-json +- fog-xml ++ mime-types ++ fog-google (1.8.2) ++ fog-core (<= 2.1.0) ++ fog-json (~> 1.2) ++ fog-xml (~> 0.1.0) + google-api-client (~> 0.23.0) +- fog-json (1.0.2) +- fog-core (~> 1.0) ++ fog-json (1.2.0) ++ fog-core + multi_json (~> 1.10) +- fog-local (0.3.1) +- fog-core (~> 1.27) +- fog-openstack (0.1.21) +- fog-core (>= 1.40) ++ fog-local (0.6.0) ++ fog-core (>= 1.27, < 3.0) ++ fog-openstack (1.0.8) ++ fog-core (~> 2.1) + fog-json (>= 1.0) + ipaddress (>= 0.8) + fog-rackspace (0.1.1) +@@ -1004,12 +1005,12 @@ + flipper-active_record (~> 0.13.0) + flipper-active_support_cache_store (~> 0.13.0) + flowdock (~> 0.7) +- fog-aliyun (~> 0.2.0) +- fog-aws (~> 2.0.1) +- fog-core (~> 1.44) +- fog-google (~> 1.7.1) +- fog-local (~> 0.3) +- fog-openstack (~> 0.1) ++ fog-aliyun (~> 0.3) ++ fog-aws (~> 3.3) ++ fog-core (= 2.1.0) ++ fog-google (~> 1.8) ++ fog-local (~> 0.6) ++ fog-openstack (~> 1.0) + fog-rackspace (~> 0.1.1) + font-awesome-rails (~> 4.7) + foreman (~> 0.84.0) +--- a/spec/controllers/concerns/send_file_upload_spec.rb ++++ b/spec/controllers/concerns/send_file_upload_spec.rb +@@ -112,7 +112,7 @@ + + it 'sends a file with a custom type' do + headers = double +- expected_headers = %r(response-content-disposition=attachment%3B%20filename%3D%22test.js%22%3B%20filename%2A%3DUTF-8%27%27test.js&response-content-type=application/ecmascript) ++ expected_headers = /response-content-disposition=attachment%3B%20filename%3D%22test.js%22%3B%20filename%2A%3DUTF-8%27%27test.js&response-content-type=application%2Fecmascript/ + expect(Gitlab::Workhorse).to receive(:send_url).with(expected_headers).and_call_original + expect(headers).to receive(:store).with(Gitlab::Workhorse::SEND_DATA_HEADER, /^send-url:/) + +--- /dev/null ++++ b/config/initializers/fog_core_patch.rb +@@ -0,0 +1,52 @@ ++# frozen_string_literal: true ++# ++# fog-core v2 changed the namespace format: ++# ++# Old: Fog:::: (e.g. Fog::Storage::AWS). ++# New: Fog:::: (e.g. Fog::AWS::Storage) ++# ++# To preserve backwards compatibility, fog-core v2.1.0 tries to load the ++# old schema first, but falls back to the older version if that ++# fails. This creates misleading warnings with fog-aws. See ++# https://github.com/fog/fog-aws/issues/504#issuecomment-468067991 for ++# more details. ++# ++# fog-core v2.1.2 reverses the load order ++# (https://github.com/fog/fog-core/pull/229), which works for fog-aws ++# but causes a stream of deprecation warnings for fog-google. ++# fog-google locked the dependency on fog-core v2.1.0 as a result ++# (https://github.com/fog/fog-google/issues/421) until the new namespace ++# is supported. ++# ++# Since we currently have some Fog gems that have not been updated, this ++# monkey patch makes a smarter decision about which namespace to try ++# first. This squelches a significant number of warning messages. ++# ++# Since this patch is mostly cosmetic, it can be removed safely at any ++# time, but it's probably best to wait until the following issues are ++# closed: ++# ++# fog-google: https://github.com/fog/fog-google/issues/421 ++# fog-rackspace: https://github.com/fog/fog-rackspace/issues/29 ++# fog-aliyun: https://github.com/fog/fog-aliyun/issues/23 ++module Fog ++ module ServicesMixin ++ # Gems that have not yet updated with the new fog-core namespace ++ LEGACY_FOG_PROVIDERS = %w(google rackspace aliyun).freeze ++ ++ def service_provider_constant(service_name, provider_name) ++ args = service_provider_search_args(service_name, provider_name) ++ Fog.const_get(args.first).const_get(*const_get_args(args.second)) ++ rescue NameError # Try to find the constant from in an alternate location ++ Fog.const_get(args.second).const_get(*const_get_args(args.first)) ++ end ++ ++ def service_provider_search_args(service_name, provider_name) ++ if LEGACY_FOG_PROVIDERS.include?(provider_name.downcase) ++ [service_name, provider_name] ++ else ++ [provider_name, service_name] ++ end ++ end ++ end ++end +--- /dev/null ++++ b/changelogs/unreleased/sh-bump-fog-gem.yml +@@ -0,0 +1,5 @@ ++--- ++title: Fixes issue with AWS V4 signatures not working with some S3 providers ++merge_request: 21788 ++author: ++type: fixed diff --git a/debian/patches/series b/debian/patches/series index 9c14cf840e..3d9ac8996f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,5 +20,6 @@ 0660-fix-gitlab-yml-path.patch 0670-allow-doorkeepr-4_3.patch 0680-rails-5_2.patch +0685-bump-fog.patch 0690-debian-usage-ping.patch 0700-add-salsa-link-to-help.patch