Ejemplo n.º 1
0
    def collect_packages(self):
        gp = ghostPackage.ghostPackage(self.cmt)
        gp.allInterfacesCreate()

        self.packages = gp.allInterfacesCollectVersions()

        gp.allInterfacesRemove()
Ejemplo n.º 2
0
    def create(self):
        gp = ghostPackage.ghostPackage(cmt.CMT())
        gp.allInterfacesCreate()
        pkgdict = gp.allInterfacesCollectVersions(self.cmtconfig)
        gp.allInterfacesRemove()

        doc = Document()

        pkgs = doc.createElement("packages")
        doc.appendChild(pkgs)

        for p in pkgdict:

            # Create the main <card> element
            pkg = doc.createElement("pkg")
            pkg.setAttribute("name", p)
            pkg.setAttribute('path', pkgdict[p][2])
            pkgs.appendChild(pkg)

        # Print our newly created XML
        ff = os.path.join(self.location, self.filename)
        f = open(ff, 'w')
        f.write(doc.toprettyxml(indent=" " * self.indent))
        f.close()
        self.msg.info('Wrote file ' + ff)
Ejemplo n.º 3
0
  def create(self):
    gp = ghostPackage.ghostPackage(cmt.CMT())
    gp.allInterfacesCreate()
    pkgdict = gp.allInterfacesCollectVersions(self.cmtconfig)
    gp.allInterfacesRemove()

    doc = Document()

    pkgs = doc.createElement("packages")
    doc.appendChild(pkgs)

    for p in pkgdict :
    
      # Create the main <card> element
      pkg = doc.createElement("pkg")
      pkg.setAttribute("name", p)
      pkg.setAttribute('path', pkgdict[p][2])
      pkgs.appendChild(pkg)

    # Print our newly created XML
    ff = os.path.join(self.location,self.filename)
    f = open(ff,'w')
    f.write(doc.toprettyxml(indent=" "*self.indent))
    f.close()
    self.msg.info('Wrote file '+ff) 
Ejemplo n.º 4
0
  def collect_packages(self):
    gp = ghostPackage.ghostPackage(self.cmt)
    gp.allInterfacesCreate()

    self.packages = gp.allInterfacesCollectVersions()

    gp.allInterfacesRemove()
Ejemplo n.º 5
0
  def collectAllPkgVersions(self):

    gp = ghostPackage.ghostPackage(self.cmt)
    gp.allInterfacesCreate()

    cmtconfig_save = os.getenv('CMTCONFIG')
    for conf in self.cfg.release_platform_tags:
      self.pkg_vers_dict[conf] = gp.allInterfacesCollectVersions(conf)

    os.putenv('CMTCONFIG',cmtconfig_save)

    gp.allInterfacesRemove()
Ejemplo n.º 6
0
  def collectAllPkgVersions(self):

    gp = ghostPackage.ghostPackage(self.cmt)
    gp.allInterfacesCreate()

    cmtconfig_save = os.getenv('CMTCONFIG')
    for conf in self.cfg.release_platform_tags:
      self.pkg_vers_dict[conf] = gp.allInterfacesCollectVersions(conf)

    os.putenv('CMTCONFIG',cmtconfig_save)

    gp.allInterfacesRemove()
Ejemplo n.º 7
0
  def run(self):

    self.msg.debug('Creating ghost package for all interfaces')
    gp = ghostPackage.ghostPackage(self.cmt)
    gp.allInterfacesCreate()
    self.msg.debug('Collecting all version numbers for the interfaces, using tag name ', self.fr)
    packages = gp.allInterfacesCollectVersions(self.fr)
    self.msg.debug('Versions for interfaces collected: ', packages)
    gp.allInterfacesRemove()
    self.msg.debug('Removing ghost package for all interfaces')

    pkgKeys = []
    if self.pkg :
      pkgKeys = [self.pkg]
    else:
      pkgKeys = packages.keys()
      pkgKeys = filter(lambda x: not self.cfg.isProject(x), pkgKeys)
    self.msg.debug('List of all packages: %s' % pkgKeys)

    for pkg in pkgKeys :
      self.msg.setPreAmble('[%s] ' % pkg)
      pkgdir = packages[pkg][2].replace('\\', os.sep)
      inafs = False
      if pkgdir.find('/cern.ch/') != -1 :
        pkgdir = pkgdir.replace('/cern.ch/','/.cern.ch/')
        inafs = True
      elif pkgdir.find('/.cern.ch/') != -1 : inafs = True
      if os.path.split(pkgdir)[-1] == self.fr :
        pkgdir = os.sep.join(os.path.split(pkgdir)[:-1])
      else:
        self.msg.error('directory %s does not contain "from" tagname as last entry, skipping' % pkgdir)
      self.msg.debug('Using external root directory' + pkgdir)
      if os.path.isdir(pkgdir):
        os.chdir(pkgdir)
        if not os.path.islink(self.to) :
          if not os.path.isdir(self.to) :
            cmd = 'ln -s %s %s' % (self.fr, self.to)
            if not self.dry :
              os.system(cmd)
              if os.path.islink(self.to) :
                if inafs : self.afs_actions(pkgdir)
                self.msg.info('Symlink %s->%s created' % (self.fr, self.to))
              else : self.msg.error('creation of symlink %s->%s failed' % (self.fr, self.to))
            else : self.msg.info('Dry run: in %s executing %s' % (pkgdir, cmd))
          else : self.msg.warning('%s is a directory' % self.to)
        else : self.msg.warning('%s symlink in %s exists' % (self.to, pkgdir))
      else : self.msg.warning('directory %s does not exist, skipping package' % pkgdir)