If there are multiple version of package in AlreadyBuildPackages list,
one of the version is already built and other version is not built then
it was skipping build for that package.
Fixed this issue by checking the all the version for the particular package
Change-Id: Ia7adb10499437d58febd89ae7ee4f036e94b5f49
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5558
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
| ... | ... |
@@ -50,6 +50,8 @@ class PackageManager(object): |
| 50 | 50 |
listFoundRPMPackages=[] |
| 51 | 51 |
listRPMFiles=[] |
| 52 | 52 |
listDirectorys=[] |
| 53 |
+ mapPackageVersion={}
|
|
| 54 |
+ mapPackageRelease={}
|
|
| 53 | 55 |
listDirectorys.append(constants.rpmPath) |
| 54 | 56 |
if constants.inputRPMSPath is not None: |
| 55 | 57 |
listDirectorys.append(constants.inputRPMSPath) |
| ... | ... |
@@ -65,11 +67,23 @@ class PackageManager(object): |
| 65 | 65 |
pkgUtils = PackageUtils(self.logName,self.logPath) |
| 66 | 66 |
for rpmfile in listRPMFiles: |
| 67 | 67 |
package,version,release = pkgUtils.findPackageInfoFromRPMFile(rpmfile) |
| 68 |
+ if package in mapPackageVersion: |
|
| 69 |
+ mapPackageVersion[package].append(version) |
|
| 70 |
+ mapPackageRelease[package].append(release) |
|
| 71 |
+ else: |
|
| 72 |
+ mapPackageVersion[package]=[version] |
|
| 73 |
+ mapPackageRelease[package]=[release] |
|
| 74 |
+ for package in mapPackageVersion: |
|
| 68 | 75 |
if SPECS.getData().isRPMPackage(package): |
| 69 |
- specVersion=SPECS.getData().getVersion(package) |
|
| 70 |
- specRelease=SPECS.getData().getRelease(package) |
|
| 71 |
- if version == specVersion and release == specRelease: |
|
| 72 |
- listFoundRPMPackages.append(package) |
|
| 76 |
+ numVersions=SPECS.getData().getNumberOfVersions(package) |
|
| 77 |
+ flag=True; |
|
| 78 |
+ for index in range(0, numVersions): |
|
| 79 |
+ specVersion=SPECS.getData().getVersion(package,index) |
|
| 80 |
+ specRelease=SPECS.getData().getRelease(package,index) |
|
| 81 |
+ if specVersion not in mapPackageVersion[package] and specRelease not in mapPackageRelease[package]: |
|
| 82 |
+ flag=False |
|
| 83 |
+ if flag: |
|
| 84 |
+ listFoundRPMPackages.append(package) |
|
| 73 | 85 |
#Mark package available only if all sub packages are available |
| 74 | 86 |
for package in listFoundRPMPackages: |
| 75 | 87 |
basePkg = SPECS.getData().getSpecName(package) |