Merge "build-pkgs: pass build type to debrepack"
This commit is contained in:
commit
ec0058a583
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Copyright (C) 2021 Wind River Systems,Inc
|
||||
# Copyright (C) 2021-2022 Wind River Systems,Inc
|
||||
|
||||
import argparse
|
||||
import debrepack
|
||||
@ -303,8 +303,11 @@ class BuildController():
|
||||
|
||||
if not build_type in self.kits['dsc_maker']:
|
||||
try:
|
||||
self.kits['dsc_maker'][build_type] = debrepack.Parser(build_dir,
|
||||
recipes_dir, 'debug')
|
||||
if build_type == 'rt':
|
||||
self.kits['dsc_maker'][build_type] = debrepack.Parser(build_dir, recipes_dir,
|
||||
'debug', None, 'rt')
|
||||
else:
|
||||
self.kits['dsc_maker'][build_type] = debrepack.Parser(build_dir, recipes_dir, 'debug')
|
||||
except Exception as e:
|
||||
logger.error(str(e))
|
||||
logger.error("Failed to create dsc maker")
|
||||
|
@ -10,7 +10,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Copyright (C) 2021 WindRiver Corporation
|
||||
# Copyright (C) 2021-2022 WindRiver Corporation
|
||||
|
||||
# import apt
|
||||
import apt_pkg
|
||||
@ -36,6 +36,7 @@ RELEASENOTES = " ".join([os.environ.get('PROJECT'), os.environ.get('MY_RELEASE')
|
||||
DIST = os.environ.get('STX_DIST')
|
||||
CENGN_BASE = os.path.join(os.environ.get('CENGNURL'), "debian")
|
||||
CENGN_STRATEGY = os.environ.get('CENGN_STRATEGY')
|
||||
BTYPE = "@KERNEL_TYPE@"
|
||||
|
||||
|
||||
class DownloadProgress():
|
||||
@ -235,7 +236,7 @@ class Parser():
|
||||
'crit': logging.CRITICAL
|
||||
}
|
||||
|
||||
def __init__(self, basedir, output, loglevel='info', srcrepo=None):
|
||||
def __init__(self, basedir, output, loglevel='info', srcrepo=None, btype="std"):
|
||||
|
||||
self.logger = logging.getLogger(__name__)
|
||||
self.logger.setLevel(self.level_relations.get(loglevel))
|
||||
@ -261,6 +262,7 @@ class Parser():
|
||||
self.output = os.path.abspath(output)
|
||||
|
||||
self.srcrepo = srcrepo
|
||||
self.btype = btype
|
||||
self.meta_data = dict()
|
||||
self.versions = dict()
|
||||
self.pkginfo = dict()
|
||||
@ -333,6 +335,24 @@ class Parser():
|
||||
if os.path.exists(self.pkginfo["srcdir"]):
|
||||
shutil.rmtree(self.pkginfo["srcdir"])
|
||||
|
||||
def set_build_type(self):
|
||||
|
||||
local_debian = os.path.join(self.pkginfo["packdir"], "local_debian")
|
||||
run_shell_cmd('cp -r %s %s' % (self.pkginfo["debfolder"], local_debian), self.logger)
|
||||
|
||||
# clean @KERNEL_TYPE@ if build type is std
|
||||
if self.btype == "std":
|
||||
btype = ""
|
||||
else:
|
||||
btype = "-" + self.btype
|
||||
|
||||
sed_cmd = 'sed -i s#%s#%s#g %s'
|
||||
for root, _, files in os.walk(local_debian):
|
||||
for name in files:
|
||||
run_shell_cmd(sed_cmd % (BTYPE, btype, os.path.join(root, name)), self.logger)
|
||||
|
||||
self.pkginfo["debfolder"] = os.path.join(local_debian)
|
||||
|
||||
def set_revision(self):
|
||||
|
||||
revision = 0
|
||||
@ -340,6 +360,9 @@ class Parser():
|
||||
if "revision" not in self.meta_data:
|
||||
return dist
|
||||
|
||||
# reset the debfolder
|
||||
self.pkginfo["debfolder"] = os.path.join(self.pkginfo["pkgpath"], "debian")
|
||||
|
||||
revision_data = self.meta_data["revision"]
|
||||
if "dist" in revision_data:
|
||||
if revision_data["dist"] is not None:
|
||||
@ -784,6 +807,8 @@ class Parser():
|
||||
shutil.rmtree(self.pkginfo["packdir"])
|
||||
os.mkdir(self.pkginfo["packdir"])
|
||||
|
||||
self.set_build_type()
|
||||
|
||||
logfile = os.path.join(self.pkginfo["packdir"], self.pkginfo["pkgname"] + ".log")
|
||||
if os.path.exists(logfile):
|
||||
os.remove(logfile)
|
||||
|
Loading…
x
Reference in New Issue
Block a user