Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: native_client_sdk/src/build_tools/update_nacl_manifest.py

Issue 343703004: [NaCl SDK] Add bionic SDK bundle auto-updating to update_nacl_manifest (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « native_client_sdk/src/build_tools/tests/update_nacl_manifest_test.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/src/build_tools/update_nacl_manifest.py
diff --git a/native_client_sdk/src/build_tools/update_nacl_manifest.py b/native_client_sdk/src/build_tools/update_nacl_manifest.py
index e48777665d081c542f193059afb47d16a5f19fb5..ef542d4fa0ab3a630d0206b0bf250351f39ff191 100755
--- a/native_client_sdk/src/build_tools/update_nacl_manifest.py
+++ b/native_client_sdk/src/build_tools/update_nacl_manifest.py
@@ -39,6 +39,7 @@ GS_SDK_MANIFEST_LOG = GS_BUCKET_PATH + MANIFEST_BASENAME + '.log'
GS_MANIFEST_BACKUP_DIR = GS_BUCKET_PATH + 'manifest_backups/'
CANARY_BUNDLE_NAME = 'pepper_canary'
+BIONIC_CANARY_BUNDLE_NAME = 'bionic_canary'
CANARY = 'canary'
NACLPORTS_ARCHIVE_NAME = 'naclports.tar.bz2'
@@ -85,6 +86,11 @@ def GetPlatformArchiveName(platform):
return 'naclsdk_%s.tar.bz2' % platform
+def GetBionicArchiveName():
+ """Get the basename of an archive. Currently this is linux-only"""
+ return 'naclsdk_bionic.tar.bz2'
+
+
def GetCanonicalArchiveName(url):
"""Get the canonical name of an archive given its URL.
@@ -331,12 +337,14 @@ class VersionFinder(object):
e.g. [('foo.tar.bz2', '18.0.1000.0'), ('bar.tar.bz2', '19.0.1100.20')]
These archives must exist to consider a version for inclusion, as
long as that version is greater than the archive's minimum version.
+ is_bionic: True if we are searching for bionic archives.
"""
- def __init__(self, delegate, platforms, extra_archives=None):
+ def __init__(self, delegate, platforms, extra_archives=None, is_bionic=False):
self.delegate = delegate
self.history = delegate.GetHistory()
self.platforms = platforms
self.extra_archives = extra_archives
+ self.is_bionic = is_bionic
def GetMostRecentSharedVersion(self, major_version):
"""Returns the most recent version of a pepper bundle that exists on all
@@ -402,14 +410,20 @@ class VersionFinder(object):
URLs, |missing_archives| is a list of archive names.
"""
archive_urls = self._GetAvailableArchivesFor(version)
- platform_archives = set(GetPlatformArchiveName(p) for p in self.platforms)
- expected_archives = platform_archives
+
+ if self.is_bionic:
+ # Bionic currently is Linux-only.
+ expected_archives = set([GetBionicArchiveName()])
+ else:
+ expected_archives = set(GetPlatformArchiveName(p) for p in self.platforms)
+
if self.extra_archives:
for extra_archive, extra_archive_min_version in self.extra_archives:
if SplitVersion(version) >= SplitVersion(extra_archive_min_version):
expected_archives.add(extra_archive)
found_archives = set(GetCanonicalArchiveName(a) for a in archive_urls)
missing_archives = expected_archives - found_archives
+
if allow_trunk_revisions and missing_archives:
# Try to find trunk versions of any missing archives.
trunk_version = self.delegate.GetTrunkRevision(version)
@@ -802,7 +816,7 @@ def Run(delegate, platforms, extra_archives, fixed_bundle_versions=None):
manifest = delegate.GetRepoManifest()
auto_update_bundles = []
for bundle in manifest.GetBundles():
- if not bundle.name.startswith('pepper_'):
+ if not bundle.name.startswith(('pepper_', 'bionic_')):
continue
archives = bundle.GetArchives()
if not archives:
@@ -812,17 +826,23 @@ def Run(delegate, platforms, extra_archives, fixed_bundle_versions=None):
logger.info('No versions need auto-updating.')
return
- version_finder = VersionFinder(delegate, platforms, extra_archives)
updater = Updater(delegate)
for bundle in auto_update_bundles:
try:
- if bundle.name == CANARY_BUNDLE_NAME:
+ if bundle.name == BIONIC_CANARY_BUNDLE_NAME:
+ logger.info('>>> Looking for most recent bionic_canary...')
+ version_finder = VersionFinder(delegate, platforms, extra_archives,
+ is_bionic=True)
+ version, channel, archives = version_finder.GetMostRecentSharedCanary()
+ elif bundle.name == CANARY_BUNDLE_NAME:
logger.info('>>> Looking for most recent pepper_canary...')
+ version_finder = VersionFinder(delegate, platforms, extra_archives)
version, channel, archives = version_finder.GetMostRecentSharedCanary()
else:
logger.info('>>> Looking for most recent pepper_%s...' %
bundle.version)
+ version_finder = VersionFinder(delegate, platforms, extra_archives)
version, channel, archives = version_finder.GetMostRecentSharedVersion(
bundle.version)
except NoSharedVersionException:
« no previous file with comments | « native_client_sdk/src/build_tools/tests/update_nacl_manifest_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698