Salome HOME
sat #18867 : pour les url des bases git : substitution des references par leur valeur...
[tools/sat.git] / commands / config.py
index 4b2be310e53136ff2e6a094cb634c6d662b9d162..6ef3dbff7dce1326f5c8b457c376dad81a44d3f3 100644 (file)
@@ -309,7 +309,7 @@ class ConfigManager:
             cfg.LOCAL.archive_dir = os.path.abspath( osJoin(cfg.VARS.salometoolsway, "..", "ARCHIVES"))
 
         # if the sat tag was not set permanently by user
-        if cfg.LOCAL.tag == None:
+        if cfg.LOCAL.tag == "unknown":
             # get the tag with git, and store it
             sat_version=src.system.git_describe(cfg.VARS.salometoolsway) 
             if sat_version == False:
@@ -649,6 +649,10 @@ def show_product_info(config, name, logger):
     if "opt_depend" in pinfo:
         src.printcolors.print_value(logger, "optional", sorted(pinfo.opt_depend), 2)
 
+    if "build_depend" in pinfo:
+        src.printcolors.print_value(logger, "build depend on", sorted(pinfo.build_depend), 2)
+
+
     # information on pyconf
     logger.write("\n", 2)
     logger.write(src.printcolors.printcLabel("configuration:") + "\n", 2)
@@ -739,6 +743,12 @@ def show_product_info(config, name, logger):
             logger.write("  " + 
                          src.printcolors.printcWarning(_("no install dir")) + 
                          "\n", 2)
+
+        src.printcolors.print_value(logger, "debug ", pinfo.debug, 2)
+        src.printcolors.print_value(logger, "verbose ", pinfo.verbose, 2)
+        src.printcolors.print_value(logger, "hpc ", pinfo.hpc, 2)
+        src.printcolors.print_value(logger, "dev ", pinfo.dev, 2)
+
     else:
         logger.write("\n", 2)
         msg = _("This product does not compile")
@@ -794,9 +804,11 @@ def check_install_system(config, logger):
   '''
   # get the command to use for checking the system dependencies
   # (either rmp or apt)
-  check_cmd=src.system.get_pkg_check_cmd()
+  check_cmd=src.system.get_pkg_check_cmd(config.VARS.dist_name)
   logger.write("\nCheck the system dependencies declared in the application\n",1)
   pkgmgr=check_cmd[0]
+  run_dep_ko=[] # list of missing run time dependencies
+  build_dep_ko=[] # list of missing compile time dependencies
   for product in sorted(config.APPLICATION.products):
     try:
       product_info = src.product.get_product_config(config, product)
@@ -806,15 +818,39 @@ def check_install_system(config, logger):
         run_pkg,build_pkg=src.product.check_system_dep(check_cmd, product_info)
         #logger.write("\n*** %s ***\n" % product, 1)
         for pkg in run_pkg:
-            logger.write(run_pkg[pkg], 1)
+            logger.write("\n   - "+pkg + " : " + run_pkg[pkg], 1)
+            if "KO" in run_pkg[pkg]:
+                run_dep_ko.append(pkg)
         for pkg in build_pkg:
-            logger.write(build_pkg[pkg], 1)
+            logger.write("\n   - "+pkg + " : " + build_pkg[pkg], 1)
+            if "KO" in build_pkg[pkg]:
+                build_dep_ko.append(pkg)
         #  logger.write(src.printcolors.printcInfo("    %s\n" % i), 1)
 
     except Exception as e:
-      msg = "problem with the check of system prerequisite %s\n%s\n" % (product, str(e))
+      msg = "\nproblem with the check of system prerequisite %s\n%s\n" % (product, str(e))
       logger.error(msg)
-
+      raise Exception(msg)
+
+  logger.write("\n\n",1)
+  if run_dep_ko:
+      msg="Some run time system dependencies are missing!\n"+\
+          "Please install them with %s before running salome" % pkgmgr
+      logger.warning(msg)
+      logger.write("missing run time dependencies : ",1)
+      for md in run_dep_ko: 
+        logger.write(md+" ",1)
+      logger.write("\n\n")
+        
+  if build_dep_ko:
+      msg="Some compile time system dependencies are missing!\n"+\
+          "Please install them with %s before compiling salome" % pkgmgr
+      logger.warning(msg)
+      logger.write("missing compile time dependencies : ",1)
+      for md in build_dep_ko: 
+        logger.write(md+" ",1)
+      logger.write("\n\n")
+    
 
 def show_install_dir(config, logger):
   '''Prints all the used installed directories in the application.