codename fixes for multi-release builds
Change-Id: Ic4ddabe71d3baacc63ed53e07d60df391c898a84 Signed-off-by: Scott Little <scott.little@windriver.com>
This commit is contained in:
committed by
Leonardo Fagundes Luz Serrano
parent
85d3ff1f06
commit
eae7766ac2
@@ -43,6 +43,12 @@ pid = os.getpid()
|
||||
os.setpriority(os.PRIO_PROCESS, 0, 15)
|
||||
subprocess.run(['ionice', '-c', '3', '-p', str(pid)])
|
||||
|
||||
STX_DEFAULT_DISTRO = discovery.STX_DEFAULT_DISTRO
|
||||
STX_DEFAULT_DISTRO_CODENAME = discovery.STX_DEFAULT_DISTRO_CODENAME
|
||||
STX_DISTRO_DEBIAN_BULLSEYE = discovery.STX_DISTRO_DEBIAN_BULLSEYE
|
||||
STX_DEFAULT_BUILD_TYPE = discovery.STX_DEFAULT_BUILD_TYPE
|
||||
STX_DEFAULT_BUILD_TYPE_LIST = discovery.STX_DEFAULT_BUILD_TYPE_LIST
|
||||
|
||||
BUILDER_URL = os.environ.get('BUILDER_URL')
|
||||
REPOMGR_URL = os.environ.get('REPOMGR_URL')
|
||||
REPOMGR_ORIGIN = os.environ.get('REPOMGR_ORIGIN')
|
||||
@@ -51,7 +57,8 @@ STX_ROOT = os.environ.get('MY_REPO_ROOT_DIR')
|
||||
PKGBUILDER_ROOT = "/localdisk/pkgbuilder"
|
||||
USER = os.environ.get('MYUNAME')
|
||||
PROJECT = os.environ.get('PROJECT')
|
||||
DISTRIBUTION = os.environ.get('DEBIAN_DISTRIBUTION')
|
||||
DIST_ID = os.environ.get('DIST_ID', STX_DEFAULT_DISTRO)
|
||||
DIST_CODENAME = os.environ.get('DIST', STX_DEFAULT_DISTRO_CODENAME)
|
||||
STX_ARCH = 'amd64'
|
||||
STX_META_NAME = 'stx-meta'
|
||||
STX_META_PKG = 'stx-meta_1.0.orig.tar.gz'
|
||||
@@ -132,15 +139,9 @@ STX_SOURCE_REPOS = [
|
||||
'vault-armada-app',
|
||||
]
|
||||
|
||||
STX_DEFAULT_DISTRO = discovery.STX_DEFAULT_DISTRO
|
||||
STX_DEFAULT_DISTRO_CODENAME = discovery.STX_DEFAULT_DISTRO_CODENAME
|
||||
STX_DISTRO_DEBIAN_BULLSEYE = discovery.STX_DISTRO_DEBIAN_BULLSEYE
|
||||
STX_DEFAULT_BUILD_TYPE = discovery.STX_DEFAULT_BUILD_TYPE
|
||||
STX_DEFAULT_BUILD_TYPE_LIST = discovery.STX_DEFAULT_BUILD_TYPE_LIST
|
||||
|
||||
ALL_DISTROS = discovery.get_all_distros()
|
||||
ALL_LAYERS = discovery.get_all_layers(distro=STX_DEFAULT_DISTRO, codename=STX_DEFAULT_DISTRO_CODENAME)
|
||||
ALL_BUILD_TYPES = discovery.get_all_build_types(distro=STX_DEFAULT_DISTRO)
|
||||
ALL_LAYERS = discovery.get_all_layers(distro=DIST_ID, codename=DIST_CODENAME)
|
||||
ALL_BUILD_TYPES = discovery.get_all_build_types(distro=DIST_ID)
|
||||
|
||||
logger = logging.getLogger('debcontroller')
|
||||
utils.set_logger(logger)
|
||||
@@ -684,7 +685,7 @@ class BuildController():
|
||||
return False
|
||||
logger.debug("Reuse is enabled, the reused source repository is %s", reuse_src_url)
|
||||
|
||||
kwargs = {'url': reuse_url, 'distribution': DISTRIBUTION, 'component': 'main',
|
||||
kwargs = {'url': reuse_url, 'distribution': DIST_CODENAME, 'component': 'main',
|
||||
'architectures': STX_ARCH}
|
||||
try:
|
||||
logger.info("Creating reused mirror with the shared URL, please wait...")
|
||||
@@ -705,7 +706,7 @@ class BuildController():
|
||||
meta_dir = os.path.join(BUILD_ROOT, 'stx-meta')
|
||||
os.makedirs(meta_dir, exist_ok=True)
|
||||
try:
|
||||
ret = get_shared_source(reuse_src_url, STX_META_NAME, DISTRIBUTION, meta_dir)
|
||||
ret = get_shared_source(reuse_src_url, STX_META_NAME, DIST_CODENAME, meta_dir)
|
||||
except Exception as e:
|
||||
logger.error(str(e))
|
||||
logger.error("Failed to download stx-meta to reuse")
|
||||
@@ -978,7 +979,7 @@ class BuildController():
|
||||
|
||||
ret = req_chroots_action('addchroot', extra_req)
|
||||
if 'creating' in ret:
|
||||
key_string = "Successfully set up " + DISTRIBUTION + " chroot"
|
||||
key_string = "Successfully set up " + DIST_CODENAME + " chroot"
|
||||
state = show_task_log(os.path.join(PKGBUILDER_ROOT, USER, PROJECT, 'chroot.log'),
|
||||
10, key_string, "E: ")
|
||||
if 'success' in state:
|
||||
@@ -2179,8 +2180,8 @@ def bc_reg_signal_handler():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
distro = STX_DEFAULT_DISTRO
|
||||
distro_codename = STX_DEFAULT_DISTRO_CODENAME
|
||||
distro = DIST_ID
|
||||
distro_codename = DIST_CODENAME
|
||||
layers = None
|
||||
build_types = None
|
||||
packages = None
|
||||
|
||||
@@ -40,14 +40,14 @@ REPO_BIN = 'deb-local-binary'
|
||||
mirror_root = os.environ.get('OS_MIRROR')
|
||||
stx_src_mirror = os.path.join(mirror_root, 'sources')
|
||||
stx_bin_mirror = os.path.join(mirror_root, 'binaries')
|
||||
DEBIAN_DISTRIBUTION = os.environ.get('DEBIAN_DISTRIBUTION')
|
||||
all_binary_lists = ['base-' + DEBIAN_DISTRIBUTION + '.lst', 'os-std.lst', 'os-rt.lst']
|
||||
|
||||
logger = logging.getLogger('downloader')
|
||||
utils.set_logger(logger)
|
||||
|
||||
STX_DEFAULT_DISTRO = discovery.STX_DEFAULT_DISTRO
|
||||
STX_DEFAULT_DISTRO_CODENAME = discovery.STX_DEFAULT_DISTRO_CODENAME
|
||||
DIST_CODENAME = os.environ.get('DIST', STX_DEFAULT_DISTRO_CODENAME)
|
||||
all_binary_lists = ['base-' + DIST_CODENAME + '.lst', 'os-std.lst', 'os-rt.lst']
|
||||
|
||||
logger = logging.getLogger('downloader')
|
||||
utils.set_logger(logger)
|
||||
|
||||
ALL_DISTROS = discovery.get_all_distros()
|
||||
ALL_LAYERS = discovery.get_all_layers(distro=STX_DEFAULT_DISTRO, codename=STX_DEFAULT_DISTRO_CODENAME)
|
||||
@@ -118,7 +118,7 @@ def get_all_stx_pkgs():
|
||||
def get_all_binary_list(distro=STX_DEFAULT_DISTRO, codename=STX_DEFAULT_DISTRO_CODENAME, layers=None,
|
||||
build_types=None):
|
||||
"""
|
||||
Return all binary packages listed in base-${DEBIAN_DISTRIBUTION}.lst,
|
||||
Return all binary packages listed in base-${DIST_CODENAME}.lst,
|
||||
os-std.lst,os-rt.lst
|
||||
"""
|
||||
layer_binaries = {}
|
||||
@@ -560,7 +560,7 @@ class DebDownloader(BaseDownloader):
|
||||
|
||||
def start(self):
|
||||
"""Here define:
|
||||
the complete set of binaries = base_${DEBIAN_DISTRIBUTION}.lst
|
||||
the complete set of binaries = base_${DIST_CODENAME}.lst
|
||||
+ <layer>/os-std.lst
|
||||
+ <layer>/os-rt.lst
|
||||
"""
|
||||
|
||||
@@ -21,15 +21,19 @@ import discovery
|
||||
STX_DEFAULT_DISTRO_CODENAME = discovery.STX_DEFAULT_DISTRO_CODENAME
|
||||
STX_DISTRO_DEBIAN_BULLSEYE = discovery.STX_DISTRO_DEBIAN_BULLSEYE
|
||||
|
||||
DIST_CODENAME = os.environ.get('DIST', STX_DEFAULT_DISTRO_CODENAME)
|
||||
|
||||
DEB_CONFIG_DIR = 'stx-tools/debian-mirror-tools/config/'
|
||||
|
||||
|
||||
logger = logging.getLogger('fetch_debs')
|
||||
utils.set_logger(logger)
|
||||
|
||||
|
||||
class FetchDebs(object):
|
||||
|
||||
def __init__(self, need_dl_stx_pkgs=None, need_dl_binary_pkgs=None):
|
||||
def __init__(self, need_dl_stx_pkgs=None, need_dl_binary_pkgs=None,
|
||||
codename=DIST_CODENAME):
|
||||
|
||||
self.need_dl_stx_pkgs = need_dl_stx_pkgs if need_dl_stx_pkgs else []
|
||||
self.need_dl_binary_pkgs = need_dl_binary_pkgs if need_dl_binary_pkgs else []
|
||||
@@ -38,7 +42,7 @@ class FetchDebs(object):
|
||||
self.output_dir = os.path.join(self.build_root, 'dl_debs')
|
||||
self.apt_src_file = os.path.join(self.build_root, 'aptsrc')
|
||||
|
||||
self.setup_apt_source()
|
||||
self.setup_apt_source(codename=codename)
|
||||
self.debs_fetcher = repo_manage.AptFetch(logger, self.apt_src_file, self.output_dir)
|
||||
|
||||
|
||||
@@ -66,8 +70,7 @@ class FetchDebs(object):
|
||||
|
||||
return all_debs
|
||||
|
||||
|
||||
def setup_apt_source(self):
|
||||
def setup_apt_source(self, codename=DIST_CODENAME):
|
||||
# clean up the output dir
|
||||
if os.path.exists(self.output_dir):
|
||||
shutil.rmtree(self.output_dir)
|
||||
@@ -77,10 +80,12 @@ class FetchDebs(object):
|
||||
try:
|
||||
with open(self.apt_src_file, 'w') as f:
|
||||
repo_url = utils.get_env_variable('REPOMGR_DEPLOY_URL')
|
||||
apt_item = ' '.join(['deb [trusted=yes]', repo_url + 'deb-local-build', 'bullseye', 'main\n'])
|
||||
|
||||
apt_item = ' '.join(['deb [trusted=yes]', repo_url + 'deb-local-build', codename, 'main\n'])
|
||||
f.write(apt_item)
|
||||
apt_item = ' '.join(['deb [trusted=yes]', repo_url + 'deb-local-binary', 'bullseye', 'main\n'])
|
||||
apt_item = ' '.join(['deb [trusted=yes]', repo_url + 'deb-local-binary', codename, 'main\n'])
|
||||
f.write(apt_item)
|
||||
|
||||
logger.debug(f'Created apt source file {self.apt_src_file} to download debs')
|
||||
except Exception as e:
|
||||
logger.error(str(e))
|
||||
@@ -145,13 +150,12 @@ class FetchDebs(object):
|
||||
pkgs.extend(line.strip() for line in f if line.strip() and not line.startswith('#'))
|
||||
return pkgs
|
||||
|
||||
|
||||
def fetch_external_binaries(self, codename=STX_DEFAULT_DISTRO_CODENAME):
|
||||
def fetch_external_binaries(self, codename=DIST_CODENAME):
|
||||
'''
|
||||
Download all binaries from the build system
|
||||
apt_item = apt_item + ' '.join(['deb [trusted=yes]', repo_url + 'deb-local-binary', 'bullseye', 'main\n'])
|
||||
apt_item = apt_item + ' '.join(['deb [trusted=yes]', repo_url + 'deb-local-binary', codename, 'main\n'])
|
||||
'''
|
||||
# Get debs from base-bullseye.lst
|
||||
# Get debs from base-bullseye.lst, or base-<codename>.lst
|
||||
# https://opendev.org/starlingx/tools/src/branch/master/debian-mirror-tools/config/debian/common/base-bullseye.lst
|
||||
if not self.need_dl_binary_pkgs:
|
||||
logger.debug("No binary packages to download")
|
||||
@@ -165,14 +169,14 @@ class FetchDebs(object):
|
||||
package_list = os.path.join(self.build_root,
|
||||
'stx-tools/debian-mirror-tools/config/debian',
|
||||
'common',
|
||||
'base-' + codename + 'bullseye.lst')
|
||||
'base-' + codename + '.lst')
|
||||
|
||||
if package_list is None or not os.path.exists(package_list):
|
||||
package_list = os.path.join(self.build_root,
|
||||
'stx-tools/debian-mirror-tools/config/debian',
|
||||
codename,
|
||||
'common',
|
||||
'base-' + codename + 'bullseye.lst')
|
||||
'base-' + codename + '.lst')
|
||||
|
||||
# find pkgs in the list file
|
||||
logger.debug(f'Packages to find {self.need_dl_binary_pkgs}')
|
||||
@@ -215,7 +219,8 @@ if __name__ == '__main__':
|
||||
# Usage: Set the packages you want to download here
|
||||
fetch_debs = FetchDebs(
|
||||
need_dl_stx_pkgs = ['sysinv'],
|
||||
need_dl_binary_pkgs = ['tzdata', 'curl', 'apache2']
|
||||
need_dl_binary_pkgs = ['tzdata', 'curl', 'apache2'],
|
||||
codename = DIST_CODENAME
|
||||
)
|
||||
|
||||
fetch_debs.fetch_stx_packages()
|
||||
|
||||
@@ -32,6 +32,7 @@ STX_DEFAULT_DISTRO = discovery.STX_DEFAULT_DISTRO
|
||||
STX_DEFAULT_DISTRO_CODENAME = discovery.STX_DEFAULT_DISTRO_CODENAME
|
||||
STX_DEFAULT_BUILD_TYPE = discovery.STX_DEFAULT_BUILD_TYPE
|
||||
STX_DEFAULT_BUILD_TYPE_LIST = discovery.STX_DEFAULT_BUILD_TYPE_LIST
|
||||
DIST_CODENAME = os.environ.get('DIST', STX_DEFAULT_DISTRO_CODENAME)
|
||||
|
||||
# Patch signature files
|
||||
DETACHED_SIGNATURE_FILENAME = "signature.v2"
|
||||
@@ -57,7 +58,7 @@ class PatchBuilder(object):
|
||||
self.metadata = metadata.PatchMetadata(patch_recipe_file)
|
||||
self.metadata.parse_input_xml_data()
|
||||
|
||||
self.fetch_debs = fetch_debs.FetchDebs()
|
||||
self.fetch_debs = fetch_debs.FetchDebs(codename=codename)
|
||||
self.fetch_debs.need_dl_stx_pkgs = self.metadata.stx_packages
|
||||
self.fetch_debs.need_dl_binary_pkgs = self.metadata.binary_packages
|
||||
|
||||
@@ -399,4 +400,4 @@ def build(recipe, name=None, remote_sign=False, codename=STX_DEFAULT_DISTRO_CODE
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
build()
|
||||
build(codename=DIST_CODENAME)
|
||||
|
||||
Reference in New Issue
Block a user