mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Remove homebrew packaging (#30047)
This hasn't been updated since 2017 and homebrew installation is also
provided via a cask which downloads the latest version from the website
[^1]. I think this code is basically unused.
[^1]: 9e944ae828/Casks/servo.rb
This commit is contained in:
parent
9e4377af47
commit
e153bcb40b
1 changed files with 1 additions and 91 deletions
|
@ -20,7 +20,6 @@ import os.path as path
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
|
||||||
|
|
||||||
from mach.decorators import (
|
from mach.decorators import (
|
||||||
CommandArgument,
|
CommandArgument,
|
||||||
|
@ -37,7 +36,7 @@ from servo.command_base import (
|
||||||
is_macosx,
|
is_macosx,
|
||||||
is_windows,
|
is_windows,
|
||||||
)
|
)
|
||||||
from servo.build_commands import copy_dependencies, change_rpath_in_binary
|
from servo.build_commands import copy_dependencies
|
||||||
from servo.gstreamer import macos_gst_root
|
from servo.gstreamer import macos_gst_root
|
||||||
from servo.util import delete, get_target_dir
|
from servo.util import delete, get_target_dir
|
||||||
|
|
||||||
|
@ -56,9 +55,6 @@ PACKAGES = {
|
||||||
'mac': [
|
'mac': [
|
||||||
'release/servo-tech-demo.dmg',
|
'release/servo-tech-demo.dmg',
|
||||||
],
|
],
|
||||||
'macbrew': [
|
|
||||||
'release/brew/servo.tar.gz',
|
|
||||||
],
|
|
||||||
'maven': [
|
'maven': [
|
||||||
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
||||||
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
||||||
|
@ -261,34 +257,6 @@ class PackageCommands(CommandBase):
|
||||||
delete(dir_to_dmg)
|
delete(dir_to_dmg)
|
||||||
print("Packaged Servo into " + dmg_path)
|
print("Packaged Servo into " + dmg_path)
|
||||||
|
|
||||||
print("Creating brew package")
|
|
||||||
dir_to_brew = path.join(target_dir, 'brew_tmp')
|
|
||||||
dir_to_tar = path.join(target_dir, 'brew')
|
|
||||||
if not path.exists(dir_to_tar):
|
|
||||||
os.makedirs(dir_to_tar)
|
|
||||||
tar_path = path.join(dir_to_tar, "servo.tar.gz")
|
|
||||||
if path.exists(dir_to_brew):
|
|
||||||
print("Cleaning up from previous packaging")
|
|
||||||
delete(dir_to_brew)
|
|
||||||
if path.exists(tar_path):
|
|
||||||
print("Deleting existing package")
|
|
||||||
os.remove(tar_path)
|
|
||||||
shutil.copytree(path.join(dir_to_root, 'resources'), path.join(dir_to_brew, 'resources'))
|
|
||||||
os.makedirs(path.join(dir_to_brew, 'bin'))
|
|
||||||
# Note that in the context of Homebrew, libexec is reserved for private use by the formula
|
|
||||||
# and therefore is not symlinked into HOMEBREW_PREFIX.
|
|
||||||
# The 'lib' sub-directory within 'libexec' is necessary to satisfy
|
|
||||||
# rpath relative install_names in the gstreamer packages
|
|
||||||
brew_servo_bin = path.join(dir_to_brew, 'bin', 'servo')
|
|
||||||
shutil.copy2(binary_path, brew_servo_bin)
|
|
||||||
change_rpath_in_binary(
|
|
||||||
brew_servo_bin, '@executable_path/lib/', '@executable_path/../libexec/lib/')
|
|
||||||
dir_to_lib = path.join(dir_to_brew, 'libexec', 'lib')
|
|
||||||
os.makedirs(dir_to_lib)
|
|
||||||
copy_dependencies(brew_servo_bin, dir_to_lib, dir_to_gst_lib)
|
|
||||||
archive_deterministically(dir_to_brew, tar_path, prepend_path='servo/')
|
|
||||||
delete(dir_to_brew)
|
|
||||||
print("Packaged Servo into " + tar_path)
|
|
||||||
elif is_windows():
|
elif is_windows():
|
||||||
dir_to_msi = path.join(target_dir, 'msi')
|
dir_to_msi = path.join(target_dir, 'msi')
|
||||||
if path.exists(dir_to_msi):
|
if path.exists(dir_to_msi):
|
||||||
|
@ -577,59 +545,6 @@ class PackageCommands(CommandBase):
|
||||||
print("Uploading %s to %s" % (os.path.join(base_dir, f), file_upload_key))
|
print("Uploading %s to %s" % (os.path.join(base_dir, f), file_upload_key))
|
||||||
s3.upload_file(os.path.join(base_dir, f), BUCKET, file_upload_key)
|
s3.upload_file(os.path.join(base_dir, f), BUCKET, file_upload_key)
|
||||||
|
|
||||||
def update_brew(package, timestamp):
|
|
||||||
print("Updating brew formula")
|
|
||||||
|
|
||||||
package_url = 'https://download.servo.org/nightly/macbrew/{}'.format(
|
|
||||||
nightly_filename(package, timestamp)
|
|
||||||
)
|
|
||||||
with open(package) as p:
|
|
||||||
digest = hashlib.sha256(p.read()).hexdigest()
|
|
||||||
|
|
||||||
brew_version = timestamp.strftime('%Y.%m.%d')
|
|
||||||
|
|
||||||
with tempfile.TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
|
|
||||||
def call_git(cmd, **kwargs):
|
|
||||||
subprocess.check_call(
|
|
||||||
['git', '-C', tmp_dir] + cmd,
|
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
call_git([
|
|
||||||
'clone',
|
|
||||||
'https://github.com/servo/homebrew-servo.git',
|
|
||||||
'.',
|
|
||||||
])
|
|
||||||
|
|
||||||
script_dir = path.dirname(path.realpath(__file__))
|
|
||||||
with open(path.join(script_dir, 'servo-binary-formula.rb.in')) as f:
|
|
||||||
formula = f.read()
|
|
||||||
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'), 'w') as f:
|
|
||||||
f.write(formula)
|
|
||||||
|
|
||||||
call_git(['add', path.join('.', 'Formula', 'servo-bin.rb')])
|
|
||||||
call_git([
|
|
||||||
'-c', 'user.name=Tom Servo',
|
|
||||||
'-c', 'user.email=servo@servo.org',
|
|
||||||
'commit',
|
|
||||||
'--message=Version Bump: {}'.format(brew_version),
|
|
||||||
])
|
|
||||||
|
|
||||||
token = os.environ['GITHUB_HOMEBREW_TOKEN']
|
|
||||||
|
|
||||||
push_url = 'https://{}@github.com/servo/homebrew-servo.git'
|
|
||||||
# TODO(aneeshusa): Use subprocess.DEVNULL with Python 3.3+
|
|
||||||
with open(os.devnull, 'wb') as DEVNULL:
|
|
||||||
call_git([
|
|
||||||
'push',
|
|
||||||
'-qf',
|
|
||||||
push_url.format(token),
|
|
||||||
'master',
|
|
||||||
], stdout=DEVNULL, stderr=DEVNULL)
|
|
||||||
|
|
||||||
timestamp = datetime.utcnow().replace(microsecond=0)
|
timestamp = datetime.utcnow().replace(microsecond=0)
|
||||||
for package in packages_for_platform(platform):
|
for package in packages_for_platform(platform):
|
||||||
if path.isdir(package):
|
if path.isdir(package):
|
||||||
|
@ -659,9 +574,4 @@ class PackageCommands(CommandBase):
|
||||||
for package in packages_for_platform(platform):
|
for package in packages_for_platform(platform):
|
||||||
update_maven(package)
|
update_maven(package)
|
||||||
|
|
||||||
if platform == 'macbrew':
|
|
||||||
packages = list(packages_for_platform(platform))
|
|
||||||
assert(len(packages) == 1)
|
|
||||||
update_brew(packages[0], timestamp)
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue