rpms/xorg-x11-drv-fglrx/F-10 fglrx-config-display, 1.3, 1.4 xorg-x11-drv-fglrx.spec, 1.19, 1.20

Stewart Adam firewing at rpmfusion.org
Sun Apr 5 01:52:49 CEST 2009


Author: firewing

Update of /cvs/nonfree/rpms/xorg-x11-drv-fglrx/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv2187/F-10

Modified Files:
	fglrx-config-display xorg-x11-drv-fglrx.spec 
Log Message:
* Sat Apr 4 2009 Stewart Adam <s.adam at diffingo.com> - 9.3-2
- Only disable ldconfig when driver is already enabled, always configure
  xorg.conf even if driver is already enabled



Index: fglrx-config-display
===================================================================
RCS file: /cvs/nonfree/rpms/xorg-x11-drv-fglrx/F-10/fglrx-config-display,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- fglrx-config-display	30 Dec 2008 22:41:04 -0000	1.3
+++ fglrx-config-display	4 Apr 2009 23:52:18 -0000	1.4
@@ -18,7 +18,8 @@
 # Copyright 2006, 2007 Van Assche Alphonse
 # Copyright 2006, 2007 Stewart Adam
 
-import string
+# internal revision: 2.0
+
 import os
 import sys
 
@@ -31,139 +32,142 @@
 from livnaConfigDisplay.ConfigFile import ConfigFile
 
 class fglrxConfigDisplay(GlxConfig):
-    def __init__(self):
-        GlxConfig.__init__(self)
-        self.vendor = 'fglrx'
-        self.majorVendor = Utils.getMajorVendor()
-        if self.vendor != Utils.getVendor():
-            print _('The initscript and installed driver vendors do not match!')
-            sys.exit(1)
-        self.ldconf = LD_CONF_FILE % (self.vendor)
-        try:
-            self.doAllBackups()
-        except livnaConfigDisplayError, (bkupErrMsg):
-            print bkupErrMsg
-            sys.exit(1)
-        self.xconfig, self.xconfigpath = self.loadXconfig()
-        self.config = ConfigFile(STATUS_FILE)
-        self.TOP_MOD_DIR = self.getModTopDir()
-
-        # finally, run arg checks.
-        self.run()
-
-    def enable(self, isAutoConfigure=True):
-        # Backup the file before make any change.
-        currentDriver = self.getDriver()
-        # Already enabled?
-        if os.path.exists(self.ldconf):
-            print _('Driver already enabled.')
-            return
-        
-        # Annoying bit because newer fglrx drivers require a Screen section
-        if len(self.xconfig.layout) == 0: # no layouts
-          layout = xf86config.XF86ConfLayout()
-          self.xconfig.layout.insert(layout)
-          layout.identifier = "Default Layout"
-        else:
-          layout = self.xconfig.layout[0]
-        if len(layout.adjacencies) == 0: # no layout adjacencies
-          layout.adjacencies.insert(xf86config.XF86ConfAdjacency())
-        layout.adjacencies[0].screen = "Screen0"
-        if len(self.xconfig.screen) == 0: # no screens
-          screen = xf86config.XF86ConfScreen()
-          self.xconfig.screen.insert(screen)
-        else:
-          screen = self.xconfig.screen[0]
-        screen.device = "Videocard0"
-        screen.defaultdepth = 24
-        screen.identifier = "Screen0"
-        self.xconfig.device[0].identifier = 'Videocard0'
-        
-        # fglrx modules
-        self.addModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
-        # 'remembering' magic's in here.
-        self.config.setOldDriver(currentDriver)
-        #currentDriver = self.config.getOldDriver()
-        self.toggleDriver(currentDriver, self.majorVendor)
-        self.addOption(self.majorVendor,"OpenGLOverlay" ,"off")
-        self.addOption(self.majorVendor,"VideoOverlay" ,"on")
-        if self.xconfig.modules:
-            for module in ["glx", "dri", "extmod"]:
-                if self.onlyHasModule(module):
-                    self.removeModule(module)
-                    break
-                else:
-                    self.addModule(module)
-        if os.uname()[4] == "x86_64" :
-            x86_64Content = "/usr/lib/fglrx\n/usr/lib64/fglrx\n"
-            Utils.writeFile(self.ldconf, x86_64Content)
+  """Autoconfiguration class for fglrx"""
+  def __init__(self):
+    """Initializes the internal variables & objects"""
+    GlxConfig.__init__(self)
+    self.vendor = 'fglrx'
+    self.majorVendor = Utils.getMajorVendor()
+    if self.vendor != Utils.getVendor():
+      print _('The initscript and installed driver vendors do not match!')
+      sys.exit(1)
+    self.ldconf = LD_CONF_FILE % (self.vendor)
+    try:
+      self.doAllBackups()
+    except livnaConfigDisplayError, (bkupErrMsg):
+      print bkupErrMsg
+      sys.exit(1)
+    self.xconfig, self.xconfigpath = self.loadXconfig()
+    self.config = ConfigFile(STATUS_FILE)
+    self.TOP_MOD_DIR = self.getModTopDir()
+
+  def enable(self):
+    """Enable the driver"""
+    # Backup the file before make any change.
+    currentDriver = self.getDriver()
+    
+    # Annoying bit because newer fglrx drivers require a Screen section
+    if len(self.xconfig.layout) == 0: # no layouts
+      layout = xf86config.XF86ConfLayout()
+      self.xconfig.layout.insert(layout)
+      layout.identifier = "Default Layout"
+    else:
+      layout = self.xconfig.layout[0]
+    if len(layout.adjacencies) == 0: # no layout adjacencies
+      layout.adjacencies.insert(xf86config.XF86ConfAdjacency())
+    layout.adjacencies[0].screen = "Screen0"
+    if len(self.xconfig.screen) == 0: # no screens
+      screen = xf86config.XF86ConfScreen()
+      self.xconfig.screen.insert(screen)
+    else:
+      screen = self.xconfig.screen[0]
+    screen.device = "Videocard0"
+    screen.defaultdepth = 24
+    screen.identifier = "Screen0"
+    self.xconfig.device[0].identifier = 'Videocard0'
+    
+    # fglrx modules
+    self.addModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
+    # 'remembering' magic's in here. Do not allow setting old driver to fglrx.
+    if currentDriver != self.majorVendor:
+      self.config.setOldDriver(currentDriver)
+    self.toggleDriver(currentDriver, self.majorVendor)
+    self.addOption(self.majorVendor,"OpenGLOverlay" ,"off")
+    self.addOption(self.majorVendor,"VideoOverlay" ,"on")
+    if self.xconfig.modules:
+      for module in ["glx", "dri", "extmod"]:
+        if self.onlyHasModule(module):
+          self.removeModule(module)
+          break
         else:
