summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-10-30 15:07:47 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-10-30 15:07:47 +0000
commit815281ec3738ab2efcffea2a1b168cd9ea2eeab3 (patch)
tree9ab18d85a9bf1b40d172efdac5dd2d95cba9c474 /src
parent0079148ab5263960320f37cc333e70c63b3d698f (diff)
downloadbcfg2-815281ec3738ab2efcffea2a1b168cd9ea2eeab3.tar.gz
bcfg2-815281ec3738ab2efcffea2a1b168cd9ea2eeab3.tar.bz2
bcfg2-815281ec3738ab2efcffea2a1b168cd9ea2eeab3.zip
update internal name
}(Logical change 1.136) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@613 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/lib/Server/Generators/pkgmgr.py58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/lib/Server/Generators/pkgmgr.py b/src/lib/Server/Generators/pkgmgr.py
deleted file mode 100644
index 61ee4cc7a..000000000
--- a/src/lib/Server/Generators/pkgmgr.py
+++ /dev/null
@@ -1,58 +0,0 @@
-'''This module implements a package management scheme for all images'''
-__revision__ = '$Revision$'
-
-from re import compile as regcompile
-
-from Bcfg2.Server.Generator import Generator, DirectoryBacked, XMLFileBacked
-
-class PackageEntry(XMLFileBacked):
- '''PackageEntry is a set of packages and locations for a single image'''
- __identifier__ = 'image'
- rpm = regcompile('^(?P<name>[\w\+\d\.]+(-[\w\+\d\.]+)*)-(?P<version>[\w\d\.]+-([\w\d\.]+))\.(?P<arch>\w+)\.rpm$')
-
- def Index(self):
- XMLFileBacked.Index(self)
- self.packages = {}
- for location in self.entries:
- for pkg in location.getchildren():
- if pkg.attrib.has_key("file"):
- m = self.rpm.match(pkg.get('file'))
- if not m:
- print "failed to rpm match %s" % (pkg.get('file'))
- continue
- self.packages[m.group('name')] = m.groupdict()
- self.packages[m.group('name')]['file'] = pkg.attrib['file']
- self.packages[m.group('name')]['uri'] = location.attrib['uri']
- self.packages[m.group('name')]['type'] = 'rpm'
- else:
- self.packages[pkg.get('name')] = pkg.attrib
-
-class PackageDir(DirectoryBacked):
- __child__ = PackageEntry
-
-class pkgmgr(Generator):
- '''This is a generator that handles package assignments'''
- __name__ = 'pkgmgr'
- __version__ = '$Id$'
- __author__ = 'bcfg-dev@mcs.anl.gov'
-
- def __setup__(self):
- self.pkgdir = PackageDir(self.data, self.core.fam)
-
- def FindHandler(self, entry):
- if entry.tag != 'Package':
- raise KeyError, (entry.tag, entry.get('name'))
- return self.LocatePackage
-
- def LocatePackage(self, entry, metadata):
- '''Locates a package entry for particular metadata'''
- pkgname = entry.get('name')
- pl = self.pkgdir["%s.xml" % (metadata.image)]
- if pl.packages.has_key(pkgname):
- p = pl.packages[pkgname]
- if p.get('type', None) == 'rpm':
- entry.attrib.update({'url':"%s/%s" % (p['uri'], p['file']), 'version':p['version']})
- else:
- entry.attrib.update(p)
- else:
- raise KeyError, ("Package", pkgname)