summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-config
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2011-08-26 17:20:46 (GMT)
committerJames Meyer <james.meyer@operamail.com>2011-08-26 17:23:58 (GMT)
commitb99a6e96e555c1cbecd56b536abb324e9b6859f8 (patch)
treeddf395a4d2c4beec1b5f3e7020eda7dfa5893c7a /abs/core/LinHES-config
parent14b4d549c02c3480230858551b99e380d43180de (diff)
downloadlinhes_pkgbuild-b99a6e96e555c1cbecd56b536abb324e9b6859f8.zip
linhes_pkgbuild-b99a6e96e555c1cbecd56b536abb324e9b6859f8.tar.gz
linhes_pkgbuild-b99a6e96e555c1cbecd56b536abb324e9b6859f8.tar.bz2
linhes-config: align disk partitions at 2048. Some drives report 512 sector size, when they are in fact 4k. By aligning at 2048 is works for both legacy 512 and 4k.
Diffstat (limited to 'abs/core/LinHES-config')
-rw-r--r--abs/core/LinHES-config/PKGBUILD4
-rwxr-xr-xabs/core/LinHES-config/mv_install.py11
2 files changed, 11 insertions, 4 deletions
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 865ba40..66d1d42 100644
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
pkgver=2.3
-pkgrel=4
+pkgrel=5
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'
@@ -101,7 +101,7 @@ build() {
install -m 0755 issue $startdir/pkg/etc/issue
}
-md5sums=('3cf9277d2a205ef20b75d5f8b36d4f0d'
+md5sums=('b078307bd347cba80978511b0e75b68a'
'16b98fcb3753ef6cfc35075c326d30e4'
'e36da536dd651ef182e7642337889e77'
'985891a43f7c4c983eb2a362162f1a0f'
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index c032aad..e774521 100755
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -263,6 +263,7 @@ def create_partitions(diskdevice, size, ptype, startsector):
newstart = 0
totalused = 0
device = parted.getDevice(diskdevice)
+ logging.debug("Sector size is %s %s", %( diskdevice , device.sectorSize))
partdisk = parted.Disk(device)
for partition in partdisk.partitions:
if partition.type != parted.PARTITION_FREESPACE:
@@ -280,7 +281,7 @@ def create_partitions(diskdevice, size, ptype, startsector):
newstart = usedend+1
if startsector == 0:
- newstart = 0
+ newstart = 2048
if size == "ALL":
logging.debug(" Using the rest of the disk %s", (device.length-newstart) )
try:
@@ -292,6 +293,10 @@ def create_partitions(diskdevice, size, ptype, startsector):
# convert size in MB to a length on the device in sectors
length = (int(size) * (1024 * 1024)) / device.sectorSize
logging.debug("Size is %s", length)
+ if length > device.length:
+ length = device.length - newstart
+ logging.info("Size is larger then disk, reducing size")
+ logging.debug("New Size is %s", length)
try:
geom = parted.Geometry(device=device, start=newstart, length=length)
except:
@@ -299,7 +304,9 @@ def create_partitions(diskdevice, size, ptype, startsector):
error_out("invalid parition size")
#collect device constraint
- constraint = device.getConstraint()
+ #constraint = device.getConstraint()
+ #constraint = parted.Constraint(device=device)
+ constraint = parted.Constraint(exactGeom = geom )
# new partition
if ptype == "NORMAL":
newpart = parted.Partition(disk=partdisk, type=parted.PARTITION_NORMAL, geometry=geom)