def WriteStamp(self): """Write stamp file containing pkg_info.""" filename = naclports.GetInstallStamp(self.NAME, self.config) naclports.Trace('stamp: %s' % filename) pkg_info = self.GetPkgInfo() with open(filename, 'w') as f: f.write(pkg_info)
def CheckMirror(package): naclports.Trace('Checking %s' % package.NAME) basename = package.GetArchiveFilename() if not basename: return if basename in listing: # already mirrored return if options.check: Log('update_mirror: Archive missing from mirror: %s' % basename) sys.exit(1) # Download upstream URL package.Download(mirror=False) # Upload to gs url = '%s/%s' % (MIRROR_GS, basename) Log("Uploading to mirror: %s" % url) cmd = [ 'gsutil', 'cp', '-a', 'public-read', package.DownloadLocation(), url ] if options.dry_run: Log(cmd) else: subprocess.check_call(cmd)
def InstallFile(self, filename, old_root, new_root): oldname = os.path.join(old_root, filename) if os.path.isdir(oldname): return naclports.Trace('install: %s' % filename) newname = os.path.join(new_root, filename) dirname = os.path.dirname(newname) if not os.path.isdir(dirname): os.makedirs(dirname) os.rename(oldname, newname)
def Installable(self, package_name, config): """Returns True if the index contains the given package and it is installable in the currently configured SDK.""" info = self.packages.get((package_name, config)) if not info: return False version = naclports.GetSDKVersion() if info['BUILD_SDK_VERSION'] != version: naclports.Trace('Prebuilt package was built with different SDK version: ' '%s vs %s' % (info['BUILD_SDK_VERSION'], version)) return False return True
def CheckMirror(options, package, mirror_listing): """Check that is package has is archive mirrors on Google cloud storage""" naclports.Trace('Checking %s' % package.NAME) basename = package.GetArchiveFilename() if not basename: return if basename in mirror_listing: # already mirrored return if options.check: naclports.Log('update_mirror: Archive missing from mirror: %s' % basename) sys.exit(1) # Download upstream URL package.Download(force_mirror=False) url = '%s/%s' % (MIRROR_GS, basename) GsUpload(options, package.DownloadLocation(), url)