Исправление calculate-builder (работа с initramfs в LZ4)

atratsevskiy
Mike Khiretskiy 9 years ago
parent d926fa6a73
commit b11f02d543

@ -1,4 +1,2 @@
DIST calculate-lib-2.1.11.tar.bz2 61687 SHA256 62976c08d4fb4810389ace6f5a99abb5a962f6c8d9053ff943d0669480fb5599 SHA512 e3bc2168a55367cf19ad3a27921b53e5e845643238bf171209ab29752c91b5d4d338a2120774764ac1c79abd93f2deff8680f8faa1407940984ea9fd6a199e67 WHIRLPOOL 0ced92ea493dd8db02b0ae1514ebbb51ee76dc6f441b4a38c984c39da2121fb81dd1f2e840c4c5b71a117a12817a2a269d85676288202aa9801f69727e3338dc
DIST calculate-lib-2.2.32.tar.bz2 121878 SHA256 fe85e033eb16703e9fc6dcdc06fe12dd215c56315ceed7a6eee8c732229b1cd6 SHA512 933619746b5dd2a30cc4e98080ba3f40c8131c86852f55ecfefd8a239a6625985abb7fcc5e71d3b346d811e30ab997ad1d3c2142d1b1f46a3e6387c009b3eb6a WHIRLPOOL 5f678cee97dacd18e9ba4b10534808b8def8d9b3f476b6a397b8e8da4c7eb844722da62af2c53c4aa00d41c606a2b9f474a780ad257aec5ad8175002bfe97589
DIST calculate-lib-3.2.2.tar.bz2 141385 SHA256 4a7d3fa8b9a137a0f8040d56594cd5a548979b28a676968897c8cc82ac357579 SHA512 77233929f5fd931980239779e1e8daefe6f45493e2c422c295d5c103d5f8a91ba9a19db1c96148bcfe03c6c998356c5c3a6cb708706a9c4fb719ea52680d431f WHIRLPOOL 9e2a6b21df99fac6215b34f395d52125fae1ccb0e13a2b18aa10d7908ce72826283ead7e4e5bba943ea8f2e2fed606cd4386e8bcbf25d3329ce98b359310d1b2
DIST calculate-lib-3.2.3.tar.bz2 142187 SHA256 d57e94c909842facfd8e940f3e8104ac35ea759b1ceaf6474059b9ff3cf6f15c SHA512 be6888b5f2d2dfe47412f546d39e336897fc0f86d72f5f08611c83f8488cfb0dfbc266a96f2710be7fc935fa87161aca9373caf73c1facacf7e0f27c36f5d41f WHIRLPOOL a4127bc1335d58f412a9af220d1a040b323c38f61ba4dc740bc32104ab3d0ab2278a4ee562e46046dba993fb7ab8d889c287f733a0e79290ca8940669432edf9

@ -0,0 +1,49 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="5"
PYTHON_COMPAT=(python2_7)
inherit distutils-r1 eutils
SRC_URI="ftp://ftp.calculate.ru/pub/calculate/calculate2/${PN}/${P}.tar.bz2
http://mirror.yandex.ru/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-apps/pciutils
sys-fs/lvm2
sys-fs/mdadm
sys-apps/file[python]"
RDEPEND="${DEPEND}"
src_unpack() {
unpack "${A}"
cd "${S}"
# create revision for calculate lib
epatch "${FILESDIR}/calculate-lib-2.2.32-r2.patch"
# fix for compabitble with file-5.19
epatch "${FILESDIR}/calculate-lib-2.2.32-fix_file.patch"
# fix for clean kernel from builder
epatch "${FILESDIR}/calculate-lib-2.2.32-fix_clean_kernel.patch"
# fix lock ini file
epatch "${FILESDIR}/calculate-lib-2.2.32-fix_lock_ini.patch"
# fix work with lz4 initramfs
epatch "${FILESDIR}/calculate-lib-2.2.32-fix_lz4.patch"
}

@ -0,0 +1,21 @@
diff --git pym/cl_utils.py pym/cl_utils.py
index da5ef2e..2e1a607 100644
--- pym/cl_utils.py
+++ pym/cl_utils.py
@@ -1499,7 +1499,15 @@ class InitrdFile(object):
if not path.exists(self._file):
# raise IOError
open(self._file)
- gz = Popen(['/bin/gzip', "-dc", self._file], stdout=PIPE, stderr=PIPE,
+ ftype = typeFile(magic=0x4).getMType
+ rdtype = ftype(self._file)
+ if "LZ4" in rdtype:
+ arch_cmd = '/usr/bin/lz4'
+ elif "XZ" in rdtype:
+ arch_cmd = '/usr/bin/xz'
+ else:
+ arch_cmd = '/bin/gzip'
+ gz = Popen([arch_cmd, "-dc", self._file], stdout=PIPE, stderr=PIPE,
close_fds=True)
cpio = Popen(["/bin/cpio","-tf"], stdout=PIPE, stdin=gz.stdout,
stderr=PIPE, close_fds=True)
Loading…
Cancel
Save