parent
d904e909e9
commit
2c1143ac91
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2012 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 utilities for assembling tasks of Calculate Linux"
|
||||
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate2"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
DEPEND="~sys-apps/calculate-builder-2.2.29"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
unpack "${A}"
|
||||
cd "${S}"
|
||||
|
||||
# resolve install depends
|
||||
epatch "${FILESDIR}/calculate-assemble-2.2.29-resolve_install_deps.patch"
|
||||
|
||||
# fix work with 3.0 utilities
|
||||
epatch "${FILESDIR}/calculate-assemble-2.2.29-fix_work_with_3.0.patch"
|
||||
}
|
@ -0,0 +1,150 @@
|
||||
commit c5eaa99bfa6ab5036bae65b1a6d0d6e15480f1d1
|
||||
Author: Хирецкий Михаил <mh@calculate.ru>
|
||||
Date: Wed Jul 18 14:34:51 2012 +0400
|
||||
|
||||
Fix fetch video drivers, assemble from scratch
|
||||
|
||||
diff --git a/pym/cl_assemble.py b/pym/cl_assemble.py
|
||||
index f7c8e08..d8a1f90 100644
|
||||
--- a/pym/cl_assemble.py
|
||||
+++ b/pym/cl_assemble.py
|
||||
@@ -539,9 +539,6 @@ class cl_assemble(color_print):
|
||||
|
||||
def _migratePortage(self):
|
||||
if self.clVars.Get('cl_assemble_branch'):
|
||||
- if not isPkgInstalled('dev-vcs/git'):
|
||||
- self.printMessageForTest(_("Installing %s")%'dev-vcs/git')
|
||||
- self.runChroot("emerge -1 git")
|
||||
portagePath = pathJoin(self.assemblePath,'usr/portage')
|
||||
gitConfig = pathJoin(portagePath, '.git/config')
|
||||
# check for repository contains .git and
|
||||
@@ -556,18 +553,17 @@ class cl_assemble(color_print):
|
||||
removeDir(portagePath)
|
||||
getPortage = "git clone --depth 1 -n {gitrep} {portage}".format(
|
||||
gitrep=self.clVars.Get('cl_assemble_sync'),
|
||||
- portage='/usr/portage')
|
||||
- self.runChroot(getPortage)
|
||||
+ portage=portagePath)
|
||||
+ self.runCommand(getPortage)
|
||||
else:
|
||||
getPortage = "cd {portage};git fetch".format(
|
||||
gitrep=self.clVars.Get('cl_assemble_sync'),
|
||||
- portage='/usr/portage')
|
||||
- self.runChroot(getPortage)
|
||||
+ portage=portagePath)
|
||||
+ self.runCommand(getPortage)
|
||||
updateBranch= "cd {portage};git checkout {branch}".format(
|
||||
- portage='/usr/portage',
|
||||
+ portage=portagePath,
|
||||
branch=self.clVars.Get('cl_assemble_branch'))
|
||||
- self.runChroot(updateBranch)
|
||||
-
|
||||
+ self.runCommand(updateBranch)
|
||||
portagePkg = getPkgInstalled('sys-apps/portage',
|
||||
prefix=self.assemblePath)
|
||||
portageMinVer = getTupleVersion('2.2.0_alpha72')
|
||||
@@ -592,8 +588,9 @@ class cl_assemble(color_print):
|
||||
lastEbuild
|
||||
self.runChroot(emergePortage)
|
||||
restoreManifest = \
|
||||
- 'cd /usr/portage;git checkout sys-apps'
|
||||
- self.runChroot(restoreManifest)
|
||||
+ 'cd {portage};git checkout sys-apps'.format(
|
||||
+ portage=portagePath)
|
||||
+ self.runCommand(restoreManifest)
|
||||
else:
|
||||
portagePath = pathJoin(self.assemblePath,'usr/portage')
|
||||
gitConfig = pathJoin(portagePath, '.git/config')
|
||||
@@ -604,13 +601,17 @@ class cl_assemble(color_print):
|
||||
if path.exists(pathOverlay):
|
||||
updateBranch= \
|
||||
"cd {portage};git pull;git checkout {branch}".format(
|
||||
- portage='/var/lib/layman/calculate',
|
||||
+ portage=pathOverlay,
|
||||
branch=self.clVars.Get('cl_assemble_branch'))
|
||||
- self.runChroot(updateBranch)
|
||||
+ self.runCommand(updateBranch)
|
||||
|
||||
def _updatePackages(self):
|
||||
"""Update portage and calculate overlay"""
|
||||
self._migratePortage()
|
||||
+ if not isPkgInstalled('dev-vcs/git',prefix=self.assemblePath):
|
||||
+ self.printMessageForTest(_("Installing %s")%'dev-vcs/git')
|
||||
+ self.runChroot("USE='-perl -curl' emerge -1 git")
|
||||
+
|
||||
emergeSync = "emerge --sync"
|
||||
self.printMessageForTest(_("Updating portages"))
|
||||
self.runChroot(emergeSync)
|
||||
@@ -747,8 +748,14 @@ class cl_assemble(color_print):
|
||||
# will install iproute2 with USE="minimal" also
|
||||
self.runChroot("emerge -1 sys-apps/iproute2")
|
||||
self.runChroot("USE='minimal -pxe' emerge "
|
||||
- 'sys-apps/calculate-install')
|
||||
- self.runChroot("cl-install --install")
|
||||
+ 'sys-apps/calculate-install '
|
||||
+ 'sys-apps/calculate-core')
|
||||
+ if path.exists(path.join(self.clVars.Get('cl_assemble_path'),
|
||||
+ "usr/sbin/cl-core")):
|
||||
+ self.runChroot("/usr/sbin/cl-core --append-variable "
|
||||
+ "cl_merges=calculate-install")
|
||||
+ else:
|
||||
+ self.runChroot("cl-install --install")
|
||||
else:
|
||||
self.printByResult(skip=True)
|
||||
|
||||
@@ -913,6 +920,45 @@ class cl_assemble(color_print):
|
||||
":\n %s"%self._getCommand(chrootCommand.command))
|
||||
return chrootCommand
|
||||
|
||||
+ def runCommand(self,command,raiseError=True,showProcess=False,
|
||||
+ joinErr=False):
|
||||
+ """Run command"""
|
||||
+ chrootCommand = None
|
||||
+ try:
|
||||
+ if showProcess:
|
||||
+ IOval = None
|
||||
+ else:
|
||||
+ IOval = PIPE
|
||||
+ if joinErr:
|
||||
+ ERRval = STDOUT
|
||||
+ else:
|
||||
+ ERRval = IOval
|
||||
+ envdict = {}
|
||||
+ envdict.update(os.environ)
|
||||
+ needAsk = self.clVars.Get('cl_assemble_ask_set') == "on"
|
||||
+ if "emerge " in command:
|
||||
+ if showProcess and needAsk:
|
||||
+ command = command.replace("emerge ","emerge -a ")
|
||||
+ commandLine = ["/bin/bash","-c",command]
|
||||
+ if showProcess and needAsk:
|
||||
+ chrootCommand = process(*commandLine,stderr=ERRval,
|
||||
+ stdin=None,stdout=IOval,envdict=envdict)
|
||||
+ else:
|
||||
+ chrootCommand = process(*commandLine,stderr=ERRval,
|
||||
+ stdout=IOval,envdict=envdict)
|
||||
+ DEBUG(self._getCommand(chrootCommand.command))
|
||||
+ if raiseError and chrootCommand.failed():
|
||||
+ raise AssembleError(
|
||||
+ _("An error occurred when executing the command")+
|
||||
+ ":\n %s"%self._getCommand(chrootCommand.command))
|
||||
+ except KeyboardInterrupt:
|
||||
+ chrootCommand.kill()
|
||||
+ self.defaultPrint("\b\b")
|
||||
+ raise AssembleError(
|
||||
+ _("Interrupted when executing the command")+
|
||||
+ ":\n %s"%self._getCommand(chrootCommand.command))
|
||||
+ return chrootCommand
|
||||
+
|
||||
def configureSystem(self,force,nounmount):
|
||||
"""Unpack stage or cls|css and prepare for assemble"""
|
||||
self.msgOperationComplete = ""
|
||||
@@ -1649,7 +1695,8 @@ class cl_assemble(color_print):
|
||||
"emerge -f --quiet-build=n %s"%
|
||||
drvVer, raiseError=False,joinErr=True)
|
||||
rePackage = re.compile(
|
||||
- "(?:^ \* (.*?) RMD160 SHA1|File.*is already locked)")
|
||||
+ "(?:^ \* (.*?) (?:RMD160 SHA1|SHA256 SHA512)|"
|
||||
+ "File.*is already locked)")
|
||||
# get fetched files
|
||||
fetchedFiles = \
|
||||
map(lambda x:x.groups()[0],
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2012 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_server
|
||||
"
|
||||
|
||||
RDEPEND="${RDEPEND}
|
||||
!sys-apps/calculate-templates
|
||||
!<sys-apps/calculate-install-3.0.0_alpha1
|
||||
=sys-apps/calculate-lib-2.2.29-r2
|
||||
=sys-apps/calculate-i18n-2.2.29
|
||||
|
||||
cl_assemble? ( =sys-apps/calculate-assemble-2.2.29-r2 )
|
||||
cl_builder? ( =sys-apps/calculate-builder-2.2.29-r6 )
|
||||
cl_client? ( =sys-apps/calculate-client-2.2.29-r1 )
|
||||
cl_desktop? ( =sys-apps/calculate-desktop-2.2.29 )
|
||||
|
||||
cl_server? ( =sys-apps/calculate-server-2.1.15-r6 )
|
||||
"
|
Loading…
Reference in new issue