From 7afe90e56cb63adf9eec441945892fb48d9584b8 Mon Sep 17 00:00:00 2001 From: yaolonggang Date: Sat, 27 Aug 2022 10:12:12 +0800 Subject: [PATCH] add openEuler/kernel openEuler-22.09-HCK branch code. --- common/parser_config.py | 12 ++++++++++++ config/config.ini | 2 ++ core/gitee_to_obs.py | 36 +++++++++++++++++++++++------------- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/common/parser_config.py b/common/parser_config.py index b4fcd4d..d3ff9fd 100644 --- a/common/parser_config.py +++ b/common/parser_config.py @@ -68,6 +68,7 @@ class ParserConfigIni(object): self._init_obs_prj_root_path() self._init_obs_ignored_package() self._init_obs_include_project() + self._init_kernel_branch() def _init_branch_list(self): """ @@ -209,6 +210,17 @@ class ParserConfigIni(object): """ return self.obs_prj_root_path + def _init_kernel_branch(self): + """ + init openEuler kernel branch + """ + self.kernel_hck_branch = self.config.get("openEuler_kernel_branch", "hck_branch") + + def get_kernel_branch(self): + """ + get openEuler kernel branch + """ + return self.kernel_hck_branch if __name__ == "__main__": p = ParserConfigIni() diff --git a/config/config.ini b/config/config.ini index 9b5aadd..f032e06 100644 --- a/config/config.ini +++ b/config/config.ini @@ -126,3 +126,5 @@ path = /srv/obs/build name = kernel kata-containers runc openEuler-release openEuler-logos openEuler-indexhtml mozjs78 lxcfs-tools kata_integration isula-build docker containerd mingw-crt mingw-gcc mingw-wine-gecko wine wine-mono autotune igh-ethercat-xenomai obs_meta wrf risc-v-kernel dde-dock dde-network-utils rubik gcc-cross opencv WasmEngine [obs_include_project] name = openEuler:Factory openEuler:Epol openEuler:Mainline bringInRely openEuler:BaseTools openEuler:C openEuler:Common_Languages_Dependent_Tools openEuler:Erlang openEuler:Golang openEuler:Java openEuler:KernelSpace openEuler:Lua openEuler:Meson openEuler:MultiLanguage openEuler:Nodejs openEuler:Ocaml openEuler:Testing:Perl openEuler:Python openEuler:Qt openEuler:Ruby +[openEuler_kernel_branch] +hck_branch = openEuler-22.09-HCK diff --git a/core/gitee_to_obs.py b/core/gitee_to_obs.py index 86c8647..001b77d 100644 --- a/core/gitee_to_obs.py +++ b/core/gitee_to_obs.py @@ -70,6 +70,7 @@ class SYNCCode(object): self.sync_failed_rpms = [] self.obs_ignored_package = par.get_obs_ignored_package() self.obs_include_project = par.get_obs_include_project() + self.kernel_hck_branch = par.get_kernel_branch() def _write_date_to_file(self): """ @@ -173,24 +174,33 @@ class SYNCCode(object): kernel_tags = str(self.cmd.ssh_cmd("cat %s" % tag_path)[1].strip()).split("'")[1] log.info(kernel_tags) open_kernel_path = "%s/openEuler-kernel/kernel" % source_path + open_kernel_hck_path = "%s/openEuler-kernel/kernel-hck" % source_path open_kernel_git = "https://%s:%s@gitee.com/openeuler/kernel" % (self.giteeuser, self.giteeuserpwd) log.info(open_kernel_git) - ssh_rm_result = self.cmd.ssh_cmd("rm -rf %s" % open_kernel_path) - log.info(ssh_rm_result) + pull_flag = True for i in range(5): - ssh_clone_result = self.cmd.ssh_cmd("git lfs clone --depth=1 %s -b %s %s" % (open_kernel_git, + self.cmd.ssh_cmd("rm -rf %s" % open_kernel_path) + self.cmd.ssh_cmd("git lfs clone --depth=1 %s -b %s %s" % (open_kernel_git, kernel_tags, open_kernel_path), 600) - pull_result_last = str(self.cmd.ssh_cmd('git -C %s pull' % open_kernel_path)[1].strip()).split("'")[1] - if "Already" in pull_result_last: - log.info(pull_result_last) - log.info("kernel gitee pull success") - return True + pull_result = str(self.cmd.ssh_cmd('git -C %s pull' % open_kernel_path)[1].strip()).split("'")[1] + if "Already" not in pull_result: + pull_flag = False else: - clear_repo = self.cmd.ssh_cmd("rm -rf %s" % open_kernel_path) - log.info("clear_repo: %s" % clear_repo) - continue - log.error("kernel gitee pull failed") - return False + log.info("openEuler kernel %s code pull success" % kernel_tags) + if self.gitee_branch == self.kernel_hck_branch.replace('-HCK', ''): + self.cmd.ssh_cmd("rm -rf %s" % open_kernel_hck_path) + self.cmd.ssh_cmd("git lfs clone --depth=1 %s -b %s %s" % (open_kernel_git, self.kernel_hck_branch, open_kernel_hck_path), 600) + pull_result = str(self.cmd.ssh_cmd('git -C %s pull' % open_kernel_hck_path)[1].strip()).split("'")[1] + if "Already" not in pull_result: + pull_flag = False + else: + log.info("openEuler kernel %s code pull success" % self.kernel_hck_branch) + if pull_flag: + return pull_flag + else: + log.info("kernel code pull failed %d" % i) + log.error("kernel code pull failed finally") + return pull_flag else: rpm_path = source_path + '/' + self.repository ssh_cmd = "if [ -d %s ];then echo 'exist';else echo 'need to clone';fi" % rpm_path -- Gitee