If the download is a .jar, don't unzip it
Also remove special casing for two existing jar formula.
This commit is contained in:
parent
d3fe4a8acc
commit
6e485cc9b1
@ -75,24 +75,30 @@ class CurlDownloadStrategy <AbstractDownloadStrategy
|
||||
|
||||
def stage
|
||||
# magic numbers stolen from /usr/share/file/magic/
|
||||
File.open(@dl) do |f|
|
||||
if @dl.extname == '.jar'
|
||||
magic_bytes = nil
|
||||
else
|
||||
# get the first four bytes
|
||||
case f.read(4)
|
||||
when /^PK\003\004/ # .zip archive
|
||||
quiet_safe_system '/usr/bin/unzip', {:quiet_flag => '-qq'}, @dl
|
||||
chdir
|
||||
when /^\037\213/, /^BZh/ # gzip/bz2 compressed
|
||||
# TODO check if it's really a tar archive
|
||||
safe_system '/usr/bin/tar', 'xf', @dl
|
||||
chdir
|
||||
else
|
||||
# we are assuming it is not an archive, use original filename
|
||||
# this behaviour is due to ScriptFileFormula expectations
|
||||
# So I guess we should cp, but we mv, for this historic reason
|
||||
# HOWEVER if this breaks some expectation you had we *will* change the
|
||||
# behaviour, just open an issue at github
|
||||
FileUtils.mv @dl, File.basename(@url)
|
||||
end
|
||||
File.open(@dl) { |f| magic_bytes = f.read(4) }
|
||||
end
|
||||
|
||||
case magic_bytes
|
||||
when /^PK\003\004/ # .zip archive
|
||||
quiet_safe_system '/usr/bin/unzip', {:quiet_flag => '-qq'}, @dl
|
||||
chdir
|
||||
when /^\037\213/, /^BZh/ # gzip/bz2 compressed
|
||||
# TODO check if it's really a tar archive
|
||||
safe_system '/usr/bin/tar', 'xf', @dl
|
||||
chdir
|
||||
else
|
||||
# we are assuming it is not an archive, use original filename
|
||||
# this behaviour is due to ScriptFileFormula expectations
|
||||
# So I guess we should cp, but we mv, for this historic reason
|
||||
# HOWEVER if this breaks some expectation you had we *will* change the
|
||||
# behaviour, just open an issue at github
|
||||
# We also do this for jar files, as they are in fact zip files, but
|
||||
# we don't want to unzip them
|
||||
FileUtils.mv @dl, File.basename(@url)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user