def __init__(self, builddir, component, path): """Create a tarball object.""" self.component = component self.path = path self.realpath = path self.builddir = builddir if not os.path.exists(path): raise IOError("File '{0}' doesn't exist".format(path)) if os.path.islink(path): self.realpath = os.path.realpath(path) cmd = util.pipe_cmd("/sbin/sha256 -q {0}".format(path)) self.checksum = cmd.stdout.readline().strip()
def makeindex(self): """Create INDEX file.""" # Set a few environment variables. Add whatever is in buildenv and then # makeindex specific variables. environ = { } environ.update(os.environ) environ.update(self.buildenv) environ["INDEXDIR"] = self.builddir environ["INDEX_PRISTINE"] = "1" environ["INDEX_QUIET"] = "1" environ["INDEX_JOBS"] = "6" environ["LOCALBASE"] = "/nonexistentlocal" error = None cmdf = "{0}/scripts/makeindex {1} {2} {3} {4}" cmd = cmdf.format(pbc, self.arch, self.branch, self.buildid, \ self.subsetfile if self.subsetfile else "") util.log("Creating INDEX file...") try: f = util.pipe_cmd(cmd, env=environ, cwd=self.portsdir) index = os.path.basename(self.indexfile) success = "^Generating %s - please wait.. Done.$".format(index) for i in f.stdout.readlines(): if re.match(success, i.rstrip()): break else: print i.rstrip() f.wait() except KeyboardInterrupt: pass if f.returncode != 0: error = "Failed to build INDEX file." if error: raise BuildMissingMetadata(error)