From 66436f56b1f264d1fe7e51c057e27fd8adc03822 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 22 Jun 2009 16:17:41 -0500
Subject: linhes-config: feeble attempt at error catching from scripts: new
 mythvantage

---
 abs/core-testing/LinHES-config/PKGBUILD         |  2 +-
 abs/core-testing/LinHES-config/install_proxy.sh |  4 +++
 abs/core-testing/LinHES-config/mv_install.py    | 44 ++++++++++++++++++-------
 abs/core-testing/LinHES-config/systemconfig.sh  |  5 ++-
 4 files changed, 41 insertions(+), 14 deletions(-)

diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD
index 76d3d43..15ad8f0 100755
--- a/abs/core-testing/LinHES-config/PKGBUILD
+++ b/abs/core-testing/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=2.0
-pkgrel=17
+pkgrel=21
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev )
 pkgdesc="Install and configure your system"
 depends=(bc libstatgrab  mysql-python expect curl dnsutils parted sg3_utils nmbscan system-templates rsync python-parted ddcxinfo)
diff --git a/abs/core-testing/LinHES-config/install_proxy.sh b/abs/core-testing/LinHES-config/install_proxy.sh
index ef13f6c..4d4160a 100755
--- a/abs/core-testing/LinHES-config/install_proxy.sh
+++ b/abs/core-testing/LinHES-config/install_proxy.sh
@@ -31,6 +31,10 @@ progress () {
 case $1 in
     full_install_it )
              mv_install.py --rootdisk=$disk --rootfs=$rootfs --rootsize=$rootsize --datafs=$datafs --datasize=$datasize --datadisk=$disk --swapsize=$swapsize -c full_install
+             rc=$?
+             echo "mv_install.py exit code $rc"
+             echo "mv_install error" >> /tmp/.install_error
+             exit $rc
             ;;
 
     NETBOOT)
diff --git a/abs/core-testing/LinHES-config/mv_install.py b/abs/core-testing/LinHES-config/mv_install.py
index 97fbae5..1d213a9 100755
--- a/abs/core-testing/LinHES-config/mv_install.py
+++ b/abs/core-testing/LinHES-config/mv_install.py
@@ -15,6 +15,17 @@ def usage():
 def clean_upgrade():
     return False
 
+def error_out(errmsg):
+    cmd = '''echo %s >> /tmp/.install_error ''' %errmsg
+    runcmd(cmd)
+    logging.critical("***********************************")
+    logging.critical("error: %s",errmsg)
+    print "***********************************"
+    print "ERROR: mv_install.py: %s" %errmsg
+    print "***********************************"
+    sys.exit(1)
+
+
 def update_db(value, data):
     db = MySQLdb.connect(host="localhost",  user="mythtv",  passwd="mythtv",  db="mythconverg")
     try:
@@ -175,7 +186,7 @@ def runcmd(cmd):
     else:
         cmd = "echo "+cmd
     logging.debug("    %s", cmd)
-    cmdout = commands.getoutput(cmd)
+    cmdout = commands.getstatusoutput(cmd)
     logging.debug("    %s", cmdout)
     return cmdout
 
@@ -303,7 +314,7 @@ def fscmd(fstype):
         rc = fscmds[fstype]
     except:
         logging.critical(" %s is not a valid fs type,  exiting now", fstype)
-        sys.exit(3)
+        error_out("Error mvinstall during format")
     return rc
 
 
@@ -489,7 +500,7 @@ def create_fstab(extralines):
 def find_uuid(partition):
     logging.info("Finding the UUID for %s...", partition)
     cmd = "blkid -s UUID /dev/%s" %partition
-    tmpuuid = runcmd(cmd)
+    tmpuuid = runcmd(cmd)[1]
     splituuid = tmpuuid.partition("=")
     uuid = splituuid[2].replace('"', "")
     logging.info("The uuid is %s", uuid)
@@ -903,8 +914,11 @@ def full_install(hostoptions):
         runcmd(cmd)
         logging.info("Running systemconfig in chroot")
         #cmd = "  chroot %s %s/bin/systemconfig.sh misc, hostype, network, advanced, user, this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-        cmd = "  chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-        runcmd(cmd)
+        cmd = "chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
+        rc = runcmd(cmd)[0]
+        if rc != 0 :
+            error_out("Running systemconfig")
+
         mysqldb("stop", "chroot")
         kill_dhcp_chroot()
         logging.info("____End Database in CHROOT____")
@@ -922,9 +936,11 @@ def full_install(hostoptions):
             logging.debug("touching /tmp/.dbsysfailed")
         else:
             #cmd = "  chroot %s %s/bin/systemconfig.sh misc, hostype, network, advanced, user, this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-            cmd = "  chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-            runcmd(cmd)
-            cmd = "  chroot %s %s/bin/restore_default_settings.sh -c ACCESSCONTROL " %(data_config.MOUNTPOINT, MVROOT)
+            cmd = "chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
+            rc = runcmd(cmd)[0]
+            if rc != 0 :
+                error_out("Running systemconfig")
+            cmd = "chroot %s %s/bin/restore_default_settings.sh -c ACCESSCONTROL " %(data_config.MOUNTPOINT, MVROOT)
             runcmd(cmd)
         umount_bind_chroot()
     #cmd = "  chroot %s %s/bin/systemconfig.sh advanced, user" %(data_config.MOUNTPOINT, MVROOT)
@@ -1127,8 +1143,10 @@ def upgrade(hostoptions):
     mount_bind_chroot()
     logging.info("Running systemconfig in chroot")
     #cmd = "  chroot %s %s/bin/systemconfig.sh misc, hostype, network, advanced, user, this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-    cmd = "  chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-    runcmd(cmd)
+    cmd = "chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
+    rc = runcmd(cmd)[0]
+    if rc != 0 :
+        error_out("Running systemconfig")
     mysqldb("stop", "")
     if ( systemconfig["SystemType"] == "Master_backend" or  systemconfig["SystemType"] == "Standalone" ):
         if clean_upgrade() or not backup_sql_check():
@@ -1154,8 +1172,10 @@ def upgrade(hostoptions):
 
     logging.info("Running systemconfig in chroot 2nd time")
     #cmd = "  chroot %s %s/bin/systemconfig.sh misc, hostype, network, advanced, user, this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-    cmd = "  chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
-    runcmd(cmd)
+    cmd = "chroot %s %s/bin/systemconfig.sh all , this_is_install" %(data_config.MOUNTPOINT, MVROOT)
+    rc = runcmd(cmd)[0]
+    if rc != 0 :
+        error_out("Running systemconfig")
     #logging.info("Running systemconfig in chroot")
     #cmd = "  chroot %s %s/bin/systemconfig.sh advanced" %(data_config.MOUNTPOINT, MVROOT)
     #runcmd(cmd)
diff --git a/abs/core-testing/LinHES-config/systemconfig.sh b/abs/core-testing/LinHES-config/systemconfig.sh
index 57bff5a..218f705 100755
--- a/abs/core-testing/LinHES-config/systemconfig.sh
+++ b/abs/core-testing/LinHES-config/systemconfig.sh
@@ -11,6 +11,9 @@ echo "----------------------start of systemconfig $@ ----------------------"
 postfix=`cat ${BASE}/usr/local/share/mythtv/.releasetype`
 
 systemconfig.py -m $@
-echo "exit code $?"
+rc=$?
+echo "systemconfig.py exit code $rc"
+exit $rc
+
 
 
-- 
cgit v0.12

