From 65d7036c19ca360b4679c9af20952df9c066dd43 Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Sun, 10 May 2020 00:30:32 +0100 Subject: [PATCH] bintray: url encode where needed --- Library/Homebrew/bintray.rb | 6 +++--- Library/Homebrew/dev-cmd/mirror.rb | 7 ++++--- Library/Homebrew/software_spec.rb | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/bintray.rb b/Library/Homebrew/bintray.rb index 68c7e2d1cd..8d4a0ea154 100644 --- a/Library/Homebrew/bintray.rb +++ b/Library/Homebrew/bintray.rb @@ -106,12 +106,12 @@ class Bintray formula_packaged = {} bottles_hash.each do |formula_name, bottle_hash| - version = bottle_hash["formula"]["pkg_version"] + version = ERB::Util.url_encode(bottle_hash["formula"]["pkg_version"]) bintray_package = bottle_hash["bintray"]["package"] bintray_repo = bottle_hash["bintray"]["repository"] bottle_hash["bottle"]["tags"].each do |_tag, tag_hash| - filename = tag_hash["filename"] + filename = tag_hash["filename"] # URL encoded in Bottle::Filename#bintray sha256 = tag_hash["sha256"] odebug "Checking remote file #{@bintray_org}/#{bintray_repo}/#{filename}" @@ -132,7 +132,7 @@ class Bintray formula_packaged[formula_name] = true end - odebug "Uploading #{@bintray_org}/#{bintray_repo}/#{bintray_package}/#{version}/#{tag_hash["local_filename"]}" + odebug "Uploading #{@bintray_org}/#{bintray_repo}/#{bintray_package}/#{version}/#{filename}" upload(tag_hash["local_filename"], repo: bintray_repo, package: bintray_package, diff --git a/Library/Homebrew/dev-cmd/mirror.rb b/Library/Homebrew/dev-cmd/mirror.rb index 9637a5a45d..9abb83302b 100644 --- a/Library/Homebrew/dev-cmd/mirror.rb +++ b/Library/Homebrew/dev-cmd/mirror.rb @@ -41,20 +41,21 @@ module Homebrew downloader.fetch - filename = downloader.basename + filename = ERB::Util.url_encode(downloader.basename) destination_url = "https://dl.bintray.com/#{bintray_org}/#{bintray_repo}/#{filename}" ohai "Uploading to #{destination_url}" + version = ERB::Util.url_encode(f.pkg_version) bintray.upload( downloader.cached_location, repo: bintray_repo, package: bintray_package, - version: f.pkg_version, + version: version, sha256: f.stable.checksum, remote_file: filename, ) - bintray.publish(repo: bintray_repo, package: bintray_package, version: f.pkg_version) + bintray.publish(repo: bintray_repo, package: bintray_package, version: version) ohai "Mirrored #{filename}!" end end diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index 676e7e524f..200d38b3f1 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -274,7 +274,7 @@ class Bottle end def bintray - "#{name}-#{version}#{extname}" + ERB::Util.url_encode("#{name}-#{version}#{extname}") end def extname