Exemple #1
0
  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()
Exemple #2
0
  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)