summaryrefslogtreecommitdiffstats
path: root/src/lib/Server
diff options
context:
space:
mode:
authorRick Bradshow <bradshaw@mcs.anl.gov>2004-12-16 21:36:46 +0000
committerRick Bradshow <bradshaw@mcs.anl.gov>2004-12-16 21:36:46 +0000
commit0ebe46c9fdbebdb26214fa3f76e37ff17cccaff5 (patch)
treecac082b5f63bb97825a89164f871ea64cc3a093c /src/lib/Server
parenta06aa2e1554f241a187b7330e95683091a9b3222 (diff)
downloadbcfg2-0ebe46c9fdbebdb26214fa3f76e37ff17cccaff5.tar.gz
bcfg2-0ebe46c9fdbebdb26214fa3f76e37ff17cccaff5.tar.bz2
bcfg2-0ebe46c9fdbebdb26214fa3f76e37ff17cccaff5.zip
this is the hot new X stuff
2004/12/16 15:34:47-06:00 anl.gov!bradshaw Change mode to -rw-r--r-- 2004/10/20 13:20:21-05:00 anl.gov!bradshaw added the probe for the VGA card into the generator. THis is untested. (Logical change 1.164) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@732 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server')
-rw-r--r--src/lib/Server/Generators/Debconf.py29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/lib/Server/Generators/Debconf.py b/src/lib/Server/Generators/Debconf.py
index 9ab920379..0bb933bb2 100644
--- a/src/lib/Server/Generators/Debconf.py
+++ b/src/lib/Server/Generators/Debconf.py
@@ -13,10 +13,25 @@ class Debconf(Generator):
__author__ = 'bcfg-dev@mcs.anl.gov'
__provides__ = {'ConfigFile':{}}
- probes = [XML('''<probe interpreter='/bin/sh'>lspci|grep VGA</probe>''')]
-
- def __init__(self, core, datastore):
- Generator.__init__(self, core, datastore)
+ probes = [Element("probe", name='VGA', interpreter='/bin/sh', source='debconf')]
+ probes[0].text = '''
+ XSERVER='/usr/bin/X11/X|/usr/X11R6/bin/X'
+ if [ XFree86 -configure 2>/dev/null ] ; then
+ VGACARD=`tail -50 /root/XF86Config.new | grep Driver | awk -F\" '{print $2}'`
+ elif ps auxww | egrep ${XSERVER} | grep -v grep > /dev/null ;then
+ if [ -e /etc/X11/XF86Config ]; then
+ VGACARD=`tail -50 /etc/X11/XF86Config | grep Driver | awk -F\" '{print $2}'`
+ else
+ VGACARD=`tail -50 /etc/X11/XF86Config-4 | grep Driver | awk -F\" '{print $2}'`
+ fi
+ else
+ VGACARD=nv
+ fi
+ echo ${VGACARD}
+ '''
+
+ def __setup__(self):
+ self.__provides__['ConfigFile']['/var/spool/debconf/config.dat'] = self.build_config_dat
self.repo = DirectoryBacked(self.data, self.core.fam)
self.xsensed = {}
@@ -26,13 +41,17 @@ class Debconf(Generator):
entry.attrib['group'] = 'root'
entry.attrib['perms'] = '0600'
filedata = self.repo.entries['config.dat']
- xdriver = self.xsensed.get(metadata.hostname, "vesa")
+ xdriver = self.xsensed.get(metadata.hostname, "nv")
entry.text = filedata % (metadata.hostname, xdriver)
def get_probes(self, metadata):
'''Send out X probe'''
return self.probes
+ def accept_probe_data(self, metadata, probedata):
+ if probedata.attrib['name'] == "VGA":
+ self.xsensed[metadata.hostname] = probedata.text
+