[commits] r144 - selinux-site/trunk/SeLinux/Extensions

tim at mail.se.linux.org tim at mail.se.linux.org
Ons Nov 28 11:49:31 CET 2007


Author: tim
Date: 2007-11-28 11:49:30 +0100 (Wed, 28 Nov 2007)
New Revision: 144

Modified:
   selinux-site/trunk/SeLinux/Extensions/install.py
Log:
Installing SeLinux will install everything that is needed for the site. No need to install each seperately.


Modified: selinux-site/trunk/SeLinux/Extensions/install.py
===================================================================
--- selinux-site/trunk/SeLinux/Extensions/install.py	2007-11-28 10:47:24 UTC (rev 143)
+++ selinux-site/trunk/SeLinux/Extensions/install.py	2007-11-28 10:49:30 UTC (rev 144)
@@ -1,9 +1,25 @@
 from Products.GenericSetup.interfaces import ISetupTool
+from Products.CMFCore.utils import getToolByName
 from zope.component import getUtility
+import transaction
 
+PRODUCT_DEPENDENCIES = ('PloneHelpCenter',)
+EXTENSION_PROFILES = ('selinux.theme:selinux', 'selinux.policy:selinux')
+
 def install(self, reinstall=False):
+    qi = getToolByName(self, 'portal_quickinstaller')
     portal_setup = getUtility(ISetupTool) 
-    portal_setup.setImportContext('profile-selinux.theme:selinux') 
-    portal_setup.runAllImportSteps(purge_old=False) 
-    portal_setup.setImportContext('profile-selinux.policy:selinux') 
-    portal_setup.runAllImportSteps(purge_old=False) 
+
+    for product in PRODUCT_DEPENDENCIES:
+        if reinstall and qi.isProductInstalled(product):
+            qi.reinstallProducts([product])
+            transaction.savepoint()
+        elif not qi.isProductInstalled(product):
+            qi.installProduct(product)
+            transaction.savepoint()
+
+    for extension_id in EXTENSION_PROFILES:
+        portal_setup.runAllImportStepsFromProfile('profile-%s' % extension_id, purge_old=False)
+        product_name = extension_id.split(':')[0]
+        qi.notifyInstalled(product_name)
+        transaction.savepoint()




More information about the commits mailing list