Добавлен параметр -F для вывода вопросов об emerge world и emerge -c

develop
parent 2db660f231
commit 6a1c1ecd6b

@ -715,7 +715,7 @@ class cl_assemble(color_print):
self.printMessageForTest(_("Re-create world"))
self.runChroot("cl-core --method update --rebuild-world")
def configureFunc(self,force=False,nounmount=False):
def configureFunc(self,soft_force,force=False,nounmount=False):
"""Function of configure partition for assembling by make"""
# print info
self.printInfo()
@ -726,7 +726,7 @@ class cl_assemble(color_print):
if distName and self.targetDistr:
distRep = DistributiveRepository()
self.sourceDistr = distRep.getDistributiveByFile(distName)
if not self._askUser(force, _("Continue system assemble")):
if not self._askUser(force or soft_force, _("Continue system assemble")):
self.printERROR(_("Assemble interrupted"))
self.removeDistroInfo()
return False
@ -930,6 +930,11 @@ class cl_assemble(color_print):
envdict = {'CHROOT':"on"}
envdict.update(os.environ)
needAsk = self.clVars.Get('cl_assemble_ask_set') == "on"
if (not needAsk and
self.clVars.Get('cl_assemble_ask_important_set') == "on" and
"emerge " in command and
("--depclean" in command or "world" in command)):
needAsk = True
if "emerge " in command:
command = "env-update &>/dev/null;" \
"source /etc/profile &>/dev/null;%s"%command
@ -1000,14 +1005,14 @@ class cl_assemble(color_print):
":\n %s"%self._getCommand(chrootCommand.command))
return chrootCommand
def configureSystem(self,force,nounmount):
def configureSystem(self,soft_force,force,nounmount):
"""Unpack stage or cls|css and prepare for assemble"""
self.msgOperationComplete = ""
self.msgOperationFailed = \
_("Failed to prepare the system for assemble")
if not self._pidCheck():
return False
res = self.make(self.configureFunc,force,nounmount)
res = self.make(self.configureFunc,soft_force,force,nounmount)
if res:
self.printSUCCESS(
_("System prepared for assemble in %s")%
@ -1015,14 +1020,15 @@ class cl_assemble(color_print):
self.printSUCCESS(_("For furhter build, use the 'cl-make' command"))
return res
def breakFunc(self,force):
def breakFunc(self,soft_force,force):
mp = self.clVars.Get('cl_assemble_path')
rootPartdev = self.clVars.Get('os_assemble_root_dev')
if not self._checkAlreadyAssembling():
return False
self.printSUCCESS(_("Assemble interrupted") + " Calculate Linux")
self.printConfInfo()
if not self._askUser(force, _("Interrupt system assemble")):
if not self._askUser(force or soft_force,
_("Interrupt system assemble")):
self.printERROR(_("Assemble resumed"))
return False
if mp:
@ -1064,14 +1070,14 @@ class cl_assemble(color_print):
self.clVars.Get('os_assemble_system_profile'))})
return False
def breakAssembling(self,force):
def breakAssembling(self,soft_force,force):
self.msgOperationComplete = \
_("System assemble resumed")+"!"
self.msgOperationFailed = \
_("Failed to interrupt assemble correctly")
if not self._pidCheck():
return False
return self.make(self.breakFunc,force)
return self.make(self.breakFunc,soft_force,force)
def _pidCheck(self):
"""Check pid for run"""
@ -1086,16 +1092,16 @@ class cl_assemble(color_print):
self.saveVars('cl_assemble_pid')
return True
def makeSystem(self,force):
def makeSystem(self,soft_force,force):
self.msgOperationComplete = \
_("System successfully assembled")+"!"
self.msgOperationFailed = \
_("System assemble failed")
if not self._pidCheck():
return False
return self.make(self.makeFunc,force,True,False)
return self.make(self.makeFunc,soft_force,force,True,False)
def updateSystem(self,force,withsync=True):
def updateSystem(self,soft_force,force,withsync=True):
if self.clVars.Get('cl_action') == "applytemplates":
self.msgOperationComplete = \
_("Templates successfully applied")+"!"
@ -1117,7 +1123,7 @@ class cl_assemble(color_print):
_("Unable to update the distribution: assemble not completed"))
self.printERROR(_("Use '%s' for assemble")%'cl-make -m')
return False
return self.make(self.makeFunc,force,False,withsync)
return self.make(self.makeFunc,soft_force,force,False,withsync)
def _getNameByAction(self):
act = self.clVars.Get('cl_assemble_make')
@ -1132,7 +1138,7 @@ class cl_assemble(color_print):
else:
return ""
def makeFunc(self,force,forcesystem=False,makeSync=True):
def makeFunc(self,soft_force,force,forcesystem=False,makeSync=True):
rootPartdev = self.clVars.Get('os_assemble_root_dev')
mp = isMount(rootPartdev)
if not self._checkAlreadyAssembling():
@ -1170,13 +1176,17 @@ class cl_assemble(color_print):
self.clVars.Get('cl_assemble_step_world'))
self.defaultPrint("\n")
if not self._askUser(force, _("Continue compiling system packages")):
if not self._askUser(force or soft_force,
_("Continue compiling system packages")):
self.printERROR(_("Compilation interrupted"))
return False
self.mainAction = self.clVars.Get('cl_action')
if self.mainAction in ('make','update','syncupdate'):
if not force:
self.clVars.Set('cl_assemble_ask_set', 'on', True)
if soft_force:
self.clVars.Set('cl_assemble_ask_set', 'off', True)
self.clVars.Set('cl_assemble_ask_important_set', 'on', True)
self.assemblePath = self.clVars.Get('cl_assemble_path')
if "finish" in self.clVars.Get('cl_assemble_step_world'):
self.writeVar('cl_assemble_step_world','stagecomplete',True)

