Merge pull request #10085 from reitermarkus/cask-download-basename
Fix basename for extracting cask downloads.
This commit is contained in:
		
						commit
						9c1bdfe229
					
				@ -42,7 +42,14 @@ module Cask
 | 
				
			|||||||
        ohai "Running installer for #{cask}; your password may be necessary."
 | 
					        ohai "Running installer for #{cask}; your password may be necessary."
 | 
				
			||||||
        ohai "Package installers may write to any location; options such as --appdir are ignored."
 | 
					        ohai "Package installers may write to any location; options such as --appdir are ignored."
 | 
				
			||||||
        unless path.exist?
 | 
					        unless path.exist?
 | 
				
			||||||
          raise CaskError, "pkg source file not found: '#{path.relative_path_from(cask.staged_path)}'"
 | 
					          pkg = path.relative_path_from(cask.staged_path)
 | 
				
			||||||
 | 
					          pkgs = Pathname.glob(cask.staged_path/"**"/"*.pkg").map { |path| path.relative_path_from(cask.staged_path) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          message = "Could not find PKG source file '#{pkg}'"
 | 
				
			||||||
 | 
					          message += ", found #{pkgs.map { |path| "'#{path}'" }.to_sentence} instead" if pkgs.any?
 | 
				
			||||||
 | 
					          message += "."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          raise CaskError, message
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        args = [
 | 
					        args = [
 | 
				
			||||||
 | 
				
			|||||||
@ -52,6 +52,10 @@ module Cask
 | 
				
			|||||||
      downloader.cached_location
 | 
					      downloader.cached_location
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def basename
 | 
				
			||||||
 | 
					      downloader.basename
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def verify_download_integrity(fn)
 | 
					    def verify_download_integrity(fn)
 | 
				
			||||||
      if @cask.sha256 == :no_check
 | 
					      if @cask.sha256 == :no_check
 | 
				
			||||||
        opoo "No checksum defined for cask '#{@cask}', skipping verification."
 | 
					        opoo "No checksum defined for cask '#{@cask}', skipping verification."
 | 
				
			||||||
 | 
				
			|||||||
@ -152,10 +152,14 @@ module Cask
 | 
				
			|||||||
      s.freeze
 | 
					      s.freeze
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    sig { returns(Download) }
 | 
				
			||||||
 | 
					    def downloader
 | 
				
			||||||
 | 
					      @downloader ||= Download.new(@cask, quarantine: quarantine?)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sig { returns(Pathname) }
 | 
					    sig { returns(Pathname) }
 | 
				
			||||||
    def download
 | 
					    def download
 | 
				
			||||||
      @download ||= Download.new(@cask, quarantine: quarantine?)
 | 
					      @download ||= downloader.fetch(verify_download_integrity: @verify_download_integrity)
 | 
				
			||||||
                            .fetch(verify_download_integrity: @verify_download_integrity)
 | 
					 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def verify_has_sha
 | 
					    def verify_has_sha
 | 
				
			||||||
@ -180,7 +184,7 @@ module Cask
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      odebug "Using container class #{primary_container.class} for #{primary_container.path}"
 | 
					      odebug "Using container class #{primary_container.class} for #{primary_container.path}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      basename = CGI.unescape(File.basename(@cask.url.path))
 | 
					      basename = downloader.basename
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if nested_container = @cask.container&.nested
 | 
					      if nested_container = @cask.container&.nested
 | 
				
			||||||
        Dir.mktmpdir do |tmpdir|
 | 
					        Dir.mktmpdir do |tmpdir|
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user