-            Utils.writeFile(self.ldconf,"/usr/lib/fglrx\n")
-        print _('Running ldconfig, this could take some time...')
-        Utils.runLdconfig()
-        Utils.writeXorgConf(self.xconfig, self.xconfigpath)
-        self.restoreconf()
-
-    def disable(self, isAutoConfigure=True):
-        self.removeModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
-        # Check if it's already disabled
-        if not os.path.exists(self.ldconf):
-            print _('Driver already disabled.')
-            return
-        # We have to save the status file so it can be restored later
-        self.storeconf()
-        # Backup the file before make any change.
-        prevDriver = self.config.getOldDriver()
-        if prevDriver == self.vendor:
-            print _('Will not allow reverting from driver \'%s\' to \'%s\'.') % (self.vendor, self.vendor)
-            print _('Using the \'radeon\' driver instead.')
-            prevDriver = "radeon"
-            self.config.setOldDriver("radeon")
-        self.removeOption(self.majorVendor,"OpenGLOverlay")
-        self.removeOption(self.majorVendor,"VideoOverlay")
-        self.toggleDriver(self.majorVendor, prevDriver)
-        # Let's give control back to the naitive DRI
-        Utils.removeFile(self.ldconf)
-        print _('Running ldconfig, this could take some time...')
-        Utils.runLdconfig()
-        Utils.writeXorgConf(self.xconfig, self.xconfigpath)
-        # And return to the Fedora default.
-        self.enableAiglx()
-
-    def printUsage(self):
-        print _("Usage: %s-config-display  enable | disable ") % self.vendor
-
-    def run(self):
-        # Check number of arguments
-        # arg = action
-        if len(sys.argv) == 2:
-            arg = sys.argv[1]
+          self.addModule(module)
+    # if not already enabled
+    if not os.path.exists(self.ldconf):
+      if os.uname()[4] == "x86_64" :
+        x86_64Content = "/usr/lib/fglrx\n/usr/lib64/fglrx\n"
+        Utils.writeFile(self.ldconf, x86_64Content)
+      else:
+        Utils.writeFile(self.ldconf,"/usr/lib/fglrx\n")
+      print _('Running ldconfig, this could take some time...')
+      Utils.runLdconfig()
+    Utils.writeXorgConf(self.xconfig, self.xconfigpath)
+    self.restoreconf()
+
+  def disable(self):
+    """Disables the driver"""
+    self.removeModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
+    # Check if it's already disabled
+    if not os.path.exists(self.ldconf):
+      print _('Driver already disabled.')
+      return
+    # We have to save the status file so it can be restored later
+    self.storeconf()
+    # Backup the file before make any change.
+    prevDriver = self.config.getOldDriver()
+    if prevDriver == self.vendor:
+      print _('Will not allow reverting from driver \'%s\' to \'%s\'.') % (self.vendor, self.vendor)
+      print _('Using the \'radeon\' driver instead.')
+      prevDriver = "radeon"
+      self.config.setOldDriver("radeon")
+    self.removeOption(self.majorVendor,"OpenGLOverlay")
+    self.removeOption(self.majorVendor,"VideoOverlay")
+    self.toggleDriver(self.majorVendor, prevDriver)
+    # Let's give control back to the naitive DRI
+    Utils.removeFile(self.ldconf)
+    print _('Running ldconfig, this could take some time...')
+    Utils.runLdconfig()
+    Utils.writeXorgConf(self.xconfig, self.xconfigpath)
+    # And return to the Fedora default.
+    self.enableAiglx()
+
+  def printUsage(self):
+    """Displays usage information"""
+    print _("Usage: %s-config-display  enable | disable ") % self.vendor
+
+  def run(self):
+    """Runs the appropriate autoconfiguation function"""
+    # Check number of arguments
+    # arg = action
+    if len(sys.argv) > 2:
+      print _('Wrong number of arguments')
+      self.printUsage()
+      sys.exit(1)
+    # Check value of argument
+    arg = sys.argv[1]
+    if not arg.lower() in ['enable', 'disable']:
+      print _('Invalid command: %s') % arg.lower()
+      self.printUsage()
+      sys.exit(1)
+    try:
+      if arg == "enable":
+        if self.getActive():
+          self.enable()
         else:
