Change-Id: I86c7d7a2396b80733c4cdcafcc5fe2df619e2630
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/1456
Reviewed-by: Divya Thaluru <dthaluru@vmware.com>
Tested-by: Divya Thaluru <dthaluru@vmware.com>
| ... | ... |
@@ -74,19 +74,24 @@ class PackageManager(object): |
| 74 | 74 |
self.mapCyclesToPackageList.clear() |
| 75 | 75 |
self.mapPackageToCycle.clear() |
| 76 | 76 |
self.sortedPackageList=[] |
| 77 |
- |
|
| 78 | 77 |
listOfPackagesAlreadyBuilt = [] |
| 79 | 78 |
listOfPackagesAlreadyBuilt = self.readAlreadyAvailablePackages() |
| 80 | 79 |
self.listOfPackagesAlreadyBuilt = listOfPackagesAlreadyBuilt[:] |
| 81 |
- for pkg in listOfPackagesAlreadyBuilt: |
|
| 82 |
- listDependentRpmPackages = constants.specData.getRequiresAllForPackage(pkg) |
|
| 83 |
- needToRebuild = False |
|
| 84 |
- for dependentPkg in listDependentRpmPackages: |
|
| 85 |
- if dependentPkg not in self.listOfPackagesAlreadyBuilt: |
|
| 86 |
- needToRebuild = True |
|
| 87 |
- if needToRebuild: |
|
| 88 |
- self.listOfPackagesAlreadyBuilt.remove(pkg) |
|
| 89 |
- |
|
| 80 |
+ |
|
| 81 |
+ updateBuiltRPMSList = False |
|
| 82 |
+ while not updateBuiltRPMSList: |
|
| 83 |
+ updateBuiltRPMSList = True |
|
| 84 |
+ listOfPackagesAlreadyBuilt = self.listOfPackagesAlreadyBuilt[:] |
|
| 85 |
+ for pkg in listOfPackagesAlreadyBuilt: |
|
| 86 |
+ listDependentRpmPackages = constants.specData.getRequiresAllForPackage(pkg) |
|
| 87 |
+ needToRebuild = False |
|
| 88 |
+ for dependentPkg in listDependentRpmPackages: |
|
| 89 |
+ if dependentPkg not in self.listOfPackagesAlreadyBuilt: |
|
| 90 |
+ needToRebuild = True |
|
| 91 |
+ updateBuiltRPMSList = False |
|
| 92 |
+ if needToRebuild: |
|
| 93 |
+ self.listOfPackagesAlreadyBuilt.remove(pkg) |
|
| 94 |
+ |
|
| 90 | 95 |
listPackagesToBuild=listPackages[:] |
| 91 | 96 |
for pkg in listPackages: |
| 92 | 97 |
if pkg in self.listOfPackagesAlreadyBuilt: |