Fix detect partition table for some trouble devices.atratsevskiy
parent
fbff10a9dd
commit
9aa46e20f1
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI="3"
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/calculate2/${PN}/${P}.tar.bz2"
|
||||
|
||||
DESCRIPTION="The program of installation Calculate Linux"
|
||||
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="minimal"
|
||||
|
||||
DEPEND="~sys-apps/calculate-templates-2.2.20
|
||||
~sys-apps/calculate-lib-2.2.20
|
||||
app-portage/layman
|
||||
!app-misc/livecd-tools
|
||||
!minimal? ( sys-boot/grub
|
||||
sys-apps/gptfdisk
|
||||
sys-fs/dosfstools
|
||||
sys-fs/squashfs-tools
|
||||
sys-block/parted )"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
unpack "${A}"
|
||||
cd "${S}"
|
||||
|
||||
# fix detect image
|
||||
epatch "${FILESDIR}/calculate-install-2.2.20-fix_detect_image.patch"
|
||||
# fix detect partable
|
||||
epatch "${FILESDIR}/calculate-install-2.2.20-fix_detect_partable.patch"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "For configure calculate-install perform:"
|
||||
einfo " cl-install --install"
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
commit 3de7514fff51ee10c960d277d8625b6e56068d2c
|
||||
Author: Mike Hiretsky <mh@calculate.ru>
|
||||
Date: Thu Jul 28 12:05:30 2011 +0400
|
||||
|
||||
Fix get partition table for device.
|
||||
|
||||
Some devices by udev does not contain information about partition table.
|
||||
Get part table by them childs partitions.
|
||||
|
||||
diff --git a/pym/cl_fill_install.py b/pym/cl_fill_install.py
|
||||
index 030902a..65a16a2 100644
|
||||
--- a/pym/cl_fill_install.py
|
||||
+++ b/pym/cl_fill_install.py
|
||||
@@ -229,6 +229,20 @@ class fillVars(object, glob_attr):
|
||||
return ", ".join(map(lambda x:"%s (%s)"%(x[0],x[1]),
|
||||
listInterfacesInfo))
|
||||
|
||||
+
|
||||
+ def getTableByChild(self,device):
|
||||
+ """Get table by child partitions"""
|
||||
+ syspath = getUdevDeviceInfo(name=device).get('DEVPATH','')
|
||||
+ if not syspath.startswith('/sys'):
|
||||
+ syspath = pathJoin('/sys',syspath)
|
||||
+ shortnameDevice = path.basename(device)
|
||||
+ childs = filter(lambda x:x.startswith(shortnameDevice),
|
||||
+ listDirectory(syspath))
|
||||
+ if childs:
|
||||
+ child = pathJoin(syspath,childs[0])
|
||||
+ return getUdevDeviceInfo(path=child).get('ID_PART_ENTRY_SCHEME','')
|
||||
+ return ""
|
||||
+
|
||||
def get_os_device_hash(self):
|
||||
def onlyDisk(devpath):
|
||||
prop = getUdevDeviceInfo(devpath)
|
||||
@@ -253,7 +267,8 @@ class fillVars(object, glob_attr):
|
||||
continue
|
||||
device = props['DEVNAME']
|
||||
device_hash[device] = {}
|
||||
- device_hash[device]['table'] = props.get('ID_PART_TABLE_TYPE','')
|
||||
+ device_hash[device]['table'] = props.get('ID_PART_TABLE_TYPE',
|
||||
+ self.getTableByChild(device))
|
||||
device_hash[device]['map'] = mapnum
|
||||
|
||||
if path.basename(device) in usbdevices:
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI="3"
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/calculate2/${PN}/${P}.tar.bz2"
|
||||
|
||||
DESCRIPTION="The library for Calculate 2"
|
||||
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="2.2"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="minimal"
|
||||
DEPEND="!<sys-apps/calculate-lib-2.1.8-r1
|
||||
!=sys-apps/calculate-lib-2.1.9
|
||||
!=sys-apps/calculate-lib-2.1.10
|
||||
!minimal? ( dev-python/py-smbpasswd )
|
||||
>=dev-python/pyxml-0.8
|
||||
sys-apps/iproute2
|
||||
sys-fs/lvm2
|
||||
sys-fs/mdadm
|
||||
sys-apps/file[python]"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
unpack "${A}"
|
||||
cd "${S}"
|
||||
|
||||
# fix determining partition size
|
||||
epatch "${FILESDIR}/calculate-lib-2.2.20-fix_getsize.patch"
|
||||
# fix determining partition table
|
||||
epatch "${FILESDIR}/calculate-lib-2.2.20-fix_get_part_type.patch"
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
commit b4264c55235bdb036e2994d0fe7fa9619e668862
|
||||
Author: Mike Hiretsky <mh@calculate.ru>
|
||||
Date: Thu Jul 28 12:08:08 2011 +0400
|
||||
|
||||
Fix detect primary,extended,logical partitions type.
|
||||
|
||||
Udev info for some partition not contains ID_PART_TABLE_TYPE.
|
||||
Get that information from ID_PART_ENTRY_SCHEME.
|
||||
|
||||
diff --git a/pym/cl_utils.py b/pym/cl_utils.py
|
||||
index 23616bc..bea797c 100644
|
||||
--- a/pym/cl_utils.py
|
||||
+++ b/pym/cl_utils.py
|
||||
@@ -1227,7 +1227,7 @@ def getRaidPartitions(raidpath):
|
||||
|
||||
def getPartitionType(prop):
|
||||
"""Get type of dos part table (primary,extended or logical)"""
|
||||
- if prop.get('ID_PART_TABLE_TYPE') == 'dos':
|
||||
+ if prop.get('ID_PART_ENTRY_SCHEME') == 'dos':
|
||||
partId = prop.get('ID_PART_ENTRY_TYPE','')
|
||||
partNumber = prop.get('ID_PART_ENTRY_NUMBER','')
|
||||
if partId and partNumber:
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=3
|
||||
|
||||
DESCRIPTION="Calculate Utilities meta package"
|
||||
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="
|
||||
cl_assemble
|
||||
cl_builder
|
||||
cl_client
|
||||
cl_desktop
|
||||
cl_installgui
|
||||
cl_server
|
||||
"
|
||||
|
||||
RDEPEND="${RDEPEND}
|
||||
=sys-apps/calculate-install-2.2.20-r2
|
||||
=sys-apps/calculate-templates-2.2.20
|
||||
=sys-apps/calculate-lib-2.2.20-r2
|
||||
=sys-apps/calculate-i18n-2.2.20
|
||||
|
||||
cl_assemble? ( =sys-apps/calculate-assemble-2.2.20 )
|
||||
cl_builder? ( =sys-apps/calculate-builder-2.2.20 )
|
||||
cl_client? ( =sys-apps/calculate-client-2.2.20 )
|
||||
cl_desktop? ( =sys-apps/calculate-desktop-2.2.20 )
|
||||
cl_installgui? ( =app-misc/calculate-install-gui-2.2.20 )
|
||||
|
||||
cl_server? ( =sys-apps/calculate-server-2.1.14-r6 )
|
||||
"
|
||||
|
Loading…
Reference in new issue