diff --git a/release-assistant/javcra/application/checkpart/check_requires/check_yum_repo.py b/release-assistant/javcra/application/checkpart/check_requires/check_yum_repo.py new file mode 100644 index 0000000000000000000000000000000000000000..329912fedbf59b0ebdd7afbfaafeb56f635b0725 --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/check_yum_repo.py @@ -0,0 +1,70 @@ +#!/usr/bin/python3 +# ****************************************************************************** +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. +# licensed under the Mulan PSL v2. +# You can use this software according to the terms and conditions of the Mulan PSL v2. +# You may obtain a copy of Mulan PSL v2 at: +# http://license.coscl.org.cn/MulanPSL2 +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR +# PURPOSE. +# See the Mulan PSL v2 for more details. +# Author: DisNight +# Create: 2021-06-29 +# ******************************************************************************/ + +import unittest +import sys + +from javcra.application.checkpart.check_requires import init_env +from dnf.cli import main + +# need to install osc command rpm `dnf install osc` + + +class YumRepoChecker(unittest.TestCase): + """ + use dnf command `dnf makecache --config xxx.repo` to verify yum repo file + """ + + DNF_SUCCEED_RTCODE = 0 + + def _test_yum_repo(self, branch: str, predict: int) -> None: + """ + use dnf command `dnf makecache --config xxx.repo` to verify yum repo file + + Attributes: + pkg_list: source rpm list + published_repos: published repo name list in /etc/yum.repo.d/xxx.repo (repo.openuler.org/xxx etc.) + dev_repos: develop repo name list in /etc/yum.repo.d/xxx.repo (obs.repo/xxxx etc.) + branch: branch in obs proj such as (openEuler:20.03:LTS:SP1, openEuler:20.03:LTS:SP1:EPOL, etc.) + + return: + pkg_dict = { + src_rpm: [bin_rpm], + ... + } + """ + repo_file = init_env.get_yum_repo_file(branch, init_env.OPENEULER_BRANCH_MAP) + exit_code = main.user_main( + ["--config", repo_file, "makecache"], exit_code=False + ) + sys.modules.clear() + self.assertEqual(exit_code, predict) + + def test_oe2003lts_yum_repo(self): + self._test_yum_repo("openEuler-20.03-LTS", self.DNF_SUCCEED_RTCODE) + + def test_oe2003ltssp1_yum_repo(self): + self._test_yum_repo("openEuler-20.03-LTS-SP1", self.DNF_SUCCEED_RTCODE) + + def test_oe2003ltssp2_yum_repo(self): + self._test_yum_repo("openEuler-20.03-LTS-SP2", self.DNF_SUCCEED_RTCODE) + + def test_oe2003ltssp3_yum_repo(self): + self._test_yum_repo("openEuler-20.03-LTS-SP3", self.DNF_SUCCEED_RTCODE) + + +if __name__ == "__main__": + suite = unittest.makeSuite(YumRepoChecker) + unittest.TextTestRunner().run(suite) diff --git a/release-assistant/javcra/application/checkpart/check_requires/config/oscrc.templete b/release-assistant/javcra/application/checkpart/check_requires/config/oscrc.templete new file mode 100644 index 0000000000000000000000000000000000000000..526ca76630ea8a206cbe4dd3d0fc82df499f009b --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/config/oscrc.templete @@ -0,0 +1,7 @@ +[general] +apiurl=@APIURL@ +no_verify=1 + +[@APIURL@] +user=@USERNAME@ +pass=@PASSWORD@ \ No newline at end of file diff --git a/release-assistant/javcra/application/checkpart/check_requires/config/support_branch.yaml b/release-assistant/javcra/application/checkpart/check_requires/config/support_branch.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e18a14892289f54ebadabfb6f23006fd9c9bbd83 --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/config/support_branch.yaml @@ -0,0 +1,9 @@ +openEuler : + openEuler-20.03-LTS: + obs_alias: "openEuler:20.03:LTS" + openEuler-20.03-LTS-SP1: + obs_alias: "openEuler:20.03:LTS:SP1" + openEuler-20.03-LTS-SP2: + obs_alias: "openEuler:20.03:LTS:SP2" + openEuler-20.03-LTS-SP3: + obs_alias: "openEuler:20.03:LTS:SP3" \ No newline at end of file diff --git a/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP1.repo b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP1.repo new file mode 100644 index 0000000000000000000000000000000000000000..bea709e2a576c06e9e739b572a24667974acce2f --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP1.repo @@ -0,0 +1,93 @@ +#generic-repos is licensed under the Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# http://license.coscl.org.cn/MulanPSL2 +#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR +#PURPOSE. +#See the Mulan PSL v2 for more details. + +#binary repo + +[OS] +name=OS +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler + +[everything] +name=everything +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/$basearch/ +enabled=1 +gpgcheck=0 +priority=2 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/$basearch/RPM-GPG-KEY-openEuler + +[update] +name=update +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/$basearch/ +enabled=1 +gpgcheck=0 +priority=1 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/$basearch/RPM-GPG-KEY-openEuler + +[debuginfo] +name=debuginfo +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/debuginfo/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/debuginfo/$basearch/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 + +#source repo + +[everything-src] +name=everything-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/source/$basearch/RPM-GPG-KEY-openEuler + +[update-src] +name=update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/update/source/RPM-GPG-KEY-openEuler + +#EPOL binary repo + +[EPOL] +name=EPOL +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/EPOL/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/$basearch/RPM-GPG-KEY-openEuler + +[Epol-src] +name=Epol-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/Epol/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/Epol/source/RPM-GPG-KEY-openEuler + +[Epol-update-src] +name=Epol-update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/Epol/update/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP1/Epol/update/source/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 \ No newline at end of file diff --git a/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP2.repo b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP2.repo new file mode 100644 index 0000000000000000000000000000000000000000..a22c180854edcb68b531a3725233b62327975cbd --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP2.repo @@ -0,0 +1,93 @@ +#generic-repos is licensed under the Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# http://license.coscl.org.cn/MulanPSL2 +#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR +#PURPOSE. +#See the Mulan PSL v2 for more details. + +#binary repo + +[OS] +name=OS +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/OS/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/OS/$basearch/RPM-GPG-KEY-openEuler + +[everything] +name=everything +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/everything/$basearch/ +enabled=1 +gpgcheck=0 +priority=2 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/everything/$basearch/RPM-GPG-KEY-openEuler + +[update] +name=update +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/update/$basearch/ +enabled=1 +gpgcheck=0 +priority=1 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/update/$basearch/RPM-GPG-KEY-openEuler + +[debuginfo] +name=debuginfo +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/debuginfo/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/debuginfo/$basearch/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 + +#source repo + +[everything-src] +name=everything-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/source/$basearch/RPM-GPG-KEY-openEuler + +[update-src] +name=update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/update/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/update/source/RPM-GPG-KEY-openEuler + +#EPOL binary repo + +[EPOL] +name=EPOL +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/EPOL/main/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/OS/$basearch/RPM-GPG-KEY-openEuler + +[Epol-src] +name=Epol-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/Epol/main/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/Epol/source/RPM-GPG-KEY-openEuler + +[Epol-update-src] +name=Epol-update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/Epol/main/update/main/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP2/Epol/update/main/source/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 \ No newline at end of file diff --git a/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP3.repo b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP3.repo new file mode 100644 index 0000000000000000000000000000000000000000..4ed1d94c0e52c2912217fa9c2f6e4398d3e41e66 --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS-SP3.repo @@ -0,0 +1,93 @@ +#generic-repos is licensed under the Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# http://license.coscl.org.cn/MulanPSL2 +#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR +#PURPOSE. +#See the Mulan PSL v2 for more details. + +#binary repo + +[OS] +name=OS +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/OS/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler + +[everything] +name=everything +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/everything/$basearch/ +enabled=1 +gpgcheck=0 +priority=2 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/everything/$basearch/RPM-GPG-KEY-openEuler + +[update] +name=update +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/update/$basearch/ +enabled=1 +gpgcheck=0 +priority=1 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/update/$basearch/RPM-GPG-KEY-openEuler + +[debuginfo] +name=debuginfo +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/debuginfo/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/debuginfo/$basearch/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 + +#source repo + +[everything-src] +name=everything-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/source/$basearch/RPM-GPG-KEY-openEuler + +[update-src] +name=update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/update/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/update/source/RPM-GPG-KEY-openEuler + +#EPOL binary repo + +[EPOL] +name=EPOL +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/EPOL/main/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler + +[Epol-src] +name=Epol-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/Epol/main/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/Epol/main/source/RPM-GPG-KEY-openEuler + +[Epol-update-src] +name=Epol-update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/Epol/update/main/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS-SP3/Epol/update/main/source/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 \ No newline at end of file diff --git a/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS.repo b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS.repo new file mode 100644 index 0000000000000000000000000000000000000000..e9007ed7230bbb8c7e951e4e87676e74fa02fea9 --- /dev/null +++ b/release-assistant/javcra/application/checkpart/check_requires/config/yum.repo/openEuler-20.03-LTS.repo @@ -0,0 +1,88 @@ +#generic-repos is licensed under the Mulan PSL v2. +#You can use this software according to the terms and conditions of the Mulan PSL v2. +#You may obtain a copy of Mulan PSL v2 at: +# http://license.coscl.org.cn/MulanPSL2 +#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR +#PURPOSE. +#See the Mulan PSL v2 for more details. + +#binary repo + +[OS] +name=OS +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler + +[everything] +name=everything +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/ +enabled=1 +gpgcheck=0 +priority=2 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler + +[update] +name=update +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/update/$basearch/ +enabled=1 +gpgcheck=0 +priority=1 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/update/$basearch/RPM-GPG-KEY-openEuler + +[debuginfo] +name=debuginfo +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler + +[devel-obs] +name=devel-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_$basearch/ +enabled=1 +gpgcheck=0 +priority=3 + +#source repo + +[everything-src] +name=everything-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/source/$basearch/RPM-GPG-KEY-openEuler + +[update-src] +name=update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/update/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/update/source/RPM-GPG-KEY-openEuler + +#EPOL binary repo + +[EPOL] +name=EPOL +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/EPOL/$basearch/ +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler + +[Epol-update-src] +name=Epol-update-src +baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/Epol/update/source +enabled=0 +gpgcheck=0 +gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/Epol/update/source/RPM-GPG-KEY-openEuler + +[devel-epol-obs] +name=devel-epol-obs +baseurl=http://119.3.219.20:82/openEuler:/20.03:/LTS:/Epol/standard_$basearch/ +enabled=0 +gpgcheck=0 + + +