Changeset 3449
- Timestamp:
- Jan 30, 2017, 1:04:06 PM (4 years ago)
- Location:
- lliurex-up/trunk/fuentes
- Files:
-
- 4 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
lliurex-up/trunk/fuentes/lliurex-up-cli/usr/sbin/lliurex-upgrade
r3426 r3449 13 13 14 14 self.lliurexcore = lliurex.lliurexup.LliurexUpCore() 15 self.errorupgrade_token=os.path.join(self.lliurexcore.processPath,'errorupgrade_token')16 self.finalupgrade_token=os.path.join(self.lliurexcore.processPath,'finalupgrade_token')17 18 15 self.checkInitialFlavour() 19 16 20 17 def checkInitialFlavour(self): 21 18 22 self.targetMetapackage= None23 24 try:25 self.targetMetapackage=self.lliurexcore.checkFlavour()19 self.targetMetapackage=self.lliurexcore.checkInitialFlavour() 20 21 # try: 22 # self.targetMetapackage=self.lliurexcore.checkFlavour() 26 23 27 #if self.targetMetapackage !=None:28 self.metapackageRef=self.lliurexcore.metapackageRef29 if len(self.metapackageRef)==0:30 self.lliurexcore.getTargetMetapackage()31 self.metapackageRef=sorted(self.metapackageRef)24 # #if self.targetMetapackage !=None: 25 # self.metapackageRef=self.lliurexcore.metapackageRef 26 # if len(self.metapackageRef)==0: 27 # self.lliurexcore.getTargetMetapackage() 28 # self.metapackageRef=sorted(self.metapackageRef) 32 29 33 self.previousFlavours=self.lliurexcore.previuosFlavours34 if len(self.previousFlavours)==0:35 self.lliurexcore.getPreviuosFlavours()36 except Exception as e:37 print e30 # self.previousFlavours=self.lliurexcore.previuosFlavours 31 # if len(self.previousFlavours)==0: 32 # self.lliurexcore.getPreviuosFlavours() 33 # except Exception as e: 34 # print e 38 35 39 36 def initActionsScript(self): 40 37 41 command=self.lliurexcore.initActionsScript( )38 command=self.lliurexcore.initActionsScript(self.initActionsArg) 42 39 try: 43 40 os.system(command) … … 70 67 if is_mirror_updated['action']=='update': 71 68 if not is_mirror_running: 72 response=raw_input(' [LLiurex-up]: Do you want update mirror (yes/no): ').lower()69 response=raw_input(' [LLiurex-up]: Do you want update mirror (yes/no): ').lower() 73 70 if response.startswith('y'): 74 71 print(" [Lliurex-up]: Updating mirror. Wait a moment please") … … 83 80 def checkingInitialFlavourToInstall(self): 84 81 82 85 83 if self.targetMetapackage == None: 86 self.flavourToInstall=self. requiresInstallFlavour()84 self.flavourToInstall=self.lliurexcore.requiresInstallFlavour() 87 85 if self.flavourToInstall != None: 88 86 print " [Lliurex-up]: Installation of flavour is required: " +str(self.flavourToInstall) … … 100 98 print " [Lliurex-up]: Flavour is now installed: " + str(returncode) + " Error: " + str(error) 101 99 102 def requiresInstallFlavour(self):103 104 flavourToInstall=None105 106 self.flavours=self.lliurexcore.flavours107 if not 'None' in self.previousFlavours:108 if self.previousFlavours !=self.flavours:109 flavourToInstall=self.parseFlavourToInstall(self.previousFlavours)100 # def requiresInstallFlavour(self): 101 102 # flavourToInstall=None 103 104 # self.flavours=self.lliurexcore.flavours 105 # if not 'None' in self.previousFlavours: 106 # if self.previousFlavours !=self.flavours: 107 # flavourToInstall=self.parseFlavourToInstall(self.previousFlavours) 110 108 111 else:112 if self.metapackageRef != self.flavours:113 flavourToInstall=self.parseFlavourToInstall(self.metapackageRef)114 115 return flavourToInstall109 # else: 110 # if self.metapackageRef != self.flavours: 111 # flavourToInstall=self.parseFlavourToInstall(self.metapackageRef) 112 113 # return flavourToInstall 116 114 117 115 #def requiresInstallFlavour 118 116 119 def parseFlavourToInstall(self,flavours):120 121 parse_flavour=""122 123 for item in flavours:124 if item != "edu":125 parse_flavour=parse_flavour + " " + "lliurex-meta-" + item126 127 return parse_flavour117 # def parseFlavourToInstall(self,flavours): 118 119 # parse_flavour="" 120 121 # for item in flavours: 122 # if item != "edu": 123 # parse_flavour=parse_flavour + " " + "lliurex-meta-" + item 124 125 # return parse_flavour 128 126 129 127 def checkingIncorrectFlavours(self): 130 128 131 count=0 132 ref_flavour=["lliurex-meta-server","lliurex-meta-client", "lliurex-meta-desktop", "lliurex-meta-music", "lliurex-meta-pyme", "lliurex-meta-infantil"] 133 self.incorrect_flavours=[] 134 135 for item in self.packages: 136 if item in ref_flavour: 137 self.incorrect_flavours.append(item) 129 incorrectFlavours=self.lliurexcore.checkIncorrectFlavours() 130 return incorrectFlavours 131 # count=0 132 # ref_flavour=["lliurex-meta-server","lliurex-meta-client", "lliurex-meta-desktop", "lliurex-meta-music", "lliurex-meta-pyme", "lliurex-meta-infantil"] 133 # self.incorrect_flavours=[] 134 135 # for item in self.packages: 136 # if item in ref_flavour: 137 # self.incorrect_flavours.append(item) 138 138 139 if len(self.incorrect_flavours)>0:140 for item in self.incorrect_flavours:141 if self.targetMetapackage != None:142 if item != self.targetMetapackage:143 count=count+1144 else:145 meta=item.split("-")[2]146 if 'None' in self.previousFlavours:147 if not meta in self.metapackageRef:148 count=count+1149 else:150 if not meta in self.previousFlavours:151 count=count+1152 153 if count>0:154 return True155 else:156 return False139 # if len(self.incorrect_flavours)>0: 140 # for item in self.incorrect_flavours: 141 # if self.targetMetapackage != None: 142 # if item != self.targetMetapackage: 143 # count=count+1 144 # else: 145 # meta=item.split("-")[2] 146 # if 'None' in self.previousFlavours: 147 # if not meta in self.metapackageRef: 148 # count=count+1 149 # else: 150 # if not meta in self.previousFlavours: 151 # count=count+1 152 153 # if count>0: 154 # return True 155 # else: 156 # return False 157 157 158 158 … … 186 186 print e 187 187 188 def checkFinalFlavour(self):189 190 flavourToInstall=None191 192 try:193 self.targetMetapackage=self.lliurexcore.checkFlavour()194 if self.targetMetapackage==None:195 flavourToInstall=self.requiresInstallFlavour()196 else:197 flavourToInstall=self.targetMetapackage198 199 except Exception as e:200 print e188 # def checkFinalFlavour(self): 189 190 # flavourToInstall=None 191 192 # try: 193 # self.targetMetapackage=self.lliurexcore.checkFlavour() 194 # if self.targetMetapackage==None: 195 # flavourToInstall=self.requiresInstallFlavour() 196 # else: 197 # flavourToInstall=self.targetMetapackage 198 199 # except Exception as e: 200 # print e 201 201 202 return flavourToInstall202 # return flavourToInstall 203 203 204 204 205 205 def checkingFinalFlavourToInstall(self): 206 206 207 self.flavourToInstall=self. checkFinalFlavour()207 self.flavourToInstall=self.lliurexcore.checkFinalFlavour() 208 208 209 209 if self.flavourToInstall!=None: … … 215 215 print e 216 216 else: 217 print (" [Lliurex-up]: Meta is correct. Nothing to do")217 print (" [Lliurex-up]: Meta is correct. Nothing to do") 218 218 219 219 return … … 222 222 def postActionsScript(self): 223 223 224 command=self.lliurexcore.postActionsScript() 224 command=self.lliurexcore.postActionsScript()+' 2>&1 1>/dev/null | tee ' + self.lliurexcore.errorpostaction_token 225 225 try: 226 226 os.system(command) … … 230 230 def checkFinalUpgrade(self): 231 231 232 error=False 233 234 cmd='dpkg -l | grep "^i[^i]" >' + self.errorupgrade_token 235 os.system(cmd) 236 237 if os.path.exists(self.errorupgrade_token): 238 aux = open(self.errorupgrade_token,'r') 239 lines = aux.readlines() 240 aux.close() 232 print (" [Lliurex-up]: Checking ") 233 error=self.lliurexcore.checkErrorDistUpgrade() 234 235 # cmd='dpkg -l | grep "^i[^i]" >' + self.errorupgrade_token 236 # os.system(cmd) 237 238 # if os.path.exists(self.errorupgrade_token): 239 # aux = open(self.errorupgrade_token,'r') 240 # lines = aux.readlines() 241 # aux.close() 241 242 242 if len(lines)>0:243 error=True244 245 else:246 j=0247 cmd='apt-get dist-upgrade -sV >' + self.finalupgrade_token248 os.system(cmd)249 if os.path.exists(self.finalupgrade_token):250 aux = open(self.finalupgrade_token,'r')251 lines = aux.readlines()252 aux.close()253 254 for x in lines:255 if 'Inst' in x:256 j=j+1257 258 if j>0:259 error=True243 # if len(lines)>0: 244 # error=True 245 246 # else: 247 # j=0 248 # cmd='apt-get dist-upgrade -sV >' + self.finalupgrade_token 249 # os.system(cmd) 250 # if os.path.exists(self.finalupgrade_token): 251 # aux = open(self.finalupgrade_token,'r') 252 # lines = aux.readlines() 253 # aux.close() 254 255 # for x in lines: 256 # if 'Inst' in x: 257 # j=j+1 258 259 # if j>0: 260 # error=True 260 261 if error: 261 262 print(" [Lliurex-up]: The updated process is endend with errors") … … 267 268 268 269 if mode=="sai": 269 print "Pending" 270 exit(0) 270 self.initActionsArg="initActionsSai" 271 272 else: 273 self.initActionsArg="initActions" 271 274 272 275 print(" [Lliurex-up]: Checking system") … … 346 349 if args.contains(["-s", "--sai"]): 347 350 mode="sai" 351 else: 352 if len(args)>0: 353 usage() 348 354 349 355 lliurexupcli = LliurexUpCli() -
lliurex-up/trunk/fuentes/lliurex-up/usr/share/lliurex-up/LliurexUpConnect.py
r3426 r3449 24 24 log_msg="------------------------------------------\n"+"LLIUREX-UP STARTING AT: " + datetime.datetime.today().strftime("%d/%m/%y %H:%M:%S") +"\n------------------------------------------" 25 25 self.log(log_msg) 26 27 28 26 29 #self.saveTargetMetapackagePath=os.path.join(self.llxUpCore.processPath,"targetMetapackage") 27 30 self.preactions_token=os.path.join(self.llxUpCore.processPath,'preactions_token') … … 40 43 def checkInitialFlavour(self): 41 44 42 self.targetMetapackage=None 43 44 try: 45 self.targetMetapackage=self.llxUpCore.checkFlavour() 46 log_msg="Initial check metapackage. Metapackage to install: " + str(self.targetMetapackage) 47 self.log(log_msg) 45 self.targetMetapackage=self.llxUpCore.checkInitialFlavour() 46 log_msg="Initial check metapackage. Metapackage to install: " + str(self.llxUpCore.targetMetapackage) 47 self.log(log_msg) 48 log_msg="Get initial flavours: " + str(self.llxUpCore.previuosFlavours) 49 self.log(log_msg) 50 return self.targetMetapackage 51 52 # try: 53 # self.targetMetapackage=self.llxUpCore.checkFlavour() 54 # log_msg="Initial check metapackage. Metapackage to install: " + str(self.targetMetapackage) 55 # self.log(log_msg) 48 56 49 #if self.targetMetapackage !=None:50 self.metapackageRef=self.llxUpCore.metapackageRef51 if len(self.metapackageRef)==0:52 self.llxUpCore.getTargetMetapackage()53 self.metapackageRef=sorted(self.metapackageRef)57 # #if self.targetMetapackage !=None: 58 # self.metapackageRef=self.llxUpCore.metapackageRef 59 # if len(self.metapackageRef)==0: 60 # self.llxUpCore.getTargetMetapackage() 61 # self.metapackageRef=sorted(self.metapackageRef) 54 62 55 self.previousFlavours=self.llxUpCore.previuosFlavours56 if len(self.previousFlavours)==0:57 self.llxUpCore.getPreviuosFlavours()63 # self.previousFlavours=self.llxUpCore.previuosFlavours 64 # if len(self.previousFlavours)==0: 65 # self.llxUpCore.getPreviuosFlavours() 58 66 59 log_msg="Get initial flavours: " + str(self.previousFlavours)60 self.log(log_msg)67 # log_msg="Get initial flavours: " + str(self.previousFlavours) 68 # self.log(log_msg) 61 69 62 except Exception as e:63 log_msg="Initial check metapackage. Error: " + str(e)64 self.log(log_msg)65 66 return self.targetMetapackage70 # except Exception as e: 71 # log_msg="Initial check metapackage. Error: " + str(e) 72 # self.log(log_msg) 73 74 # return self.targetMetapackage 67 75 68 76 #def checkFlavoour … … 83 91 84 92 def requiresInstallFlavour(self): 85 86 flavourToInstall=None 87 88 self.flavours=self.llxUpCore.flavours 89 log_msg="Get update flavours: " + str(self.flavours) 90 self.log(log_msg) 91 92 if not 'None' in self.previousFlavours: 93 if self.previousFlavours !=self.flavours: 94 flavourToInstall=self.parseFlavourToInstall(self.previousFlavours) 95 log_msg="Requires Install this Flavour: " + str(flavourToInstall) 96 self.log(log_msg) 93 94 log_msg="Get update flavours: " + str(self.llxUpCore.flavours) 95 self.log(log_msg) 96 flavourToInstall=self.llxUpCore.requiresInstallFlavour() 97 98 if flavourToInstall !=None: 99 log_msg="Requires Install this Flavour: " + str(flavourToInstall) 100 self.log(log_msg) 101 102 else: 103 log_msg="Requires Install Flavour: No" 104 self.log(log_msg) 105 106 return flavourToInstall 107 # self.flavours=self.llxUpCore.flavours 108 # log_msg="Get update flavours: " + str(self.flavours) 109 # self.log(log_msg) 110 111 # if not 'None' in self.previousFlavours: 112 # if self.previousFlavours !=self.flavours: 113 # flavourToInstall=self.parseFlavourToInstall(self.previousFlavours) 114 # log_msg="Requires Install this Flavour: " + str(flavourToInstall) 115 # self.log(log_msg) 97 116 98 else:99 log_msg="Requires Install Flavour: No"100 self.log(log_msg)117 # else: 118 # log_msg="Requires Install Flavour: No" 119 # self.log(log_msg) 101 120 102 else:103 log_msg="Flavours reference: " + str(self.metapackageRef)104 self.log(log_msg)105 if self.metapackageRef != self.flavours:106 flavourToInstall=self.parseFlavourToInstall(self.metapackageRef)107 108 log_msg="Requires Install this Flavour: " + str(flavourToInstall)109 self.log(log_msg)110 else:111 log_msg="Requires Install Flavour: No"112 self.log(log_msg)113 114 return flavourToInstall121 # else: 122 # log_msg="Flavours reference: " + str(self.metapackageRef) 123 # self.log(log_msg) 124 # if self.metapackageRef != self.flavours: 125 # flavourToInstall=self.parseFlavourToInstall(self.metapackageRef) 126 127 # log_msg="Requires Install this Flavour: " + str(flavourToInstall) 128 # self.log(log_msg) 129 # else: 130 # log_msg="Requires Install Flavour: No" 131 # self.log(log_msg) 132 133 # return flavourToInstall 115 134 116 135 #def requiresInstallFlavour 117 136 118 def parseFlavourToInstall(self,flavours):119 120 parse_flavour=""121 122 for item in flavours:123 if item != "edu":124 parse_flavour=parse_flavour + " " + "lliurex-meta-" + item125 126 return parse_flavour137 # def parseFlavourToInstall(self,flavours): 138 139 # parse_flavour="" 140 141 # for item in flavours: 142 # if item != "edu": 143 # parse_flavour=parse_flavour + " " + "lliurex-meta-" + item 144 145 # return parse_flavour 127 146 128 147 #def parseFlavourToInstall( … … 143 162 144 163 def initActionsScript(self): 145 command=self.llxUpCore.initActionsScript() 164 165 arg="initActions" 166 command=self.llxUpCore.initActionsScript(arg) 146 167 147 168 try: … … 304 325 def getPackagesToUpdate(self): 305 326 306 ref_flavour=["lliurex-meta-server","lliurex-meta-client", "lliurex-meta-desktop", "lliurex-meta-music", "lliurex-meta-pyme", "lliurex-meta-infantil"]327 #ref_flavour=["lliurex-meta-server","lliurex-meta-client", "lliurex-meta-desktop", "lliurex-meta-music", "lliurex-meta-pyme", "lliurex-meta-infantil"] 307 328 packages_parse=[] 308 self.incorrect_flavours=[]329 #self.incorrect_flavours=[] 309 330 310 331 try: … … 314 335 version=packages[item] 315 336 packages_parse.append(item+";"+version['candidate']+";"+'20Mb') 316 if item in ref_flavour: 317 self.incorrect_flavours.append(item) 318 337 319 338 log_msg="Get packages to update. Number of packages: " + str(len(packages)) 320 339 self.log(log_msg) … … 328 347 #def getPackagesToUpdate 329 348 349 350 351 330 352 def checkIncorrectFlavours(self): 331 332 count=0 333 334 if len(self.incorrect_flavours)>0: 335 336 for item in self.incorrect_flavours: 337 if self.targetMetapackage != None: 338 print self.targetMetapackage 339 if item != self.targetMetapackage: 340 count=count+1 341 else: 342 meta=item.split("-")[2] 343 if 'None' in self.previousFlavours: 344 if not meta in self.metapackageRef: 345 count=count+1 346 else: 347 if not meta in self.previousFlavours: 348 count=count+1 349 350 if count>0: 351 log_msg="Checking incorrect flavours. Others flavours detected: " + str(self.incorrect_flavours) 352 self.log(log_msg) 353 return True 354 353 354 incorrectFlavours=self.llxUpCore.checkIncorrectFlavours() 355 356 if incorrectFlavours: 357 log_msg="Checking incorrect flavours. Others flavours detected: " + str(incorrectFlavours) 358 self.log(log_msg) 355 359 else: 356 360 log_msg="Checking incorrect flavours. Others flavours no detected" 357 361 self.log(log_msg) 358 return False 359 360 #def checkIncorrectFlavours 362 363 return incorrectFlavours 364 365 #def checkIncorrectFlavours 361 366 362 367 def preActionsScript(self): … … 382 387 def checkErrorDistUpgrade(self): 383 388 384 count=0 385 error=False 386 387 if os.path.exists(self.errorpostaction_token): 388 aux = open(self.errorpostaction_token,'r') 389 lines = aux.readlines() 390 for x in lines: 391 if 'E: ' in x: 392 count=count+1 393 aux.close() 394 395 if count==0: 396 cmd='dpkg -l | grep "^i[^i]" >' + self.errorupgrade_token 397 os.system(cmd) 398 399 if os.path.exists(self.errorupgrade_token): 400 aux = open(self.errorupgrade_token,'r') 401 lines = aux.readlines() 402 aux.close() 403 404 if len(lines)>0: 405 error=True 406 #log_msg="Dist-upgrade process ending with errors" 407 #self.log(log_msg) 408 else: 409 j=0 410 cmd='apt-get dist-upgrade -sV >' + self.finalupgrade_token 411 os.system(cmd) 412 if os.path.exists(self.finalupgrade_token): 413 aux = open(self.finalupgrade_token,'r') 414 lines = aux.readlines() 415 aux.close() 416 417 for x in lines: 418 if 'Inst' in x: 419 j=j+1 420 421 if j>0: 422 error=True 423 else: 389 try: 390 error=self.llxUpCore.checkErrorDistUpgrade() 391 if error: 392 log_msg="Dist-upgrade process ending with errors" 393 self.log(log_msg) 394 else: 395 log_msg="Dist-upgrade process ending OK" 396 self.log(log_msg) 397 398 except Exception as e: 399 print e 400 log_msg="Error checking distupgrade. Error: " + str(e) 424 401 error=True 425 402 426 if error: 427 log_msg="Dist-upgrade process ending with errors" 428 self.log(log_msg) 429 else: 430 log_msg="Dist-upgrade process ending OK" 431 self.log(log_msg) 432 433 return error 403 return error 404 # count=0 405 # error=False 406 407 # if os.path.exists(self.errorpostaction_token): 408 # aux = open(self.errorpostaction_token,'r') 409 # lines = aux.readlines() 410 # for x in lines: 411 # if 'E: ' in x: 412 # count=count+1 413 # aux.close() 414 415 # if count==0: 416 # cmd='dpkg -l | grep "^i[^i]" >' + self.errorupgrade_token 417 # os.system(cmd) 418 419 # if os.path.exists(self.errorupgrade_token): 420 # aux = open(self.errorupgrade_token,'r') 421 # lines = aux.readlines() 422 # aux.close() 423 424 # if len(lines)>0: 425 # error=True 426 # #log_msg="Dist-upgrade process ending with errors" 427 # #self.log(log_msg) 428 # else: 429 # j=0 430 # cmd='apt-get dist-upgrade -sV >' + self.finalupgrade_token 431 # os.system(cmd) 432 # if os.path.exists(self.finalupgrade_token): 433 # aux = open(self.finalupgrade_token,'r') 434 # lines = aux.readlines() 435 # aux.close() 436 437 # for x in lines: 438 # if 'Inst' in x: 439 # j=j+1 440 441 # if j>0: 442 # error=True 443 # else: 444 # error=True 445 446 # if error: 447 # log_msg="Dist-upgrade process ending with errors" 448 # self.log(log_msg) 449 # else: 450 # log_msg="Dist-upgrade process ending OK" 451 # self.log(log_msg) 452 453 # return error 434 454 435 455 … … 452 472 453 473 def checkFinalFlavour(self): 454 474 455 475 flavourToInstall=None 456 457 try: 458 self.targetMetapackage=self.llxUpCore.checkFlavour() 459 log_msg="Final check metapackage. Metapackage to install: " + str(self.targetMetapackage) 460 self.log(log_msg) 461 if self.targetMetapackage==None: 462 flavourToInstall=self.requiresInstallFlavour() 463 else: 464 flavourToInstall=self.targetMetapackage 476 try: 477 478 flavourToInstall=self.llxUpCore.checkFinalFlavour() 479 log_msg="Final check metapackage. Metapackage to install: " + str(flavourToInstall) 480 self.log(log_msg) 465 481 466 482 except Exception as e: … … 486 502 487 503 self.postActions=self.llxUpCore.postActionsScript() 488 self.postActions=self.postActions + ' 2> >(tee ' + self.errorpostaction_token + ') ;touch ' + self.postactions_token + ' \n' 504 self.postActions=self.postActions + ' 2> >(tee ' + self.llxUpCore.errorpostaction_token + ') ;touch ' + self.postactions_token + ' \n' 505 #self.postActions=self.postActions + ' ;touch ' + self.postactions_token + ' \n' 506 489 507 log_msg="Exec Post-Actions" 490 508 self.log(log_msg) -
lliurex-up/trunk/fuentes/lliurex-up/usr/share/lliurex-up/lliurex-up.py
r3440 r3449 661 661 def install_lliurexup(self): 662 662 663 self.i nstall=self.llxup_connect.installLliurexUp()663 self.is_lliurexup_installed=self.llxup_connect.installLliurexUp() 664 664 self.install_lliurexup_t.done=True 665 665 … … 827 827 if len(self.packages)==0: 828 828 system_update=True 829 830 if self.is_lliurexup_installed != 0 or self.is_flavour_installed!=0: 831 system_update=False 832 829 833 if self.version_update["candidate"]!=None: 830 834 … … 907 911 print self.flavourToInstall 908 912 print " [Lliurex-up]: Installation of flavour is required" 909 is_flavour_installed=self.llxup_connect.installInitialFlavour(self.flavourToInstall)913 self.is_flavour_installed=self.llxup_connect.installInitialFlavour(self.flavourToInstall) 910 914 self.checkInitialFlavourToInstall_t.done=True 911 915 else: … … 916 920 print self.targetMetapackage 917 921 print " [Lliurex-up]: Installation of flavour is required" 918 is_flavour_installed=self.llxup_connect.installInitialFlavour(self.targetMetapackage)922 self.is_flavour_installed=self.llxup_connect.installInitialFlavour(self.targetMetapackage) 919 923 self.checkInitialFlavourToInstall_t.done=True 920 924 … … 1143 1147 self.update_process_t.done=True 1144 1148 return True 1149 1145 1150 if self.postactions_process_t.launched: 1146 1151 if not self.postactions_process_t.done: … … 1203 1208 else: 1204 1209 print " [Lliurex-up]: Check Final Metapackage: Nothing to do" 1210 self.command='exit ' + '\n' 1211 length=len(self.command) 1212 self.vterminal.feed_child(self.command, length) 1205 1213 self.checkFinalFlavourToInstall_t.done=True 1206 1214 -
lliurex-up/trunk/fuentes/python-lliurex-up/lliurex/lliurexup/__init__.py
r3390 r3449 13 13 self.defaultVersion = 'xenial' 14 14 self.processPath = '/var/run/lliurex-up' 15 self.sourcesListPath='/etc/apt/' 15 16 self.changelogsPath = os.path.join(self.processPath,'changelogs') 16 17 self.processSourceslist = os.path.join(self.processPath,'sourceslist') 17 18 self.targetMetapackagePath=os.path.join(self.processPath,"targetMetapackage") 18 19 self.previousflavourspath = os.path.join(self.processPath,'previousflavours') 20 self.errorpostaction_token=os.path.join(self.processPath,'errorpostaction_token') 21 self.errorupgrade_token=os.path.join(self.processPath,'errorupgrade_token') 22 self.finalupgrade_token=os.path.join(self.processPath,'finalupgrade_token') 23 19 24 self.initActionsPath='/usr/share/lliurex-up/initActions' 20 25 self.preActionsPath = '/usr/share/lliurex-up/preActions' … … 59 64 aux.write(x+"\n") 60 65 aux.close() 66 67 68 def checkInitialFlavour(self): 69 70 self.targetMetapackage=self.checkFlavour() 71 72 if len(self.metapackageRef)==0: 73 self.getTargetMetapackage() 74 75 self.metapackageRef=sorted(self.metapackageRef) 76 77 if len(self.previuosFlavours)==0: 78 self.getPreviuosFlavours() 79 80 self.addSourcesListLliurex() 81 82 return self.targetMetapackage 61 83 62 84 … … 71 93 def writeDefaultSourceslist(self): 72 94 f = open(os.path.join(self.processSourceslist,'default'),'w') 73 f.write('deb http://lliurex.net/{version} {version} main \n'.format(version=self.defaultVersion))74 f.write('deb http://lliurex.net/{version} {version}-updates main \n'.format(version=self.defaultVersion))75 f.write('deb http://lliurex.net/{version} {version}-security main \n'.format(version=self.defaultVersion))95 f.write('deb http://lliurex.net/{version} {version} main restricted universe multiverse\n'.format(version=self.defaultVersion)) 96 f.write('deb http://lliurex.net/{version} {version}-updates main restricted universe multiverse\n'.format(version=self.defaultVersion)) 97 f.write('deb http://lliurex.net/{version} {version}-security main restricted universe multiverse\n'.format(version=self.defaultVersion)) 76 98 f.close() 77 99 … … 88 110 self.writeDefaultSourceslist() 89 111 112 113 def addSourcesListLliurex(self): 114 115 self.origsourcesfile=os.path.join(self.sourcesListPath,"sources.list") 116 self.origsourcesfileback=os.path.join(self.sourcesListPath,"lliurexup_sources.list") 117 sourcesref=os.path.join(self.processSourceslist, 'default') 118 newsourcesfile=os.path.join(self.sourcesListPath,'sources.list') 119 extrasources=[] 120 121 122 if self.targetMetapackage=="lliurex-meta-server" or "server" in self.previuosFlavours or "server" in self.metapackageRef: 123 if os.path.exists(self.origsourcesfile): 124 os.rename(self.origsourcesfile,self.origsourcesfileback) 125 origsources=open(self.origsourcesfileback,'r') 126 for line in origsources: 127 if not "lliurex" in line: 128 extrasources.append(line.strip()) 129 origsources.close() 130 131 if os.path.exists(sourcesref): 132 shutil.copy(sourcesref,self.origsourcesfile) 133 if len(extrasources)>0: 134 newsourcesedit=open(newsourcesfile,'a') 135 for line in extrasources: 136 newsourcesedit.write(line+'\n') 137 newsourcesedit.close() 138 else: 139 os.rename(self.origsourcesfileback,self.origsourcesfile) 140 141 142 def restoreOrigSourcesList(self): 143 144 if os.path.exists(self.origsourcesfileback): 145 os.rename(self.origsourcesfileback,self.origsourcesfile) 146 147 90 148 def cleanEnvironment(self): 91 149 if os.path.exists(self.processPath): 92 150 shutil.rmtree(os.path.join(self.processPath)) 151 152 self.restoreOrigSourcesList() 93 153 94 154 … … 129 189 if self.canConnectToLliurexNet(): 130 190 options = "-o Dir::Etc::sourcelist={sourceslistOnlyLliurex} -o Dir::Etc::sourceparts=/dev/null".format(sourceslistOnlyLliurex=sourceslistDefaultPath) 131 191 132 192 self.updateCacheApt(options) 133 193 result = self.getPackageVersionAvailable('lliurex-up',options) … … 237 297 return self.getPackageVersionAvailable('lliurex-version-timestamp','') 238 298 239 def initActionsScript(self): 240 return 'run-parts --arg="initActions" ' + self.initActionsPath 299 def initActionsScript(self,arg): 300 #return 'run-parts --arg="initActions" ' + self.initActionsPath 301 return 'run-parts --arg=' +str(arg) + ' ' + self.initActionsPath 302 241 303 242 304 def preActionsScript(self): … … 245 307 def postActionsScript(self): 246 308 return 'run-parts --arg="postActions" ' + self.postActionsPath 309 310 311 def requiresInstallFlavour(self): 312 313 flavourToInstall=None 314 315 if not 'None' in self.previuosFlavours: 316 if self.previuosFlavours !=self.flavours: 317 flavourToInstall=self.parseFlavourToInstall(self.previousFlavours) 318 319 else: 320 321 if self.metapackageRef != self.flavours: 322 flavourToInstall=self.parseFlavourToInstall(self.metapackageRef) 323 324 325 return flavourToInstall 326 327 328 def parseFlavourToInstall(self,flavours): 329 330 parse_flavour="" 331 332 for item in flavours: 333 if item != "edu": 334 parse_flavour=parse_flavour + " " + "lliurex-meta-" + item 335 336 return parse_flavour 337 338 #def parseFlavourToInstall( 247 339 248 340 … … 277 369 } 278 370 ''' 279 packageInfo = {}371 self.packageInfo = {} 280 372 self.updateCacheApt("") 281 373 psimulate = subprocess.Popen('LANG=C LANGUAGE=en apt-get dist-upgrade -sV',shell=True,stdout=subprocess.PIPE) … … 284 376 r = [ aux.replace('Inst ','') for aux in rawpackagestoinstall ] 285 377 for allinfo in r : 286 packageInfo[allinfo.split(' ')[0]] = {}287 packageInfo[allinfo.split(' ')[0]]['raw'] = ' '.join(allinfo.split(' ')[1:])288 289 for package in packageInfo:290 raw = packageInfo[package]['raw'].split(' ')378 self.packageInfo[allinfo.split(' ')[0]] = {} 379 self.packageInfo[allinfo.split(' ')[0]]['raw'] = ' '.join(allinfo.split(' ')[1:]) 380 381 for package in self.packageInfo: 382 raw = self.packageInfo[package]['raw'].split(' ') 291 383 if raw[0].startswith('['): 292 packageInfo[package]['install'] = raw[0][1:-1]293 packageInfo[package]['candidate'] = raw[1][1:]384 self.packageInfo[package]['install'] = raw[0][1:-1] 385 self.packageInfo[package]['candidate'] = raw[1][1:] 294 386 elif raw[0].startswith('('): 295 packageInfo[package]['install'] = None296 packageInfo[package]['candidate'] = raw[0][1:]297 packageInfo[package].pop('raw')387 self.packageInfo[package]['install'] = None 388 self.packageInfo[package]['candidate'] = raw[0][1:] 389 self.packageInfo[package].pop('raw') 298 390 #packageInfo[package]['changelog'] = os.path.join(self.changelogsPath,package) 299 391 #os.system('LANG=C LANGUAGE=en apt-get changelog %s > %s%s'%(package,self.changelogsPath,package)) 300 392 #packageInfo[package]['icon'] = 301 return packageInfo 393 return self.packageInfo 394 395 396 def checkIncorrectFlavours(self): 397 398 ref_flavour=["lliurex-meta-server","lliurex-meta-client", "lliurex-meta-desktop", "lliurex-meta-music", "lliurex-meta-pyme", "lliurex-meta-infantil"] 399 self.incorrect_flavours=[] 400 count=0 401 402 for item in self.packageInfo: 403 if item in ref_flavour: 404 self.incorrect_flavours.append(item) 405 406 407 if len(self.incorrect_flavours)>0: 408 409 for item in self.incorrect_flavours: 410 if self.targetMetapackage != None: 411 print self.targetMetapackage 412 if item != self.targetMetapackage: 413 count=count+1 414 else: 415 meta=item.split("-")[2] 416 if 'None' in self.previuosFlavours: 417 if not meta in self.metapackageRef: 418 count=count+1 419 else: 420 if not meta in self.previuosFlavours: 421 count=count+1 422 423 if count>0: 424 return True 425 426 else: 427 return False 302 428 303 429 … … 307 433 308 434 435 436 def checkErrorDistUpgrade(self): 437 438 count=0 439 error=False 440 441 if os.path.exists(self.errorpostaction_token): 442 aux = open(self.errorpostaction_token,'r') 443 lines = aux.readlines() 444 for x in lines: 445 if 'E: ' in x: 446 count=count+1 447 aux.close() 448 449 if count==0: 450 cmd='dpkg -l | grep "^i[^i]" >' + self.errorupgrade_token 451 os.system(cmd) 452 453 if os.path.exists(self.errorupgrade_token): 454 aux = open(self.errorupgrade_token,'r') 455 lines = aux.readlines() 456 aux.close() 457 458 if len(lines)>0: 459 error=True 460 #log_msg="Dist-upgrade process ending with errors" 461 #self.log(log_msg) 462 else: 463 j=0 464 cmd='apt-get dist-upgrade -sV >' + self.finalupgrade_token 465 os.system(cmd) 466 if os.path.exists(self.finalupgrade_token): 467 aux = open(self.finalupgrade_token,'r') 468 lines = aux.readlines() 469 aux.close() 470 471 for x in lines: 472 if 'Inst' in x: 473 j=j+1 474 475 if j>0: 476 error=True 477 else: 478 error=True 479 480 return error 481 482 483 def checkFinalFlavour(self): 484 485 flavourToInstall=None 486 487 self.targetMetapackage=self.checkFlavour() 488 if self.targetMetapackage==None: 489 flavourToInstall=self.requiresInstallFlavour() 490 else: 491 flavourToInstall=self.targetMetapackage 492 493 return flavourToInstall 494 495 309 496 def installFinalFlavour(self,flavourToInstall): 310 497
Note: See TracChangeset
for help on using the changeset viewer.