diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-08-11 19:54:35 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-08-11 19:54:35 +0000 |
commit | b70b35ee094d3ee02234ff6c1c834d53738f0c7a (patch) | |
tree | 3243d57096d99dc5e40787547cea088c7f796efd /client | |
parent | 404f2aa1c6b052f5f9651ffe8a2eb53bd93c0851 (diff) | |
download | bcfg2-b70b35ee094d3ee02234ff6c1c834d53738f0c7a.tar.gz bcfg2-b70b35ee094d3ee02234ff6c1c834d53738f0c7a.tar.bz2 bcfg2-b70b35ee094d3ee02234ff6c1c834d53738f0c7a.zip |
Rename: client/Debian.py -> src/lib/Client/Debian.py
}(Logical change 1.33)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@172 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'client')
-rw-r--r-- | client/Debian.py | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/client/Debian.py b/client/Debian.py deleted file mode 100644 index e5e1c3bab..000000000 --- a/client/Debian.py +++ /dev/null @@ -1,108 +0,0 @@ -# This is the bcfg2 support for debian -# $Id $ -from glob import glob -from os import environ, stat, system -from popen2 import Popen4 -from string import split -from sys import argv - -import apt_pkg - -from Toolset import Toolset - -def Detect(): - try: - stat('/etc/debian_version') - return True - except OSError: - return False - -class Debian(Toolset): - __important__ = ["/etc/apt/sources.list", "/var/cache/debconf/config.dat", \ - "/var/cache/debconf/templates.dat"] - - def __init__(self, cfg, setup): - Toolset.__init__(self, cfg, setup) - #system("dpkg --configure -a") - if not self.setup['build']: - system("dpkg-reconfigure -f noninteractive debconf") - system("apt-get -q=2 -y update") - environ["DEBIAN_FRONTEND"]='noninteractive' - self.Refresh() - - def Refresh(self): - apt_pkg.init() - self.cache = apt_pkg.GetCache() - self.installed = {} - for pkg in self.cache.Packages: - if pkg.CurrentVer: - self.installed[pkg.Name] = pkg.CurrentVer.VerStr - - def VerifyService(self, entry): - if entry.attrib['status'] == 'off': - cmd = Popen4("/usr/sbin/update-rc.d -n -f %s remove"%(entry.attrib['name'])) - num = 1 - else: - cmd = Popen4("/usr/sbin/update-rc.d -n -f %s remove"%(entry.attrib['name'])) - num = 2 - cstat = cmd.poll() - output = '' - while cstat == -1: - output += cmd.fromchild.read() - cstat = cmd.poll() >> 8 - if len(filter(lambda x:x, split(output, '\n'))) > num: - return False - return True - - def InstallService(self, entry): - if entry.attrib['status'] == 'off': - if self.setup['dryrun']: - print "Disabling service %s"%(entry.attrib['name']) - rc = 1 - else: - rc = system("update-rc.d -f %s remove"%entry.attrib['name']) - else: - if self.setup['dryrun']: - print "Enabling service %s"%(entry.attrib['name']) - rc = 1 - else: - rc = system("update-rc.d %s defaults"%(entry.attrib['name'])) - if rc: - return False - return True - - def VerifyPackage(self, entry, modlist=[]): - if self.installed.has_key(entry.attrib['name']): - if self.installed[entry.attrib['name']] == entry.attrib['version']: - if not self.setup['quick']: - cmd = Popen4("debsums -s %s"%(entry.attrib['name'])) - cstat = cmd.poll() - output = cmd.fromchild.read() - while cstat == -1: - output += cmd.fromchild.read() - cstat = cmd.poll() - output = filter(lambda x:x, split(output, '\n')) - if [x for x in output if x not in modlist]: - return False - return True - return False - - def InstallPackages(self, entries): - for e in entries: - system("apt-get --reinstall -q=2 -y install %s=%s"%(e.attrib['name'],e.attrib['version'])) - - def InstallPackage(self, entry): - if self.setup['dryrun'] or self.setup['verbose']: - print "Installing package %s %s"%(entry.attrib['name'], entry.attrib['version']) - if self.setup['dryrun']: - return False - else: - # implement package installation here - return False - - def GetInstalledConfigs(self): - # returns a list of installed config files - ret = [] - for a in map(lambda x:split(open(x).read(),"\n"),glob("/var/lib/dpkg/info/*.conffiles")): - ret += a - return ret |