Changeset View
Changeset View
Standalone View
Standalone View
bin/CraftBase.py
1 | # | 1 | # | ||
---|---|---|---|---|---|
2 | # copyright (c) 2009 Ralf Habacker <ralf.habacker@freenet.de> | 2 | # copyright (c) 2009 Ralf Habacker <ralf.habacker@freenet.de> | ||
3 | # | 3 | # | ||
4 | import inspect | 4 | import inspect | ||
5 | import os | 5 | import os | ||
6 | import sys | 6 | import sys | ||
7 | import datetime | 7 | import datetime | ||
8 | from ctypes import * | 8 | from ctypes import * | ||
9 | 9 | | |||
10 | import functools | 10 | import functools | ||
11 | 11 | | |||
12 | from CraftDebug import craftDebug | 12 | from CraftDebug import craftDebug | ||
13 | import utils | 13 | import utils | ||
14 | import portage | 14 | import portage | ||
15 | import compiler | 15 | from compiler import craftCompiler | ||
16 | from CraftConfig import * | 16 | from CraftConfig import * | ||
17 | import utils | 17 | import utils | ||
18 | 18 | | |||
19 | 19 | | |||
20 | ## @todo complete a release and binary merge dir below rootdir | 20 | ## @todo complete a release and binary merge dir below rootdir | ||
21 | # 1. enable build type related otDmerge install settings | 21 | # 1. enable build type related otDmerge install settings | ||
22 | # 2a. use different install databases for debug and release | 22 | # 2a. use different install databases for debug and release | ||
23 | # 3. binary packages which are build type independent should be | 23 | # 3. binary packages which are build type independent should be | ||
▲ Show 20 Lines • Show All 87 Lines • ▼ Show 20 Line(s) | 102 | def __adjustPath(self, directory): | |||
111 | windll.kernel32.GetShortPathNameA(path, byref(buf), length+1) # ignore function result... | 111 | windll.kernel32.GetShortPathNameA(path, byref(buf), length+1) # ignore function result... | ||
112 | craftDebug.log.debug("converting " + directory + " to " + buf.value) | 112 | craftDebug.log.debug("converting " + directory + " to " + buf.value) | ||
113 | return buf.value | 113 | return buf.value | ||
114 | 114 | | |||
115 | def buildType(self): | 115 | def buildType(self): | ||
116 | """return currently selected build type""" | 116 | """return currently selected build type""" | ||
117 | return craftSettings.get("Compile","BuildType") | 117 | return craftSettings.get("Compile","BuildType") | ||
118 | 118 | | |||
119 | def compiler(self): | | |||
120 | """deprecated""" | | |||
121 | """return currently selected compiler""" | | |||
122 | return compiler.getCompilerName() | | |||
123 | | ||||
124 | def buildArchitecture(self): | 119 | def buildArchitecture(self): | ||
125 | """return the target CPU architecture""" | 120 | """return the target CPU architecture""" | ||
126 | compiler.architecture() | 121 | craftCompiler.architecture() | ||
127 | 122 | | |||
128 | def workDirPattern(self): | 123 | def workDirPattern(self): | ||
129 | """return base directory name for package related work directory""" | 124 | """return base directory name for package related work directory""" | ||
130 | directory = "" | 125 | directory = "" | ||
131 | if self.subinfo.options.useCompilerType == True: | 126 | if self.subinfo.options.useCompilerType == True: | ||
132 | directory += "%s-" % compiler.getCompilerName() | 127 | directory += "%s-" % craftCompiler.getCompilerName() | ||
133 | if self.subinfo.options.cmake.useIDE or self.subinfo.options.cmake.openIDE: | 128 | if self.subinfo.options.cmake.useIDE or self.subinfo.options.cmake.openIDE: | ||
134 | directory += "ide-" | 129 | directory += "ide-" | ||
135 | if self.subinfo.options.useBuildType == False: | 130 | if self.subinfo.options.useBuildType == False: | ||
136 | directory += "%s" % (self.buildTarget) | 131 | directory += "%s" % (self.buildTarget) | ||
137 | elif( self.buildType() == None ): | 132 | elif( self.buildType() == None ): | ||
138 | directory += "%s-%s" % ("default", self.buildTarget) | 133 | directory += "%s-%s" % ("default", self.buildTarget) | ||
139 | else: | 134 | else: | ||
140 | directory += "%s-%s" % (self.buildType(), self.buildTarget) | 135 | directory += "%s-%s" % (self.buildType(), self.buildTarget) | ||
141 | return directory | 136 | return directory | ||
142 | 137 | | |||
143 | def imageDirPattern(self): | 138 | def imageDirPattern(self): | ||
144 | """return base directory name for package related image directory""" | 139 | """return base directory name for package related image directory""" | ||
145 | directory = "image" | 140 | directory = "image" | ||
146 | 141 | | |||
147 | if self.subinfo.options.useCompilerType == True: | 142 | if self.subinfo.options.useCompilerType == True: | ||
148 | directory += '-' + compiler.getCompilerName() | 143 | directory += '-' + craftCompiler.getCompilerName() | ||
149 | if self.subinfo.options.useBuildType == True: | 144 | if self.subinfo.options.useBuildType == True: | ||
150 | directory += '-' + self.buildType() | 145 | directory += '-' + self.buildType() | ||
151 | directory += '-' + self.buildTarget | 146 | directory += '-' + self.buildTarget | ||
152 | return directory | 147 | return directory | ||
153 | 148 | | |||
154 | def sourceDir(self, dummyIndex=0): | 149 | def sourceDir(self, dummyIndex=0): | ||
155 | utils.abstract() | 150 | utils.abstract() | ||
156 | 151 | | |||
▲ Show 20 Lines • Show All 119 Lines • ▼ Show 20 Line(s) | 265 | def binaryArchiveName(self, pkgSuffix=None, fileType=craftSettings.get("Packager", "7ZipArchiveType", "7z")) -> str: | |||
276 | if self.subinfo.hasSvnTarget(): | 271 | if self.subinfo.hasSvnTarget(): | ||
277 | version = "latest" | 272 | version = "latest" | ||
278 | else: | 273 | else: | ||
279 | version = self.getPackageVersion()[0] | 274 | version = self.getPackageVersion()[0] | ||
280 | if fileType: | 275 | if fileType: | ||
281 | fileType = f".{fileType}" | 276 | fileType = f".{fileType}" | ||
282 | else: | 277 | else: | ||
283 | fileType = "" | 278 | fileType = "" | ||
284 | return f"{self.package}-{compiler.architecture()}-{version}-{compiler.getShortName()}{pkgSuffix}{fileType}" | 279 | return f"{self.package}-{craftCompiler.architecture}-{version}-{craftCompiler.getShortName()}{pkgSuffix}{fileType}" | ||
285 | 280 | | |||
286 | def cacheLocation(self) -> str: | 281 | def cacheLocation(self) -> str: | ||
287 | if craftSettings.getboolean("QtSDK", "Enabled", "False"): | 282 | if craftSettings.getboolean("QtSDK", "Enabled", "False"): | ||
288 | version = "QtSDK_%s" % craftSettings.get("QtSDK", "Version") | 283 | version = "QtSDK_%s" % craftSettings.get("QtSDK", "Version") | ||
289 | else: | 284 | else: | ||
290 | version = portage.getPackageInstance("libs", "qtbase").subinfo.buildTarget | 285 | version = portage.getPackageInstance("libs", "qtbase").subinfo.buildTarget | ||
291 | version = "Qt_%s" % version | 286 | version = "Qt_%s" % version | ||
292 | cacheDir = craftSettings.get("Packager", "CacheDir", os.path.join(CraftStandardDirs.downloadDir(), "binary")) | 287 | cacheDir = craftSettings.get("Packager", "CacheDir", os.path.join(CraftStandardDirs.downloadDir(), "binary")) | ||
293 | return os.path.join(cacheDir, sys.platform, version, | 288 | return os.path.join(cacheDir, sys.platform, version, | ||
294 | compiler.getCompilerName(), self.buildType()) | 289 | craftCompiler.getCompilerName(), self.buildType()) | ||
295 | 290 | | |||
296 | def cacheRepositoryUrls(self) -> [str]: | 291 | def cacheRepositoryUrls(self) -> [str]: | ||
297 | if craftSettings.getboolean("QtSDK", "Enabled", "False"): | 292 | if craftSettings.getboolean("QtSDK", "Enabled", "False"): | ||
298 | version = "QtSDK_%s" % craftSettings.get("QtSDK", "Version") | 293 | version = "QtSDK_%s" % craftSettings.get("QtSDK", "Version") | ||
299 | else: | 294 | else: | ||
300 | version = portage.getPackageInstance("libs", "qtbase").subinfo.buildTarget | 295 | version = portage.getPackageInstance("libs", "qtbase").subinfo.buildTarget | ||
301 | version = "Qt_%s" % version | 296 | version = "Qt_%s" % version | ||
302 | return ["/".join([url, sys.platform, version, | 297 | return ["/".join([url, sys.platform, version, | ||
303 | compiler.getCompilerName(), self.buildType()]) for url in craftSettings.get("Packager", "RepositoryUrl").split(";")] | 298 | craftCompiler.getCompilerName(), self.buildType()]) for url in craftSettings.get("Packager", "RepositoryUrl").split(";")] | ||
304 | 299 | |