add GS URL constructors
Yes, this code isn't that complicated, but I think the little bit of
magic that it performs in abstracting away buckets/constant names is
an improvement.
This also adds a simple shim over the SDK info as we want this URL in
the buildbot stages too, so move it to a common location.
BUG=chromium-os:36453
TEST=`buildbot/run_tests` worked
TEST=`cros_sdk --chroot=new` worked
Change-Id: I9450d2359240e1542d9f982c967e1a397590ef85
Reviewed-on: https://gerrit.chromium.org/gerrit/41539
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_sdk.py b/scripts/cros_sdk.py
index 02e49f3..ebeda08 100644
--- a/scripts/cros_sdk.py
+++ b/scripts/cros_sdk.py
@@ -14,14 +14,13 @@
from chromite.lib import cgroups
from chromite.lib import commandline
from chromite.lib import cros_build_lib
-from chromite.lib import gs
from chromite.lib import locking
from chromite.lib import osutils
+from chromite.lib import toolchain
cros_build_lib.STRICT_SUDO = True
-DEFAULT_URL = gs.PUBLIC_BASE_HTTPS_URL + 'chromiumos-sdk'
COMPRESSION_PREFERENCE = ('xz', 'bz2')
# TODO(zbehan): Remove the dependency on these, reimplement them in python
@@ -37,13 +36,13 @@
def GetArchStageTarballs(version):
"""Returns the URL for a given arch/version"""
extension = {'bz2':'tbz2', 'xz':'tar.xz'}
- return ['%s/cros-sdk-%s.%s'
- % (DEFAULT_URL, version, extension[compressor])
+ return [toolchain.GetSdkURL(suburl='cros-sdk-%s.%s'
+ % (version, extension[compressor]))
for compressor in COMPRESSION_PREFERENCE]
def GetStage3Urls(version):
- return ['%s/stage3-amd64-%s.tar.%s' % (DEFAULT_URL, version, ext)
+ return [toolchain.GetSdkURL(suburl='stage3-amd64-%s.tar.%s' % (version, ext))
for ext in COMPRESSION_PREFERENCE]
diff --git a/scripts/upload_prebuilts.py b/scripts/upload_prebuilts.py
index 1da2998..393acfd 100644
--- a/scripts/upload_prebuilts.py
+++ b/scripts/upload_prebuilts.py
@@ -33,6 +33,7 @@
from chromite.lib import gs
from chromite.lib import osutils
from chromite.lib import parallel
+from chromite.lib import toolchain
# How many times to retry uploads.
_RETRIES = 10
@@ -48,7 +49,6 @@
_BOARD_PATH = 'chroot/build/%(board)s'
_REL_BOARD_PATH = 'board/%(target)s/%(version)s'
_REL_HOST_PATH = 'host/%(host_arch)s/%(target)s/%(version)s'
-_SDK_GS_BUCKET = 'gs://chromiumos-sdk'
# Private overlays to look at for builds to filter
# relative to build path
_PRIVATE_OVERLAY_DIR = 'src/private-overlays'
@@ -403,8 +403,8 @@
assert prepackaged is not None
version_str = version[len('chroot-'):]
- remote_tarfile = \
- '%s/cros-sdk-%s.tar.xz' % (_SDK_GS_BUCKET, version_str)
+ remote_tarfile = toolchain.GetSdkURL(
+ for_gsutil=True, suburl='cros-sdk-%s.tar.xz' % (version_str,))
# For SDK, also upload the manifest which is guaranteed to exist
# by the builderstage.
_GsUpload(prepackaged + '.Manifest', remote_tarfile + '.Manifest',
@@ -415,7 +415,8 @@
# scripts rely.
with osutils.TempDirContextManager() as tmpdir:
pointerfile = os.path.join(tmpdir, 'cros-sdk-latest.conf')
- remote_pointerfile = '%s/cros-sdk-latest.conf' % _SDK_GS_BUCKET
+ remote_pointerfile = toolchain.GetSdkURL(for_gsutil=True,
+ suburl='cros-sdk-latest.conf')
osutils.WriteFile(pointerfile, 'LATEST_SDK="%s"' % version_str)
_GsUpload(pointerfile, remote_pointerfile, self._acl)