From 8c4bf724d942c1d3c8545f8bec5d6a75b2ed3e50 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 15 Apr 2023 11:43:40 +0800 Subject: [PATCH] adapt oecp --- src/constant.py | 4 ++-- src/lib/main_process.sh | 7 +++++-- src/utils/compare_package.py | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/constant.py b/src/constant.py index 4e4c11d..594ebc2 100644 --- a/src/constant.py +++ b/src/constant.py @@ -24,11 +24,11 @@ class Constant(object): SUPPORT_ARCH = ["x86_64", "aarch64"] GITEE_BRANCH_PROJECT_MAPPING = { - "master": ["openEuler:Extras", "openEuler:Factory", "openEuler:Mainline", "openEuler:Epol", + "master": ["openEuler:Extras", "openEuler:Mainline", "openEuler:Epol", "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:Perl", "openEuler:Python", "openEuler:Qt", "openEuler:Ruby"], + "openEuler:Perl", "openEuler:Python", "openEuler:Qt", "openEuler:Ruby", "openEuler:Factory"], "openEuler-20.03-LTS": ["openEuler:20.03:LTS"], "openEuler-20.03-LTS-Next": ["openEuler:20.03:LTS:Next", "openEuler:20.03:LTS:Next:Epol"], "openEuler-EPOL-LTS": ["bringInRely"], diff --git a/src/lib/main_process.sh b/src/lib/main_process.sh index c4caac7..6140b2e 100644 --- a/src/lib/main_process.sh +++ b/src/lib/main_process.sh @@ -4,6 +4,7 @@ JENKINS_HOME=/home/jenkins SCRIPT_PATCH=${shell_path}/src/build BUILD_ROOT=${JENKINS_HOME}/agent/buildroot RPM_PATH=${BUILD_ROOT}/home/abuild/rpmbuild/RPMS +SPEC_PATH=${BUILD_ROOT}/home/abuild/rpmbuild/SPEC support_arch_file=${repo}_${prid}_support_arch comment_file="" @@ -30,7 +31,7 @@ build-root = ${BUILD_ROOT} [http://117.78.1.88] user = ${OBSUserName} pass = ${OBSPassword} -trusted_prj = openEuler:22.03:LTS:SP1:selfbuild:BaseOS openEuler:Factory openEuler:Mainline openEuler:Epol 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:Perl openEuler:Python openEuler:Qt openEuler:Ruby openEuler:selfbuild:BaseOS openEuler:22.09:selfbuild:BaseOS openEuler:22.03:LTS:LoongArch:selfbuild:BaseOS openEuler:22.03:LTS:selfbuild:BaseOS openEuler:22.03:LTS:Next:selfbuild:BaseOS openEuler:20.03:LTS:SP3:selfbuild:BaseOS openEuler:selfbuild:BaseOS openEuler:20.03:LTS:selfbuild:BaseOS openEuler:selfbuild:function openEuler:20.09:selfbuild:BaseOS openEuler:20.03:LTS:SP1:selfbuild:BaseOS openEuler:21.03:selfbuild:BaseOS openEuler:20.03:LTS:SP2:selfbuild:BaseOS openEuler:21.09:selfbuild:BaseOS openEuler:20.03:LTS:Next:selfbuild:BaseOS openEuler:23.03:selfbuild:BaseOS # 不用输0,1,2了 +trusted_prj = openEuler:22.03:LTS:SP1:selfbuild:BaseOS openEuler:Factory openEuler:Mainline openEuler:Epol 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:Perl openEuler:Python openEuler:Qt openEuler:Ruby openEuler:selfbuild:BaseOS openEuler:22.09:selfbuild:BaseOS openEuler:22.03:LTS:LoongArch:selfbuild:BaseOS openEuler:22.03:LTS:selfbuild:BaseOS openEuler:22.03:LTS:Next:selfbuild:BaseOS openEuler:20.03:LTS:SP3:selfbuild:BaseOS openEuler:selfbuild:BaseOS openEuler:20.03:LTS:selfbuild:BaseOS openEuler:selfbuild:function openEuler:20.09:selfbuild:BaseOS openEuler:20.03:LTS:SP1:selfbuild:BaseOS openEuler:21.03:selfbuild:BaseOS openEuler:20.03:LTS:SP2:selfbuild:BaseOS openEuler:21.09:selfbuild:BaseOS openEuler:20.03:LTS:Next:selfbuild:BaseOS openEuler:23.03:selfbuild:BaseOS # 不用输0,1,2了 EOF log_info "***** End to config osc *****" } @@ -255,7 +256,8 @@ function compare_package() { if [[ "$(ls -A $new_dir | grep '.rpm')" ]]; then sed -i "s/dbhost=127.0.0.1/dbhost=${MysqldbHost}/g" ${JENKINS_HOME}/oecp/oecp/conf/oecp.conf sed -i "s/dbport=3306/dbport=${MysqldbPort}/g" ${JENKINS_HOME}/oecp/oecp/conf/oecp.conf - python3 ${JENKINS_HOME}/oecp/cli.py $old_dir $new_dir -o $result_dir -w $result_dir -n 2 -f json -s $tbranch-${arch} -p ${JENKINS_HOME}/oecp/oecp/conf/plan/daily_symbol.json --db-password ${MysqlUserPasswd:5} --pull-request-id ${repo}-${prid} || echo "continue although run oecp failed" + python3 ${JENKINS_HOME}/oecp/cli.py $old_dir $new_dir -o $result_dir -w $result_dir -n 2 -s $tbranch-${arch} --spec $SPEC_PATH --db-password ${MysqlUserPasswd:5} --pull-request-id ${repo}-${prid} || echo "continue although run oecp failed" + cat $result_dir/report-$old_dir-$new_dir/osv.json fi pr_link='https://gitee.com/${repo_owner}/'${repo}'/pulls/'${prid} @@ -311,6 +313,7 @@ EOF new_json_name=${repo}_${old_version}-${old_release}_${new_version}-${new_release}.json scp -r -i ${SaveBuildRPM2Repo} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR $result_dir/report-$old_dir-$new_dir/osv.json root@${repo_server}:/repo/openeuler/src-openeuler${repo_server_test_tail}/${tbranch}/${committer}/${repo}/${arch}/${prid}/$new_json_name + scp -r -i ${SaveBuildRPM2Repo} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR $result_dir/report-$old_dir-$new_dir/details_analyse root@${repo_server}:/repo/openeuler/src-openeuler${repo_server_test_tail}/${tbranch}/${committer}/${repo}/${arch}/${prid}/ fi if [[ -d $new_dir && "$(ls -A $new_dir | grep '.rpm')" ]]; then scp -r -i ${SaveBuildRPM2Repo} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR $new_dir/* root@${repo_server}:/repo/openeuler/src-openeuler${repo_server_test_tail}/${tbranch}/${committer}/${repo}/${arch}/${prid}/ diff --git a/src/utils/compare_package.py b/src/utils/compare_package.py index 7780da2..2f28eb1 100644 --- a/src/utils/compare_package.py +++ b/src/utils/compare_package.py @@ -94,8 +94,16 @@ class ComparePackage(object): effect_rpms.extend(effect_rpm) diff_rpm.append("\n".join(diff_rpm_name)) diff_rpm.append("\n".join(effect_rpms)) + elif key == "less": + if isinstance(details, dict): + delete_rpms = [] + for rpm, obsolete in details.items(): + delete_rpm = "%s (need obsoletes)" % rpm if obsolete == "obsoletes" else rpm + delete_rpms.append(delete_rpm) + diff_rpm.append("\n".join(delete_rpms)) else: diff_rpm.append("\n".join(details)) + else: diff_rpm.append("") @@ -369,6 +377,14 @@ class ComparePackage(object): if details and isinstance(details, dict) and compare_item == "diff": rpm_dict = self._get_check_item_result(details) result_dict.update(rpm_dict) + elif details and isinstance(details, dict) and compare_item == "less": + if isinstance(details, dict): + delete_rpms = [] + for rpm, obsolete in details.items(): + rpm = self._rpm_name(rpm) + delete_rpm = "%s (need obsoletes)" % rpm if obsolete == "obsoletes" else rpm + delete_rpms.append(delete_rpm) + result_dict["delete_rpms"] = delete_rpms elif details and isinstance(details, list): rpm_list = [] for rpm in details: -- Gitee