[paketler-commits] r69361 - 2009/devel/kernel/default/drivers/module-nvidia185/comar
paketler-commits at pardus.org.tr
paketler-commits at pardus.org.tr
1 Haz 2009 Pzt 21:05:03 EEST
Author: fatih
Date: Mon Jun 1 21:05:03 2009
New Revision: 69361
Modified:
2009/devel/kernel/default/drivers/module-nvidia185/comar/package.py
Log:
Migrate all configs
Modified: 2009/devel/kernel/default/drivers/module-nvidia185/comar/package.py
=================================================================
--- 2009/devel/kernel/default/drivers/module-nvidia185/comar/package.py (original)
+++ 2009/devel/kernel/default/drivers/module-nvidia185/comar/package.py Mon Jun 1 21:05:03 2009
@@ -3,30 +3,40 @@
import os
oldPackages = ("nvidia-drivers177", "nvidia-drivers180", "xorg-video-nvidia180")
-driverPackage = "xorg-video-nvidia185"
+currentPackage = "xorg-video-nvidia185"
def enable(package):
call(package.replace("-", "_"), "Xorg.Driver", "enable")
-def migrate(oldPackage, newPackage):
- enable(newPackage)
-
+def migrate():
configXML = "/var/lib/zorg/config.xml"
if os.path.exists(configXML):
- xmldata = open(configXML).read()
- attr = "package='%s'"
- xmldata = xmldata.replace(attr % oldPackage, attr % newPackage)
- open(configXML, "w").write(xmldata)
+ import piksemel
+
+ doc = piksemel.parse(configXML)
+ dirty = False
+ for card in doc.tags("Card"):
+ ac = card.getTag("ActiveConfig")
+ if ac:
+ drv = ac.getTag("Driver")
+ if drv:
+ pkg = drv.getAttribute("package")
+ if pkg in oldPackages:
+ drv.setAttribute("package", currentPackage)
+ dirty = True
+
+ if dirty:
+ open(configXML, "w").write(doc.toPrettyString())
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
- try:
- enabledPackage = file("/var/lib/zorg/enabled_package").read()
+ migrate()
- if enabledPackage in oldPackages:
- migrate(enabledPackage, driverPackage)
+ try:
+ enabledPackage = open("/var/lib/zorg/enabled_package").read()
- elif enabledPackage == driverPackage and fromVersion != toVersion:
- enable(driverPackage)
+ if enabledPackage in oldPackages \
+ or (enabledPackage == currentPackage and fromVersion != toVersion):
+ enable(currentPackage)
except IOError:
pass
Paketler-commits mesaj listesiyle ilgili
daha fazla bilgi