- Message( "Unsupported, not using --verbose option" )
-
- Message( "\nUpdating PlanetLab group" )
- os.system( "%s %s %s -y groupupdate \"PlanetLab\"" %
- (YUM_PATH, yum_options, sslcertdir) )
-
- Message( "\nUpdating rest of system" )
- os.system( "%s %s %s -y update" %
- (YUM_PATH, yum_options, sslcertdir) )
-
- Message( "\nChecking for extra groups to update" )
- if os.access(EXTRA_GROUPS_FILE, os.R_OK) and \
- os.path.isfile(EXTRA_GROUPS_FILE):
- extra_groups_contents= file(EXTRA_GROUPS_FILE).read()
- extra_groups_contents= string.strip(extra_groups_contents)
- if extra_groups_contents == "":
- Message( "No extra groups found in file." )
+ Message("Unsupported, not using --verbose option")
+
+ # a configurable list of packages to try and update independently
+ # cautious..
+ try:
+ crucial_packages = []
+ for package in CRUCIAL_PACKAGES_BUILTIN:
+ crucial_packages.append(package)
+ for path in CRUCIAL_PACKAGES_OPTIONAL_PATHS:
+ try:
+ crucial_packages += file(path).read().split()
+ except:
+ pass
+ for package in crucial_packages:
+ # if package is not yet installed, like e.g. slice images,
+ # need to yum install, not yum update
+ if os.system("rpm -q %s > /dev/null"%package) == 0:
+ Message("\nUpdating crucial package %s" % package)
+ os.system("%s %s -y update %s" %(YUM_PATH, yum_options, package))
+ else:
+ Message("\Installing crucial package %s" % package)
+ os.system("%s %s -y install %s" %(YUM_PATH, yum_options, package))
+ except:
+ pass
+
+ Message("\nUpdating PlanetLab group")
+ os.system("%s %s %s -y groupinstall \"PlanetLab\"" %
+ (YUM_PATH, yum_options, sslcertdir))
+
+ Message("\nUpdating rest of system")
+ os.system("%s %s %s -y update" % (YUM_PATH, yum_options, sslcertdir))
+
+ Message("\nChecking for extra groups (extensions) to update")
+ if os.access(EXTENSIONS_FILE, os.R_OK) and \
+ os.path.isfile(EXTENSIONS_FILE):
+ extensions_contents= file(EXTENSIONS_FILE).read()
+ extensions_contents= string.strip(extensions_contents)
+ if extensions_contents == "":
+ Message("No extra groups found in file.")