-            print _('Wrong number of arguments')
-            self.printUsage()
-            sys.exit(1)
-        # Check value of argument
-        if arg.lower() != "enable" and arg.lower() != "disable":
-            print _('Invalid command: %s') % arg.lower()
-            self.printUsage()
-            sys.exit(1)
-        try:
-            if arg == "enable":
-                if self.getActive():
-                    self.enable()
-                else:
-                    print _('livna-config-display\'s `active\' state is False - Exiting')
-            elif arg == "disable":
-                if self.getActive():
-                    self.disable()
-        except:
-            raise # Uncomment me to show the real error
-            print MSG_CONF_APPLY_ERROR
-            try:
-                self.doAllRestores()
-            except livnaConfigDisplayError, (bkupErrMsg):
-                #raise # Uncomment me to show the real error
-                print MSG_CONF_RESTORE_ERROR + '\n' + MSG_TRACEBACK % (str(errMsg)) + '\n\n' + str(bkupErrMsg)
-                sys.exit(1)
+          print _('livna-config-display\'s `active\' state is False - Exiting')
+      elif arg == "disable":
+        if self.getActive():
+          self.disable()
+    except error, errMsg:
+      #raise # Uncomment me to show the real error
+      print MSG_CONF_APPLY_ERROR
+      try:
+        self.doAllRestores()
+      except livnaConfigDisplayError, (bkupErrMsg):
+        #raise # Uncomment me to show the real error
+        print MSG_CONF_RESTORE_ERROR + '\n' + MSG_TRACEBACK % (str(errMsg)) + '\n\n' + str(bkupErrMsg)
+        sys.exit(1)
+
+if __name__ == '__main__':
+  app = fglrxConfigDisplay()
+  app.run()
 
-app = fglrxConfigDisplay()


Index: xorg-x11-drv-fglrx.spec
===================================================================
RCS file: /cvs/nonfree/rpms/xorg-x11-drv-fglrx/F-10/xorg-x11-drv-fglrx.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- xorg-x11-drv-fglrx.spec	28 Mar 2009 02:44:19 -0000	1.19
+++ xorg-x11-drv-fglrx.spec	4 Apr 2009 23:52:18 -0000	1.20
@@ -8,7 +8,7 @@
 
 Name:            xorg-x11-drv-fglrx
 Version:         9.3
-Release:         1%{?dist}
+Release:         2%{?dist}
 Summary:         AMD's proprietary driver for ATI graphic cards
 Group:           User Interface/X Hardware Support
 License:         Redistributable, no modification permitted
@@ -312,6 +312,10 @@
 %{_includedir}/X11/extensions/*.h
 
 %changelog
+* Sat Apr 4 2009 Stewart Adam <s.adam at diffingo.com> - 9.3-2
+- Only disable ldconfig when driver is already enabled, always configure
+  xorg.conf even if driver is already enabled
+
 * Fri Mar 27 2009 Stewart Adam <s.adam at diffingo.com> - 9.3-1
 - Update to Catalsyt 9.3
 



More information about the rpmfusion-commits mailing list