Change-Id: I5d2a15235d92ada411359fcd71f3c08498ca000b
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3484
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Harish Udaiya Kumar <harishspqr@gmail.com>
| ... | ... |
@@ -9,7 +9,7 @@ import traceback |
| 9 | 9 |
import shutil |
| 10 | 10 |
|
| 11 | 11 |
class ToolChainUtils(object): |
| 12 |
- |
|
| 12 |
+ |
|
| 13 | 13 |
def __init__(self,logName=None,logPath=None): |
| 14 | 14 |
if logName is None: |
| 15 | 15 |
logName = "Toolchain Utils" |
| ... | ... |
@@ -45,7 +45,7 @@ class ToolChainUtils(object): |
| 45 | 45 |
cmdUtils.runCommandInShell("mkdir -p "+chrootID+constants.topDirPath+"/LOGS")
|
| 46 | 46 |
cmdUtils.runCommandInShell("mkdir -p "+chrootID+constants.topDirPath+"/BUILD")
|
| 47 | 47 |
cmdUtils.runCommandInShell("mkdir -p "+chrootID+constants.topDirPath+"/BUILDROOT")
|
| 48 |
- |
|
| 48 |
+ |
|
| 49 | 49 |
prepareChrootCmd=self.prepareBuildRootCmd+" "+chrootID |
| 50 | 50 |
logFile=constants.logPath+"/prepareBuildRoot.log" |
| 51 | 51 |
returnVal=cmdUtils.runCommandInShell(prepareChrootCmd,logFile) |
| ... | ... |
@@ -72,7 +72,7 @@ class ToolChainUtils(object): |
| 72 | 72 |
if len(listFilterRPMFiles) > 1 : |
| 73 | 73 |
self.logger.error("Found multiple rpm files for given package in rpm directory.Unable to determine the rpm file for package:"+package)
|
| 74 | 74 |
return None |
| 75 |
- |
|
| 75 |
+ |
|
| 76 | 76 |
def buildCoreToolChainPackages(self, listBuildOptionPackages, pkgBuildOptionFile): |
| 77 | 77 |
self.logger.info("Building core tool chain packages.....")
|
| 78 | 78 |
chrootID=None |
| ... | ... |
@@ -105,7 +105,7 @@ class ToolChainUtils(object): |
| 105 | 105 |
# print stacktrace |
| 106 | 106 |
traceback.print_exc() |
| 107 | 107 |
raise e |
| 108 |
- |
|
| 108 |
+ |
|
| 109 | 109 |
def installToolChainRPMS(self,chrootID, packageName): |
| 110 | 110 |
cmdUtils = CommandUtils() |
| 111 | 111 |
self.prepareBuildRoot(chrootID) |
| ... | ... |
@@ -114,7 +114,10 @@ class ToolChainUtils(object): |
| 114 | 114 |
packages = "" |
| 115 | 115 |
for package in constants.listToolChainRPMsToInstall: |
| 116 | 116 |
pkgUtils=PackageUtils(self.logName,self.logPath) |
| 117 |
- rpmFile=pkgUtils.findRPMFileForGivenPackage(package) |
|
| 117 |
+ rpmFile = None |
|
| 118 |
+ if (packageName not in constants.listToolChainRPMsToInstall or |
|
| 119 |
+ constants.listToolChainRPMsToInstall.index(packageName) > constants.listToolChainRPMsToInstall.index(package)): |
|
| 120 |
+ rpmFile=pkgUtils.findRPMFileForGivenPackage(package) |
|
| 118 | 121 |
if rpmFile is None: |
| 119 | 122 |
# sqlite-autoconf package was renamed, but it still published as sqlite-autoconf |
| 120 | 123 |
if package == "sqlite": |
| ... | ... |
@@ -138,7 +141,7 @@ class ToolChainUtils(object): |
| 138 | 138 |
raise Exception("RPM installation failed")
|
| 139 | 139 |
self.logger.info("Successfully installed default Tool Chain RPMS in Chroot:"+chrootID)
|
| 140 | 140 |
print "Building Package:"+ packageName |
| 141 |
- print constants.perPackageToolChain |
|
| 141 |
+ print constants.perPackageToolChain |
|
| 142 | 142 |
if packageName in constants.perPackageToolChain: |
| 143 | 143 |
print constants.perPackageToolChain[packageName] |
| 144 | 144 |
self.installCustomToolChainRPMS(chrootID, constants.perPackageToolChain[packageName], packageName); |
| ... | ... |
@@ -149,7 +152,7 @@ class ToolChainUtils(object): |
| 149 | 149 |
packages = "" |
| 150 | 150 |
for package in listOfToolChainPkgs: |
| 151 | 151 |
pkgUtils=PackageUtils(self.logName,self.logPath) |
| 152 |
- print "DEBUG:" + package |
|
| 152 |
+ print "DEBUG:" + package |
|
| 153 | 153 |
if "openjre8" in packageName or "openjdk8" in packageName: |
| 154 | 154 |
rpmFile=self.findRPMFileInGivenLocation(package, constants.prevPublishXRPMRepo) |
| 155 | 155 |
else: |
| ... | ... |
@@ -161,8 +164,8 @@ class ToolChainUtils(object): |
| 161 | 161 |
packages += " " + package |
| 162 | 162 |
|
| 163 | 163 |
self.logger.debug("Installing rpms:"+packages)
|
| 164 |
- cmd=self.rpmCommand + " -i --nodeps --force --root "+chrootID+" --define \'_dbpath /var/lib/rpm\' "+ rpmFiles |
|
| 165 |
- print "Command Executed:" + cmd |
|
| 164 |
+ cmd=self.rpmCommand + " -i --nodeps --force --root "+chrootID+" --define \'_dbpath /var/lib/rpm\' "+ rpmFiles |
|
| 165 |
+ print "Command Executed:" + cmd |
|
| 166 | 166 |
process = subprocess.Popen("%s" %cmd,shell=True,stdout=subprocess.PIPE)
|
| 167 | 167 |
retval = process.wait() |
| 168 | 168 |
if retval != 0: |