trunk/playground/fatih.arslan/scripts - Change function completely
Fatih Arslan
uludag-commits at pardus.org.tr
15 Ara 2010 Çar 16:18:05 EET
Author: fatih.arslan
Date: Wed Dec 15 16:18:04 2010
New Revision: 34018
Modified:
trunk/playground/fatih.arslan/scripts/get_primary_module.py
Log:
Change function completely
---
get_primary_module.py | 111 +++++++++++++++++++++++++-------------------------
1 file changed, 56 insertions(+), 55 deletions(-)
Modified: trunk/playground/fatih.arslan/scripts/get_primary_module.py
=================================================================
--- trunk/playground/fatih.arslan/scripts/get_primary_module.py (original)
+++ trunk/playground/fatih.arslan/scripts/get_primary_module.py Wed Dec 15 16:18:04 2010
@@ -18,21 +18,26 @@
kernel_file = "/etc/kernel/kernel"
kernel_file_pae = "/etc/kernel/kernel-pae"
-fglrx = {"fglrx": ["module-fglrx-userspace",
- "xorg-video-fglrx",
- "ati-control-center"]}
-
-nvidia_current = {"nvidia-current": ["module-nvidia-current-userspace",
- "xorg-video-nvidia-current",
- "nvidia-settings"]}
-
-nvidia96 = {"nvidia96": ["module-nvidia96-userspace",
- "xorg-video-nvidia96",
- "nvidia-settings"]}
-
-nvidia173 = {"nvidia173": ["module-nvidia173-userspace",
- "xorg-video-nvidia173",
- "nvidia-settings"]}
+driver_packages = {"fglrx": ["module-fglrx",
+ "module-pae-fglrx",
+ "module-fglrx-userspace",
+ "xorg-video-fglrx",
+ "ati-control-center"] ,
+ "nvidia-current": ["module-nvidia-current",
+ "module-pae-nvidia-current",
+ "module-nvidia-current-userspace",
+ "xorg-video-nvidia-current",
+ "nvidia-settings"] ,
+ "nvidia96": ["module-nvidia96",
+ "module-pae-nvidia96",
+ "module-nvidia96-userspace",
+ "xorg-video-nvidia96",
+ "nvidia-settings"],
+ "nvidia173": ["module-nvidia173",
+ "module-pae-nvidia173",
+ "module-nvidia173-userspace",
+ "xorg-video-nvidia173",
+ "nvidia-settings"]}
def edit_grub(driver_name):
if driver_name == "nvidia-current":
@@ -42,7 +47,7 @@
else:
os_driver = False
- kernel_version = get_kernel_flavor()
+ kernel_list = get_kernel_flavors()
# Get the current used kernel versio # Create a new grub file
# Do not change the file if blacklist= .. is already available
@@ -73,49 +78,45 @@
shutil.copy2(grub_new, grub_file)
print "New grub file is created: /boot/grub/grub.conf"
-def resolve_intersections():
- obsolote = []
- needed = []
-
+def needed_module():
+ module_to_install ={}
driver_name = get_primary_driver()
- module_name = get_kernel_module_package(driver_name)
+ kernel_list = get_kernel_module_package(driver_name)
- packages_dicts = [nvidia_current, nvidia96, nvidia173, fglrx]
- for package in packages_dicts:
- for driver, module in package.items():
- module.append(module_name)
- package[driver] = module
- if driver_name != driver:
- obsolote.append(package)
- else:
- needed.append(package)
+ kernel_flavors = filter(lambda x: x.startswith("module-") and not x.endswith("-userspace"), \
+ driver_packages[driver_name])
+
+ need_to_install = list(set(driver_packages[driver_name]) - (set(kernel_flavors)- set(kernel_list)))
+ module_to_install[driver_name] = need_to_install
- return (needed, obsolote)
+ return module_to_install
-def get_kernel_module_package(name):
+def get_kernel_module_package(driver_name):
'''Get the appropirate module for the specified kernel'''
- kernel_flavor = get_kernel_flavor()
+ kernel_flavor = get_kernel_flavors()
- if "pae" in kernel_flavor:
- config = gzip.open("/proc/config.gz").read()
- for option in config:
- if "X86_PAE=y" in option:
- return "module-pae-%s" % name
- else:
- return "module-%s" % name
- else:
- return "module-%s" % name
+ kernel_list=[]
+ for kernel_name, kernel_version in kernel_flavor.items():
+ tmp, sep, suffix = kernel_name.partition("-")
+ if suffix:
+ kernel_list.append("module-%s-%s" % (suffix, driver_name))
+ else:
+ kernel_list.append("module-%s" % driver_name)
-def get_kernel_flavor():
+ return kernel_list
+
+def get_kernel_flavors(param=False):
''' Get kernel version '''
- if os.path.exists(kernel_file_pae):
- with open(kernel_file_pae) as kernel:
- for line in kernel:
- return line
+ kernel_dict = {}
+
+ if not param:
+ for kernel_file in glob.glob("/etc/kernel/*"):
+ kernel_name = os.path.basename(kernel_file)
+ kernel_dict[kernel_name] = open(kernel_file).read()
else:
- with open(kernel_file) as kernel:
- for line in kernel:
- return line
+ kernel_dict[param] = "2.6.36.1-147"
+
+ return kernel_dict
def get_primary_driver():
'''Get driver name for the working primary device'''
@@ -132,14 +133,14 @@
return driver_name
if __name__ == '__main__':
- needed, obsolote = resolve_intersections()
+ driver_name = get_primary_driver()
+ needed = needed_module()
print
- print "The package name of the driver is : %s" % driver_name
+ print "Packages that should be added : %s" % needed
print
- print "Packages that should be installed : %s" % needed
- print "Packages that should be removed : %s" % obsolote
+ print "Packages that should be removed from list : %s" % driver_packages
print
- edit_grub(driver_name)
+# edit_grub(driver_name)
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi