From 86a66e21bf7b444dbab401e699da74df38fb9dcf Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sat, 8 Sep 2012 20:45:21 -0500
Subject: LinHES-config/system/install:  first checkin to get 5 partition
 upgrade layout working

---
 abs/core/LinHES-config/PKGBUILD         |   6 +-
 abs/core/LinHES-config/install_proxy.sh |   7 +-
 abs/core/LinHES-config/mv_install.py    | 333 +++++++++++++++++++-------------
 abs/core/LinHES-system/PKGBUILD         |   8 +-
 abs/core/LinHES-system/add_storage.py   |   4 +-
 abs/core/mythinstall/PKGBUILD           |   2 +-
 6 files changed, 211 insertions(+), 149 deletions(-)

diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 092165e..7eb4cae 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=2.3
-pkgrel=122
+pkgrel=127
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
 pkgdesc="Install and configure your system"
 depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -125,12 +125,12 @@ build() {
     install -o root -g root  -D -m 0755 blacklist_pcspkr.conf $startdir/pkg/etc/modprobe.d/blacklist_pcspkr.conf
     install -o root -g root  -D -m 0755 blacklist_nouveau.conf $startdir/pkg/etc/modprobe.d/blacklist_nouveau.conf
 }
-md5sums=('3ea478f8478cdbf47c652f37e2dab346'
+md5sums=('98706973a3266476fb6414ffa8e8a18f'
          'f33e1a6f7985091b8d47cbaf7433f90f'
          '04c72de15178f1577ce40a8cb045930a'
          '2596460462cf6c889cf8f95485537b20'
          '985891a43f7c4c983eb2a362162f1a0f'
-         '5e019ede24323a77f8d3812a93d38075'
+         'fda01259a4bc74d83c9092d338bd247a'
          '768504ef10ecd11a22875ccea9fcf62b'
          'f73d6d6f98839e900cb6685bf5dc4eae'
          '68199e861c2933ccbb84735b9b440157'
diff --git a/abs/core/LinHES-config/install_proxy.sh b/abs/core/LinHES-config/install_proxy.sh
index 53d48c9..99609cc 100755
--- a/abs/core/LinHES-config/install_proxy.sh
+++ b/abs/core/LinHES-config/install_proxy.sh
@@ -30,7 +30,8 @@ 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
+             #mv_install.py --rootdisk=$disk --rootfs=$rootfs --rootsize=$rootsize --datafs=$datafs --datasize=$datasize --datadisk=$disk --swapsize=$swapsize -c full_install
+             mv_install.py -c full_install
              rc=$?
              echo "mv_install.py exit code $rc"
              if [ $rc != 0 ]
@@ -47,11 +48,13 @@ case $1 in
 
     find_update)
             mv_install.py --rootdisk=$disk -c find_upgrade
+            #mv_install.py -c find_upgrade
             ;;
 
     upgrade_it)
             install_proxy.sh network_check_it setup_network
-            mv_install.py --rootdisk=$disk --rootfs=$rootfs -c upgrade
+            #mv_install.py --rootdisk=$disk --rootfs=$rootfs -c upgrade
+            mv_install.py -c upgrade
             ;;
 
     disk_model_it)
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index 3bdd791..a447851 100755
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -22,7 +22,7 @@ def usage():
     print "    rootfs=ext4"
     print "    rootsize=5000"
     print "    datafs=reiserfs"
-    print "    datasize=ALL"
+    print "    datasize=all"
     print "    datadisk=sda"
     print "    swapsize=200"
     print "    op=full_install"
@@ -325,7 +325,7 @@ def create_partitions(diskdevice, size, ptype, startsector):
     if  startsector == 0:
         newstart = 2048
 
-    if size == "ALL":
+    if size == "all":
         logging.debug("     Using the rest of the disk  %s", (device.length-newstart) )
         try:
             geom = parted.Geometry(device=device,  start=newstart,  length=(device.length-newstart))
@@ -403,7 +403,7 @@ def partition_disk():
     hostoptions["swappartition"] = create_partitions("/dev/"+rootdisk, hostoptions["swapsize"], "SWAP", 1)
 
     #create extended partition
-    hostoptions["extended_partition"] = create_partitions("/dev/"+rootdisk, "ALL", "EXTENDED", 1)
+    hostoptions["extended_partition"] = create_partitions("/dev/"+rootdisk, "all", "EXTENDED", 1)
 
     #create the logical in the extended
     hostoptions["home_partition"] = create_partitions("/dev/"+rootdisk, hostoptions["homesize"], "LOGICAL", 1)
@@ -424,8 +424,8 @@ def fscmd(fstype):
               "ext3": "mkfs.ext3",
               "jfs":"mkfs.jfs -q",
               "ext4":"mkfs.ext4",
-              "Do_not_format":"noformat",
-              "no_format":"noformat",
+              "Do_not_format":"no_format",
+              "no_format":"no_format",
               "btrfs":"mkfs.btrfs"}
     try:
         rc = fscmds[fstype]
@@ -453,14 +453,22 @@ def format_disk(install_type):
     sqlpartition = hostoptions["sql_partition"]
 
 
+    #if install_type != "upgrade":
+        #swapsize = hostoptions["swapsize"]
+        #swappartition = hostoptions["swappartition"]
 
-    if install_type != "upgrade":
-        swapsize = hostoptions["swapsize"]
+    if install_type == "install":
         swappartition = hostoptions["swappartition"]
+        if (hostoptions["swapsize"] != "NO"):
+            logging.info("  Starting format for swap %s", swappartition)
+            cmd = "  mkswap /dev/%s" % swappartition
+            #os.system(cmd)
+            runcmd(cmd)
+        else:
+            logging.debug("     Swap is set to NO,  will not run mkswap")
 
     logging.debug("     Format command for rootfs  %s : %s ",  rootfs, rootpartition)
-
-    if ( rootfs != "noformat"):
+    if ( rootfs != "no_format"):
         logging.info("  Starting %s format of %s", rootfs, rootpartition)
         cmd = "  %s /dev/%s" %( rootfs,  rootpartition)
         #os.system(cmd)
@@ -469,7 +477,7 @@ def format_disk(install_type):
         logging.info("  Will not format root partition: %s", rootpartition)
 
     logging.debug("     Format command for datafs  %s : %s ",  datafs, datapartition)
-    if (datafs != "noformat"):
+    if (datafs != "no_format"):
         logging.info("  Starting format %s of %s", datafs, datapartition)
         cmd = "  %s /dev/%s" %( datafs,  datapartition)
         #os.system(cmd)
@@ -477,39 +485,31 @@ def format_disk(install_type):
     else:
         logging.info("  Will not format data partition: %s",  datapartition)
 
-    if install_type == "install":
-        if (hostoptions["swapsize"] != "NO"):
-            logging.info("  Starting format for swap %s", swappartition)
-            cmd = "  mkswap /dev/%s" % swappartition
-            #os.system(cmd)
-            runcmd(cmd)
-        else:
-            logging.debug("     Swap is set to NO,  will not run mkswap")
-
-        if ( homefs != "noformat"):
-            logging.info("  Starting format %s  of %s", homefs, homepartition)
-            cmd = "  %s /dev/%s" %( homefs,  homepartition)
-            #os.system(cmd)
-            runcmd(cmd)
-        else:
-                logging.info("  Will not format home partition: %s", homepartition)
+    #for upgrades format is set to no_format
+    if ( homefs != "no_format"):
+        logging.info("  Starting format %s  of %s", homefs, homepartition)
+        cmd = "  %s /dev/%s" %( homefs,  homepartition)
+        #os.system(cmd)
+        runcmd(cmd)
+    else:
+            logging.info("  Will not format home partition: %s", homepartition)
 
-        if ( sqlfs != "noformat"):
-            logging.info("  Starting format %s of %s", sqlfs, sqlpartition)
-            cmd = "  %s /dev/%s" %( sqlfs,  sqlpartition)
-            #os.system(cmd)
-            runcmd(cmd)
-        else:
-            logging.info("  Will not format sql partition: %s", sqlpartition)
+    if ( sqlfs != "no_format"):
+        logging.info("  Starting format %s of %s", sqlfs, sqlpartition)
+        cmd = "  %s /dev/%s" %( sqlfs,  sqlpartition)
+        #os.system(cmd)
+        runcmd(cmd)
+    else:
+        logging.info("  Will not format sql partition: %s", sqlpartition)
 
-        logging.debug("     Format command for datafs  %s : %s ",  datafs, datapartition)
-        if (datafs != "noformat"):
-            logging.info("  Starting format %s of %s", datafs, datapartition)
-            cmd = "  %s /dev/%s" %( datafs,  datapartition)
-            #os.system(cmd)
-            runcmd(cmd)
-        else:
-            logging.info("  Will not format data partition: %s",  datapartition)
+    logging.debug("     Format command for datafs  %s : %s ",  datafs, datapartition)
+    if (datafs != "no_format"):
+        logging.info("  Starting format %s of %s", datafs, datapartition)
+        cmd = "  %s /dev/%s" %( datafs,  datapartition)
+        #os.system(cmd)
+        runcmd(cmd)
+    else:
+        logging.info("  Will not format data partition: %s",  datapartition)
 
     logging.debug("_____End of format______")
 
@@ -779,7 +779,8 @@ def copy_it(install_type):
 
     if ( install_type == "upgrade"):
         logging.info("Upgrading system")
-        cmdlist = ['rsync -arp /image_mount/root/* /new_boot',
+
+        cmdlist = ['rsync -arp --exclude /home --exclude /data/srv/mysql /image_mount/root/* /new_boot',
                     'rsync -arp /image_mount/lib/* /new_boot/lib/',
                     'rsync -arp /image_mount/usr /new_boot',
                     'rsync -arp /image_mount/var /new_boot']
@@ -1019,7 +1020,7 @@ def fstab_it(install_type):
                 newfstab.append(newline)
 
             elif ( templine[1] == data_config.SQLMOUNT):
-                logging.debug("     Found HOME mount")
+                logging.debug("     Found database mount")
                 logging.debug(      templine)
                 templine[0] = "UUID=%s" %(sqluuid)
                 if sqlacl:
@@ -1044,10 +1045,10 @@ def fstab_it(install_type):
                     for i in templine:
                         newline+=i
                         newline+="    "
-                    newline+="\n"
-                    logging.debug("     New fstab line:")
-                    logging.debug(      newline)
-                    newfstab.append(newline)
+                newline+="\n"
+                logging.debug("     New fstab line:")
+                logging.debug(      newline)
+                newfstab.append(newline)
             else:
                 logging.debug("     Line didn't match,  adding to newfstab:")
                 logging.debug(      line)
@@ -1744,15 +1745,18 @@ def upgrade_mount_search():
 
 
 def upgrade(hostoptions):
-
     try:
         MVROOT = os.environ["MV_ROOT"].strip()
     except:
         logging.debug("MVROOT was not defined,  using the default value")
         MVROOT = "/usr/MythVantage"
+    hostoptions["backupfile"] = data_config.BACKUPPATH+data_config.BACKUPFILE
+
     logging.info("______Start of upgrade______")
     cmd = "touch /tmp/.this_is_upgrade"
     runcmd(cmd)
+
+    #format disk
     if hostoptions["rootfs"] == "Do_not_format":
         logging.info("Will not format root filesystem")
     else:
@@ -1760,18 +1764,26 @@ def upgrade(hostoptions):
         update_status(statusmsg)
         progress(2)
         format_disk("upgrade")
-    #sys.exit(2)
+
+    #mount partitions
     statusmsg = "Mounting  %s"  %( hostoptions["rootdisk"])
     update_status(statusmsg)
     progress(3)
     mount_it()
     swapon()
+
     hostoptions["backupfile"] = data_config.BACKUPPATH+data_config.BACKUPFILE
+    #Find number of bytes written to disk before starting copy.  This is used to
+    #give a somewhat decent progress indication
     statgrab( hostoptions["rootdisk"])
     msg = "Upgrading %s" %(systemconfig["hostname"])
     update_status(msg)
     time.sleep(3)
+
+    #copy system to disk
     copy_it("upgrade")
+
+    #Restore /etc and key files.  This is the copy found when running find_upgrade
     cmd = "rm -rf %s/etc.old" %data_config.MOUNTPOINT
     runcmd(cmd)
     cmd = "rm -rf %s/alsa.old" %data_config.MOUNTPOINT
@@ -1812,14 +1824,19 @@ def upgrade(hostoptions):
         cp_and_log(data_config.MOUNTPOINT+"/etc.old/passwd", data_config.MOUNTPOINT+"/etc/passwd")
         cp_and_log(data_config.MOUNTPOINT+"/etc.old/shadow", data_config.MOUNTPOINT+"/etc/shadow")
         cp_and_log(data_config.MOUNTPOINT+"/etc.old/group", data_config.MOUNTPOINT+"/etc/group")
-    msg = "Configuring system"
 
+
+    #configure system
+    msg = "Configuring system"
     update_status(msg)
     progress(98)
     logging.info("______Configuring system________")
     cp_and_log("/etc/systemconfig", data_config.MOUNTPOINT+"/etc/systemconfig")
-    if not backup_sql_check():
-        upgrade_mount_search()
+    #New partition layout, we do not need to search for backup file
+    #if not backup_sql_check():
+        #upgrade_mount_search()
+
+    #check fstab, see if it needs any updates
     fstab_it("upgrade")
     time.sleep(1)
 
@@ -1829,10 +1846,12 @@ def upgrade(hostoptions):
 
     genlocale()
     time.sleep(1)
-    #needed to get around a bug with pacman
+
     special_hardware_check()
     cp_and_log("/root/xorg.conf.install", data_config.MOUNTPOINT+"/etc/X11/xorg.conf.install")
+    #this was needed to get around a pacman bug
     cp_and_log("/etc/mtab", data_config.MOUNTPOINT+"/etc/mtab")
+
     if clean_upgrade() or os.path.exists("/tmp/etc/KnoppMyth-version"):
         logging.debug("clean upgrade or knoppmyth upgrade detected,  running restore settings")
         restore_default_settings()
@@ -1840,53 +1859,67 @@ def upgrade(hostoptions):
             file = "%s/%s/.kmupgrade" %(data_config.MOUNTPOINT, data_config.MYTHHOME)
             cmd = "touch %s && chmod 777 %s" %(file, file)
             runcmd(cmd)
+
+    #these are also run by restore_default_settings in install
     copy_updates()
     fix_permissions()
+
     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)
-    rc = runcmd(cmd)[0]
-    if rc != 0 :
-        error_out("Running systemconfig")
-    mysqldb("stop", "")
+    apply_new_auth()
+    umount_bind_chroot()
+
+
+    #logging.info("Running systemconfig in chroot")
+    #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():
+        if clean_upgrade():
+            mysqldb("stop", "")
+            mount_bind_chroot()
             logging.info("Installing new database")
             cmd = "chroot %s %s/bin/install_db_chroot.sh |tee /tmp/chrootdb.out" %(data_config.MOUNTPOINT, MVROOT)
             runcmd(cmd)
-        else:
-            logging.info("Restoring database")
-            cmd = "chroot %s %s/bin/restore_km_db_chroot.sh %s|tee /tmp/chrootdb.out" %(data_config.MOUNTPOINT, MVROOT, hostoptions["backupfile"])
-            runcmd(cmd)
+            umount_bind_chroot()
 
-    if os.path.exists("/tmp/etc/KnoppMyth-version"):
-        cmd = "chroot %s %s/bin/myth_settings_wrapper.sh -c restore  -t hostsettings " %(data_config.MOUNTPOINT, MVROOT)
-        runcmd(cmd)
-        logging.debug("Correcting permissions because of km->linhes upgrade")
-        cmd = "chown -R mythtv:mythtv  %s" %(data_config.MOUNTPOINT+data_config.DATAMOUNT)
-        runcmd(cmd)
-        cmd = "chown -R root:root  %s" %(data_config.MOUNTPOINT+data_config.DATAMOUNT+"/backup")
-        runcmd(cmd)
-    else:
-        cmd = "chroot %s %s/bin/myth_settings_wrapper.sh -c restore  -t syssettings " %(data_config.MOUNTPOINT, MVROOT)
-        runcmd(cmd)
+        #if clean_upgrade() or not backup_sql_check():
+            #logging.info("Installing new database")
+            #cmd = "chroot %s %s/bin/install_db_chroot.sh |tee /tmp/chrootdb.out" %(data_config.MOUNTPOINT, MVROOT)
+            #runcmd(cmd)
+        #else:
+            #logging.info("Restoring database")
+            #cmd = "chroot %s %s/bin/restore_km_db_chroot.sh %s|tee /tmp/chrootdb.out" %(data_config.MOUNTPOINT, MVROOT, hostoptions["backupfile"])
+            #runcmd(cmd)
+
+    #if os.path.exists("/tmp/etc/KnoppMyth-version"):
+        #cmd = "chroot %s %s/bin/myth_settings_wrapper.sh -c restore  -t hostsettings " %(data_config.MOUNTPOINT, MVROOT)
+        #runcmd(cmd)
+        #logging.debug("Correcting permissions because of km->linhes upgrade")
+        #cmd = "chown -R mythtv:mythtv  %s" %(data_config.MOUNTPOINT+data_config.DATAMOUNT)
+        #runcmd(cmd)
+        #cmd = "chown -R root:root  %s" %(data_config.MOUNTPOINT+data_config.DATAMOUNT+"/backup")
+        #runcmd(cmd)
+    #else:
+        #cmd = "chroot %s %s/bin/myth_settings_wrapper.sh -c restore  -t syssettings " %(data_config.MOUNTPOINT, MVROOT)
+        #runcmd(cmd)
 
-    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)
+    #run systemconfig in chroot
+    mount_bind_chroot()
+    logging.info("Running systemconfig in chroot time")
     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)
-    mysqldb("stop", 'chroot')
-    apply_new_auth()
-    kill_dhcp_chroot()
     umount_bind_chroot()
+    kill_dhcp_chroot()
+
+
     cp_and_log("/tmp/mythvantage_install.log", data_config.MOUNTPOINT+"/var/log/mythvantage_install.log")
     cp_and_log("/tmp/mv_debug.log", data_config.MOUNTPOINT+"/var/log/mv_debug.log")
+
     unmount_it()
     msg = "Done"
     update_status(msg)
@@ -1899,83 +1932,109 @@ def main(argv):
     print install_conf
     global hostoptions
     hostoptions = {}
-    conflist=["rootdisk","rootfs","rootsize",
+    conflist=["op",
+              "rootdisk","rootfs","rootsize",
               "datafs","datasize","datadisk","datapartition",
-              "swapsize","op","homesize","sqlsize"]
+              "swapsize",
+              "homesize","homefs",
+              "sqlsize","sqlfs",
+              "uprootfs"]
 
     for i in conflist:
         try:
-            hostoptions[i] = install_conf[i]
+            hostoptions[i] = install_conf[i].lower()
         except:
             pass
-    hostoptions["sqlfs"] = hostoptions["rootfs"]
-    hostoptions["homefs"] = hostoptions["rootfs"]
+    try:  #op is not set for find_upgrade
+        if hostoptions["op"] == "upgrade":
+            #rootfs is used by both upgrade and install
+            hostoptions["rootfs"] == hostoptions["uprootfs"]
+    except:
+        pass
 
 
 
-    if len(hostoptions)  < 1:
-        try:
-            opts,  args = getopt.getopt(argv,  'c:h',  ["help",  "rootdisk=",  "rootfs=",  "rootsize=",  "datafs=",  "datasize=",  "datadisk=",  "swapsize=",  "datapartition=" ] )
-        except getopt.GetoptError, why:
-            print why
+    try:
+        opts,  args = getopt.getopt(argv,  'c:h',  ["help",  "rootdisk=",  "rootfs=",  "rootsize=",  "datafs=",  "datasize=",  "datadisk=",  "swapsize=",  "datapartition=" ] )
+    except getopt.GetoptError, why:
+        print why
+        usage()
+        sys.exit(2)
+    #hostoptions = {"op": 'null'}
+    for opt,  arg in opts:
+        if opt in ("-h",  "--help"):
             usage()
-            sys.exit(2)
-        hostoptions = {"op": 'null'}
-        for opt,  arg in opts:
-            if opt in ("-h",  "--help"):
-                usage()
-                sys.exit(0)
-            elif opt in ( "--rootdisk"):
-                hostoptions["rootdisk"] = arg
-                hostoptions["rootpartition"] = arg+str(1)
-            elif opt in ("--rootfs"):
-                hostoptions["rootfs"] = arg
-            elif opt in ("--rootsize"):
-                hostoptions["rootsize"] = arg
-            elif opt in ("--datafs"):
-                hostoptions["datafs"] = arg
-            elif opt in ("--datasize"):
-                hostoptions["datasize"] = arg
-            elif opt in ("--datadisk"):
-                hostoptions["datadisk"] = arg
-            elif opt in ("--datapartition"):
-                hostoptions["datapartition"] = arg
-            elif opt in ("--swapsize"):
-                hostoptions["swapsize"]  = arg
-
-            elif opt in ("-c"):
-                validop = ["full_install", "upgrade", "netboot", "find_upgrade"]
-                if arg not in validop:
-                    logging.critical("-c %s is not a valid option", arg)
-                    sys.exit(2)
-                else:
-                    hostoptions["op"]  = arg
+            sys.exit(0)
+        elif opt in ( "--rootdisk"):
+            hostoptions["rootdisk"] = arg
+            hostoptions["rootpartition"] = arg+str(1)
+        elif opt in ("--rootfs"):
+            hostoptions["rootfs"] = arg
+        elif opt in ("--rootsize"):
+            hostoptions["rootsize"] = arg
+        elif opt in ("--datafs"):
+            hostoptions["datafs"] = arg
+        elif opt in ("--datasize"):
+            hostoptions["datasize"] = arg
+        elif opt in ("--datadisk"):
+            hostoptions["datadisk"] = arg
+        elif opt in ("--datapartition"):
+            hostoptions["datapartition"] = arg
+        elif opt in ("--swapsize"):
+            hostoptions["swapsize"]  = arg
+
+        elif opt in ("-c"):
+            validop = ["full_install", "upgrade", "netboot", "find_upgrade"]
+            if arg not in validop:
+                logging.critical("-c %s is not a valid option", arg)
+                sys.exit(2)
+            else:
+                hostoptions["op"]  = arg
 
     validop = ["full_install", "upgrade", "netboot", "find_upgrade"]
     if hostoptions["op"]  not in validop:
         logging.critical("-c %s is not a valid option", hostoptions["op"])
         sys.exit(2)
 
-    try:
-        hostoptions["datadisk"]
-    except:
-        hostoptions["datadisk"] = hostoptions["rootdisk"]
-        hostoptions["datapartition"] = hostoptions["datadisk"]+str(3)
 
-    try:
-        hostoptions["datapartition"]
-    except:
-        hostoptions["datapartition"] = hostoptions["datadisk"]+str(3)
 
-    hostoptions["swappartition"]  =  hostoptions["rootdisk"] + str(2)
+    if ( hostoptions["op"] == "upgrade")  or ( hostoptions["op"] == "find_upgrade" ):
+        hostoptions["datafs"] = "no_format"
+        hostoptions["homefs"] = "no_format"
+        hostoptions["sqlfs"] = "no_format"
+
+        #hardcoding partitions
+        hostoptions["rootpartition"] = hostoptions["rootdisk"]+str(1)  ##hardcoded partition 1
+        hostoptions["swappartition"]  =  hostoptions["rootdisk"] + str(2)
+
+        try:
+            hostoptions["datadisk"]
+        except:
+            hostoptions["datadisk"] = hostoptions["rootdisk"]
+        #home/sql do not needed to be valid values for the upgrade, but using real values for reference
+        try:
+            hostoptions["home_partition"]
+        except:
+            hostoptions["home_partition"] = hostoptions["rootdisk"]+str(5)
+
+        try:
+            hostoptions["sql_partition"]
+        except:
+            hostoptions["sql_partition"] = hostoptions["rootdisk"]+str(6)
+
+        try:
+            hostoptions["datapartition"]
+        except:
+            hostoptions["datapartition"] = hostoptions["datadisk"]+str(7)
 
 
     if ( hostoptions["op"]  == "full_install" ) :
         full_install(hostoptions)
+
     elif (hostoptions["op"]  == "upgrade" ) :
-        hostoptions["datafs"] = "no_format"
         find_upgrade()
         upgrade(hostoptions)
+
     elif (hostoptions["op"]  == "find_upgrade" ) :
         find_upgrade()
     return hostoptions
@@ -2027,7 +2086,7 @@ for line in config_file:
 #Read in install_conf
 global install_conf
 install_conf = {}
-file_name = "/tmp/install_conf"
+file_name = "/etc/install_layout"
 try:
     config_file = open(file_name)
 except:
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index 36e0096..a954eab 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-system
 pkgver=2
-pkgrel=84
+pkgrel=85
 arch=('i686' 'x86_64')
 MVDIR=$startdir/pkg/usr/LH
 BINDIR=$startdir/pkg/usr/bin
@@ -73,7 +73,7 @@ md5sums=('a941af97fe534731a507b1d57c0c2aed'
          'dc3eef2a624754e16805d72bbe488b67'
          'dc0be354ce77ba2b89868fc29b942c43'
          '542e670e78d117657f93141e9689f54d'
-         '48b763dba127aac6ab05c84643f83b71'
+         '41951459ea9d2b0567be521b67e6285a'
          'eeb7bb20905e031142ce0b575aad78c9'
          '4545eb39213d40b5a2bdeda5e066cdc4'
          '962a3e9eaba2d1466251b7ab0956705d'
@@ -83,7 +83,7 @@ md5sums=('a941af97fe534731a507b1d57c0c2aed'
          '9c2294ccfd5359583497a6b03d918a27'
          '859a80ddb4c234506379c605114c1343'
          '47e093e8cfe4b5b96602358e1f540832'
-         '6be4932cdcb3fc08c55218e9c3e31ca9'
+         'e27c8172763e547f6a4fe6dc1c1acbf6'
          'b8f0414427c5d9afdc32ceb3ae56f82a'
          '6519d209e151cdc39ae7e1091d189c3e'
          'd1cdf28fcb1c88f0e504905771dd6040'
@@ -95,7 +95,7 @@ md5sums=('a941af97fe534731a507b1d57c0c2aed'
          'ea315f41dcd6c978e546c95fc05546cf'
          'ac61cc460d9e97ba1f5ef69e92cdfbe5'
          '06a628469051237943b7c874f2e29b8a'
-         '0512f859cd5ea1d9eb972840caef2f0e'
+         '54ebcc024db2e0ebe8121305d8926767'
          '45f46d1f9193c8dde18e56369ec29a1e'
          'a8edbe7bc37e9932e8749d9f5f89c16f'
          '14cea9e87654441b766a97576233ba5a'
diff --git a/abs/core/LinHES-system/add_storage.py b/abs/core/LinHES-system/add_storage.py
index 1bdcb6c..260df2a 100644
--- a/abs/core/LinHES-system/add_storage.py
+++ b/abs/core/LinHES-system/add_storage.py
@@ -73,7 +73,7 @@ class disk_device:
         self.new_mount_point=''
 
     def set_partition(self,partition):
-        self.block_partition = "%s3" %self.block_path
+        self.block_partition = "%s%s" %(self.block_path,partition)
 
     def set_mmount(self,flag):
         self.mmount = flag
@@ -599,7 +599,7 @@ def myth_main(no_mount,install_call,dir_fe_only):
 
     print "    Drive: %s" %(i.get_name())
     i.set_mmount(True)
-    i.set_partition("3")
+    i.set_partition("7")
     i.add_fstab(True)
     #if not install_call:
     i.mount_disk(no_mount)
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index a3304ef..2222d28 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Jams
 pkgname=mythinstall
 pkgver=3
-pkgrel=44
+pkgrel=49
 pkgdesc="LinHES installer/systemconfig GUI."
 arch=('i686'  'x86_64')
 depends=('mythtv>=0.25')
-- 
cgit v0.12