|
|
|
@ -25,7 +25,8 @@ from os import path
|
|
|
|
|
from cl_template import template,iniParser
|
|
|
|
|
from cl_utils import process,pathJoin,getRunCommands,getTupleVersion,isMount,\
|
|
|
|
|
isFstabMount,childMounts,_toUNICODE,cmpVersion, \
|
|
|
|
|
listDirectory, readFile, removeDir, isPkgInstalled
|
|
|
|
|
listDirectory, readFile, removeDir, getPkgInstalled, \
|
|
|
|
|
getTupleVersion, isPkgInstalled
|
|
|
|
|
from subprocess import STDOUT,PIPE
|
|
|
|
|
from cl_print import color_print
|
|
|
|
|
from cl_datavars import DataVars
|
|
|
|
@ -520,7 +521,7 @@ class cl_assemble(color_print):
|
|
|
|
|
|
|
|
|
|
def _migratePortage(self):
|
|
|
|
|
if self.clVars.Get('cl_assemble_branch'):
|
|
|
|
|
if not isPkgInstalled('dev-vcs/git',prefix=self.assemblePath):
|
|
|
|
|
if not isPkgInstalled('dev-vcs/git'):
|
|
|
|
|
self.printMessageForTest(_("Installing %s")%'dev-vcs/git')
|
|
|
|
|
self.runChroot("emerge -1 git")
|
|
|
|
|
portagePath = pathJoin(self.assemblePath,'usr/portage')
|
|
|
|
@ -533,7 +534,8 @@ class cl_assemble(color_print):
|
|
|
|
|
self.printMessageForTest(_("Fetching portages"))
|
|
|
|
|
if not gitUrl or \
|
|
|
|
|
gitUrl.group(1).strip() != self.clVars.Get('cl_assemble_sync'):
|
|
|
|
|
removeDir(portagePath)
|
|
|
|
|
if path.exists(portagePath):
|
|
|
|
|
removeDir(portagePath)
|
|
|
|
|
getPortage = "git clone --depth 1 -n {gitrep} {portage}".format(
|
|
|
|
|
gitrep=self.clVars.Get('cl_assemble_sync'),
|
|
|
|
|
portage='/usr/portage')
|
|
|
|
@ -547,6 +549,22 @@ class cl_assemble(color_print):
|
|
|
|
|
portage='/usr/portage',
|
|
|
|
|
branch=self.clVars.Get('cl_assemble_branch'))
|
|
|
|
|
self.runChroot(updateBranch)
|
|
|
|
|
|
|
|
|
|
portagePkg = getPkgInstalled('sys-apps/portage',
|
|
|
|
|
prefix=self.assemblePath)
|
|
|
|
|
portageMinVer = getTupleVersion('2.2.0_alpha72')
|
|
|
|
|
if portagePkg and \
|
|
|
|
|
getTupleVersion(portagePkg[0]['PVR']) < portageMinVer:
|
|
|
|
|
self.printMessageForTest(_("Installing %s")%"portage")
|
|
|
|
|
emergePortage = \
|
|
|
|
|
'ebuild /usr/portage/sys-apps/portage/portage-9999.ebuild manifest'
|
|
|
|
|
self.runChroot(emergePortage)
|
|
|
|
|
emergePortage = \
|
|
|
|
|
'ACCEPT_KEYWORDS="**" emerge \\<sys-apps/portage-9999'
|
|
|
|
|
self.runChroot(emergePortage)
|
|
|
|
|
restoreManifest = \
|
|
|
|
|
'cd /usr/portage;git checkout sys-apps'
|
|
|
|
|
self.runChroot(restoreManifest)
|
|
|
|
|
else:
|
|
|
|
|
portagePath = pathJoin(self.assemblePath,'usr/portage')
|
|
|
|
|
gitConfig = pathJoin(portagePath, '.git/config')
|
|
|
|
@ -570,6 +588,11 @@ class cl_assemble(color_print):
|
|
|
|
|
else:
|
|
|
|
|
self.runChroot("layman -L")
|
|
|
|
|
self.runChroot("layman -a calculate")
|
|
|
|
|
if self.clVars.Get('cl_assemble_branch'):
|
|
|
|
|
updateBranch= "cd {portage};git checkout {branch}".format(
|
|
|
|
|
portage='/var/lib/layman/calculate',
|
|
|
|
|
branch=self.clVars.Get('cl_assemble_branch'))
|
|
|
|
|
self.runChroot(updateBranch)
|
|
|
|
|
|
|
|
|
|
def _updateMan(self):
|
|
|
|
|
"""Remove man, install man-db"""
|
|
|
|
|