Fix ./mach upload-nightly macbrew

This commit is contained in:
Aneesh Agrawal 2017-05-29 18:42:24 -04:00
parent 939716a7bc
commit 45c499d011
2 changed files with 23 additions and 3 deletions

View file

@ -59,6 +59,24 @@ PACKAGES = {
}
TemporaryDirectory = None
if sys.version_info >= (3, 2):
TemporaryDirectory = tempfile.TemporaryDirectory
else:
import contextlib
# Not quite as robust as tempfile.TemporaryDirectory,
# but good enough for most purposes
@contextlib.contextmanager
def TemporaryDirectory(**kwargs):
dir_name = tempfile.mkdtemp(**kwargs)
try:
yield dir_name
except Exception as e:
shutil.rmtree(dir_name)
raise e
def otool(s):
o = subprocess.Popen(['/usr/bin/otool', '-L', s], stdout=subprocess.PIPE)
for l in o.stdout:
@ -442,7 +460,7 @@ class PackageCommands(CommandBase):
brew_version = timestamp.strftime('%Y.%m.%d')
with tempfile.TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
with TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
def call_git(cmd, **kwargs):
subprocess.check_call(
['git', '-C', tmp_dir] + cmd,
@ -461,7 +479,7 @@ class PackageCommands(CommandBase):
formula = formula.replace('PACKAGEURL', package_url)
formula = formula.replace('SHA', digest)
formula = formula.replace('VERSION', brew_version)
with open(path.join(tmp_dir, 'Formula', 'servo-bin.rb')) as f:
with open(path.join(tmp_dir, 'Formula', 'servo-bin.rb'), 'w') as f:
f.write(formula)
call_git(['add', path.join('.', 'Formula', 'servo-bin.rb')])
@ -491,6 +509,8 @@ class PackageCommands(CommandBase):
upload_to_s3(platform, package, timestamp)
if platform == 'macbrew':
update_brew(package, timestamp)
packages = PACKAGES[platform]
assert(len(packages) == 1)
update_brew(packages[0], timestamp)
return 0

View file

@ -0,0 +1,21 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
class ServoBin < Formula
desc "Servo, the Parallel Browser Engine Project (binary version)"
homepage "http://servo.org"
url "PACKAGEURL"
version "VERSION"
sha256 "SHA"
bottle :unneeded
def install
prefix.install "bin", "libexec", "resources"
end
test do
system bin/"servo", "-o", "/dev/null", "-x", "http://example.com"
end
end