@ -81,7 +81,8 @@ CMD_OPTIONS = [{'shortOption':"d",
{'shortOption':"f",
'longOption':"force",
'help':_("no questions during install")
}]
},
]
USAGE = _("%prog [options]")
class assemble_cmd(share_cmd):
@ -173,7 +174,7 @@ class assemble_cmd(share_cmd):
def configureSystem(self,force,nounmount):
"""Unpack stage and prepare for assemble"""
if not self.logicObj.configureSystem(force,nounmount):
if not self.logicObj.configureSystem(False,force,nounmount):
return False
return True

@ -70,6 +70,9 @@ CMD_OPTIONS = [{'shortOption':"D",
{'shortOption':"f",
'longOption':"force",
'help':_("no questions during install")
},
{'shortOption':"F",
'help':_("ask only important questions")
}]
USAGE = _("%prog [options] --dependence|--update|"
"--update-without-sync|--make|--break")
@ -153,21 +156,21 @@ class make_cmd(assemble_cmd):
self.logicObj.clVars.Set('cl_assemble_skipfirst_set',
"on",True)
def compileSystem(self,force):
def compileSystem(self,soft_force,force):
"""Compile all packages for system"""
if not self.logicObj.makeSystem(force):
if not self.logicObj.makeSystem(soft_force,force):
return False
return True
def updateSystem(self,force,withsync=True):
def updateSystem(self,soft_force,force,withsync=True):
"""Compile all packages for system"""
if not self.logicObj.updateSystem(force,withsync):
if not self.logicObj.updateSystem(soft_force,force,withsync):
return False
return True
def breakAssembling(self,force):
def breakAssembling(self,soft_force,force):
"""Perform break assembling: unmount all resourse for assembling"""
if not self.logicObj.breakAssembling(force):
if not self.logicObj.breakAssembling(soft_force,force):
return False
return True

@ -69,6 +69,9 @@ class Data:
# add -a option for all emerge
cl_assemble_ask_set = {'value':'off'}
# add -a option emerge world and emerge -c
cl_assemble_ask_important_set = {'value':'off'}
# pid of assembling process
cl_assemble_pid = {}

@ -55,18 +55,18 @@ if __name__ == "__main__":
if not assemble.checkDependence():
sys.exit(1)
if options.u:
if not assemble.updateSystem(options.f):
if not assemble.updateSystem(options.F,options.f):
sys.exit(1)
if options.T:
if not assemble.updateSystem(options.f,False):
if not assemble.updateSystem(options.F,options.f,False):
sys.exit(1)
if options.U:
if not assemble.updateSystem(options.f,False):
if not assemble.updateSystem(options.F,options.f,False):
sys.exit(1)
if options.m:
if not assemble.compileSystem(options.f):
if not assemble.compileSystem(options.F,options.f):
sys.exit(1)
if getattr(options,"break"):
if not assemble.breakAssembling(options.f):
if not assemble.breakAssembling(options.F,options.f):
sys.exit(1)
sys.exit(0)

Loading…
Cancel
Save