From c3382e02f777b7a3d5322357e9ff416e34dd9176 Mon Sep 17 00:00:00 2001 From: georgecao Date: Thu, 16 Apr 2020 20:12:15 +0800 Subject: [PATCH] sync openeuler community repo --- CONTRIBUTING.md | 76 + Governance.md | 107 + Jenkinsfile | 60 + LICENSE | 127 + README.md | 99 +- README_cn.md | 60 + code-of-conduct.md | 65 + community-membership.md | 105 + community-membership_cn.md | 120 + en/CLA.md | 33 + en/Gitee-Management/Gitee-management-guide.md | 86 + en/Gitee-Management/README.md | 27 + en/Gitee-Management/Repository.md | 168 + en/Gitee-Management/opening-request.md | 28 + en/Gitee-Management/permissions.md | 2 + en/communication/IRCs.md | 71 + en/communication/Mails.md | 55 + en/communication/README.md | 12 + en/contributors/Gitee-workflow.md | 191 + en/contributors/README.md | 218 + en/contributors/issue-submit.md | 63 + en/contributors/non-code-contributions.md | 49 + en/contributors/packaging.md | 262 + en/contributors/pull-requests.md | 72 + en/governance/README.md | 45 + en/secretariat/README.md | 28 + en/security-committee/README.md | 42 + en/sig-infrastructure/README.md | 43 + en/sig-infrastructure/Repository.md | 171 + en/sig-infrastructure/command.md | 196 + en/sig-infrastructure/label.md | 49 + en/technical-committee/README.md | 59 + en/technical-committee/governance/README.md | 91 + .../governance/SIG-governance-requirements.md | 74 + .../governance/SIG-governance.md | 140 + .../governance/template-release.md | 40 + en/use-guide.md | 27 + meeting_records/README.md | 72 + repository/openeuler.yaml | 168 + repository/src-openeuler.yaml | 14116 ++++++++++++++++ sig/A-Tune/OWNERS | 5 + sig/A-Tune/README.md | 52 + sig/Application/OWNERS | 7 + sig/Application/README.md | 52 + sig/Base-service/OWNERS | 7 + sig/Base-service/README.md | 51 + sig/Compiler/OWNERS | 4 + sig/Compiler/README.md | 51 + sig/Computing/OWNERS | 3 + sig/Computing/README.md | 51 + sig/Container/OWNERS | 4 + sig/Container/README.md | 51 + sig/DB/OWNERS | 5 + sig/DB/README.md | 51 + sig/Desktop/OWNERS | 3 + sig/Desktop/README.md | 51 + sig/Infrastructure/OWNERS | 10 + sig/Infrastructure/README.md | 63 + sig/Infrastructure/charter.md | 1 + sig/Kernel/OWNERS | 4 + sig/Kernel/README.md | 51 + sig/Networking/OWNERS | 7 + sig/Networking/README.md | 51 + sig/Others/OWNERS | 2 + sig/Others/README.md | 51 + sig/Packaging/OWNERS | 5 + sig/Packaging/README.md | 51 + sig/Private/OWNERS | 135 + sig/Private/README.md | 51 + sig/Programming-language/OWNERS | 17 + sig/Programming-language/README.md | 51 + sig/Runtime/OWNERS | 5 + sig/Runtime/README.md | 51 + sig/Storage/OWNERS | 4 + sig/Storage/README.md | 51 + sig/System-tool/OWNERS | 9 + sig/System-tool/README.md | 51 + sig/TC/OWNERS | 8 + sig/TC/README.md | 36 + sig/Virt/OWNERS | 4 + sig/Virt/README.md | 51 + sig/atune/OWNERS | 2 + sig/atune/README.md | 51 + sig/dev-utils/OWNERS | 11 + sig/dev-utils/README.md | 79 + sig/dev-utils/sig-dev-utils.md | 50 + sig/dev-utils/sig-dev-utils_cn.md | 20 + sig/doc/OWNERS | 4 + sig/doc/README.md | 51 + sig/doc/sig-template.md | 41 + sig/doc/sig-template_cn.md | 41 + sig/iSulad/OWNERS | 4 + sig/iSulad/README.md | 51 + sig/kae/OWNERS | 3 + sig/kae/README.md | 51 + sig/oVirt/OWNERS | 4 + sig/oVirt/README.md | 105 + sig/oVirt/sig-oVirt.md | 127 + sig/oVirt/sig-oVirt_cn.md | 126 + sig/security-committee/OWNERS | 5 + sig/security-committee/README.md | 51 + sig/sig-Community/OWNERS | 7 + sig/sig-Community/README.md | 51 + sig/sig-Community/sig-community.md | 64 + sig/sig-Community/sig-community_cn.md | 20 + sig/sig-Ha/OWNERS | 4 + sig/sig-Ha/README.md | 49 + sig/sig-Ha/sig-Ha.md | 74 + sig/sig-Ha/sig-Ha_cn.md | 73 + sig/sig-Kernel/OWNERS | 4 + sig/sig-Kernel/README.md | 51 + sig/sig-Kubernetes/OWNERS | 3 + sig/sig-Kubernetes/README.md | 36 + sig/sig-Kubernetes/sig-template.md | 61 + sig/sig-Kubernetes/sig-template_cn.md | 30 + sig/sig-RaspberryPi/OWNERS | 3 + sig/sig-RaspberryPi/README.md | 40 + sig/sig-RaspberryPi/sig-RaspberryPi.md | 51 + sig/sig-RaspberryPi/sig-RaspberryPi_cn.md | 53 + sig/sig-UKUI/OWNERS | 7 + sig/sig-UKUI/README.md | 39 + sig/sig-UKUI/sig-UKUI.md | 86 + sig/sig-UKUI/sig-UKUI_cn.md | 82 + sig/sig-ai-bigdata/OWNERS | 6 + sig/sig-ai-bigdata/README.md | 46 + sig/sig-ai-bigdata/sig-ai-bigdata.md | 66 + sig/sig-ai-bigdata/sig-ai-bigdata_cn.md | 48 + sig/sig-bounds_checking_function/OWNERS | 3 + sig/sig-bounds_checking_function/README.md | 31 + .../sig-bounds_checking_function.md | 26 + .../sig-bounds_checking_function_cn.md | 19 + sig/sig-dpdk/OWNERS | 4 + sig/sig-dpdk/README.md | 49 + sig/sig-dpdk/sig-dpdk.md | 55 + sig/sig-dpdk/sig-dpdk_cn.md | 19 + sig/sig-mate-desktop/OWNERS | 3 + sig/sig-mate-desktop/README.md | 65 + sig/sig-mate-desktop/sig-mate-desktop.md | 69 + sig/sig-mate-desktop/sig-mate-desktop_cn.md | 34 + sig/sig-template/OWNERS | 4 + sig/sig-template/README.md | 54 + sig/sig-template/sig-template.md | 64 + sig/sig-template/sig-template_cn.md | 39 + sig/sigs.yaml | 4213 +++++ zh/CLA.md | 30 + zh/Gitee-Management/Gitee-management-guide.md | 86 + zh/Gitee-Management/README.md | 25 + zh/Gitee-Management/Repository.md | 168 + zh/Gitee-Management/opening-request.md | 28 + zh/Gitee-Management/permissions.md | 2 + zh/communication/IRCs.md | 75 + zh/communication/Mails.md | 53 + zh/communication/README.md | 15 + zh/contributors/Gitee-workflow.md | 298 + zh/contributors/README.md | 240 + .../figure/Gitee-workflow-CopyLink.JPG | Bin 0 -> 85143 bytes zh/contributors/figure/Gitee-workflow-PR1.JPG | Bin 0 -> 125641 bytes zh/contributors/figure/Gitee-workflow-PR2.JPG | Bin 0 -> 150577 bytes .../figure/Gitee-workflow-addSSHKey.JPG | Bin 0 -> 32971 bytes .../figure/Gitee-workflow-confict.JPG | Bin 0 -> 21337 bytes .../figure/Gitee-workflow-fork.JPG | Bin 0 -> 42332 bytes .../figure/Issue\345\233\276\346\240\207" | Bin 0 -> 10710 bytes zh/contributors/figure/error-report.JPG | Bin 0 -> 30860 bytes zh/contributors/figure/issue-process-bug.jpg | Bin 0 -> 90301 bytes .../figure/issue-process-requirement.jpg | Bin 0 -> 38361 bytes zh/contributors/figure/issue-submit-new.JPG | Bin 0 -> 69662 bytes zh/contributors/figure/issue-submit-tool.JPG | Bin 0 -> 15970 bytes .../figure/issue-submit-viewOne.JPG | Bin 0 -> 90682 bytes .../figure/issue-submit-viewall.JPG | Bin 0 -> 37062 bytes .../figure/pull-request-autotest.JPG | Bin 0 -> 85073 bytes .../figure/pull-request-autotest2.JPG | Bin 0 -> 168110 bytes .../figure/pull-request-review.JPG | Bin 0 -> 17510 bytes .../figure/pull-request-review2.JPG | Bin 0 -> 59958 bytes zh/contributors/icon/icon-caution.gif | Bin 0 -> 580 bytes zh/contributors/icon/icon-danger.gif | Bin 0 -> 580 bytes zh/contributors/icon/icon-note.gif | Bin 0 -> 394 bytes zh/contributors/icon/icon-notice.gif | Bin 0 -> 406 bytes zh/contributors/icon/icon-tip.gif | Bin 0 -> 253 bytes zh/contributors/icon/icon-warning.gif | Bin 0 -> 580 bytes zh/contributors/issue-submit.md | 218 + zh/contributors/non-code-contributions.md | 49 + zh/contributors/package-install.md | 132 + zh/contributors/packaging.md | 271 + zh/contributors/prepare-environment.md | 224 + zh/contributors/pull-request.md | 105 + zh/contributors/pull-requests.md | 71 + zh/contributors/rule-introduce-package.md | 571 + zh/governance/README.md | 58 + zh/secretariat/README.md | 25 + zh/security-committee/OWNERS.yaml | 5 + zh/security-committee/README.md | 71 + .../private-distributors-list.md | 41 + zh/security-committee/security-committee.md | 32 + zh/security-committee/security-disclosure.md | 52 + zh/security-committee/security-evaluation.md | 77 + zh/security-committee/security-process.md | 271 + zh/security-committee/security-rating.md | 44 + .../template-security-bug.md | 28 + ...4\347\220\206\346\265\201\347\250\213.jpg" | Bin 0 -> 151041 bytes zh/sig-infrastructure/README.md | 39 + zh/sig-infrastructure/Repository.md | 168 + zh/sig-infrastructure/command.md | 196 + zh/sig-infrastructure/label.md | 49 + zh/technical-committee/README.md | 43 + zh/technical-committee/governance/README.md | 320 + .../governance/SIG-governance-requirements.md | 72 + .../governance/SIG-governance.md | 138 + .../governance/template-release.md | 38 + zh/technical-committee/next-meeting-topics.md | 1 + 209 files changed, 29857 insertions(+), 39 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 Governance.md create mode 100644 Jenkinsfile create mode 100644 LICENSE create mode 100644 README_cn.md create mode 100644 code-of-conduct.md create mode 100644 community-membership.md create mode 100644 community-membership_cn.md create mode 100644 en/CLA.md create mode 100644 en/Gitee-Management/Gitee-management-guide.md create mode 100644 en/Gitee-Management/README.md create mode 100644 en/Gitee-Management/Repository.md create mode 100644 en/Gitee-Management/opening-request.md create mode 100644 en/Gitee-Management/permissions.md create mode 100644 en/communication/IRCs.md create mode 100644 en/communication/Mails.md create mode 100644 en/communication/README.md create mode 100644 en/contributors/Gitee-workflow.md create mode 100644 en/contributors/README.md create mode 100644 en/contributors/issue-submit.md create mode 100644 en/contributors/non-code-contributions.md create mode 100644 en/contributors/packaging.md create mode 100644 en/contributors/pull-requests.md create mode 100644 en/governance/README.md create mode 100644 en/secretariat/README.md create mode 100644 en/security-committee/README.md create mode 100644 en/sig-infrastructure/README.md create mode 100644 en/sig-infrastructure/Repository.md create mode 100644 en/sig-infrastructure/command.md create mode 100644 en/sig-infrastructure/label.md create mode 100644 en/technical-committee/README.md create mode 100644 en/technical-committee/governance/README.md create mode 100644 en/technical-committee/governance/SIG-governance-requirements.md create mode 100644 en/technical-committee/governance/SIG-governance.md create mode 100644 en/technical-committee/governance/template-release.md create mode 100644 en/use-guide.md create mode 100644 meeting_records/README.md create mode 100644 repository/openeuler.yaml create mode 100644 repository/src-openeuler.yaml create mode 100644 sig/A-Tune/OWNERS create mode 100644 sig/A-Tune/README.md create mode 100644 sig/Application/OWNERS create mode 100644 sig/Application/README.md create mode 100644 sig/Base-service/OWNERS create mode 100644 sig/Base-service/README.md create mode 100644 sig/Compiler/OWNERS create mode 100644 sig/Compiler/README.md create mode 100644 sig/Computing/OWNERS create mode 100644 sig/Computing/README.md create mode 100644 sig/Container/OWNERS create mode 100644 sig/Container/README.md create mode 100644 sig/DB/OWNERS create mode 100644 sig/DB/README.md create mode 100644 sig/Desktop/OWNERS create mode 100644 sig/Desktop/README.md create mode 100644 sig/Infrastructure/OWNERS create mode 100644 sig/Infrastructure/README.md create mode 100644 sig/Infrastructure/charter.md create mode 100644 sig/Kernel/OWNERS create mode 100644 sig/Kernel/README.md create mode 100644 sig/Networking/OWNERS create mode 100644 sig/Networking/README.md create mode 100644 sig/Others/OWNERS create mode 100644 sig/Others/README.md create mode 100644 sig/Packaging/OWNERS create mode 100644 sig/Packaging/README.md create mode 100644 sig/Private/OWNERS create mode 100644 sig/Private/README.md create mode 100644 sig/Programming-language/OWNERS create mode 100644 sig/Programming-language/README.md create mode 100644 sig/Runtime/OWNERS create mode 100644 sig/Runtime/README.md create mode 100644 sig/Storage/OWNERS create mode 100644 sig/Storage/README.md create mode 100644 sig/System-tool/OWNERS create mode 100644 sig/System-tool/README.md create mode 100644 sig/TC/OWNERS create mode 100644 sig/TC/README.md create mode 100644 sig/Virt/OWNERS create mode 100644 sig/Virt/README.md create mode 100644 sig/atune/OWNERS create mode 100644 sig/atune/README.md create mode 100644 sig/dev-utils/OWNERS create mode 100644 sig/dev-utils/README.md create mode 100644 sig/dev-utils/sig-dev-utils.md create mode 100644 sig/dev-utils/sig-dev-utils_cn.md create mode 100644 sig/doc/OWNERS create mode 100644 sig/doc/README.md create mode 100644 sig/doc/sig-template.md create mode 100644 sig/doc/sig-template_cn.md create mode 100644 sig/iSulad/OWNERS create mode 100644 sig/iSulad/README.md create mode 100644 sig/kae/OWNERS create mode 100644 sig/kae/README.md create mode 100644 sig/oVirt/OWNERS create mode 100644 sig/oVirt/README.md create mode 100644 sig/oVirt/sig-oVirt.md create mode 100644 sig/oVirt/sig-oVirt_cn.md create mode 100644 sig/security-committee/OWNERS create mode 100644 sig/security-committee/README.md create mode 100644 sig/sig-Community/OWNERS create mode 100644 sig/sig-Community/README.md create mode 100644 sig/sig-Community/sig-community.md create mode 100644 sig/sig-Community/sig-community_cn.md create mode 100644 sig/sig-Ha/OWNERS create mode 100644 sig/sig-Ha/README.md create mode 100644 sig/sig-Ha/sig-Ha.md create mode 100644 sig/sig-Ha/sig-Ha_cn.md create mode 100644 sig/sig-Kernel/OWNERS create mode 100644 sig/sig-Kernel/README.md create mode 100644 sig/sig-Kubernetes/OWNERS create mode 100644 sig/sig-Kubernetes/README.md create mode 100644 sig/sig-Kubernetes/sig-template.md create mode 100644 sig/sig-Kubernetes/sig-template_cn.md create mode 100644 sig/sig-RaspberryPi/OWNERS create mode 100644 sig/sig-RaspberryPi/README.md create mode 100644 sig/sig-RaspberryPi/sig-RaspberryPi.md create mode 100644 sig/sig-RaspberryPi/sig-RaspberryPi_cn.md create mode 100644 sig/sig-UKUI/OWNERS create mode 100644 sig/sig-UKUI/README.md create mode 100644 sig/sig-UKUI/sig-UKUI.md create mode 100644 sig/sig-UKUI/sig-UKUI_cn.md create mode 100644 sig/sig-ai-bigdata/OWNERS create mode 100644 sig/sig-ai-bigdata/README.md create mode 100644 sig/sig-ai-bigdata/sig-ai-bigdata.md create mode 100644 sig/sig-ai-bigdata/sig-ai-bigdata_cn.md create mode 100644 sig/sig-bounds_checking_function/OWNERS create mode 100644 sig/sig-bounds_checking_function/README.md create mode 100644 sig/sig-bounds_checking_function/sig-bounds_checking_function.md create mode 100644 sig/sig-bounds_checking_function/sig-bounds_checking_function_cn.md create mode 100644 sig/sig-dpdk/OWNERS create mode 100644 sig/sig-dpdk/README.md create mode 100644 sig/sig-dpdk/sig-dpdk.md create mode 100644 sig/sig-dpdk/sig-dpdk_cn.md create mode 100644 sig/sig-mate-desktop/OWNERS create mode 100644 sig/sig-mate-desktop/README.md create mode 100644 sig/sig-mate-desktop/sig-mate-desktop.md create mode 100644 sig/sig-mate-desktop/sig-mate-desktop_cn.md create mode 100644 sig/sig-template/OWNERS create mode 100644 sig/sig-template/README.md create mode 100644 sig/sig-template/sig-template.md create mode 100644 sig/sig-template/sig-template_cn.md create mode 100644 sig/sigs.yaml create mode 100644 zh/CLA.md create mode 100644 zh/Gitee-Management/Gitee-management-guide.md create mode 100644 zh/Gitee-Management/README.md create mode 100644 zh/Gitee-Management/Repository.md create mode 100644 zh/Gitee-Management/opening-request.md create mode 100644 zh/Gitee-Management/permissions.md create mode 100644 zh/communication/IRCs.md create mode 100644 zh/communication/Mails.md create mode 100644 zh/communication/README.md create mode 100644 zh/contributors/Gitee-workflow.md create mode 100644 zh/contributors/README.md create mode 100644 zh/contributors/figure/Gitee-workflow-CopyLink.JPG create mode 100644 zh/contributors/figure/Gitee-workflow-PR1.JPG create mode 100644 zh/contributors/figure/Gitee-workflow-PR2.JPG create mode 100644 zh/contributors/figure/Gitee-workflow-addSSHKey.JPG create mode 100644 zh/contributors/figure/Gitee-workflow-confict.JPG create mode 100644 zh/contributors/figure/Gitee-workflow-fork.JPG create mode 100644 "zh/contributors/figure/Issue\345\233\276\346\240\207" create mode 100644 zh/contributors/figure/error-report.JPG create mode 100644 zh/contributors/figure/issue-process-bug.jpg create mode 100644 zh/contributors/figure/issue-process-requirement.jpg create mode 100644 zh/contributors/figure/issue-submit-new.JPG create mode 100644 zh/contributors/figure/issue-submit-tool.JPG create mode 100644 zh/contributors/figure/issue-submit-viewOne.JPG create mode 100644 zh/contributors/figure/issue-submit-viewall.JPG create mode 100644 zh/contributors/figure/pull-request-autotest.JPG create mode 100644 zh/contributors/figure/pull-request-autotest2.JPG create mode 100644 zh/contributors/figure/pull-request-review.JPG create mode 100644 zh/contributors/figure/pull-request-review2.JPG create mode 100644 zh/contributors/icon/icon-caution.gif create mode 100644 zh/contributors/icon/icon-danger.gif create mode 100644 zh/contributors/icon/icon-note.gif create mode 100644 zh/contributors/icon/icon-notice.gif create mode 100644 zh/contributors/icon/icon-tip.gif create mode 100644 zh/contributors/icon/icon-warning.gif create mode 100644 zh/contributors/issue-submit.md create mode 100644 zh/contributors/non-code-contributions.md create mode 100644 zh/contributors/package-install.md create mode 100644 zh/contributors/packaging.md create mode 100644 zh/contributors/prepare-environment.md create mode 100644 zh/contributors/pull-request.md create mode 100644 zh/contributors/pull-requests.md create mode 100644 zh/contributors/rule-introduce-package.md create mode 100644 zh/governance/README.md create mode 100644 zh/secretariat/README.md create mode 100644 zh/security-committee/OWNERS.yaml create mode 100644 zh/security-committee/README.md create mode 100644 zh/security-committee/private-distributors-list.md create mode 100644 zh/security-committee/security-committee.md create mode 100644 zh/security-committee/security-disclosure.md create mode 100644 zh/security-committee/security-evaluation.md create mode 100644 zh/security-committee/security-process.md create mode 100644 zh/security-committee/security-rating.md create mode 100644 zh/security-committee/template-security-bug.md create mode 100644 "zh/security-committee/\345\256\211\345\205\250\351\227\256\351\242\230\345\244\204\347\220\206\346\265\201\347\250\213.jpg" create mode 100644 zh/sig-infrastructure/README.md create mode 100644 zh/sig-infrastructure/Repository.md create mode 100644 zh/sig-infrastructure/command.md create mode 100644 zh/sig-infrastructure/label.md create mode 100644 zh/technical-committee/README.md create mode 100644 zh/technical-committee/governance/README.md create mode 100644 zh/technical-committee/governance/SIG-governance-requirements.md create mode 100644 zh/technical-committee/governance/SIG-governance.md create mode 100644 zh/technical-committee/governance/template-release.md create mode 100644 zh/technical-committee/next-meeting-topics.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..47640c0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# How to contribute + +## Report issues + +A great way to contribute to the project is to send a detailed report when you encounter an issue. We always appreciate a well-written, thorough bug report and feature propose, and will appreciate you for it! + +### Issues format + +When reporting issues, refer to this format: + +- Is this a BUG REPORT or FEATURE REQUEST? +- What happened? +- What you expected to happen? +- What happened? +- How to reproduce it (as minimally and precisely as possible) +- Anything else we need to know? +- Environment + +See more about [ISSUE_TEMPLATE](.gitee/ISSUE_TEMPLATE.en.md). + +## Submit pull requests + +If you are a beginner and expect this project as the gate to open source world, this tutorial is one of the best choices for you. Just follow the guidance and you will find the pleasure to become a contributor. + +### Step 1: Fork repository + +Before making modifications of this project, you need to make sure that this project have been forked to your own +repository. It means that there will be parallel development between this repo and your own repo, so be careful +to avoid the inconsistency between these two repos. + +### Step 2: Clone the remote repository + +If you want to download the code to the local machine, ```git``` is the best way: +``` +git clone https://your_repo_url/community.git +``` + +### Step 3: Develop code locally + +To avoid inconsistency between multiple branches, we SUGGEST checking out to a new branch: +``` +git checkout -b new_branch_name origin/master +``` +Then you can change the code arbitrarily. + +### Step 4: Push the code to the remote repository + +After updating the code, you should push the update in the formal way: +``` +git add . +git status (Check the update status) +git commit -m "Your commit description" +git commit --amend (Add the concrete description of your commit) +git push origin new_branch_name +``` + +### Step 5: Pull a request to repository + +In the last step, your need to pull a compare request between your new branch and development branch. After +finishing the pull request, the CI will be automatically set up for building test. + +### Pull requests format + +When submitting pull requests, refer to this format: + +- What this PR does / why we need it? +- Which issue this PR fixes? +- Special notes for your reviewer +- Release note + +See more about [PULL_REQUEST_TEMPLATE](.gitee/PULL_REQUEST_TEMPLATE.en.md). + +### Code style + +```TO BE DEFINED``` + diff --git a/Governance.md b/Governance.md new file mode 100644 index 0000000..7b8fa5e --- /dev/null +++ b/Governance.md @@ -0,0 +1,107 @@ +这里记录了openEuler社区当前的运作方式。 + + + +# 原则 +openEuler社区遵循以下原则: ++ **开放**:openEuler是开源的和开放的 ++ **尊重**:社区里的每一个人都必须遵守社区的行为准则 ++ **透明**:社区内的工作和沟通都是以公开的形式进行的 ++ **领先**:欢迎在社区开展技术孵化创新 + + + +## 行为守则 + +openEuler社区遵循[社区行为准则](code-of-conduct.md) + + + + +## 社区成员 + +请查看[社区成员](community-membership_cn.md) + + + + +## 社区团体 + +请查看[社区团体](https://openeuler.org/zh/sig.html) + + + +### SIG (Special Interest Group) + +------ + +openEuler社区主要的组织构成是**SIG**。 + +每个SIG的共同目的都是针对特定的一个或多个主题,推动交付成果输出,并争取让交付成果成为openEuler社区发行的一部分或者openEuler扩展包的一部分。SIG的每个可识别的部分都属于该SIG,包括存储库、目录、API、测试、问题、PR等。 + +SIG在任何给定时间内必须至少有一个或多个Maintainer。Maintainer负责SIG的运作,通过SIG的治理实现特定的目标,并与团队成员一起与技术委员会、其他SIG组、用户进行交流协同。 + +每个SIG都必须有一个章程,其中规定了SIG的业务范围(主题、代码库、目录等)、职责、权限区域,如何选择/授予权限/领导权的成员和角色,如何制定决策和解决冲突,如何管理章程等信息。在一些跨SIG流程(如发布流程)和资产(如存储库)的广泛指导原则约束下,SIG可以相对自定义的更改其操作方式。 + +SIG组内的交流必须是公开的,以确保其他SIG组的社区成员可以找到讨论、会议、涉及和决策的记录,SIG也需要定期向社区传递项目的工作概要。 + +有关SIG的治理的更多详细信息,请参考[SIG治理](/zh/technical-committee/governance/SIG-governance.md)、[SIG治理要求](/zh/technical-committee/governance/SIG-governance-requirements.md)。 + +[SIG文件夹](sig/)内记录了openEuler社区当前的所有SIG。 + + + +#### SIG、项目和repository + +> **SIG**:顾名思义,是一个团队,代表一群**“人”** +> +> **项目**:是为了完成某一特定目标而相互关联的任务,代表一组**“事”** + + + +SIG会针对一个或多个主题树立目标,从而成立项目去实现目标。目标的交付成果(包括代码和软件包)保存在repository内。所以项目和repository是息息相关的。综上SIG、项目和repository的关系是: + +- 一个SIG至少有一个项目 + +- 一个项目对应一个或多个repository(交付成果为便于管理,会保存在多个相关的repository内)。 + +- 一个项目可以由SIG内的一部分人参与,也可以由SIG内的所有人参与。 + + + +**由于项目的相关任务和成果均在repository上管理,所以在openEuler社区,项目等同于repository(ies),它可以代表一个repository,也可以代表一组相关的repository**。 + + + + + +### 委员会 + +SIG是在公开场合运作的自愿团体,任何人都可以加入。但因为某些领域需要谨慎处理(例如安全性),所以委员会不公开成员资格,而且并不总是公开运作。 + + 技术委员会可以根据需要,在有限的时间内成立某一特定委员会。委员会的成员资格由技术委员会决定,但所有委员会成员必须是[社区成员](community-membership_cn.md)。与项目一样,委员会也有章程,并定期向社区和技术委员会报告。 + +[Committee文件夹](committee/)内记录了openEuler社区当前的所有的委员会。 + + + +## 跨项目沟通和协调 + +一方面,跨SIG协调的成本是昂贵的,虽然社区的大部分工作不需要协调,但仍然避免不了有跨越边界的工作(依赖等)。在这种情况下,期望多个SIG之间互相协调并达成共识比较困难,组建联合工作组就显得很有意义了。 + +另一方面,一些SIG确实会对所有SIG产生影响,比如发布、测试、打包等。即使都不需要这些的软件,有时也可能需要进行变更或影响到其他SIG。在这种情况下,所有SIG都应遵守社区范围内的沟通流程。 + +例如:具有影响力的提案需要在社区范围内公告,以便于其他SIG的成员有机会提供反馈和指导。不过本领域的项目拥有本领域的决策权。如果跨项目争议时间较长,则可以上升到技术委员会。 + + + +## Repository指南 + +openEuler Gitee下的所有的Repository都应该遵循[openEule的Repository指南](/zh/Gitee-management/README.md)中描述的过程。 + + + +## CLA + +所有贡献者都必须签署openEuler CLA,请具体看[这里](/zh/CLA.md)。 + diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..4a49f64 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,60 @@ +def giteeCommentHeader = "| Check Name | Build Result | Build Details |\n| --- | --- | --- |\n" +pipeline { + agent { node { label 'docker_enabled' } } + environment { + GITEE_TOKEN = credentials('new_gitee_token_id') + } + stages { + stage('source code clone') { + steps { + checkout([$class: 'GitSCM', + branches: [[name: "FETCH_HEAD"]], + doGenerateSubmoduleConfigurations: false, + extensions: [[$class: 'LocalBranch'], [$class: 'RelativeTargetDirectory', relativeTargetDir: "community"]], + userRemoteConfigs: [[refspec: "+refs/pull/${env.giteePullRequestIid}/MERGE:refs/pull/${env.giteePullRequestIid}/MERGE", + url: "https://${env.GITEE_TOKEN}@gitee.com/openeuler/community"]] + ]) + } + } + stage('validate user and projects'){ + parallel { + stage('validate gitee user') { + steps { + sh "validator owner check -f OWNERS -d ${WORKSPACE}/community/sig -g ${GITEE_TOKEN}" + } + } + stage('validate gitee project') { + steps { + sh '''#!/bin/bash + cd ${WORKSPACE}/community + git fetch origin master:master + export OPENEULER_IGNORE=$(git diff origin/master... -- repository/openeuler.yaml | grep '^+- name:' | sed 's/+- name://g' | tr -d '[:blank:]' | awk '{printf "openeuler/%s,", $0}') + export SRC_OPENEULER_IGNORE=$(git diff origin/master... -- repository/src-openeuler.yaml | grep '^+- name:' | sed 's/+- name://g' | tr -d '[:blank:]' | awk '{printf "src-openeuler/%s,", $0}') + echo "${OPENEULER_IGNORE}${SRC_OPENEULER_IGNORE}" + validator sig checkrepo -f ${WORKSPACE}/community/sig/sigs.yaml -g ${GITEE_TOKEN} -i " ${OPENEULER_IGNORE}${SRC_OPENEULER_IGNORE}" + ''' + } + } + } + } + + } + + post { + success { + script { + comments = giteeCommentHeader + "| User&Project Validation | **success** :white_check_mark: | [#${currentBuild.fullDisplayName}](${env.BUILD_URL}/console) | \n" + } + addGiteeMRComment comment: comments + echo 'succeeeded!' + } + + failure { + script { + comments = giteeCommentHeader + "| User&Project Validation | **failed** :x: | [#${currentBuild.fullDisplayName}](${env.BUILD_URL}/console) | \n" + } + addGiteeMRComment comment: comments + echo 'failed :(' + } + } +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9e32cde --- /dev/null +++ b/LICENSE @@ -0,0 +1,127 @@ + 木兰宽松许可证, 第2版 + + 木兰宽松许可证, 第2版 + 2020年1月 http://license.coscl.org.cn/MulanPSL2 + + + 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + + 0. 定义 + + “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + + “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + + “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + + “法人实体”是指提交贡献的机构及其“关联实体”。 + + “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + + 1. 授予版权许可 + + 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 + + 2. 授予专利许可 + + 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 + + 3. 无商标许可 + + “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 + + 4. 分发限制 + + 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + + 5. 免责声明与责任限制 + + “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 + + 6. 语言 + “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 + + 条款结束 + + 如何将木兰宽松许可证,第2版,应用到您的软件 + + 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: + + 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; + + 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; + + 3, 请将如下声明文本放入每个源文件的头部注释中。 + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under 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. + + + Mulan Permissive Software License,Version 2 + + Mulan Permissive Software License,Version 2 (Mulan PSL v2) + January 2020 http://license.coscl.org.cn/MulanPSL2 + + Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: + + 0. Definition + + Software means the program and related documents which are licensed under this License and comprise all Contribution(s). + + Contribution means the copyrightable work licensed by a particular Contributor under this License. + + Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. + + Legal Entity means the entity making a Contribution and all its Affiliates. + + Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. + + 1. Grant of Copyright License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. + + 2. Grant of Patent License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. + + 3. No Trademark License + + No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. + + 4. Distribution Restriction + + You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. + + 5. Disclaimer of Warranty and Limitation of Liability + + THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 6. Language + + THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. + + END OF THE TERMS AND CONDITIONS + + How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software + + To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: + + i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; + + ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; + + iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. + + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under 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. diff --git a/README.md b/README.md index 664cf3a..4faac48 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,60 @@ -# georgecaotest - -#### 介绍 -{**以下是码云平台说明,您可以替换此简介** -码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +# openEuler Community +English | [简体中文](./README_cn.md) + +Welcome to openEuler Community. + + +## Introduction + +The Community repo is to store all the information about openEuler Community, inclouding governance, how to contribution, SIGs(project teams), Communications and etc. + +## What you can find here + +- [Introduction to openEuler Community](/en/governance) +- Governance + - [Secretariat](/en/secretariat) + - [Security Committee](/zh/security-committee) + - [Technical Committee](/en/security-committee) + - [SIGs](https://openeuler.org/en/sig.html) +- [Events](https://openeuler.org/en/events.html) +- [Contribution Guideline](https://openeuler.org/en/developer.html) + + + +## How to contribute + +When openEuler community is updated, the information should be updated as well here. If you would like to help update the information in this repo, you are very appreciated. + +Please read [How to contribute](CONTRIBUTING.md) to get detailed guidance. + +## Maintainers + +### [TC members](/en/technical-committee) have the rights over the following folders + ./repository + ./sig + +### Blog team have the rights over [openEuler Blog](https://gitee.com/openeuler/blog/) +1. Xing Zhu (@shredstar), since February, 2020 +2. Perl(@pearl405), since February, 2020 +3. ZhengyuhangHans(@ZhengyuhangHans), since February, 2020 + +### The rest of folders under this repo +1. Fred Li(@zerodefect), since December, 2019 +2. 杨丽(@yangli69393), since December, 2019 +3. blueskycs2c(@blueskycs2c), since March, 2020 + +## Contributors +1. freesky-edward(@freesky-edward), since August, 2019 +2. xiangxinyong(@xiangxinyong), since August, 2019 +3. blueskycs2c(@blueskycs2c), since February, 2020 +4. Ivye(@Ivye), since March, 2020 + +## Contact + +Mail: community@openeuler.org + +IRC: #openeuler-community + +## Meeting + +Find [meeting schedule here](/meeting_records/README.md). diff --git a/README_cn.md b/README_cn.md new file mode 100644 index 0000000..da59400 --- /dev/null +++ b/README_cn.md @@ -0,0 +1,60 @@ +# openEuler社区 +[English](./README.md) | 简体中文 + + +欢迎来到openEuler社区。 + + +## 介绍 + +代码仓Community保存了关于openEuler社区的所有信息,包括社区治理、社区活动、开发者贡献指南、沟通交流指南等内容。 + +## 这里有什么? + +- [openEuler社区介绍](/zh/governance) +- 社区治理组织架构 + - [秘书处](/zh/secretariat) + - [安全委员会](/zh/security-committee) + - [技术委员会](/zh/technical-committee) + - [SIG](https://openeuler.org/zh/sig.html) +- [社区活动](https://openeuler.org/zh/events.html) +- [开发者贡献指南](https://openeuler.org/zh/developer.html) + + +## 如何在本代码仓贡献 + +当openEuler社区有信息刷新时,这里的文档也需要同步刷新。很感谢您愿意帮助刷新内容。 + +请阅读[如何贡献](/CONTRIBUTING.md)获得帮助。 + +## 本代码仓的Maintainer + +### [技术委员会](/zh/technical-committee) 管理如下目录的权限 + ./repository + ./sig + +### 博客团队管理[openEuler Blog](https://gitee.com/openeuler/blog/) +1. Xing Zhu (@shredstar),从2020年2月份开始 +2. Perl(@pearl405),从2020年2月份开始 +3. ZhengyuhangHans(@ZhengyuhangHans),从2020年2月份开始 + +### 该代码仓的其他目录Maintainers +1. Fred Li(@zerodefect),从2019年12月开始 +2. 杨丽(@yangli69393),从2019年12月开始 +3. blueskycs2c(@blueskycs2c), 从2020年3月开始 + +## 本代码仓的Contributors +1. freesky-edward(@freesky-edward),从2019年8月开始 +2. xiangxinyong(@xiangxinyong),从2019年8月开始 +3. blueskycs2c(@blueskycs2c),从2020年2月开始 +4. Ivye(@Ivye),从2020年3月开始 + +## 联系方式 + +Mail: community@openeuler.org + +IRC: #openeuler-community + +## 会议 + +会议安排[在此](/meeting_records/README.md)。 \ No newline at end of file diff --git a/code-of-conduct.md b/code-of-conduct.md new file mode 100644 index 0000000..d5eb4b9 --- /dev/null +++ b/code-of-conduct.md @@ -0,0 +1,65 @@ +# openEuler社区行为守则 + +openEuelr社区遵守开源社区[《贡献者公约》](https://contributor-covenant.org)V1.4中规定的行为守则,请参考[V1.4版本](https://www.contributor-covenant.org/zh-cn/version/1/4/code-of-conduct.html) + + + +如需举报侮辱、骚扰或其他不可接受的行为,您可以发送邮件至tc@openeuler.org,联系openEuler技术委员会处理。 + + + +## 贡献者们的承诺 + +为建设开放友好的环境,我们贡献者和维护者承诺:不论年龄、体型、身体健全与否、民族、性征、性别认同与表征、经验水平、教育程度、社会地位、国籍、相貌、种族、信仰、性取向,我们项目和社区的参与者皆免于骚扰。 + + + +## 我们的准则 + +有助于创造积极环境的行为包括但不限于: + +* 措辞友好且包容 +* 尊重不同的观点和经验 +* 耐心接受有益批评 +* 关注对社区最有利的事情 +* 与社区其他成员友善相处 + +参与者不应采取的行为包括但不限于: + +* 发布与性有关的言论或图像、不受欢迎地献殷勤 +* 捣乱/煽动/造谣行为、侮辱/贬损的评论、人身及政治攻击 +* 公开或私下骚扰 +* 未经明确授权便发布他人的资料,如住址、电子邮箱等 +* 其他有理由认定为违反职业操守的不当行为 + + + +## 我们的义务 + +项目维护者有义务诠释何谓“妥当行为”,并妥善公正地纠正已发生的不当行为。 + +项目维护者有权利和义务去删除、编辑、拒绝违背本行为标准的评论(comments)、提交(commits)、代码、wiki 编辑、问题(issues)等贡献;项目维护者可暂时或永久地封禁任何他们认为行为不当、威胁、冒犯、有害的参与者。 + + + +## 适用范围 + +本行为标准适用于本项目。当有人代表本项目或本社区时,本标准亦适用于此人所处的公共平台。 + +代表本项目或本社区的情形包括但不限于:使用项目的官方电子邮件、通过官方媒体账号发布消息、作为指定代表参与在线或线下活动等。 + +代表本项目的行为可由项目维护者进一步定义及解释。 + + + +## 贯彻落实 + +可以致信tc@openeuler.org,向项目团队举报滥用、骚扰及不当行为。 + +维护团队将审议并调查全部投诉,妥善地予以必要的回应。项目团队有义务保密举报者信息。具体执行方针或将另行发布。 + +未切实遵守或执行本行为标准的项目维护人员,经项目负责人或其他成员决议,可能被暂时或永久地剥夺参与本项目的资格。 + + + + diff --git a/community-membership.md b/community-membership.md new file mode 100644 index 0000000..5882f8b --- /dev/null +++ b/community-membership.md @@ -0,0 +1,105 @@ +# Community Member + + +This article briefly describes the responsibilities and privilege of the contributor in the openEuler community. The responsibilities of most contributor are limited to SIG (Special Interest groups) : +|Role| Responsibilities |Requirement|Defined Document| +|:-----------|:-------------------- |:----------------------------------------------------- |:----------------------------------------------------------- | +|Contributor|Contributors of the project|| Registered members on Gitee| +|Committer| Review and approve the contributions submitted| Frequently contributing to SIG, experienced,and willing to undertake review work | *developer* entry in the OWNERS file owned by openEuler SIG| +| Maintainer| Owner of the project| Experienced, responsible, outstanding technologies and management skills| *developer* entry in the OWNERS file owned by openEuler SIG | + +*Description*:The permissions of Maintainer and Committer are the same on Gitee, and the difference lies in the scope of SIG governance. The detailed informationes are described below. + +## New Contributor + +Welcome to join the community. Start contributing by referring to [contribution guidience](/en/contributors/README.md). + + +## Existing Community Member + + +Existing community members should follow the principles in this article and be familiar with SIG's organization, roles, policies, software, and etc. At the same time, they should have corresponding technical and writing skills. The detailed informatione of responsibilities and requirements of the community member are described below. + + +## Contributor +Contributors are people who frequently contribute to the community. They take part in SIG group activities, resolve questions, review PR, and complete tests before submitting the PR. + + +### Requirement + ++ Registered member on Gitee ++ Contribute to SIG or community in many ways, including but not limited to: + + Submitting or reviewing PR(Pull Request) on Gitee + + Documenting or commenting issues on Gitee + + Participating in SIG or community discussions ++ Read [Contribution Guideline](/en/contributors/README.md) ++ Join one or more SIGs + +### Responsibility and Power + ++ Respond to assigned issues and PR(Pull Request) ++ Contributed code should satisfy the criteria described below + + Well tested + + Passing the test correctly and completely + + Resolving subsequent errors or problems ++ Agree PR by executing '/ lgtm' ++ Assign issue or PR, ask memebers to comment by execting`/assign @username` ++ Run PR test automatically. `/ok-to-test` is not necessary ++ Operate the PR with `needs-ok-to-test` label by execting `/ok-to-test` and close PR by execting `/close`. + +**Note**: Contributors should actively take part in code review and if they'd like to help more, strive to be a *Committer* of SIG. + +## Committer + +Committers can review the quality and correctness of code in SIG or some parts of SIG. Committers should have a good knowledge of code repository and software engineering principles. + +**Definition**:*developer* entry in the OWNERS file owned by each SIG. + +### Requirement + ++ Have worked in openEuler for At least 3 months as contributors ++ Participated in at least 6 PR reviews as the main reviewer ++ Review or merge at least 30 PR into the code repo ++ Being Familiar with code repo ++ Can be self-nominated or nominated by the committers or maintainer of the SIG + +### Responsibility and Privilege + ++ **Review PR**:Review the PR submitted by contributor. The review can refer to [编程建议]() and [安全编程规范](). ++ **Distribute and deal with problems**:Please refer to [问题处理流程]() . ++ **Tracking dependency issues**:In the development branch, software package's dependencies in the SIG may be broken due to the software package updates in other SIG. At this time, the Committer will receive an alert. Then, the committer should try to rebuild the software package. Because dependency problem may prevent users from updating the system, the build team will also participates in rebuilding packages that have dependency issues, but the Maintainer should not rely on these works. ++ **Notify SIG that may be affected due to interface changes**:Because other SIGs or projects rely on software package of this SIG, changes to the package interface may affect them. Maintainer should review the dependency impact caused by decision changes. Then Maintainer should announce and send alert emails of API or ABI changes. +Those work should be completed at least one week before the change occurs, and all SIGs that may be affected should be notified. For detailed informationes please refer to [接口变更通知流程](). ++ **Update and maintain package version**:Follow the startegy of [软件包更新质量控制策略]() and complete the package update. ++ **Collaborate with upstream community**, including: + + Push all changes to upstream community + + Participate in upstream community mailing list + + Get the account of the Bug Tracker of the upstream community, and track the important bugs of the upstream community + + Push serious errors to upstream community for help + For further information, please refer to [上游社区软件包管理建议]() ++ **Collaborate with test team** including: + + When you submit the software packages, the information how to debug and classify the packages should be provided to QA for problem classification + + Provide basic functional test cases for regression testing + + When you update the software package, the test cases related to fixed problems in the update package should be provided to QA + + +## Maintainer + +Maintainer is the leader of SIG group or member of management Committee, and also the maintainer of software package. They can review and approve code like committers. The key of code review is the code quality and correctness, while the approvals focus on overall acceptance of contributions. **Maintainer has all the responsibility and privilege of Committer** . In addition, Maintainer is also need to work out technical roadmap and undertake coordination within and outside the team. + +**Definition**:*developer* entry in the OWNERS file owned by openEuler SIG. + +### Requirement + ++ At least 3 months as committer ++ Participated in at least 12 PR reviews as the main reviewer ++ Review or merge at least 30 basic PR into the code repo ++ Being familiar with code repo ++ Could be self-nominated or nominated by sub-project Maintainer, and there is no objection from other sub-project Maintainers. + +### Responsibility and Power + +- **Work out technical roadmap for SIG project**:Including planning the SIG technical direction, roadmap, solution of software architecture evolution +- **Prepare release plan for SIG project**: Make key requirements and release plans for project;Participate in community PM activities and coordinate SIG initiatives to match community release milestone schedules +- **Participate in community coordination activities**:As a representative of SIG, Maintainer should attend the meetings and activites organized by Technical committee or the Community Council +- **Organize SIG meetings**:Regularly organize SIG meetings and make decisions on contentious issues within SIG \ No newline at end of file diff --git a/community-membership_cn.md b/community-membership_cn.md new file mode 100644 index 0000000..d6f2130 --- /dev/null +++ b/community-membership_cn.md @@ -0,0 +1,120 @@ +# 社区成员 + + +本文简要描述了openEuler社区中贡献者角色的各种职责。大部分角色的职责限于这些SIG(Special Interest Group)内: + +|角色| 职责范围(简要描述)|要求|定义的文件| +|:-----------|:-------------------- |:----------------------------------------------------- |:----------------------------------------------------------- | +|Contributor|项目的贡献者|| Gitee注册成员| +|Committer| 审核其他成员的贡献| SIG的积极贡献者,经验丰富,愿意投入精力参与到审核工作 | openEuler SIG拥有的存储库中OWNERS文件中的*Maintainer*条目。 | +| Maintainer| 项目Owner| 经验丰富,富有责任心、出色的技术能力和管理能力| openEuler SIG拥有的存储库中OWNERS文件中的*Maintainer*条目。 | + +*说明*:Maintainer和Committer在Gitee的权限上不做区分,两者的区分主要是集中在SIG治理的管理范围上。详细可以见下面的描述。 + + + +## 新的贡献者 + +欢迎新成员加入社区。我们有关于如何开始贡献的指导文档请参考:[openEuler贡献者指南](/zh/contributors/README.md) + + + +## 既有社区成员 + + +既有的社区成员应证明能够遵守本文中的原则,熟悉SIG的组织、角色、政策、软件、约定等,以及相关的技术和/或写作能力。社区成员角色的期望、职责和要求,请参考下面的内容。 + + + +## 贡献者 Contributor +贡献者是社区中持续活跃的贡献者,他们可以认领问题和PR,可以参与SIG组活动,并且可以为PR提交前完成测试。 + + + +### 要求 + ++ Gitee上的注册会员 ++ 为SIG或社区做出多方面贡献,包括不限于: + + 在Gitee上提交或审核PR + + 在Gitee上对问题进行归档或评论 + + 参与SIG或社区讨论 ++ 已阅读[贡献者指南](/zh/contributors/README.md) ++ 积极参与1个或多个SIG + + + +### 责任与权利 + ++ 响应被分配的问题和PR ++ 贡献的代码应该 + + 经过良好的测试 + + 能够让测试用例始终通过 + + 解决后继发生的错误或问题 + ++ 可以通过 `/lgtm`打开PR ++ 可以分配问题或PR,可以通过 `/cc @username`要求成员进行评论 ++ 可以针对PR自动运行测试。`/ok-to-test`不是必要的 ++ 可以使用`/ok-to-test`为具有`needs-ok-to-test`标签的PR进行操作,并使用诸如`/close`对PR进行关闭。 + +**注意**:经常贡献代码的成员应积极的参与代码审查,并努力成为SIG的*审核者Committer*。 + + + +## 审核者 Committer + +审核者能够在SIG或SIG的某些部分中审核代码的质量和正确性。审核者对代码库和软件工程原理非常了解。 + +定义者:openEuler SIG拥有的存储库中OWNERS文件中的*developer*条目。 + +### 要求 + ++ 作为贡献者至少3个月 ++ 作为主要审阅者至少参与了6次PR的审阅 ++ 审阅或合并至少20个基本PR到代码库 ++ 熟悉代码库 ++ 可以自我提名,或由该SIG的审核者或维护者提名 + +### 责任与权力 + ++ **评审PR**:对Contributor提交的PR完成评审,评审可以参考社区的[编程建议]()和[安全编程规范]()。 ++ **分发处理问题**:请参考“[问题处理流程]()“。 ++ **跟踪依赖性问题**:在开发分支中,其他SIG组的软件包的更新可能会到导致破坏本SIG内软件包的依赖关系。此时Committer会收到告警提示,Committer应尽力重建软件包。依赖关系出错可能会使最终用户无法更新系统,打包团队也会介入并重建存在依赖性问题的软件包,但Maintainer不应依赖这些重建。 ++ **如有接口变更,通知可能会影响到的SIG**:其他SIG或项目会依赖本SIG的软件包,对软件包接口的变更可能会对他们造成影响。Maintainer应了解并评审&决策变更造成的依赖影响,并公告和发送API或ABI变更的告警邮件。这类公告应在变更发生至少一周前完成,并应通知到所有可能受影响的SIG。具体请参考[接口变更通知流程]()。 ++ **更新和维护软件包版本**:遵守社区的[软件包更新质量控制策略]()完成软件包的更新。 ++ **和上游社区合作**,包括: + + 将所有变更推送到上游社区 + + 参与上游社区邮件列表 + + 获取上游社区的bug跟踪器的账户,并跟踪上游社区的重要bug + + 将严重的错误转发给上游社区以寻求帮助 + 更多信息,请参考“[上游社区软件包管理建议]()” ++ **和测试团队合作**,包括: + + 在提交软件包时,向质量检查人员提供如何调试/分类软件包的信息,以供问题的分类 + + 提供基本功能的测试用例,用于测试回归 + + 提交软件包更新时,提供有关更新中已经修复问题的测试用例,以供质量检查人员使用。 + + + +## 维护者 Maintainer + +维护者是SIG组的组长或者管理委员会成员,也是软件包的维护者,能够像Committer一样审查和批准代码贡献。代码审查的重点是代码质量和正确性,而批准的重点是对贡献的整体接受度。**所有Committer的责任与权力,Maintainer均具有**。除此之外,Maintainer还承担了团队的技术路线、内外协调等工作。 + +**定义**:openEuler SIG拥有的存储库中OWNERS文件中的*developer*条目 + + + +### 要求 + ++ 作为审核者至少3个月 ++ 作为主要审阅者至少参与了12次PR的审阅 ++ 审阅或合并至少30个基本PR到代码库 ++ 熟悉代码库 ++ 可以自我提名,也可以由子项目Maintainer提名,并且没有其他子项目Maintainer的反对 + +### 责任与权力 + +- **确定SIG所负责项目的技术路线**:包括规划和决策SIG技术方向、路标规划、架构演进。 +- **制定SIG所负责项目的发布计划**:确定SIG的关键需求和发布计划;参与社区的PM活动,并协调SIG计划和社区版本的里程碑时间表匹配 +- **参与社区协调活动**:作为SIG的代表参与openEuler技术委员会或理事会组织的活动和特定会议等 +- **召集SIG组会议**:定期召集SIG会议,决策SIG内上升的争议 + + diff --git a/en/CLA.md b/en/CLA.md new file mode 100644 index 0000000..a66510e --- /dev/null +++ b/en/CLA.md @@ -0,0 +1,33 @@ + +# CLA (Contributor License Agreement.) + +### Agreement For Contributions + +Before submitting any Contributions, you have to agree with all the terms and conditions of this Agreement and sign it as indicated below, and then upload the signed Agreement to designated place on openEuler official website. By signing this Agreement as indicated below, you agree to accept and be legally bound by this Agreement. The rights that you grant under this Agreement are effective on the date you first submitted a Contribution to the openEuler, even if your submission took place before the date you sign these Agreement. +1. You agree to be legally bound by openEuler Intellectual Property Rights Policy published on openEuler official website. +2. You represent that: +• Each of your Contributions is your original creation and you can legally grant the rights set out in this Agreement; +• To the best of your knowledge, each Contribution will not infringe any third party's copyrights, trademarks, patents, or other intellectual property rights. +3. This Agreement and any rights and liabilities herein shall be governed, construed and interpreted in accordance with the laws of P.R. China, without giving effect to principles of conflicts of law. Any dispute arising from or related to this Agreement shall be submitted to Shenzhen Longgang District People’s court and parties waive all objections to that jurisdiction and venue. +4. Please select one applicable statement from the following and fill in the blanks. DO NOT MARK BOTH: + +I am individual and no other person or entity, including my employer, has or will have rights with respect my Contributions. +Name*: __________________________________________________________ +Mailing Address*: __________________________________________________________ +Date*:__________________________________________________________ +E-Mail*: ____________________________________________________________ +Telephone*: __________________________________________________________ +Fax: __________________________________________________________ +* Required field + +I am a legal entity, the individual below signing this Agreement is authorized by and on behalf of me. +Authorized Representative*: __________________________________ +Title*: _______________________________________________________________ +Corporation Name*: __________________________________________________________ +Mailing Address*: __________________________________________________________ +Date*: __________________________________________________________ +E-Mail*: ____________________________________________________________ +Telephone*: __________________________________________________________ +Fax: __________________________________________________________ +* Required field + diff --git a/en/Gitee-Management/Gitee-management-guide.md b/en/Gitee-Management/Gitee-management-guide.md new file mode 100644 index 0000000..fb7fff7 --- /dev/null +++ b/en/Gitee-Management/Gitee-management-guide.md @@ -0,0 +1,86 @@ +# openEuler Gitee组织管理指南 + +openEuler项目使用Gitee来管理团队和代码。本指南包含如何在openEuler社区准则的基础上运作这些组织。 + + + +## 服务承诺 + +Gitee管理团队将竭尽所能提供以下的服务水平: + +- 新组织创建在所有成员资格满足以后的72小时内处理 +- Repository的新建或迁移请求在PR提交后的72小时内回复。这个过程可能需要申请人提供一些信息,所以可能会花费一些时间。但所有条件一旦满足,Gitee管理团队会在72小时内完成响应repository的处理 +- PR提交后的72小时内,会有所答复。问题解决的时间会按照问题的具体情况有所不同。 + +如果您需要上报紧急请求,请直接联系[openEuler基础设施团队]()快速寻求帮助 + + + +## openEuler的组织说明 + +- [openEuler](https://gitee.com/openeuler):主要用于存放源码类项目 +- [src-openEuler](https://gitee.com/src-openeuler):主要用于存放制作发布件所需的软件包 + + +## 将外部代码转移到openEuler组织中 + +由于开源许可和CLA等问题,在将软件包或/和代码转移到openEuler管理之前,需要进行一些调查,请先向[技术委员会](/zh/technical-committee/README.md)提交申请。 + + + +## 团队指导 + +### 团队角色和权限说明及配置方法 + + + + + +### 处理过程 + +- 创建新团队或项目请向技术委员会提交申请,请参考[如何申请一个SIG](/zh/technical-committee/governance/README.md) + +- 向团队添加新成员, 提交PR申请修改[SIG](/sig)下自己项目的OWNERS文件,该PR可以由团队的`maintainer`批准 + + + +## repository使用指导 + +repository还有license、CLA等要求,请参见[openEuler项目模板]() + + + + + +### 创建一个Repository + +``` yaml +- name: A-Tune + description: "" + protected_branches: + - master + type: private +``` + +如果你想要在openEuler社区里面新增一个仓库,你可以基于上面的示例提交一个pull request修改 +[openeuler.yaml](/repository/openeuler.yaml)或者[src-openeuler.yaml](/repository/src-openeuler.yaml)。 + +* `name`: 你想创建的新仓库名字。 + +* `description`: 新仓库描述。 + +* `type`: 表示仓库的类型。 + + * `private`意味着新仓库只对某些特定的人群可见。 + + * `public`意味着新仓库对所有人可见。 + +一旦你的pull request被合入,```openeuler-ci-bot```将会立即创建一个新仓库。 + + +### 删除repository + +待补充 + + + diff --git a/en/Gitee-Management/README.md b/en/Gitee-Management/README.md new file mode 100644 index 0000000..2dbc550 --- /dev/null +++ b/en/Gitee-Management/README.md @@ -0,0 +1,27 @@ +**The contenct in this folder is not finalized yet. You are more than welcome to work with us together on updating tis folder. If you'd like to please visit .** + +# Gitee 管理 + +openEuler项目使用Gitee来存储和组织代码,管理问题和文档,并提供一致的贡献者流程。为了简化Gitee存储库的组织和管理。我们提供了一些工具来自动设置和执行管理策略。 + +这些策略和工具的支持由基础设施下的Gitee管理团队负责。 + + + +## 帮助指南 + ++ [向Gitee求助]() ++ [团队组织者指南]() ++ [Gitee权限说明]() + + + + + + + +## Gitee 管理团队介绍 + + + + diff --git a/en/Gitee-Management/Repository.md b/en/Gitee-Management/Repository.md new file mode 100644 index 0000000..577f6a6 --- /dev/null +++ b/en/Gitee-Management/Repository.md @@ -0,0 +1,168 @@ +# 仓库 + +## 维护 + +### 背景 + +在openEuler社区有成百上个仓库。 +这是非常困难的去维护在每一个仓库中的所有成员。 +我们需要一个自动化的工具去解决这些问题从而节约团队的工作量。 + +### 解决方案 + +基础设施团队构建了一种机制去简化仓库的维护工作。 +所有openEuler的仓库和仓库成员都放在 +[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml)文件中, +而所有src-openEuler的仓库和仓库成员都放在 +[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)文件中。 +如果这些yaml文件被一个pull request所修改,`openeuler-ci-bot`将会检测到这些改变 +然后自动化地完成一些操作,例如`创建一个仓库`,`为一个仓库添加成员`, +`从一个仓库移除成员`,`保护一个分支`,`移除一个保护分支`等基于Gitee API的操作。 + +### 如何创建一个仓库 + +``` yaml +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private +``` + +如果你想要在openEuler社区里面新增一个仓库, +你可以基于上面的示例提交一个pull request修改 +[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)。 + +* `abattis-cantarell-fonts`: 你想创建的新仓库名字。 +* `fonts repo`: 新仓库描述。 +* `private`: 表示仓库的类型。 + + `private`意味着新仓库只对某些特定的人群可见。 + + `public`意味着新仓库对所有人可见。 + +一旦你的pull request被合入,```openeuler-ci-bot```将会立即创建一个新仓库。 + +### 如何创建或者删除一个成员 + +``` yaml +community: + name: openeuler + managers: + - zhuchunyi + - overweight + developers: + - igorkorkin + viewers: + - jianminw +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + type: private + managers: + - dogsheng + developers: + - igorkorkin + viewers: + - jianminw +``` + +如果你想要添加或者删除一个仓库的成员, +你可以基于上面的示例提交一个pull request +修改[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)。 + +* `openeuler`: openEuler组织名称, 另外还有一个组织`src-openeuler`,实际上不需要做修改。 +* `managers`: 你想在`community`或者`repositories`下指定的管理员。 + 这里需要Gitee账号,例如 `zhuchunyi`。 +* `developers`:你想在`community`或者`repositories`下指定的开发者。 + 这里需要Gitee账号,例如`igorkorkin`。 +* `viewers`: 你想在`community`或者`repositories`下指定的观察者。 + 这里需要Gitee账号,例如`jianminw`。 + +***注意***:你可能已经发现`managers`,`developers`和`viewers`是同时存在于`community`和`repositories`。 +让我们来看看它们的不同之处: + +* 通常情况下你想要为所有仓库添加或删除一个管理员,开发者或者观察者, + 你可以修改`community`下的`managers`,`developers`或者`viewers`。 +* 特定的情况下你想要为一个指定的仓库添加或删除一个管理员,开发者或者观察者, + 你可以修改指定的仓库例如`accountsservice`下的`community`下的`managers`,`developers`或者`viewers`。 +* 如果一个仓库没有指定任何成员(包括`managers`,`developers`和`viewers`),例如`abattis-cantarell-fonts`仓库, + `openeuler-ci-bot`将会使用`community`下的`managers`,`developers`和`viewers` + 来为这个仓库例如`abattis-cantarell-fonts`仓库创建成员。 +* 如果一个仓库指定了一些成员(包括`managers`,`developers`和`viewers`),例如`accountsservice`仓库, + `openeuler-ci-bot`将会使用这个仓库下的`managers`,`developers`和`viewers` + 来为这个仓库例如`accountsservice`仓库创建成员。 +* 如果一个Gitee账号是存在于`managers`,`developers`和`viewers`之中, + 这个Gitee账号将会是一个管理员,因为从Gitee的权限来讲,`managers` > `developers` > `viewers`。 + +### 如何创建或者删除一个保护分支 + +```yaml +community: + name: openeuler + protected_branches: + - master +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + protected_branches: + - master + - dev + type: private +``` + +如果你想要在一个仓库上创建或者删除一个保护分支, +你可以基于上面的示例提交一个pull request +修改[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)。 + +* `openeuler`:openEuler组织名称, 另外还有一个组织`src-openeuler`,实际上不需要做修改。 +* `protected_branches`:你想要在`community`或`repositories`创建的保护分支。 + +***注意***:你可能已经发现`protected_branches`是同时存在于`community`和`repositories`。 +让我们来看看它们的不同之处: + +* 通常情况下你想要为所有仓库创建或删除一个保护分支, + 你可以修改`community`下的`protected_branches`。 +* 特定的情况下你想要为一个指定的仓库添加或删除一个保护分支, + 你可以修改指定的仓库例如`accountsservice`下的`community`下的`protected_branches`。 +* 如果一个仓库没有指定任何保护分支,例如`abattis-cantarell-fonts`仓库, + `openeuler-ci-bot`将会使用`community`下的`protected_branches` + 来为这个仓库例如`abattis-cantarell-fonts`仓库创建保护分支。 +* 如果一个仓库指定了一些保护分支,例如`accountsservice`仓库, + `openeuler-ci-bot`将会使用这个仓库下的`protected_branches` + 来为这个仓库例如`accountsservice`仓库创建保护分支。 +* 如果指定的`protected_branches`不存在,`openeuler-ci-bot`将会做任何动作。 + +### 如何创建或者删除一个在Gitee之外的维护人员 + +Gitee提供管理员、开发者和观察者等权限管理。 +`openeuler-ci-bot`支持另一种为每一个仓库添加维护人员的方式。 +`openeuler-ci-bot`将会扫描 `OWNERS`文件在每一个仓库下去发现额外的仓库维护人员。 + +以`ci-bot`仓库下的 为例。 +文件内容如下: + +``` yaml +maintainers: + - edisontest + - freesky-edward + - TommyLike + - xiangxinyong + - zerodefect +``` + +这意味着所有这5个用户具备在`ci-bot`仓库下合入pull request的权限。 +这些用户能使用`/lgtm`和`/approve`命令去触发`openeuler-ci-bot`何如pull request。 +你可以发现更多的命令说明 。 +顺便说下,所有的Gitee管理员和开发者也能使用`/lgtm`和`/approve`命令。 + +如果你想要维护Gitee之外的仓库维护人员,请在你的仓库下添加`OWNERS`文件, +然后添加仓库维护人员到`OWNERS`文件,`openeuler-ci-bot`将会给予这些仓库维护人员`合入`权限。 \ No newline at end of file diff --git a/en/Gitee-Management/opening-request.md b/en/Gitee-Management/opening-request.md new file mode 100644 index 0000000..cd9427b --- /dev/null +++ b/en/Gitee-Management/opening-request.md @@ -0,0 +1,28 @@ +# 如何向Gitee求助 + +如果你需要了解和Gitee相关的以下内容,请向gitee管理团队求助 + +- 权限问题 +- Gitee内的组织角色关系 +- 第三方集成 +- Reopsitory的新建和迁移 +- Repository的归档 +- 其他repository配置相关的问题 + +请向[openEuler/sig-infrastructure]()提交你的issue。如果你的问题很紧急,请直接联系[Gitee管理团队的成员]()。 + +创建新团队,添加新成员或者重命名您的团队,请根据[团队指南]()向[openEuler/technical-committee]()提交PR申请。 + + + +## 社区biot/自动化问题 + +如果您需要以下方面的帮助: + +- biot配置 +- 自动合并 +- 问题标签 +- 自动化反馈和功能需求 + +请向[openEuler/sig-infrastructure]()提交你的issue。如果你的问题很紧急,请直接联系[Gitee管理团队的成员]()。 + diff --git a/en/Gitee-Management/permissions.md b/en/Gitee-Management/permissions.md new file mode 100644 index 0000000..bdf98f9 --- /dev/null +++ b/en/Gitee-Management/permissions.md @@ -0,0 +1,2 @@ +# Gitee 权限说明 + diff --git a/en/communication/IRCs.md b/en/communication/IRCs.md new file mode 100644 index 0000000..53f26f7 --- /dev/null +++ b/en/communication/IRCs.md @@ -0,0 +1,71 @@ +### What's IRC + +Internet Relay Chat (IRC) is a form of real-time Internet chat. It is mainly designed for group (many-to-many) communication in discussion forums called channels, but also allows one-to-one communication via private message. On IRC you can talk to many other members. + +Though a channel might have many people in it at any time, they might not always be in front of the computer, if no one responds, just wait a little bit and you may get responded. + +### How to use it + +#### Choose clients + +The following is just a list of programs that you can use to enter the channels listed below. + + - **[Empathy](https://help.ubuntu.com/community/Empathy)** - Default instant messaging software on Ubuntu since Karmic. + - **[Smuxi](http://www.smuxi.org/)** - A cross-platform and user-friendly IRC client for GNOME. + - **[Pidgin](https://help.ubuntu.com/community/Pidgin)** - Popular instant messaging software that also supports IRC. + - **[XChat](https://help.ubuntu.com/community/XChatHowto)** - GUI based IRC client. + - **[HexChat](http://hexchat.org/)** - The fully open source successor to XChat. Particularly good in terms of bugfixes, but there are some new features too. + - **[ChatZilla](https://help.ubuntu.com/community/ChatZilla)** - A Firefox add-on or as a part of SeaMonkey. + - **[freenode online](https://webchat.freenode.net/)** - A online client. + - **[LimeChat](http://limechat.net/mac/)** - An open source IRC client for macOS. + - **[Textual](https://www.codeux.com/textual/)** - Popular commercial application for interacting with IRC chatrooms on macOS. + +#### Registration(Optional) + +Some of the IRC channels allow to use an account without registration, but in order to use the IRC service on a continued basis, registering your own account is strongly recommended. That will give you a unique IRC identity, and will also allow you to access channels where unregistered users have been locked out for technical reasons. + +Please follow the steps for registration: + +1. Pick a nickname you like. Set it using the command + +``` +/nick your_nickname +``` + +Note: If that nickname is already taken, you should try setting a different one. + +2. Pick a decent password, and use a real, valid email address that you have access to. + +``` +/msg nickserv register your_password your@email.address +``` + +3. Check your mail. You should have a new message from freenode, with a command that you should copy and paste into IRC. Do that. + +4. From now on, when connecting to freenode, you should identify using the command. + +``` +/msg nickserv identify your_nickname your_chosen_password +``` + +If you don't want to have to do this, you can set your password as the server password; how this is done depends on your IRC client. + +#### Join a channel + +You are able to join a channel after getting connected to a server, the community uses [freenode](https://freenode.net) as the server node. Simply run a single command to join the channel. + +``` +/join #channel_name +``` +Please refer to website [https://openeuler.org/en/community/irc.html](https://openeuler.org/en/community/irc.html) for the list of community. + +#### Commands + +Use /help to get a list on all available commands (/help help is a good start). Replace nick by any IRCNICK. + + - /nick IRC-mini-HOWTO changes your IRCNICK to IRC-mini-HOWTO + - /msg nick Hi. sends a private message to nick containing Hi. + - /join #nick-name. join the #nick-name channel. + +Please refer to [https://kiwiirc.com/docs/client/commands](https://kiwiirc.com/docs/client/commands) for more commands. + diff --git a/en/communication/Mails.md b/en/communication/Mails.md new file mode 100644 index 0000000..ec2302b --- /dev/null +++ b/en/communication/Mails.md @@ -0,0 +1,55 @@ +# Mail List + +### Subscribe Mail List + +Visit to find the available mail lists, and follow the steps below to subscribe mail list you'd like. + +There are two ways to join the list. + +#### 1. Web Page + +> 1) Visit the subscribing page via clicking the list name in . +> 2) Provide your email address, name and click the ```Subscribe``` button +> 3) Login your email and reply the confirm email from @openeuler.org directly + +when you recieve the ```Welcome``` mail form openeuler.org means you are already in the list now. +Note: if you don't recieve the welcome mail, please keep the title as the same as confirmming email and reply again. + + +#### 2. Email + +> 1) Send an email to the list ```subscibe address```(list address subfix with ```-join```) with ```subscribe``` subject(title). +> 2) Reply the confirm email from openeuler.org directly. + +The example subcribe email to Dev(dev@openeuler.org): + +``` +recievers: dev-join@openeuler.org +subject: subscribe +content: NA +``` + +### Send Email + +There are two kinds of list the Announce and Discussion, for Discussion,there is nothing difference between sending email to list and to other private address, just send it as normal,adding a prefix with channel name in brackets([dev]) into subject would be a good practise but not mandate. however, Announce only be used to publish message or notice, it won't accept any mail delivery. + +note: if you cann't recieve any mail in income box, please firstly check your spam box. + +### Unsubscribe Mail List + +If you want to unsubscribe a joined mail list, please take the following steps: + +> 1) Send an email to the ```unsubscribe address``` (list addreess subfix with ```-leave```) with ```unsubscribe``` subject. +> 2) Reply the confirm email without any modification. + +You have been out of the list after recieving the unsubcribe email. + + +### Get Help + +If you meet any problem, please contact the infrastructure team via: + +- Email: infra@openeuler.org +- IRC: #openEuler-infra + +If you find any issue relevant mail list, please feel free to open an issue in [infrastructure](https://gitee.com/openeuler/infrastructure/issues) diff --git a/en/communication/README.md b/en/communication/README.md new file mode 100644 index 0000000..06bd4c7 --- /dev/null +++ b/en/communication/README.md @@ -0,0 +1,12 @@ +# openEuler Communication + +### Chat + +For SIGs and individuals, it is recommended to use IRC channel as the basic communication chat tool. The [IRC guidance](IRCs.md) describes how to use and where to find the [IRC Channels list](https://openeuler.org/en/community/irc.html). . + + +### Mail + +If you want to start an open topics discussion, sending an email to the relavant mail-list is another good choice. Visit [Mail lists](Mails.md) to get detailed introduction. + + diff --git a/en/contributors/Gitee-workflow.md b/en/contributors/Gitee-workflow.md new file mode 100644 index 0000000..954d210 --- /dev/null +++ b/en/contributors/Gitee-workflow.md @@ -0,0 +1,191 @@ +# Gitee 工作流说明 + +### 1.从云上folk + +1. 访问 https://gitee.com/openEuler/openEuler +2. 点击右上角的 `Fork` 按钮建立一个属于自己的云上folk分支 + + + +### 2.把folk分支复制到本地 + +请按照以下的复制过程将openEuler的代码下载到您的在计算机上。 + +定义本地工作目录: + +``` +# If your PATH has multiple paths, pick +# just one and use it instead of $PATH here. +# You must follow exactly this pattern, +# neither `$PATH/src/gitee.com/${your gitee profile name/` +# nor any other pattern will work. +export working_dir=$PATH/src/XXXXXX +``` + +> 如果你已经在openEuler上做过开发, `XXX`会成为您现有的`gitee.com` 目录的子目录. + +把git上的 `user` 设置成您gitee的个人名称: + +``` +export user={your gitee profile name} +``` + +`$working_dir` and `$user` 都需要按照上面的要求完成配置 + + + +创建您的分支: + +``` +mkdir -p $working_dir +cd $working_dir +git clone https://gitee.com/$user/openEuler.git +# or: git clone git@gitee.com:$user/openEuler.git + +cd $working_dir/openEuler +git remote add upstream https://gitee.com/kubernetes/openEuler.git +# or: git remote add upstream git@gitee.com:openEuler/openEuler.git + +# Never push to upstream master +git remote set-url --push upstream no_push + +# Confirm that your remotes make sense: +git remote -v +``` + + + +### 3.拉分支 + +更新您的本地分支 + +``` +cd $working_dir/openEuler +git fetch upstream +git checkout master +git rebase upstream/master +``` + +从这里拉分支: + +``` +git checkout -b myfeature +``` + +然后在 `myfeature` 分支上编辑和修改代码。 + +#### 构建 + +具体的构建请参考:[《开发指南》]() + + + +### 4.保持您的分支和master的同步 + +``` +# While on your myfeature branch +git fetch upstream +git rebase upstream/master +``` + +执行merge的时候,请不要使用 `git pull` 替代上面的 `fetch` / `rebase`. `git pull` 。因为这种方式会使提交历史变得混乱,并使代码更难被理解。您也可以通过更改文件来达到目的, `.git/config` 文件通过 `git config branch.autoSetupRebase always` 去改变 `git pull`的行为。 + + + +### 5 提交 + +提交您的更改。 + +``` +git commit +``` + +您可能会回来继续编辑构建并测试更多内容,可以使用 `commit --amend` 继续添加提交。 + + + +### 6 推送 + +准备进行审查(或只是建立工作的异地备份)时,将分支推到你在`gitee.com`的folk: + +``` +git push -f ${your_remote_name} myfeature +``` + + + +### 7 创建一个 pull request + +1. 访问你在 `https://gitee.com/$user/openEuler` +2. 在您的 `myfeature` 分支上点击`Compare & Pull Request` . +3. 可以查看[pull-request](pull-request)获得更多的建议. + +*如果您具有上游写访问权*,请不要使用Gitee UI创建PR,因为Gitee会在主存储库而不是您的fork中创建PR分支。 + +#### 获取代码审查 + +#### 查看代码检视 + +你提交PR申请后,PR被分配给一个或多个检视者。这些检视者将进行彻底的代码检视。 + +小的PR很容易检视。量级较大的PR很难被正确的检视。 + +#### Squash and Merge + +Upon merge (by either you or your reviewer), all commits left on the review branch should represent meaningful milestones or units of work. Use commits to add clarity to the development and review process. + +Before merging a PR, squash any *fix review feedback*, *typo*, *merged*, and *rebased* sorts of commits. + +It is not imperative that every commit in a PR compile and pass tests independently, but it is worth striving for. + +In particular, if you happened to have used `git merge` and have merge commits, please squash those away: they do not meet the above test. + +A nifty way to manage the commits in your PR is to do an [interactive rebase](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History), which will let you tell git what to do with every commit: + +``` +git fetch upstream +git rebase -i upstream/master +``` + +For mass automated fixups (e.g. automated doc formatting), use one or more commits for the changes to tooling and a final commit to apply the fixup en masse. This makes reviews easier. + +### 回退一个提交 + +如果你想回退提交,请采用下面的方式 + +*如果您具有上游写访问权限*,请不要使用`Revert`Gitee UI中的 按钮创建PR,因为Gitee会在主存储库而不是您的fork中创建PR分支。 + +- 创建一个分支并用upstream进行同步 + + ``` + # create a branch + git checkout -b myrevert + + # sync the branch with upstream + git fetch upstream + git rebase upstream/master + ``` + +- 如果您希望还原的提交是: + + - **merge commit:** + + ``` + # SHA is the hash of the merge commit you wish to revert + git revert -m 1 SHA + ``` + + - **single commit:** + + ``` + # SHA is the hash of the single commit you wish to revert + git revert SHA + ``` + +- 这将创建一个新的提交以回退到更新前。 push这次提交到远程工作目录 + +``` +git push ${your_remote_name} myrevert +``` + +- 用这个分支创建一个PR. \ No newline at end of file diff --git a/en/contributors/README.md b/en/contributors/README.md new file mode 100644 index 0000000..2026a1f --- /dev/null +++ b/en/contributors/README.md @@ -0,0 +1,218 @@ +**The contenct in this folder is not finalized yet and please visit [How to contribute](https://openeuler.org/en/developer.html) to get help. And you are more than welcome to work with us together on updating tis folder. If you'd like to please visit .** + +该文档指导大家如何为openEuler社区做出贡献。欢迎阅读[待解决的问题]()并提出新的问题。 + + + +# 欢迎 + +欢迎来到openEuler! + ++ 欢迎 ++ [开始之前](#id1) + + [签署CLA](#id1-1) + + [行为准则](#id1-2) + + [社区期望](#id1-3) +- [您的第一个贡献](#id2) + - [找到您感兴趣的工作](#id2-1) + - [了解SIG](#id2-1-1) + - [找到您感兴趣的SIG和respository](#id2-1-2) + - [开始您的贡献](#id2-2) + - [给你自己分配一个issue](#id2-2-1) + - [提出问题](#id2-2-2) + - [SIG贡献者指南](#id2-2-3) + - [社区贡献指导](#id2-2-4) + - [沟通](id2-3) +- [Gitee工作流程](#id3) +- [代码检视](#id4) +- [测试](#id5) +- [选择社区组件打包](#id6) +- [下载安装openEuler](#id7) +- [安全](#id8) +- [社区文档](#id9) +- [社区活动](#id10) + - [社区交流](#id10-1) + - [大事记](#id10-2) + - [聚会](#id10-3) + + + + +

开始之前

+

签署CLA

+ +您必须首先签署[“贡献者许可协议”(CLA)](./../CLA.md),然后才能参与社区贡献. + + + +

行为守则

+ +请确保阅读并遵守openEuler社区的[行为守则](./../../code-of-conduct.md)。 + + + +

社区期望

+ +openEuler是一个开源社区。因此它完全依赖于社区提供开发,以及友好和协作的环境,请查看[社区成员角色](./../../community-membership.md)。社区鼓励您在积累经验的同时提高你的贡献级别。 + + + +

您的第一个贡献

+随时欢迎您的加入!在社区上总是有可以改进的文档(比如您正在阅读的),可以澄清的代码,可以重构或注释的函数或变量,始终需要测试的代码。我们将帮助您了解openEuler SIG的组织方式,并引导您顺利的开始您的第一个贡献。您可以选择解决问题、编写代码,或者检视和合并等工作。所以如果您感兴趣,现在就行动吧~~ + +如果您对开发过程有疑问,请随时加入我们的[开发邮件列表](dev@openeuler.org),并在邮件标题内用“【开发过程疑问】”作为标题 写出你的疑问和困惑,openEuler团队会定期扫描邮件列表上的内容,并尽力确保您的问题得到解答。 + + +

找到您感兴趣的工作

+ +

了解SIG

+ +#### SIG和Repository + +我们将社区按照不同的SIG来组织,以便于更好的管理和改善工作流程。 + +SIG组是开放的,欢迎任何人加入并参与贡献。SIG组内部会定期开会,每一个SIG都有一个公共频道。每一个SIG在Gitee上都会拥有一个或多个repository,单击SIG名称中的链接,可以获取每个SIG的`README.md`。在`README.md`里可以查找到SIG包含的子项目和子项目的额repository。 + +

找到您感兴趣的SIG和repository

+ +找到适合您贡献的SIG组,可以帮助您在正确的地方提出问题,为您的贡献提供更高的知名度和更快的社区响应速度。您可以查看[SIG列表](https://openeuler.org/zh/sig.html),以便您最快速的定位到自己感兴趣的领域。 + +在openEuler的Repository列表下搜索SIG名称,也可以找到对应子SIG的repository。如果搜索不到,您可以尝试在dev@openeuler.org中寻求帮助。同样,请在邮件列表内用“【开发过程疑问】”作为标题 写出你寻找的SIG或项目。 + + + +

开始您的贡献

+ +如果您的兴趣不在编写代码方面,可以在[《非代码贡献指南》](non-code-contributions.md)中找到感兴趣的工作。 + + + +

给自己分配一个issue

+ +如果您愿意处理一个issue,可以将它分配给自己。只需要在评论框内输入 `/assign`或 `/assign @yourself`,机器人就会将问题分配给您,您的名字将显示在负责人列表里。 + + + +

提出问题

+ +尽管社区鼓励每个人贡献代码,但是当您报告问题或缺陷的时候,也是值得赞赏的。问题应提交到对应的repository下面。您可以查看[问题提交指南](issue-submit.md)以获取更多的信息。提交问题时,请确保遵守问题提交准则。 + + +

SIG贡献指南

+每个SIG或子项目的编码语言、开发环境、编码约定等都可能是由差异的。所以每一个SIG或其子项目都可能有自己的贡献者指南——一般是`CONTRIBUTING.md`文件。除了这些文件外,SIG可能还会提供其他指南信息。这些信息位于SIG或子项目的特定社区目录中。 + + + +

社区贡献指导

+ +初学者也可以通过下面的[提交PR](pull-requests.md)和[代码检视](expectations.md)中找到相关指导。 + + + + +

沟通

+ +openEuler是开源的,我们希望围绕开发建立一些半正式的管理规则,这样可以使事情开展的更加顺利。如果您认为这些规则有问题,请提出来。作为潜在的贡献者,无论是在白天、黑夜、工作日、周末或节假日,不要犹豫,我们都欢迎您提出自己的想法到dev@openeuler.org。我们致力于改善您的贡献体验。如果您发现不良的参与体验,请告诉我们! + + + +

Gitee工作流程

+ +想获取要使用的代码,请参考[Gitee workflow Guide](Gitee-workflow.md)。 + +### 提交一个PR + +openEuler遵循标准的[Gitee PR请求流程](https://gitee.com/help/articles/4122),但openEuler社区还做了部分的定制,请参考[openEuler社区Gitee工作流程](pull-requests.md)。 + +这两个流程的主要区别是,openEuler的机器人会将结构化标签运用于PR中。该机器人可以为您的PR过程提供一些有用的建议。为了方便查看,可以在注释中输入XXXXXXX选项,以触发自动标记和通知功能。请参阅[社区命令参考文档](./../sig-infrastructure/command.md)。 + +对于新贡献者来说,常遇到的问题是: + ++ 在您的第一个PR之前没有正确的签署CLA(请参阅[签署CLA](/../CLA.md)) ++ 为PR在SIG组内找到合适的检视者,并保证自己的贡献遵循SIG组内特定的贡献准则(请参阅[了解SIG](https://openeuler.org/zh/sig.html),从其中查找感兴趣的SIG提供的贡献者指导) ++ 处理在PR上失败的测试用例,这些测试用例可能与您引入的更改无关(请参阅) ++ 不遵守一些[良好的编码实践]() ++ 在提交的信息中包含了可能关闭issue的关键字,比如XXXXXXXX等 + + + +

代码检视

+ +对于贡献者,关于代码检视的重要性的简要说明,请参阅[代码检视](expectations.md)。为了使您的提交更容易被接受,您需要: + ++ 遵循SIG组的[编码约定]() ++ 准备完善的提交信息 ++ 如果一次提交的代码量较大,建议将大型的内容分解成一系列逻辑上较小的内容,分别进行提交会更便于检视者理解您的想法 ++ 使用适当的SIG组和监视者标签去标记PR:机器人会发送给您消息,以方便您更好的完成整个PR的过程 + + + +对于检视者,强烈建议本着[行为准则](/../code-of-conduct.md)和[社区期望](/expectations.md),超越自我,相互尊重和促进协作。在审查其他人的PR的时候,[补丁审核的柔和艺术](https://sage.thesharps.us/2014/09/01/the-gentle-art-of-patch-review/)提出了一系列检视的重点,旨在说明检视的活动也希望能够促进新的贡献者积极参与,而不会使贡献者一开始就被细微的错误淹没,所以检视的时候,可以重点关注包括: + ++ 贡献背后的想法是否合理 ++ 贡献的架构是否正确 ++ 贡献是否完善 + +注意:如果您的PR请求没有引起足够的关注,可以在XXXXX的XXXXX频道来获取查找评论者们的帮助。 + + + +

测试

+ +测试——是所有贡献者的责任,对于社区版本来说,sig-qa也会做很多的协调工作。有关的信息信息,可以参考[《测试指南》](./../sig-test/testing.md) + +为了成功发行一个社区版本,需要完成多种测试活动。不同的测试活动,测试代码的位置也有有所不同,成功运行测试所需的环境的细节也会有差异: + +todo:待qa团队补充具体的测试活动内容 + ++ 单元测试:这一测试活动确定特性功能的行为是否符合预期。XXXXXXXXXXXXXXXX,可以在给定包中与相应源代码的相邻位置找到单元测试的源代码。例如XXXXXXXX中定义的函数将在XXXXXXXXXX中进行单元测试。 ++ XXXX测试 ++ XXXX测试 + +持续集成会将这些测试活动在PR提交前完成,结果会出现在XXXX上 + +[sig-qa组](/../sig/sig-qa/)是负责测试活动的官方机构,他们的相关测试自动化工具在test-fra中。如果您你希望自己的基础架构上能运行XXX测试,可以考虑采用。 + + + +

选择社区组件打包

+ +请参考[如何打包](packaging.md) + + + +

安装openEuler

+ +请参考[下载安装openEuler](https://openeuler.org/zh/docs/installation/installation.html) + + + +

安全

+ ++ [安全发布页面]()——简要描述了处理安全问题的过程 ++ [安全披露信息]()——如果您希望报告安全漏洞,请参考此页面 + + + +

社区文档

+ ++ [贡献文档]() + + + +

社区活动

+ +

交流

+ +[社区常规交流方式](./communication) + + +

大事记

+ +openEuler参加了XXXXXX,每年在XXXXXXX,关于这些事件和其他社区事件信息可以在[openEuler事件]()页面上找到 + + + +

聚会

+ +我们遵循针对开发者的聚会的XXXXX准则,您可以通过XXXXX上的直接消息或通过电子邮件与XXXX联系。来加入我们把~ diff --git a/en/contributors/issue-submit.md b/en/contributors/issue-submit.md new file mode 100644 index 0000000..ea10d10 --- /dev/null +++ b/en/contributors/issue-submit.md @@ -0,0 +1,63 @@ +# 问题提交指南 + +发现并提交问题,也是对社区良好的贡献方式。 + +本文详细描述如何提交一个良好的问题。 + + + +### 确认问题所属的SIG或项目组 + +- 如果您能够确定问题归属于哪一个SIG或项目组,请在repository的搜索栏找到该SIG或项目组的repository。 +- 如果您不能确定问题归属,请点击“[community-issue](https://gitee.com/openeuler/community-issue)”repository + + + +### 创建一个新的issue + +1、点开对应的repository后,在repository的工具栏内点击“Issue”,再点击创建“+新建Issue”按钮。 + +2、将新ISSUE的标题栏内的问题类型选择为“缺陷” + +3、在标题栏内简要描述一下问题的现象和影响 + +4、在详细描述框下,请按照模板说明问题发生的细节,如下: + +``` +**【环境信息】** +硬件信息 +- 裸机场景请提供问题的硬件信息 +- 虚拟机场景请提供虚拟机的XML文件或配置信息 +软件信息 +- OS版本及分支信息 +- 内核信息 +- 发现问题的组件版本信息 +网络信息 +- 如果有特殊组网,请提供网络拓扑信息 + +**【问题复现步骤】**,请描述具体的操作步骤 +**【实际结果】**,请描述出问题的结果和影响 +**【其他相关附件信息】** +比如系统message日志/组件日志、dump信息、图片等 +``` + + + +### 提交并配合问题处理 + +您提交问题以后,如果问题的描述和复现步骤清晰明确和可定位,会有人直接定位和解决该问题。但也有可能会出现,负责跟进该问题的开发者需要您提供更加详细的信息的情况,也感谢您的配合。 + + + + + + + + + + + + + + + diff --git a/en/contributors/non-code-contributions.md b/en/contributors/non-code-contributions.md new file mode 100644 index 0000000..1afabef --- /dev/null +++ b/en/contributors/non-code-contributions.md @@ -0,0 +1,49 @@ +# 非代码类贡献 + +下面的列表旨在帮助非代码贡献者找到openEuler社区项目中可以利用其专业知识的最佳领域。这样不仅是为希望参与贡献的任何人提供了入门指南,而不必限于编码,还可以满足项目组当前可能无法由专注于代码贡献者完成的任何需求。您对以下的项目或角色感兴趣,都可以联系我们! + + + +## 外向型社区工作 +- 参与[社区交流](/../communication/),包括帮助引导社区新人贡献社区,回答社区上的疑问等, +- 运维社区通信工具,包括联系主持社区会议等 +- 共同组织社区聚会,包括openEuler开发者大会等, +- 管理社区“大事件”等,包括查看管理讨论中的事件 +- 参与社区非文件的写作,包括社区推广、安装手册、博客和视频等 + + + +## 内向型社区工作 + +- 参与社区文档写作 +- 参与社区版本测试验证,请加入sig-test,参考该SIG的[README]()和贡献者相关的指导。 +- 参与社区基础设施建设,请加入sig-infrastructure +- 参与社区视觉设计,请加入sig-ucd + + + +## SIG内的特定角色 + +以下的角色对于openEuler中的每一个SIG都很重要。如果您对项目中的特定主体感兴趣,可以通过多种不同的方式为特定的项目组做出贡献。 + +- 文献资料 + - 项目/SIG专业知识领域的通用文档 + - 更新,审查和记录文档 + - 翻译 + +- UX/UI设计 +- 打包发布 +- 项目管理 + - 确认任务、问题等的所有权 + - 管理PR,管理项目组分类和标签,编辑PR相关文本 + - 为SIG等组织和帮助召开会议 + + + +### 具备基本代码能力的非代码任务 + +以下角色不写代码,但需要具有基本的编码知识或编码相关特定领域知识。 + +- 产品文档 +- 管理发行说明 +- 项目内Github管理(存储库管理) \ No newline at end of file diff --git a/en/contributors/packaging.md b/en/contributors/packaging.md new file mode 100644 index 0000000..f9eecf8 --- /dev/null +++ b/en/contributors/packaging.md @@ -0,0 +1,262 @@ +# openEuler软件打包指南 + +目录 + +- [软件打包基础说明](#id1) + - [打包规则](#id1-1) + - [打包基础知识](id1-2) +- [openEuler打包规则](#id2) + - [软件包拆分/合并规则](#id2-1) +- [SPEC编写规范](#id3) + - SPEC文件说明 + - [openEuler custom amcros](#id4) + - [软件打包验证](#id5) + +- [范例说明](#id5) + - [范例一](#id5-1) + - [范例二](#id5-2) + - [范例三](#id5-3) + - [范例四](#id5-4) + - [范例五](#id5-5) + + + +

软件打包基础

+**打包**是指编译并捆绑软件与元数据,例如软件全名、描述、正常运行所需要的依赖列表等的动作。这是为了让软件使用者可以使用类似RPM等软件包管理器,方便舒服的对其所使用的软件进行安全、升级或者删除。 + + + +

打包规则

+openEuler社区综合了多个开源项目的软件包,并把他们集成到一个系统中。所以规范化多种多样的开源项目到一个连贯的系统中是非常有必要的。此处简要描述openEuler社区的打包规则: + +- 我们遵守一般的[Linux基础标准(LSB)]()。该标准致力于减少各个发现版之间的差异; + +- 我们遵守[Linux文件系统层级标准(FHS)]()。该标准主要是关于如何管理Linux文件系统层级的参考; + +- 除了遵守以上Linux发行版通常都会默认遵守的规则,本指南还规范化了为openEuler社区的软件包打包的的规则要求。 + + + +

打包基础知识

+一个软件包(假设软件包名为*pgname*)通常会拆分成多个RPM包: + +- **与软件包同名的主包**:包括命令、配置、动态库(简单的软件无需对外提供libs时会使用)等 + +- **libs包**:提供动态库,供二次开发和使用,通常命名为*pgname*-libs + +- **开发用devel包**:提供动态库、编译使用的头文件,两者命名方式和拆分原则一致?????,通常命名为*pgname*-devel?? + +- **开发用static包** :提供.a等静态编译需要的组件,通常命名为devel-static + +- **文档doc包**:提供二次开发文档、接口函数说明手册、范例和man、info等手册 + +- **本地化支持lang包**:提供语言和时区等本地化支持,通常命名为*pgname*-local; + +- **其他包**:如server、utils、tools、plugins等,和包的功能紧密相关的软件包,比如部分网络软件单独提供一个server或clinet包。 + + 大部分软件包遵循以上拆分原则,openEuler在次基础上定义了自己的打包规则,以指导软件包的拆分、依赖关系建立,从而形成自己的软件包体系。 + + + +

openEuler打包规则

+

软件包拆分/合并规则

+openEuler将软件包拆分成3个主要的二进制RPM包:主包、devel包和help包,其规则如下: + + - **主包** + - 包名:*pgname* + - 包含内容:命令、配置、本软件包包含的命令运行所需的so,以及本软件对外提供的动态库、license、copyright、Author、readme(如果包含版权信息) + - 主要变化:主包中的man、info、readme等功能、版权、license无关的文档信息拆分到help包中 + - 关键点:通过Provides、Obsoletes声明实现与前项版本的兼容 + - 动态库.so,RPM构建会到处动态库的内容,无需单独提供Provides声明 + - libs包合并到主包后,Provides的内容RPM无法自动导出,需要在主包对原来libs包中的内容追加Provides声明 + - 原本libs包提供的功能已经又主包提供,可以添加Obsoletes来指明主包已经替换了libs包(请参见[范例一]()) + - **devel包** + - 包名:*pgname*-devel + - 包含内容:静态库.a、头文件、example范例、test用例、其他开发使用的内容 + - 主要变化: + - 合并devel包和static包 + - 所有开发使用的内容都收编到devel包中 + - 关键点: + - 所有属于开发范围的内容,统一打包成devel包。如果devel的内容包含了原来static等包提供的功能,需要应用Provieds和Obsoletes来保持和前项版本的兼容 + - 动态库打包到主包后,devel包一般需要Requires主包,否则部分动态库会找不到 + - **help**包 + - 包名:*pgname*-help + - 包含内容:二次开发文档、接口函数说明手册和man、info手册等相关文档和手册 + - 主要变化:主包中的man、info等手册和文档拆分到help包中 + - 关键点: + - 通常help包只依赖man、info等手册查询工具,不需要任何其他编译依赖和安装依赖。 + - 外部大部分软件包以doc包命名,修改时需要将其改成help包(请参考[范例二]()) + +如果是复杂软件包,在上面3个分类的基础上,特殊场景还需考虑: + +- **for-language包** + - 包名:如python2-*pgname*、python3-*pgname*、per-*pgname* + - 包含内容:针对perl、python2、python3等语言的支持的分拆 + - 主要变化:NA + - 关键点:NA + +- **本地化支持包** + - 包名:*pgname*-lang + - 包含内容:本地化、语言支持、时区相关等国际化相关内容。这里是针对复杂的、国际化的相关软件,简单的包不需要单独拆分出lang + - 主要变化:所有lang合并成一个,不针对国家、地区进行拆分 + - 关键点:NA +- **其他复杂和特殊包** + - 包名:例如openssh-server、openssh-client等 + - 包含内容:NA + - 主要变化:建议尽可能将原有内容按照上面分类拆分,减少此类包 + - 关键点:单独评审是否有此类包 + + + +

SPEC编写规范

+

SPEC文件说明

+**spec中的缩进统一格式,使用空格,保持对齐** + +**文件头** + +> *Name*:#软件包名字,**保持** +> +> *Version*:#软件版本号,**保持** +> +> *Release*:#软件包发行号,**变更**。例如:`RElease:4%{?dist}->5` +> +> *Summary*:#概要,**变更**。一句话概括该软件包信息,打开URL查看软件包主页信息 +> +> *License*:#变更:软件授权方式,多个License之间用and隔开。错误格式:LGPLv2 BSD,正确格式:LGPLv2 and BSD +> +> *Group*:#组信息,**删除** +> +> *URL*:#一般**保持**,需尝试登陆能否登上,无效的要替换成有效的 +> +> *Source*:#**保持**,源码包的名字/下载地址,按顺序表示 +> +> *Patch*:#补丁,需标明补丁来源,以保证补丁可溯性,**保持** +> +> *Description*:软件包具体描述 + +说明: + +1.基础字段全部使用空格保证对齐,且各项关键字顺序需与上述一致 + +2.openEuler会自动匹配当前芯片架构,`%{?_isa}`可去除,比如`%{name}%{?_isa}`可以替换成`%{name}` + +3.spec中version、release比较复杂的场景,如果灭有特殊要求,尽量简化为单个数字,且保持递增,h和`%{?dist}`的后缀要去除 + + + +**软件包依赖** + +> - *BuildRequires*:定义build时所依赖的软件包,在构建编译软件包时需要的辅助工具。**尽量写到一行,用空格隔开,gcc建议去掉,因为一般环境中已经存在,无需特意说明。且写包名即可**,例如`%{bindir}/man`替换成`man` +> - *Requires*:定义安全时的依赖包,指二进制软件包在其他机器上的安装时,所需要依赖的其他软件包,**尽量写成一行,用空格隔开**。RreReq、Requires(pre)、Requires(post)、Requires(preun)、Requires(postun)等都是针对不同阶段的依赖指定的,**策略相同**。 + +说明: +1.该部分的依赖关系定义了一个软件包正常工作需要依赖其他软件包,在RPM包升级、安装和删除的时候需要确保依赖关系得到满足 +2.多个编译依赖或安装依赖可以汇总成1~3行,这样看起来简洁 + + + +**预处理阶段(%prep)** + +该阶段描述了解压源码包的方法 + +`%setup -q# ` 解压源文件程序 + +`patch #` 应用对应补丁 + +推荐更改成`%autosetup`命令,自动解压源码包和打补丁(请参考[范例三]()) + + + +**编译阶段**(%build) + +`%configure`:#configer文件默认不编译静态库,参数`--disable-static`可以去掉。#配置参数尽量**合并**一行(请参考[范例四]()) + +`make`:#替换成`%nake build`(请参考[范例五]()) + +说明:configure、make等编译命令,选项如果没有宏控制,可以汇总到1行。 + + + +**安装阶段**(%install) + +需替换的指令: + +1.清空安装目录在安装时会自动清除,`rm -rf %{buildroot}`和`rm -rf $RPM_BUILD_ROOT`命令可以删除 + +2.删除*.la和.a文件命令: + +`rm %{buildroot}%{_libdir}/*.la` + +或者 + +``` +find $RPM_BUILD_ROOT -type f -name "*.la" -delete \ +find $RPM_BUILD_ROOT -type f -name "*.a" -delete \ +``` + +可以用宏`%delete la and a`调换 + +3.删除*.la文件: + +`find $RPM_BUILD_ROOT -type f -name "*.la" -delete ` + +可以用宏`%delete la`调换 + + + +**%file阶段%** + +%file是对软件打包时,**打包的顺序要和前面定义package的顺序保持一致** + + + +

openEuelr custom amcros

+``` +%disable_rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool \ +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%delete_la_and_a +find $RPM_BUILD_ROOT -type f -name "*.la" -delete \ +find $RPM_BUILD_ROOT -type f -name "*.a" -delete + +%delete_la +find $RPM_BUILD_ROOT -type f -name "*.la" -delete + +%chrpath_delete +find $RPM_BUILD_ROOT/ -type f -exec file {} ';' | grep "\" | awk -F ':' '{print $1}' | xargs –i chrpath --delete {} + +%package_help +%package help \ +Summary: Documents for %{name} \ +Buildarch: noarch \ +Requires: man info \ +\ +%description help \ +Man pages and other related documents for %{name}. + +%install_info() +/sbin/install-info %1 %{_infodir}/dir || : + +%install_info_rm() +/sbin/install-info --remove %1 %{_infodir}/dir || : +``` + + + +

软件打包验证

+建议从下面三个角度验证。 + +- 不同的软件列表,软件选型 +- 独立的软件拆分规则 +- 基于不同分拆规则的软件依赖关系树。 +- 确认软件是否重新选型,重新选型后,是否有接口、功能、使用方式上的差异,软件升级后,是否导致依赖此软件的上层软件功能异常。 +- 如果软件未做选型升级,确认拆分前后,所有二进制RPM包含的内容是否有变化、遗漏,可以通过`rpm –qpl`查询对比。 +- 拆分前后生成二进制RPM的Provides、Requires是否有变化,可以通过命令`rpm --provides` 或`rpm --requires`查看。特别是主包收编libs包的场景,要查看主包是否包含原libs包Provides、Requires内容。 +- 将软件拆分前编译的二进制全部安装到系统,查看软件选型打包后的二进制包是否可以使用`rpm –Uvh`进行正确升级。 +- 安装升级后,验证:① 服务类的,验证`start/ stop /restart/reload`;② 命令类的,至少要验证基本功能可用。 +- 软件选型升级后,对其他软件包的影响,很难独立判断,需要做集成测试。 + + + +

范例

diff --git a/en/contributors/pull-requests.md b/en/contributors/pull-requests.md new file mode 100644 index 0000000..e2ea1a9 --- /dev/null +++ b/en/contributors/pull-requests.md @@ -0,0 +1,72 @@ +# PR提交指南 + +本指南确保您的PR请求符合我们的最佳实践。 + + + +## 在提交PR请求之前 + +请您在提交PR之前完成本地验证,以便在一定程度上保证在提交PR后的持续集成测试的通过。 + +XXXXXXXXXXXX(todo:此处需提供在本地完成测试的方法) + + + + + +## 提交PR + +### PR提交工作流 + +1、提交PR请求 + +2、机器人分配评审人 + +3、运行自动化测试。 + +- 如果测试成功 +- 如果测试失败,则XXXXXXXXXXX + +4、审核人对提交进行审核 + +5、将审核意见推送给您的PR分支 + +6、根据需要重复前两个步骤。直到评审者添加``标签。该标签说明,该评审者已经认为本次的PR提交内容,已经通过该评审人的审核。 + +7、机器人分配的审批者会根据评审人意见,以及自己的评审意见添加``标签,表示本次PR提交通过最终审核,并准备自动合并。 + + + +### 关于`Test-Ready` + +- 组织成员可以将`test-ready`标签应用到贡献者提交的PR,以表明可以对该PR进行测试 + + + +### 标记未完成的PR请求 + +如果您想在PR请求完成之前先征求大家的意见,有两种方法可以实现此目的: + +1、您可以添加`hold`或`hold-cancel`注释 + +2、您可以在PR请求的标题中添加或删除`WIP`或`[WIP]`前缀 + +当存在这两个标签时,将不会考虑合并你的PR请求。 + + + +### PR请求和发布周期 + +如果您的PR请求已经通过审核,但是一直未合入,则可能是由于当前出去版本的发布周期处于特定阶段造成的。有时版本致力于解决特定的问题或达成特定的目标,可能会冻结代码库的合入。 + +如果您认为此种状态不合理,可以联系对应的SIG/项目或[sig-pm]()进行澄清。 + + + +### 注释命令参考 + +请参考[命令行文档](/en/sig-infrastructure/command.md) + + + +en/sig-infrastructure/command.md \ No newline at end of file diff --git a/en/governance/README.md b/en/governance/README.md new file mode 100644 index 0000000..d4da751 --- /dev/null +++ b/en/governance/README.md @@ -0,0 +1,45 @@ +# openEuler Community + +Welcome to openEuler community. + +## Community Vision + +**openEuler builds an innovative platform and a unified and open OS that supports the multi-processor architecture**. + +## Coummunication + + +There are several ways to communicate in openEuler, and please read [Communication](/en/communication/) for details. + +## Community Governance + +openEuler has the following official organizations: + ++ **Committee**: A group of people who are assigned to take care of some topics. Although the community encourages being as open as possible, personal communication is allowed due to the sensitivity of the topics undertaken by this group of people. Such as security committee, financial committee, etc. + ++ **SIG**: A persistent and open team focused on **specific domain**. This team achieves specific delivery goals through regular tasks and activities. SIG has an open and transparent process, which follows openEuler's [code of conduct](/code-of-conduct.md). Anyone can participate and contribute. Find SIGs in . + ++ **Sub-projects**: Sub-projects are established within the SIG to achieve **specific delivery goals or results** and can work independently. A subproject has one or more repositories, which are the main output organization of the openEuler community. All sub-projects are in the SIG to which they belong. If the project's deliverables need to enter the community distribution scope, you can submit an application to the technical committee. Please refer to [SIG application guidance](/en/technical-committee/governance/README.md). + ++ **The sub-project has two phases: incubation phase and maturity phase**. Software packages for mature projects are available on the community distribution CD. Incubation projects can apply for software packages to enter the community's `/extra` (extra package not included in the CD-ROM) directory or` /experimental` (exploration, experimental package) directory + ++ **Working Group**: An ad hoc group set up to resolve issues across SIG borders. The workgroup does not own any code or long-term deliverables. It can be reported through the relevant SIG. One example is the Community Security Coding Working Group. + + More detailed information about these organizations can be found in [Community Governance](/en/governance/). SIG can have its own contribution strategy (described in the "README" or "CONTRIBUTING" file in this SIG/project team's repo), as well as its own mailing list, IRC channel, etc. + +If you need more information about SIG/project structure and organization, please refer to [SIG Governance](/en/technical-committee/governance/). + + + +## Contribute + +The first step to make a contribution is to choose from [openEuler SIG/Project list](https://openeuler.org/en/sig.html). Start participating in SIG/project meetings, join the IRC channel and subscribe to the mailing list. SIGs/projects usually consist of a series of `help-wanted` ISSUEs that can help new contributors to participate. + +The Contribution Guide provides ways to get your ideas and bug fixes seen and accepted, including detailed instructions: + +1. How to ask questions + +2. How to find what works + +3. How to submit a PR + diff --git a/en/secretariat/README.md b/en/secretariat/README.md new file mode 100644 index 0000000..383af70 --- /dev/null +++ b/en/secretariat/README.md @@ -0,0 +1,28 @@ +# Secretariat + +The openEuler community is still in the preparation phase. During the preparation phase, the secretariat is responsible for the operation of the openEuler community. At this stage, the main responsibilities of the openEuler community secretariat are as follows: + +- Develop community operation plan + +- Financial budge plan preparation. + +- Perform community founder preparations + +- Other unassigned in the openEuler community + +## Members + +1. Fred Li(@zerodefect), since December 2019 +2. freesky-edward(@freesky-edward), since December 2019 + + + +## Contact + +Mail: council@openeuler.org + +## Meeting + +会议时间尚未确定,确定后会更新。 + + diff --git a/en/security-committee/README.md b/en/security-committee/README.md new file mode 100644 index 0000000..b52d551 --- /dev/null +++ b/en/security-committee/README.md @@ -0,0 +1,42 @@ +**The contenct in this folder is not finalized yet.** + +# 安全委员会 + +openEuler安全委员会是负责接收和响应openEuler产品安全问题报告的机构。该机构的使命是通过以下方式为openEuler用户提供最安全的操作环境: + ++ 通过打包程序修复和更新软件包 ++ 确定并帮助改善社区内的安全开发实践 ++ 回答社区中的软件安全性相关问题 + + + +## 工作职责 + ++ 协助漏洞修复:确保及时修补和发布已知漏洞。通过为软件包Maintainer们提供补丁帮助,帮助用户系统在成为攻击受害者之前进行漏洞修复,包括提供相关漏洞检测和修复工具。 ++ 响应安全问题:响应上报的安全问题,跟踪安全问题的处理进展,并遵循安全问题披露策略对安全问题在社区内进行披露和公告。 ++ 安全编码规则:防止漏洞被首先写入是安全团队的目标。安全团队会努力创建文档或开发工具来帮助开发团队避免软件开发过程中的常见陷阱。安全团队还会尝试回答过程中遇到的任何问题。 ++ 参与代码审核:安全团队希望能够通过代码审核帮助团队提前发现代码中的漏洞。 + + + +## 成员 + +***待任命*** + + + +## 联系 + ++ 邮件列表:security@openEuler.org ++ openEuler社区ISSUE/PR + + +## 安全 + +安全委员会的政策和文件 + ++ 地址: + + + +*如果要报告安全问题,请通过电子邮件发送到私人邮件列表:security@openeuler.org,其中包含安全问题的详细信息,以及所有openEuler错误报告的预期详细信息。* \ No newline at end of file diff --git a/en/sig-infrastructure/README.md b/en/sig-infrastructure/README.md new file mode 100644 index 0000000..7f46ae4 --- /dev/null +++ b/en/sig-infrastructure/README.md @@ -0,0 +1,43 @@ + +**Please visit instead of reading the content here.** + + +# 基础设施SIG +*todo*:基础设施团队的领域范围和目标 + +## 组内会议 + + + +## 团队成员 + + + +## 沟通联系方式 +- [邮件列表]() +- [IRC]() +- [Gitee Issue/PRs]() + + + + + + + +## 子项目 + +*todo*:子项目介绍和[repo链接]() + +对于基础设施团队来说,肯定有一个关于gitee管理的子项目 + + + + + + + + + + + +## 目标 \ No newline at end of file diff --git a/en/sig-infrastructure/Repository.md b/en/sig-infrastructure/Repository.md new file mode 100644 index 0000000..b50f890 --- /dev/null +++ b/en/sig-infrastructure/Repository.md @@ -0,0 +1,171 @@ +# Repository + +## Maintenance + +### Background + +There are hundreds of repositories in openEuler community. +It is very difficult to maintain all of repositories and the members in every single repository. +An automatic tool is wanted to figure out these problems and save the team's workload. + +### Solution + +The infrastucture team have built a mechanism to simplify the repository maintenance. +The repositories and repository members about openEuler are addressed in +[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml), +meanwhile the repositories and repository members about src-openEuler are addressed +in [src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml). +If the yaml files are changed by a pull request, the `openeuler-ci-bot` will detect these changes +and automatically do some actions like `create a repository`, `add members for a repository`, +`remove members from a repository`, `add protecting a branch` and `remove protecting a branch` +based on the Gitee API. + +### How to create a repository + +``` yaml +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private +``` + +If you want to add a new repository into openEuler community, +you can modify the [openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +or [src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml) +with a pull request with the above example. + +* `abattis-cantarell-fonts`: the name of the new repository you want to create. +* `fonts repo`: the description of the new repository. +* `private`: this represents the repository type. + + `private` means the new repository is only visible for some specified people. + + `public` means the new repository is public for all of the pepple. + +When your pull request is merged, the ```openeuler-ci-bot``` will create the new repository immediately. + +### How to create or remove a member + +``` yaml +community: + name: openeuler + managers: + - zhuchunyi + - overweight + developers: + - igorkorkin + viewers: + - jianminw +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + type: private + managers: + - dogsheng + developers: + - igorkorkin + viewers: + - jianminw +``` + +If you want to add or remove a member in a repository, +you can modify the [openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +or [src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml) +with a pull request with the above example. + +* `openeuler`: the name of the openEuler communtiy which has another name `src-openeuler`, actually it is no need to modify. +* `managers`: the managers you want to specify under `community` or the `repositories`. + The Gitee accounts are needed here, like `zhuchunyi`. +* `developers`: the developers you want to specify under `community` or the `repositories`. + The Gitee accounts are needed here, like `igorkorkin`. +* `viewers`: the viewers you want to specify under `community` or the `repositories`. + The Gitee accounts are needed here, like `jianminw`. + +***NOTE***: you may find `managers`, `developers` and `viewers` are existing +under `community` or the `repositories` in the same time. Let's see the difference between them: + +* Usually if you want to add or remove a manager, developer or viewer of all the repositories, + you can modify the `managers`, `developers` and `viewers` under `community`. +* Specially if you want to add or remove a manager, developer or viewer of a specified repository, + you can modify the `managers`, `developers` and `viewers` under the specified repository like `accountsservice`. +* If a repository does not specify any member(including `managers`, `developers` and `viewers`) like `abattis-cantarell-fonts`, + the `openeuler-ci-bot` will use `managers`, `developers` and `viewers` under `community` + to create members for this repository like `abattis-cantarell-fonts`. +* If a repository does specify some members(including `managers`, `developers` and `viewers`) like `accountsservice`, + the `openeuler-ci-bot` will use `managers`, `developers` and `viewers` under the repository + to create members like `accountsservice`. +* If a Gitee account is exsiting in `managers`, `developers` and `viewers`, + this Gitee account will be as a manager, as the permisson in Gitee is like `managers` > `developers` > `viewers`. + + +### How to add or remove protecting a branch + +```yaml +community: + name: openeuler + protected_branches: + - master +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + protected_branches: + - master + - dev + type: private +``` + +If you want to add or remove protecting a branch in a repository, +you can modify the [openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +or [src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml) +with a pull request with the above example. + +* `openeuler`: the name of the openEuler communtiy which has another name `src-openeuler`, actually it is no need to modify. +* `protected_branches`: the branches to be protected you want to specify under `community` or the `repositories`. + +***NOTE***: you may find `protected_branches` is existing under `community` or the `repositories` in the +same time. Let's see the difference between them: + +* Usually if you want to add or remove protecting a branch of all the repositories, + you can modify the `protected_branches` under `community`. +* Specially if you want to add or remove protecting a branch of a specified repository, + you can modify the `protected_branches` under the specified repository like `accountsservice`. +* If a repository does not specify any protected branches like `abattis-cantarell-fonts`, + the `openeuler-ci-bot` will use `protected_branches` under `community` + to add protecting branches for this repository like `abattis-cantarell-fonts`. +* If a repository does specify some protected branches like `accountsservice`, + the `openeuler-ci-bot` will use `protected_branches` under the repository + to add protecting branches like `accountsservice`. +* If the branch specified in `protected_branches` dose not exist, `openeuler-ci-bot` will do + nothing relevant. + +### How to create or remove a maintainer beyond Gitee + +Gitee provides manager, developer and viewer and so forth for the repository permission management. +`openeuler-ci-bot` supports another way to add maintainers for every repository. +`openeuler-ci-bot` will scan the `OWNERS` file under every repository to discovery the extra maintainers. + +Take under `ci-bot` as an example. +The file content is like below: + +``` yaml +maintainers: + - edisontest + - freesky-edward + - TommyLike + - xiangxinyong + - zerodefect +``` + +It means all of these five users have the permission to merge the pull request in the `ci-bot` repository. +These users can use `/lgtm` and `/approve` commands to trigger `openeuler-ci-bot` to merge the pull request. +You can find more bot commands from +By the way, all of the managers and developers in Gitee can also use `/lgtm` and `/approve`. + +If you want to keep maintainers beyond Gitee, please add the `OWNERS` file under your repository, +and add the maintainer into the `OWNERS` file, `openeuler-ci-bot` will grant the `merge` permission to these maintainers. diff --git a/en/sig-infrastructure/command.md b/en/sig-infrastructure/command.md new file mode 100644 index 0000000..2c46aab --- /dev/null +++ b/en/sig-infrastructure/command.md @@ -0,0 +1,196 @@ +## OpenEuler Community Command Help + +All of the projects in OpenEuler Community are maintained by Bot. +That means the developpers can comment below every Pull Request or Issue to trigger Bot Commands. +The Commands incluing as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CommandExampleDescriptionWho Can Use
+ /check-cla + + /check-cla + + Forces rechecking of the CLA status of a Pull Request. + If the Pull Request author has already signed CLA, + the label `openeuler-cla/yes` will be added in the Pull Request, + If not, the label `openeuler-cla/no` will be added. + + Anyone +
+ /lgtm [cancel] + + /lgtm +
+ /lgtm cancel +
+ Adds or removes the `lgtm` label which is typically used to gate merging. + + Collaborators on the repository. `/lgtm cancel` can be used additionally by the Pull Request author. +
+ /approve [cancel] + + /approve +
+ /approve cancel +
+ Adds or removes the `approved` label which is typically used to gate merging. + + Collaborators on the repository. +
+ /[remove-]kind + + /kind bug +
+ /remove-kind bug +
+ Applies or removes a kind label from one of the recognized types of labels. + For example, the label is more like `kind/bug`. + + Anyone can trigger this command on a Pull Request or Issue. +
+ /[remove-]priority + + /priority high +
+ /remove-priority high +
+ Applies or removes a priority label from one of the recognized types of labels. + For example, the label is more like `priority/high`. + + Anyone can trigger this command on a Pull Request or Issue. +
+ /[remove-]sig + + /sig kernel +
+ /remove-sig kernel +
+ Applies or removes a sig label from one of the recognized types of labels. + For example, the label is more like `sig/kernel`. + + Anyone can trigger this command on a Pull Request or Issue. +
+ /close + + /close + + Closes a Pull Request or an Issue. + + Authors and collaborators on the repository can trigger this command. +
+ /reopen + + /reopen + + Reopens an Issue. + + Authors and collaborators on the repository can trigger this command. +
+ /retest + + /retest + + Rerun test jobs that have failed. + + Anyone can trigger this command on a Pull Request. +
+ /assign [[@]...] + + /assign +
+ /assign @openeuler-ci-bot +
+ Assigns an assignee to an Issue. + + Anyone can use this command on an Issue, + but the target user must be a member of the org that owns the repository. + If no target user is specified, that means this Issue will be assigned to yourself. +
+ /unassign [[@]...] + + /unassign +
+ /unassign @openeuler-ci-bot +
+ UnAssigns an assignee from an Issue. + + Anyone can use this command on an Issue, + but the target user must be a member of the org that owns the repository. + If no target user is specified, that means this Issue will be unassigned from yourself. +
diff --git a/en/sig-infrastructure/label.md b/en/sig-infrastructure/label.md new file mode 100644 index 0000000..c06508e --- /dev/null +++ b/en/sig-infrastructure/label.md @@ -0,0 +1,49 @@ +## openEuler Community Label + +There are lots of labels for all of the projects in openEuler Community. +These labels represent meaningful description in the Issue or Pull Request. +The labels incluing as follows: + +### CLA + +* openeuler-cla/yes +* openeuler-cla/no + +### Kind + +* kind/api-change +* kind/bug +* kind/cleanup +* kind/design +* kind/documentation +* kind/failing-test +* kind/feature +* kind/enhancement + +### Priority + +* priority/high +* priority/medium +* priority/low + +### Sig + +* sig/kernel +* sig/driver +* sig/testing +* sig/release +* sig/doc +* sig/api + +### CI + +* lgtm +* approved + +### Others + +* duplicate +* help-wanted +* invalid +* question +* wontfix diff --git a/en/technical-committee/README.md b/en/technical-committee/README.md new file mode 100644 index 0000000..47b63c2 --- /dev/null +++ b/en/technical-committee/README.md @@ -0,0 +1,59 @@ +# Technical Committee + +The openEuler Technical Committee (TC for abbreviation) is the technical decision-making body of the openEuler community and is responsible for the coordination of technical decisions and technical resources in the community. +There'll be no more than 9 members of TC, and responsibilities will be assigned every year. + +# The main responsibilities of the technical committee are: + +- Answer technical questions from the Board, supporting board to make reasonable judgement on strategic directions. + +- Collebrate remotely, having a face-to-face every 6 monthes. Have regularly online meeting in between. + +- Guidance and decision on community technology route, interface definition, architecture design, build release, etc. Establishing the rule of community gradually. + +- Coordinate cross-projects cooperation and make decisions on cross-project technical issues in the community + +- Formulate project incubation and development processes to support the healthy development of community technology ecology + +- Approve new projects to join the community and help community developers incubate new projects + +- Adjust existing projects in the community according to the community development blueprint, delete or archive projects that do not meet the community plan + +- Accept feedback (needs and questions) from user committees, clarify technical implementation plans, and draw community resources to bring them to the project + +- Establish community certification standards and platforms to provide technical support for community certification (OS commercial release certification, hardware compatibility certification, etc.) + + + +# Meeting + +- Open online meeting: TC will have meeting on Wednesday morning 10:00 every 2 weeks. +- Access method will be determined on the maillist prior to the meeting. For now, it's welink system from Huawei. +- Topics for regular meeting includes: + + Review on new SIG applications + + Review on new software packages applications + + Feedback from users, and discuss how to address/respond. + + Review incubated projects (One project per meeting) + + Other topics raised by TC members. + + Topics will be collected and sorted on https://gitee.com/openeuler/community/tree/master/zh/technical-committee/next-meeting-topics.md publicly. (Note: sorry that it'll be in Chinese mostly). +- Anyone is welcomed to the meeting. + + +# Members + + +- 熊伟[[@myeuler](https://gitee.com/myeuler)] +- cynthia[[@cynthia_xh](https://gitee.com/cynthia_xh)] +- Shinwell[[@Shinwell_Hu](https://gitee.com/Shinwell_Hu)] +- 王勋[[@dream0819](https://gitee.com/dream0819)] +- 郭寒军[[@hanjun-guo](https://gitee.com/hanjun-guo)] +- 谢秀奇[[@xiexiuqi](https://gitee.com/xiexiuqi)] +- zhanghailiang[[@zhanghai_lucky](https://gitee.com/zhanghailiang_lucky)] + + + +# Contact + +- [Mail List](tc@openeuler.org) +- [Mail Archive](https://mailweb.openeuler.org/hyperkitty/list/tc@openeuler.org/) + diff --git a/en/technical-committee/governance/README.md b/en/technical-committee/governance/README.md new file mode 100644 index 0000000..5b7f0db --- /dev/null +++ b/en/technical-committee/governance/README.md @@ -0,0 +1,91 @@ +# SIG Management Procedure + +All SIGs in the openEuler community have a charter that clarifies the scope and governance. + ++ Scope defines what the SIG is responsible for ++ Governance rules must account for responsibilities in the SIG, as well as the roles and how the work is carried out + + +## How to Create a New SIG + +**1. Copy the SIG group template and name it** + +Fork gitee.com/openeuler/community to you gitee. + + +``` +git clone https://gitee.com/YOURGITEE/community + +cd ./community/sig + +cp -r sig-template sig-YOURSIGNAME + +cd sig-YOURSIGNAME + +``` + + +**2. Fill the information for the new SIG** + +Please refer to [Recommendations and Requirements](./SIG-governance-requirements.md) to complete the application for the new SIG. + + +``` +mv sig-template_cn.md sig-YOURSIGNAME_cn.md + +mv sig-template.md sig-YOURSIGNAME.md + +vi sig-YOURSIGNAME_cn.md + +vi sig-YOURSIGNAME.md + +``` + +**3. Assign members for your SIG** + +Edit the file OWNERS to finish the add memebers. + +``` +vi OWNERS + +``` + +**4. Configure repositories which the SIG maintain** + +In openEuler Community there are 2 repositories: +- **Code Source** to store the source code of software. + +- **Package Source** to store the software packages used to build the operatig system. + + +``` +vi ../../repository/src-openeuler.yaml + +# or / and + +vi ../../repository/openeuler.yaml + +``` + +**5. Add the description for your new SIG in sigs.ymal** + + +``` +vi ../sigs.yaml + +- name: sig-YOURSIGNAME + repositories: + - openeuler/aaa + - src-openeuler/bbb +``` + +**6. Create a new Pull Request** + +Create a Pull Request on Gitee. + +**7. Send an application email to Techincal Committee** + + +Send an application email to Technical Committee () with the title starting with [New SIG]. + + diff --git a/en/technical-committee/governance/SIG-governance-requirements.md b/en/technical-committee/governance/SIG-governance-requirements.md new file mode 100644 index 0000000..370d3c3 --- /dev/null +++ b/en/technical-committee/governance/SIG-governance-requirements.md @@ -0,0 +1,74 @@ +**to be translated into English** + +# SIG治理要求 + + + +## 目标 + + +本文简要描述了对SIG的治理要求和建议。本文档使用[rfc2119](https://www.ietf.org/rfc/rfc2119.txt)表示关键字要求级别。 + + + +## 检查清单 + + +以下是在定义openEuler SIG治理规则时需要考虑的清单 + + + +### 角色 + ++ *必须*枚举SIG中的任何角色以及每一个角色的职责 ++ *必须*定义更改角色的过程 + + 何时以及如何向每一个角色添加新成员 + + 现有成员何时以及如何从各个角色退休 ++ *应该*定义角色成员的限制/要求 ++ *可以*定义角色的目标人数 + + + +### 组织管理 + ++ *必须*定义何时以及如何组织SIG组成员之间的协作 + + *应该*定义定期会议的安排和运作方式 + + *应该*定义如何安排会议 + + *可以*定义大家都比较闲暇的定期办公时间 ++ *可以*定义新的社区成员为该SIG做出贡献的过程,例如阅读贡献指南,参加SIG组会议等 ++ *必须*定义子项目的管理方式 + + 何时以及如何创建新的子项目 + + *必须*在子项目中定义角色(和成员资格) + + + +### SIG管理 + ++ *必须*定义里程碑/版本的设置方式,包括 + + 如何建议和接受里程碑/发布的目标日期 + + 里程碑的目标 + + 发布版本的过程 ++ *应该*定义如何管理事务和计划 + + 如何确定优先级 + + 如何安排优先级 + + + +### 技术流程 + +社区上没有代码的SIG可以简化甚至忽略 + ++ *必须*定义如何在SIG组内传递和制定技术决策 + + 提案流程,在何处已经核实发布和讨论,何时以及如何做成决定 + + 谁是提案的决策者 + + 如何解决SIG内的分歧(例如:讨论后投票) + + 分歧如何以及及时上升 + + *应该*为提案流程定义期望和建议(例如:如果在两周内无法解决问题,则逐级上升) + + *应该*为通过正式流程的决策定义后期跟踪处理方式(例如:何时重新审视或撤销决策) + ++ *必须*定义SIG的技术资产的健康标准和发布标准 + + 发布用于确定代码是否健康且可以发布的明确公开的标准 + + *仅*在标准满足时,才能发布 + + 确保技术资产处于可发布状态,以实现跨多个SIG的里程碑/发布(如openEuler的LTS版本) + + *应该*为健康的标准定义明确的目标和指标(例如:在N提案修复破坏构建的bug) + + *应该*定义满足目标和指标的过程(例如:所有测试启动前的预验证等) \ No newline at end of file diff --git a/en/technical-committee/governance/SIG-governance.md b/en/technical-committee/governance/SIG-governance.md new file mode 100644 index 0000000..dffe4e3 --- /dev/null +++ b/en/technical-committee/governance/SIG-governance.md @@ -0,0 +1,140 @@ +**to be translated into English** + +# SIG角色和组织治理 + +​ 该Charter内容遵循openEuler宪章 [README](README.md)中描述的约定,本文会根据需要进行更新,以满足openEuler SIG的需求。 + +​ 为了使SIG的工作标准化,提高社区透明度,并将贡献者合理的到入到对应的SIG组内,SIG应该遵循以下准则: + +- 创建章程并根据[README](README.md)进行申请 +- 定期开会,建议每周至少30分钟 +- 持续保存最新的会议备忘录,并保存在对应的文件夹 +- 每季度至少在社区每周一次的会议中报告一次SIG的活动,集成类SIG可以调整成一年。 +- 根据需要参与发行计划会议、回顾会议和燃尽会议等 +- 确保在SIG拥有的Gitee组织和存储库内开展相关工作,以支撑社区内的编码和测试,包括问题分类、PR审核、问题响应、错误修复等。 +- 采用[社区提供的邮件列表、IRC等主要方式](/../../communication)用于社区工作、沟通和合作,而不是私人邮件和会议。 + + + +## 社区角色 + + +### 角色说明 + +本节中的“成员”是指 + +- 初始成员是在SIG或子项目成立时定义的,是接受该SIG或其子项目的一部分 +- 成员*应*保持活跃并积极响应自己的角色职责 +- 成员*必须*是社区成员,才有资格在SIG组中担任领导角色 +- 休假超过1个月或更长时间的*成员*应该协调其他成员,以确保在休假期间为该角色配备足够的人员 +- 休假1-3个月的会议*可以*与其他会员合作,以确定临时的替补成员 +- 成员*应*删除未告知休假但超过一个月无法联系或超过一个月未履行其职责的任何其他成员。删除过程可以通过[超级多数](https://en.wikipedia.org/wiki/Supermajority#Two-thirds_vote)投票来完成;如果没有足够的*活跃*成员来获得超级多数的投票,则可以通过Maintainer,Committer和SIG所有者之间的超级多数来投票罢免。 +- 如果对于成员有资格分歧,可以上升到Maintainer。如果对于SIG的Maintainer的资格的分歧可以上升到技术委员会。 +- 成员*可以*决定随时退出并提议候选人,候选人应得到大多数SIG组成员的支持。 +- 成员*可以*通过成员之间的[多数](https://en.wikipedia.org/wiki/Supermajority#Two-thirds_vote)投票选择其他成员。 + + + +### Maintainer: + +> 人数:1~3人 +> 工作职责:SIG组的管理者,软件包的维护者。直接参与和技术委员会以及上游或周边的协调,但无汇报关系。初始由SIG创建时指定,后继人选从Committer中选出。如SIG组内暂无Committer或人数较少,Committer的职责可以由Maintainer兼任。 +> +> - **确定SIG的技术路线**:包括规划和决策SIG技术方向、路标规划、架构演进。 +> - **制定SIG的项目发布计划**:确定SIG的关键需求和发布计划;参与社区的PM活动,并协调SIG计划和社区版本的里程碑时间表匹配 +> - **参与社区协调活动**:作为SIG的代表参与openEuler技术委员会或理事会组织的活动和特定会议等 +> - **召集SIG组会议**:定期召集SIG组会议,决策SIG组内上升的争议 +> +> 角色配置:openeuler.yaml内的*developer*标签 + + + +### Committer + +>可选角色 +>人数:2~8人 +>工作职责:特性设计方案审核和批准,代码审核及主干代码合入。Committer由Maintainer/Committer提名并由当前的Contributor全体投票表决产生。 +> +>+ **评审PR**:对Contributor提交的PR完成评审,评审可以参考社区的[编程建议]()和[安全编程规范]()。 +>+ **分发处理问题**,请参考“[问题处理流程]()“。 +>+ **跟踪依赖性问题**:在开发分支中,其他SIG组的软件包的更新可能会到导致破坏本SIG内软件包的依赖关系。此时Committer会受到告警公告,Committer应尽力重建软件包。依赖关系出错可能会使最终用户无法更新系统,打包团队也会介入并重建存在依赖性问题的软件包,但Maintainer 不应依赖这些重建。 +>+ **如有接口变更,通知可能会影响到的SIG**:其他SIG或团队会依赖本SIG,对软件包接口的变更可能会对他们造成影响。Maintainer应了解并评审&决策变更造成的依赖影响,并公告和发送API或ABI变更的告警邮件。这类公告应在变更发生至少一周前完成,并应通知到所有可能受影响的SIG。具体请参考[接口变更通知流程]()。 +> + **更新和维护软件包版本**:遵守社区的[软件包更新质量控制策略](/group-pm/)完成软件包的更新。 +> + **和上游社区合作**,包括: +> + 将所有变更推送到上游社区 +> + 参与上游社区邮件列表 +> + 获取上游社区的bug跟踪器的账户,并跟踪上游社区的重要bug +> + 将严重的错误转发给上游社区以寻求帮助 +> 更多信息,请参考“[上游社区软件包管理建议]()” +> + **和测试团队合作**,包括: +> + 在提交软件包时,向质量检查人员提供如何调试/分类软件包的信息,以供问题的分类 +> + 提供基本功能的测试用例,用于测试回归 +> + 提交软件包更新时,提供有关更新中已经修复问题的测试用例,以供质量检查人员使用。 +> +>角色配置:openeuler.yaml内的*developer*标签 + + + +### 安全联络员 + +>在committer中指定安全联络员 +>人数:1人 +>工作职责: +> +>+ 成为产品安全团队的对口SIG组联络人,对本SIG内的安全问题进行分类和处理。 +>+ 参与安全团队的安全问题 +>+ 维护SIG组内的安全规范和要求 + + + +## 组织管理 + + +### 会议管理 + +- SIG组应至少每个月召集一次会议,会议由Maintainer主持(除非委托给特定成员),固定议程可以由SIG组内成员讨论确定 +- 深入讨论技术委员会指定给本SIG组的——建议的技术和需求等,应由Maintainer组织(除非委托给特定成员) +- 定期更新社区会议 + + + +### SIG组管理 + ++ 确定本SIG组内的年度技术路线图和路标,并向社区PM发布 ++ 提供SIG组内版本的功能或需求清单 ++ 根据要求参加社区内的版本会议,提供和执行SIG计划 + + + +### 子项目管理 + +子项目可以由SIG的Maintainer或Committer提案创建,子项目可以通过SIG组内的Maintainer和Committer通过“懒惰的共识”(沉默即同意)评审接受,结果*应*得到大多数SIG组成员的支持。 + ++ 提案创建者*必须*是子项目所有者 ++ openeuler.yaml*必须*更新为包含子SIG所有者的子项目信息和相关*OWNER*文件 ++ 所有子项目的治理和流程原则上与SIG相同,如有不同,*必须*在提案时说明。 ++ 如子项目发布的执行方式和里程碑的设置与SIG有差异,*必须*明确说明 ++ 子项目的组织管理可以和SIG合并,也可以单独运作。 + + + +### 技术流程 + +- 提出方案和决策请遵循决策流程 +- 保证SIG组持续健康的测试 + - 规范代码发布要求,如果可能可以合入到SIG组的构建中检查 + - 通过构建保证引入的问题会通过测试自动检测并发送告警 + - SIG组成员负责响应测试告警。如未能在24小时内修复,应该将破坏测试的PR回退 + - 每次的SIG组会议应检查测试结果,成员应处理发现的错误,并在下次会议上反馈进展、 +- 影响多个子项目的问题建议通过以下任意一种方式解决: + - 方式一:SIG的Maintainer指定SIG的技术Leader仲裁或决策 + - 方式二:组织子项目的Maintainer联合会议 + + + +### SIG退出 + +- 如果SIG无法定期组织一定的人数或无法履行组织管理职责 + - 6个月以上的,*应*启动退出 + - 12个月或更长时间的,*必须*退出 + diff --git a/en/technical-committee/governance/template-release.md b/en/technical-committee/governance/template-release.md new file mode 100644 index 0000000..f4344cf --- /dev/null +++ b/en/technical-committee/governance/template-release.md @@ -0,0 +1,40 @@ +**to be translated into English** + +# SIG 交付件进入社区发行申请模板 + +(还待补充或细化) + +## 软件包可以给openEuler带来的价值 + + + + + + + +## 当前软件包的成功实践说明 + + + + + + + + + +## 软件包在openEuler中的位置和依赖关系 + + + + + + + + + + + +## 软件包申请进入的范围 + +该SIG/项目申请进入openEuler发行的那个范围?(光盘范围、`extra`或者`experimental`) + diff --git a/en/use-guide.md b/en/use-guide.md new file mode 100644 index 0000000..2f2198a --- /dev/null +++ b/en/use-guide.md @@ -0,0 +1,27 @@ + # Use Guide + +Welcome to the openEuler Community User Guide! This will guide you to get started for learning and contributing to the openEuler community. + +## About community + +The community repository covers all the information about openEuler community, including the community organization structure, governance, activities, developer contribution guide, communication guide and etc. It is maintained by the Fred Li(@zerodefect) and 杨丽(@yangli69393). + +## How to manage community + +This community is governed by [Secretariat](./../zh/secretariat/README.md), [Technical Committee](./../zh/technical-committee/README.md), [Security Committee](./../zh/security-committee/README.md) and [SIG](./../zh/sig-infrastructure/README.md). This [article](./../Governance.md) describes how the openEuler community works. + +## How to communicate + +The openEuler community provides a variety of channels for communication,such as [IRCs](IRCs.md), [mail](./Mails.md) and etc.. If you have any questions, please don't hesitate to contact us. + +## How to contribute + +If you are interested in the openEuler community and want to make your contributions, please read [this](./../zh/contributors/README.md) carefully. It provides the detailed information on how to contribute step by step. + +## How to get openEuler iso and install it + +If you are interested in openEuler os and prepare to install it, [this](https://openeuler.org/en/download.html) would help you. + +## What to observe + +All behaviors in the community should comply with the community [code of conduct](./../code-of-conduct.md). diff --git a/meeting_records/README.md b/meeting_records/README.md new file mode 100644 index 0000000..7c57e98 --- /dev/null +++ b/meeting_records/README.md @@ -0,0 +1,72 @@ +# Project Community Meeting + +**NOTE** +1. This meeting introduction is for the project [community](/), not for the whole openEuler Community. +2. Chinese is not supposed to provide for this README, as the contributors are from all of the world speaking many different languages. If you would like to provide a Chinese version, feel free to create a *README_cn.md* here. + +### 1. Weekly meeting +- Time + 10:00-11:00 am, Tuesday, Beijing Time; 2:00-3:00 am, Tuesday, UTC. + +- Channels + + Welink () is used now. Every Monday the meeting ID will be sent out to and please check your calendar before the meeting. + + If you have any issues, you can still ask help via IRC (). + + Updated on Mar 9, 2020, as the attendees prefer to use Welink, not IRC. + ~~IRC will be used to have the weekly meeting. If you consider other meetings like zoom, please propose to [mail list](community@openeuler.org) in advance.~~ + + ~~The channel https://webchat.freenode.net/#openeuler-meeting is used.~~ + +- Document for meetings + + If there are some documents for the meeting, please `cp ./meeting_records/template_meetig ./meeting_records/yyyy-mm-dd-meeting` and put the documents there so that attendees can find them. + +- Minutes of meeting + +You can find [actions from the meeting](https://gitee.com/openeuler/community/wikis/Actions%20from%20Community%20governance%20weekly%20meeting?sort_id=1957419) here. + +And you can find all the open tasks from [the wiki](https://gitee.com/openeuler/community/wikis/All%20the%20open%20tasks%20about%20openEuler%20community%20governance?sort_id=1929738). + +### 2. Agenda for each meeting + +* #topic Actions from last meeting + +* #topic Issues reviewing + + Review the issues and talk on any issues we would to higlight. + +* #topic Pull Request reviewing + + Review the PRs we consider important. + +* #topic Topics raised by attendees + +* #topic open discussion + +### 3. Useful information +#### Frequently used meeting commands +THe common used commands are below. To find more, please visit [https://kiwiirc.com/docs/client/commands](https://kiwiirc.com/docs/client/commands) to find more commands. + +### Meeting Archives + +Meeting minutes on Mar 10, 2020: https://mailweb.openeuler.org/hyperkitty/list/community@openeuler.org/thread/MI4276YKT5DZ4FJ2W6N4W5RT4VW5GK6X/ + +Meeting minutes on Mar 3, 2020: https://mailweb.openeuler.org/hyperkitty/list/community@openeuler.org/thread/TUMDUAX5UELXTAET6ZXIYXUYQQCL4B3Q/ + +Meeting minutes on Feb 25, 2020: https://mailweb.openeuler.org/hyperkitty/list/community@openeuler.org/thread/4LOWQMRP3CYUFIF2E2PT526S3VLA2XX5/ + +Meeting minutes on Feb 18, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-02-18-02.00.html + +Meeting minutes on Feb 11, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-02-11-02.00.html + +Meeting minutes on Fed 4, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-02-04-02.00.html + +Meeting minutes on Jan 21, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-01-21-01.01.html + +Meeting minutes on Jan 14, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-01-14-02.00.html + +Meeting minutes on Jan 7, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-01-07-01.59.html + +Meeting minutes on Jan. 5, 2020: http://meetings.openeuler.org/openeuler-meeting/2020/community/2020-01-05-13.13.html diff --git a/repository/openeuler.yaml b/repository/openeuler.yaml new file mode 100644 index 0000000..397edbd --- /dev/null +++ b/repository/openeuler.yaml @@ -0,0 +1,168 @@ +community: "openeuler" +repositories: +- name: A-Tune + description: "" + protected_branches: + - master + type: public +- name: blog + description: "Blog project is used to house the blogs that related openEuler community." + protected_branches: + - master + type: public +- name: ci-bot + description: "" + protected_branches: + - master + type: public +- name: clibcni + description: "" + protected_branches: + - master + type: public +- name: community + description: "The Community repo is to store all the information about openEuler Community, inclouding governance, SIGs(project teams), Communications and etc." + protected_branches: + - master + type: public +- name: community-issue + description: The public issue repo which only accept issue that doesn't belong to + any source repo + protected_branches: + - master + type: public +- name: discussion + description: "" + protected_branches: + - master + type: private +- name: docs + description: "To build and enrich documentation for openEuler project." + protected_branches: + - master + type: public +- name: gitbook-theme-hugo + description: "" + protected_branches: + - master + type: public +- name: go-gitee + description: "" + protected_branches: + - master + type: public +- name: infrastructure + description: "" + protected_branches: + - master + type: public +- name: integration-test + description: "" + protected_branches: + - master + type: private +- name: iSulad + description: "" + protected_branches: + - master + type: public +- name: iSulad-img + description: "" + protected_branches: + - master + type: public +- name: kae_driver + description: "" + protected_branches: + - master + type: private +- name: kernel + description: "" + protected_branches: + - master + type: public +- name: lcr + description: "" + protected_branches: + - master + type: public +- name: libkae + description: "" + protected_branches: + - master + type: private +- name: libwd + description: "" + protected_branches: + - master + type: private +- name: openeuler-jenkins + description: "" + protected_branches: + - master + type: public +- name: os-autoinst-distri-openEuler + description: "" + protected_branches: + - master + type: private +- name: prefetch_tuning + description: "" + protected_branches: + - master + type: public +- name: security + description: "" + protected_branches: + - master + type: private +- name: tool-collections + description: "" + protected_branches: + - master + type: public +- name: website + description: "" + protected_branches: + - master + type: public +- name: security-committee + description: "the Repository of Security Committee" + protected_branches: + - master + type: public +- name: mate-desktop + description: "It provides an intuitive and attractive desktop environment using traditional metaphors" + protected_branches: + - master + type: public +- name: bounds_checking_function + description: "" + protected_branches: + - master + type: public +- name: raspberrypi + description: "It provides scripts for building openEuler image on Raspberry Pi and documents" + protected_branches: + - master + type: public +- name: raspberrypi-kernel + description: "It provides openEuler kernel source for Raspberry Pi" + protected_branches: + - master + type: public +- name: ha-api + description: "API interface for HA management" + protected_branches: + - master + type: public +- name: pacemaker-mgmt + description: "Management Console for Pacemaker" + protected_branches: + - master + type: public +- name: ha-web + description: "Web Interface for HA management" + protected_branches: + - master + type: public diff --git a/repository/src-openeuler.yaml b/repository/src-openeuler.yaml new file mode 100644 index 0000000..ab5fe98 --- /dev/null +++ b/repository/src-openeuler.yaml @@ -0,0 +1,14116 @@ +community: src-openeuler +repositories: +- name: aalib + description: "" + protected_branches: + - master + type: public +- name: aalto-xml + description: "" + protected_branches: + - master + - openEuler1.0 + - openEuler1.0-base + type: private +- name: abattis-cantarell-fonts + description: "" + protected_branches: + - master + type: public +- name: abrt + description: "" + protected_branches: + - master + type: public +- name: accountsservice + description: "" + protected_branches: + - master + type: public +- name: acl + description: "" + protected_branches: + - master + type: public +- name: acpica-tools + description: "" + protected_branches: + - master + type: public +- name: acpid + description: "" + protected_branches: + - master + type: public +- name: adcli + description: "" + protected_branches: + - master + type: public +- name: adobe-mappings-cmap + description: "" + protected_branches: + - master + type: public +- name: adobe-mappings-pdf + description: "" + protected_branches: + - master + type: public +- name: adobe-source-code-pro-fonts + description: "" + protected_branches: + - master + type: private +- name: adwaita-icon-theme + description: "" + protected_branches: + - master + type: public +- name: aesh + description: "" + protected_branches: + - master + type: private +- name: afflib + description: "" + protected_branches: + - master + type: public +- name: aide + description: "" + protected_branches: + - master + type: public +- name: allegro + description: "" + protected_branches: + - master + type: private +- name: alsa-firmware + description: "" + protected_branches: + - master + type: public +- name: alsa-lib + description: "" + protected_branches: + - master + type: public +- name: alsa-plugins + description: "" + protected_branches: + - master + type: public +- name: alsa-tools + description: "" + protected_branches: + - master + type: public +- name: alsa-utils + description: "" + protected_branches: + - master + type: public +- name: amanda + description: "" + protected_branches: + - master + type: public +- name: amtk + description: "" + protected_branches: + - master + type: private +- name: anaconda + description: "" + protected_branches: + - master + type: public +- name: anaconda-user-help + description: "" + protected_branches: + - master + type: public +- name: ant + description: "" + protected_branches: + - master + type: private +- name: ant-contrib + description: "Collection of tasks for Ant." + protected_branches: + - master + type: private +- name: anthy + description: "" + protected_branches: + - master + type: public +- name: antlr + description: "" + protected_branches: + - master + type: private +- name: antlr3 + description: "" + protected_branches: + - master + type: private +- name: antlr4 + description: "Parser generator." + protected_branches: + - master + type: private +- name: aopalliance + description: "" + protected_branches: + - master + type: private +- name: apache-commons-beanutils + description: "Utility methods for accessing and modifying the properties of JavaBeans." + protected_branches: + - master + type: private +- name: apache-commons-cli + description: "" + protected_branches: + - master + type: private +- name: apache-commons-codec + description: "" + protected_branches: + - master + type: private +- name: apache-commons-collections + description: "" + protected_branches: + - master + type: private +- name: apache-commons-compress + description: "" + protected_branches: + - master + type: private +- name: apache-commons-configuration + description: "" + protected_branches: + - master + type: private +- name: apache-commons-daemon + description: "" + protected_branches: + - master + type: private +- name: apache-commons-dbcp + description: "" + protected_branches: + - master + type: private +- name: apache-commons-exec + description: "Java library to reliably execute external processes from within the JVM." + protected_branches: + - master + type: private +- name: apache-commons-io + description: "" + protected_branches: + - master + type: private +- name: apache-commons-lang + description: "" + protected_branches: + - master + type: private +- name: apache-commons-lang3 + description: "" + protected_branches: + - master + type: private +- name: apache-commons-logging + description: "" + protected_branches: + - master + type: private +- name: apache-commons-net + description: "" + protected_branches: + - master + type: private +- name: apache-commons-parent + description: "" + protected_branches: + - master + type: private +- name: apache-commons-pool + description: "" + protected_branches: + - master + type: private +- name: apache-commons-vfs + description: "Commons Virtual file systemCommons Virtual file system.." + protected_branches: + - master + type: private +- name: apache-ivy + description: "" + protected_branches: + - master + type: private +- name: apache-parent + description: "" + protected_branches: + - master + type: private +- name: apache-resource-bundles + description: "" + protected_branches: + - master + type: private +- name: apache2-mod_xforward + description: "Apache module implementing handling of X-FORWARD headers" + protected_branches: + - master + type: public +- name: apiguardian + description: "API Guardian Java annotation." + protected_branches: + - master + type: private +- name: appstream + description: "Tools and libraries to work with AppStream metadata." + protected_branches: + - master + type: private +- name: appstream-data + description: "" + protected_branches: + - master + type: private +- name: apr + description: "" + protected_branches: + - master + type: public +- name: apr-util + description: "" + protected_branches: + - master + type: public +- name: aqute-bnd + description: "" + protected_branches: + - master + type: private +- name: argon2 + description: "" + protected_branches: + - master + type: public +- name: args4j + description: "" + protected_branches: + - master + type: private +- name: arm-trusted-firmware + description: "" + protected_branches: + - master + type: public +- name: armadillo + description: "Fast C++ matrix library with interfaces to LAPACK and ATLAS." + protected_branches: + - master + type: private +- name: arpack + description: "solve large scale eigenvalue problems." + protected_branches: + - master + type: private +- name: arptables + description: "" + protected_branches: + - master + type: public +- name: arpwatch + description: "" + protected_branches: + - master + type: public +- name: asciidoc + description: "" + protected_branches: + - master + type: public +- name: asio + description: "A cross-platform C++ library for network and low-level I/O programming." + protected_branches: + - master + type: private +- name: aspell + description: "" + protected_branches: + - master + type: public +- name: assimp + description: "" + protected_branches: + - master + type: public +- name: at + description: "" + protected_branches: + - master + type: public +- name: atinject + description: "" + protected_branches: + - master + type: private +- name: atk + description: "" + protected_branches: + - master + type: public +- name: atkmm + description: "" + protected_branches: + - master + type: public +- name: atlas + description: "" + protected_branches: + - master + type: public +- name: atmel-firmware + description: "" + protected_branches: + - master + type: public +- name: at-spi2-atk + description: "" + protected_branches: + - master + type: public +- name: at-spi2-core + description: "" + protected_branches: + - master + type: public +- name: atf + description: "" + protected_branches: + - master + type: public +- name: attr + description: "" + protected_branches: + - master + type: public +- name: A-Tune + description: "" + protected_branches: + - master + type: public +- name: audiofile + description: "" + protected_branches: + - master + type: public +- name: audit + description: "" + protected_branches: + - master + type: public +- name: augeas + description: "" + protected_branches: + - master + type: public +- name: authconfig + description: "" + protected_branches: + - master + type: public +- name: authd + description: "" + protected_branches: + - master + type: public +- name: authselect + description: "" + protected_branches: + - master + type: public +- name: authz + description: "" + protected_branches: + - master + type: public +- name: autoconf + description: "" + protected_branches: + - master + type: public +- name: autoconf213 + description: "" + protected_branches: + - master + type: public +- name: autoconf-archive + description: "" + protected_branches: + - master + type: public +- name: autofs + description: "" + protected_branches: + - master + type: public +- name: autogen + description: "" + protected_branches: + - master + type: public +- name: automake + description: "" + protected_branches: + - master + type: public +- name: automoc + description: "Automatic moc for Qt 4." + protected_branches: + - master + type: private +- name: autotrace + description: "" + protected_branches: + - master + type: private +- name: autotune + description: "" + protected_branches: + - master + type: public +- name: avahi + description: "" + protected_branches: + - master + type: public +- name: avalon-framework + description: "" + protected_branches: + - master + type: private +- name: avalon-logkit + description: "" + protected_branches: + - master + type: private +- name: aws-sdk-java + description: "" + protected_branches: + - master + type: private +- name: b43-openfwwf + description: "" + protected_branches: + - master + type: public +- name: b43-tools + description: "" + protected_branches: + - master + type: public +- name: babel + description: "" + protected_branches: + - master + type: public +- name: babeltrace + description: "" + protected_branches: + - master + type: public +- name: babl + description: "" + protected_branches: + - master + type: public +- name: bacula + description: "" + protected_branches: + - master + type: public +- name: baobab + description: "" + protected_branches: + - master + type: private +- name: base64coder + description: "" + protected_branches: + - master + type: private +- name: basesystem + description: "" + protected_branches: + - master + type: public +- name: bash + description: "" + protected_branches: + - master + type: public +- name: bash-completion + description: "" + protected_branches: + - master + type: public +- name: batik + description: "" + protected_branches: + - master + type: private +- name: bc + description: "" + protected_branches: + - master + type: public +- name: bcel + description: "" + protected_branches: + - master + type: private +- name: bcm283x-firmware + description: "" + protected_branches: + - master + type: private +- name: bean-validation-api + description: "" + protected_branches: + - master + type: private +- name: beust-jcommander + description: "" + protected_branches: + - master + type: private +- name: bind + description: "" + protected_branches: + - master + type: public +- name: bind-dyndb-ldap + description: "" + protected_branches: + - master + type: public +- name: binutils + description: "" + protected_branches: + - master + type: public +- name: biosdevname + description: "" + protected_branches: + - master + type: public +- name: bison + description: "" + protected_branches: + - master + type: public +- name: blivet-gui + description: "" + protected_branches: + - master + type: public +- name: blktrace + description: "" + protected_branches: + - master + type: public +- name: blosc + description: "High performance compressor optimized for binary data." + protected_branches: + - master + type: private +- name: bluez + description: "" + protected_branches: + - master + type: public +- name: bolt + description: "" + protected_branches: + - master + type: public +- name: boost + description: "" + protected_branches: + - master + type: public +- name: bouncycastle + description: "" + protected_branches: + - master + type: private +- name: bpg-fonts + description: "" + protected_branches: + - master + type: public +- name: brasero + description: "" + protected_branches: + - master + type: public +- name: breeze-icon-theme + description: "" + protected_branches: + - master + type: public +- name: bridge-utils + description: "" + protected_branches: + - master + type: public +- name: brltty + description: "" + protected_branches: + - master + type: public +- name: brotli + description: "" + protected_branches: + - master + type: public +- name: bsf + description: "" + protected_branches: + - master + type: private +- name: bsh + description: "" + protected_branches: + - master + type: private +- name: btrfs-progs + description: "" + protected_branches: + - master + type: public +- name: bubblewrap + description: "" + protected_branches: + - master + type: public +- name: build + description: "" + protected_branches: + - master + type: private +- name: bullet + description: "" + protected_branches: + - master + type: private +- name: busybox + description: "" + protected_branches: + - master + type: public +- name: byacc + description: "" + protected_branches: + - master + type: public +- name: byaccj + description: "Parser Generator with Java Extension" + protected_branches: + - master + type: private +- name: bytelist + description: "" + protected_branches: + - master + type: private +- name: byteman + description: "" + protected_branches: + - master + type: private +- name: bzip2 + description: "" + protected_branches: + - master + type: public +- name: c3p0 + description: "" + protected_branches: + - master + type: private +- name: ca-certificates + description: "" + protected_branches: + - master + type: public +- name: cachefilesd + description: "" + protected_branches: + - master + type: public +- name: cairo + description: "" + protected_branches: + - master + type: public +- name: cairomm + description: "" + protected_branches: + - master + type: public +- name: capstone + description: "" + protected_branches: + - master + type: public +- name: c-ares + description: "" + protected_branches: + - master + type: public +- name: cdi-api + description: "" + protected_branches: + - master + type: private +- name: cdparanoia + description: "" + protected_branches: + - master + type: public +- name: cdrdao + description: "" + protected_branches: + - master + type: public +- name: cdrkit + description: "" + protected_branches: + - master + type: public +- name: celt051 + description: "" + protected_branches: + - master + type: public +- name: ceph + description: "" + protected_branches: + - master + type: public +- name: cfitsio + description: "Library for manipulating FITS data files." + protected_branches: + - master + type: private +- name: cgdcbxd + description: "" + protected_branches: + - master + type: public +- name: cglib + description: "" + protected_branches: + - master + type: private +- name: check + description: "" + protected_branches: + - master + type: public +- name: checkpolicy + description: "" + protected_branches: + - master + type: public +- name: checkstyle + description: "A tool for checking Java source for adherence to a set of rules." + protected_branches: + - master + type: private +- name: cheese + description: "" + protected_branches: + - master + type: public +- name: chkconfig + description: "" + protected_branches: + - master + type: public +- name: chromaprint + description: "" + protected_branches: + - master + type: private +- name: chrony + description: "" + protected_branches: + - master + type: public +- name: chrpath + description: "" + protected_branches: + - master + type: public +- name: ci_check + description: "" + protected_branches: + - master + type: private +- name: cifs-utils + description: "" + protected_branches: + - master + type: public +- name: cim-schema + description: "" + protected_branches: + - master + type: public +- name: ci_project + description: "" + protected_branches: + - master + type: private +- name: cjkuni-ukai-fonts + description: "" + protected_branches: + - master + type: public +- name: clamav + description: "" + protected_branches: + - master + type: public +- name: clamav-unofficial-sigs + description: "" + protected_branches: + - master + type: private +- name: clang + description: "" + protected_branches: + - master + type: public +- name: classloader-leak-test-framework + description: "" + protected_branches: + - master + type: private +- name: classmate + description: "" + protected_branches: + - master + type: private +- name: cldr-emoji-annotation + description: "" + protected_branches: + - master + type: public +- name: clevis + description: "" + protected_branches: + - master + type: public +- name: clibcni + description: "" + protected_branches: + - master + type: public +- name: cloud-init + description: "" + protected_branches: + - master + type: public +- name: cloud-utils + description: "Cloud image management utilities" + protected_branches: + - master + type: public +- name: clucene + description: "" + protected_branches: + - master + type: public +- name: clutter + description: "" + protected_branches: + - master + type: public +- name: clutter-gst2 + description: "" + protected_branches: + - master + type: public +- name: clutter-gst3 + description: "" + protected_branches: + - master + type: public +- name: clutter-gtk + description: "" + protected_branches: + - master + type: public +- name: cmake + description: "" + protected_branches: + - master + type: public +- name: cmocka + description: "" + protected_branches: + - master + type: public +- name: cockpit + description: "" + protected_branches: + - master + type: public +- name: codenarc + description: "Groovy library that provides static analysis features for Groovy code." + protected_branches: + - master + type: private +- name: cogl + description: "" + protected_branches: + - master + type: public +- name: colord + description: "" + protected_branches: + - master + type: public +- name: colord-gtk + description: "" + protected_branches: + - master + type: public +- name: color-filesystem + description: "" + protected_branches: + - master + type: public +- name: compat-libgfortran + description: "" + protected_branches: + - master + type: private +- name: compat-openssl10 + description: "" + protected_branches: + - master + type: private +- name: compiler-rt + description: "" + protected_branches: + - master + type: public +- name: comps-extras + description: "" + protected_branches: + - master + type: public +- name: conmon + description: "" + protected_branches: + - master + type: public +- name: conntrack-tools + description: "" + protected_branches: + - master + type: public +- name: console-setup + description: "" + protected_branches: + - master + type: public +- name: containerd + description: "" + protected_branches: + - master + type: public +- name: container-exception-logger + description: "" + protected_branches: + - master + type: public +- name: containernetworking-plugins + description: "" + protected_branches: + - master + type: public +- name: container-selinux + description: "" + protected_branches: + - master + type: public +- name: convmv + description: "" + protected_branches: + - master + type: public +- name: copy-jdk-configs + description: "" + protected_branches: + - master + type: public +- name: coreutils + description: "" + protected_branches: + - master + type: public +- name: cpio + description: "" + protected_branches: + - master + type: public +- name: cppcheck + description: "" + protected_branches: + - master + type: public +- name: cppunit + description: "" + protected_branches: + - master + type: public +- name: cracklib + description: "" + protected_branches: + - master + type: public +- name: crash + description: "" + protected_branches: + - master + type: public +- name: crash-gcore-command + description: "" + protected_branches: + - master + type: public +- name: crash-trace-command + description: "" + protected_branches: + - master + type: public +- name: crda + description: "" + protected_branches: + - master + type: public +- name: createrepo_c + description: "" + protected_branches: + - master + type: public +- name: cronie + description: "" + protected_branches: + - master + type: public +- name: crontabs + description: "" + protected_branches: + - master + type: public +- name: crypto-policies + description: "" + protected_branches: + - master + type: public +- name: cryptsetup + description: "" + protected_branches: + - master + type: public +- name: cscope + description: "" + protected_branches: + - master + type: public +- name: ctags + description: "" + protected_branches: + - master + type: public +- name: CUnit + description: "" + protected_branches: + - master + type: public +- name: cups + description: "" + protected_branches: + - master + type: public +- name: cups-filters + description: "" + protected_branches: + - master + type: public +- name: cups-pk-helper + description: "" + protected_branches: + - master + type: public +- name: custom_build_tool + description: "provide other method to deal parameter passing for OBS build" + protected_branches: + - master + type: public +- name: curl + description: "" + protected_branches: + - master + type: public +- name: cvs + description: "" + protected_branches: + - master + type: public +- name: cvsps + description: "" + protected_branches: + - master + type: private +- name: cyrus-imapd + description: "" + protected_branches: + - master + type: private +- name: cyrus-sasl + description: "" + protected_branches: + - master + type: public +- name: Cython + description: "" + protected_branches: + - master + type: public +- name: dain-snappy + description: "" + protected_branches: + - master + type: private +- name: dblatex + description: "" + protected_branches: + - master + type: public +- name: dbus + description: "" + protected_branches: + - master + type: public +- name: dbus-cpp + description: "" + protected_branches: + - master + type: private +- name: dbus-glib + description: "" + protected_branches: + - master + type: public +- name: dbusmenu-qt + description: "" + protected_branches: + - master + type: private +- name: dbus-python + description: "" + protected_branches: + - master + type: public +- name: dbxtool + description: "" + protected_branches: + - master + type: public +- name: dconf + description: "" + protected_branches: + - master + type: public +- name: dconf-editor + description: "" + protected_branches: + - master + type: public +- name: debian-keyring + description: "" + protected_branches: + - master + type: private +- name: debootstrap + description: "" + protected_branches: + - master + type: public +- name: dejagnu + description: "" + protected_branches: + - master + type: public +- name: dejavu-fonts + description: "" + protected_branches: + - master + type: public +- name: deltarpm + description: "" + protected_branches: + - master + type: public +- name: desktop-file-utils + description: "" + protected_branches: + - master + type: public +- name: devhelp + description: "" + protected_branches: + - master + type: private +- name: DevIL + description: "" + protected_branches: + - master + type: private +- name: dhcp + description: "" + protected_branches: + - master + type: public +- name: dialog + description: "" + protected_branches: + - master + type: public +- name: discount + description: "A command-line utility for onverting Markdown files into HTML" + protected_branches: + - master + type: private +- name: dict2xml + description: "" + protected_branches: + - master + type: private +- name: dietlibc + description: "" + protected_branches: + - master + type: private +- name: diffstat + description: "" + protected_branches: + - master + type: public +- name: diffutils + description: "" + protected_branches: + - master + type: public +- name: ding-libs + description: "" + protected_branches: + - master + type: public +- name: djvulibre + description: "" + protected_branches: + - master + type: public +- name: dkms + description: "" + protected_branches: + - master + type: public +- name: dmidecode + description: "" + protected_branches: + - master + type: public +- name: dmraid + description: "" + protected_branches: + - master + type: public +- name: dnf + description: "" + protected_branches: + - master + type: public +- name: dnf-plugins-core + description: "" + protected_branches: + - master + type: public +- name: dnsmasq + description: "" + protected_branches: + - master + type: public +- name: dnssec-trigger + description: "" + protected_branches: + - master + type: public +- name: docbook2X + description: "" + protected_branches: + - master + type: public +- name: docbook5-style-xsl + description: "" + protected_branches: + - master + type: public +- name: docbook-dtds + description: "" + protected_branches: + - master + type: public +- name: docbook-style-dsssl + description: "" + protected_branches: + - master + type: public +- name: docbook-style-xsl + description: "" + protected_branches: + - master + type: public +- name: docbook-utils + description: "" + protected_branches: + - master + type: public +- name: docker + description: "" + protected_branches: + - master + type: public +- name: docker-anaconda-addon + description: "" + protected_branches: + - master + type: public +- name: dogtail + description: "" + protected_branches: + - master + type: public +- name: dom4j + description: "" + protected_branches: + - master + type: private +- name: Done + description: "" + protected_branches: + - master + type: private +- name: dos2unix + description: "" + protected_branches: + - master + type: public +- name: dosfstools + description: "" + protected_branches: + - master + type: public +- name: dotconf + description: "" + protected_branches: + - master + type: public +- name: dovecot + description: "" + protected_branches: + - master + type: public +- name: doxygen + description: "" + protected_branches: + - master + type: public +- name: dpkg + description: "" + protected_branches: + - master + type: public +- name: dracut + description: "" + protected_branches: + - master + type: public +- name: dropwatch + description: "" + protected_branches: + - master + type: public +- name: drpm + description: "" + protected_branches: + - master + type: public +- name: dtc + description: "" + protected_branches: + - master + type: public +- name: dump + description: "" + protected_branches: + - master + type: public +- name: dvdplusrw-tools + description: "" + protected_branches: + - master + type: public +- name: dwz + description: "" + protected_branches: + - master + type: public +- name: dyninst + description: "Tools for binary instrumentation, analysis, and modification" + protected_branches: + - master + type: public +- name: e2fsprogs + description: "" + protected_branches: + - master + type: public +- name: easymock + description: "" + protected_branches: + - master + type: private +- name: ebtables + description: "" + protected_branches: + - master + type: public +- name: ecj + description: "" + protected_branches: + - master + type: private +- name: eclipse + description: "" + protected_branches: + - master + type: private +- name: eclipse-jgit + description: "" + protected_branches: + - master + type: private +- name: eclipselink-persistence-api + description: "" + protected_branches: + - master + type: private +- name: ed + description: "" + protected_branches: + - master + type: public +- name: edac-utils + description: "" + protected_branches: + - master + type: public +- name: edk2 + description: "" + protected_branches: + - master + type: public +- name: efibootmgr + description: "" + protected_branches: + - master + type: public +- name: efi-rpm-macros + description: "" + protected_branches: + - master + type: public +- name: efivar + description: "" + protected_branches: + - master + type: public +- name: efl + description: "" + protected_branches: + - master + type: private +- name: eglexternalplatform + description: "" + protected_branches: + - master + type: public +- name: egl-wayland + description: "" + protected_branches: + - master + type: public +- name: ehcache-core + description: "" + protected_branches: + - master + type: private +- name: ehcache-parent + description: "" + protected_branches: + - master + type: private +- name: ehcache-sizeof-agent + description: "" + protected_branches: + - master + type: private +- name: elfutils + description: "" + protected_branches: + - master + type: public +- name: elinks + description: "" + protected_branches: + - master + type: public +- name: emacs + description: "" + protected_branches: + - master + type: public +- name: emacs-auctex + description: "" + protected_branches: + - master + type: public +- name: enchant + description: "" + protected_branches: + - master + type: public +- name: enchant2 + description: "" + protected_branches: + - master + type: public +- name: enscript + description: "" + protected_branches: + - master + type: public +- name: environment-modules + description: "" + protected_branches: + - master + type: public +- name: eog + description: "" + protected_branches: + - master + type: public +- name: epydoc + description: "" + protected_branches: + - master + type: public +- name: esc + description: "" + protected_branches: + - master + type: public +- name: espeak-ng + description: "" + protected_branches: + - master + type: public +- name: ethtool + description: "" + protected_branches: + - master + type: public +- name: evince + description: "" + protected_branches: + - master + type: public +- name: evolution-data-server + description: "" + protected_branches: + - master + type: public +- name: exec-maven-plugin + description: "Exec Maven Plugin." + protected_branches: + - master + type: private +- name: exempi + description: "" + protected_branches: + - master + type: public +- name: exiv2 + description: "" + protected_branches: + - master + type: public +- name: expat + description: "" + protected_branches: + - master + type: public +- name: expect + description: "" + protected_branches: + - master + type: public +- name: extlinux-bootloader + description: "" + protected_branches: + - master + type: private +- name: extra-cmake-modules + description: "KDE Frameworks 5 cmake extra modules." + protected_branches: + - master + type: private +- name: extra166y + description: "" + protected_branches: + - master + type: private +- name: ezmorph + description: "Object transformation library for Java." + protected_branches: + - master + type: private +- name: f29-backgrounds + description: "" + protected_branches: + - master + type: private +- name: fakechroot + description: "" + protected_branches: + - master + type: public +- name: fakeroot + description: "" + protected_branches: + - master + type: public +- name: fasterxml-oss-parent + description: "" + protected_branches: + - master + type: private +- name: fastutil + description: "" + protected_branches: + - master + type: private +- name: fcitx + description: "" + protected_branches: + - master + type: private +- name: fcoe-utils + description: "" + protected_branches: + - master + type: public +- name: fdupes + description: "" + protected_branches: + - master + type: public +- name: felix-bundlerepository + description: "" + protected_branches: + - master + type: private +- name: felix-parent + description: "Parent POM file for Apache Felix Specs" + protected_branches: + - master + type: private +- name: felix-utils + description: "" + protected_branches: + - master + type: private +- name: festival + description: "" + protected_branches: + - master + type: public +- name: festival-freebsoft-utils + description: "" + protected_branches: + - master + type: public +- name: fetchmail + description: "" + protected_branches: + - master + type: public +- name: fftw + description: "" + protected_branches: + - master + type: public +- name: file + description: "" + protected_branches: + - master + type: public +- name: file-roller + description: "" + protected_branches: + - master + type: public +- name: filesystem + description: "" + protected_branches: + - master + type: public +- name: findbugs + description: "A program which uses static analysis to look for bugs in java code." + protected_branches: + - master + type: private +- name: findbugs-bcel + description: "Byte Code Engineering Library for FindBugs." + protected_branches: + - master + type: private +- name: findutils + description: "" + protected_branches: + - master + type: public +- name: fio + description: "" + protected_branches: + - master + type: public +- name: fipscheck + description: "" + protected_branches: + - master + type: public +- name: firebird + description: "" + protected_branches: + - master + type: public +- name: firefox + description: "" + protected_branches: + - master + type: public +- name: firewalld + description: "" + protected_branches: + - master + type: public +- name: flac + description: "" + protected_branches: + - master + type: public +- name: Flask-RESTful + description: "" + protected_branches: + - master + type: private +- name: flatpak + description: "" + protected_branches: + - master + type: public +- name: flex + description: "" + protected_branches: + - master + type: public +- name: flite + description: "" + protected_branches: + - master + type: public +- name: fltk + description: "" + protected_branches: + - master + type: public +- name: fluid-soundfont + description: "" + protected_branches: + - master + type: private +- name: fluidsynth + description: "" + protected_branches: + - master + type: private +- name: folks + description: "" + protected_branches: + - master + type: public +- name: folks-telepathy + description: "" + protected_branches: + - master + type: private +- name: fontawesome-fonts + description: "" + protected_branches: + - master + type: public +- name: fontconfig + description: "" + protected_branches: + - master + type: public +- name: fontforge + description: "" + protected_branches: + - master + type: public +- name: fontpackages + description: "" + protected_branches: + - master + type: public +- name: fonts-rpm-macros + description: "help font packages to produce clean,consistent and sane packages" + protected_branches: + - master + type: public +- name: fop + description: "" + protected_branches: + - master + type: private +- name: fpaste + description: "" + protected_branches: + - master + type: public +- name: fprintd + description: "" + protected_branches: + - master + type: public +- name: freeglut + description: "" + protected_branches: + - master + type: public +- name: freeipmi + description: "" + protected_branches: + - master + type: public +- name: freeradius + description: "" + protected_branches: + - master + type: public +- name: freerdp + description: "" + protected_branches: + - master + type: public +- name: freetds + description: "" + protected_branches: + - master + type: public +- name: freetype + description: "" + protected_branches: + - master + type: public +- name: freexl + description: "Library to extract data from within an Excel spreadsheet." + protected_branches: + - master + type: private +- name: frei0r-plugins + description: "" + protected_branches: + - master + type: public +- name: fribidi + description: "" + protected_branches: + - master + type: public +- name: fros + description: "" + protected_branches: + - master + type: public +- name: ftp + description: "" + protected_branches: + - master + type: public +- name: fuse + description: "" + protected_branches: + - master + type: public +- name: fuse-python + description: "Python bindings for FUSE - filesystem in userspace." + protected_branches: + - master + type: public +- name: future + description: "" + protected_branches: + - master + type: public +- name: fwupd + description: "" + protected_branches: + - master + type: public +- name: fwupdate + description: "" + protected_branches: + - master + type: private +- name: fxload + description: "" + protected_branches: + - master + type: public +- name: galera + description: "Synchronous multi-master wsrep provider (replication engine)" + protected_branches: + - master + type: public +- name: game-music-emu + description: "" + protected_branches: + - master + type: private +- name: gamin + description: "" + protected_branches: + - master + type: public +- name: gavl + description: "" + protected_branches: + - master + type: public +- name: gawk + description: "" + protected_branches: + - master + type: public +- name: gc + description: "" + protected_branches: + - master + type: public +- name: gcab + description: "" + protected_branches: + - master + type: public +- name: gcc + description: "" + protected_branches: + - master + type: public +- name: gcc_secure + description: "Build with gcov" + protected_branches: + - master + type: public +- name: GConf2 + description: "" + protected_branches: + - master + type: public +- name: gcr + description: "" + protected_branches: + - master + type: public +- name: gd + description: "" + protected_branches: + - master + type: public +- name: gdal + description: "GDAL/OGR - a translator library for raster and vector geospatial data formats." + protected_branches: + - master + type: private +- name: gdb + description: "" + protected_branches: + - master + type: public +- name: gdbm + description: "" + protected_branches: + - master + type: public +- name: gdisk + description: "" + protected_branches: + - master + type: public +- name: gdk-pixbuf2 + description: "" + protected_branches: + - master + type: public +- name: gdm + description: "" + protected_branches: + - master + type: public +- name: gedit + description: "" + protected_branches: + - master + type: private +- name: gegl04 + description: "" + protected_branches: + - master + type: public +- name: geoclue2 + description: "" + protected_branches: + - master + type: public +- name: geocode-glib + description: "" + protected_branches: + - master + type: public +- name: GeoIP + description: "" + protected_branches: + - master + type: public +- name: GeoIP-GeoLite-data + description: "" + protected_branches: + - master + type: public +- name: geolite2 + description: "" + protected_branches: + - master + type: public +- name: geos + description: "GEOS is a C++ port of the Java Topology Suite." + protected_branches: + - master + type: private +- name: geronimo-annotation + description: "" + protected_branches: + - master + type: private +- name: geronimo-interceptor + description: "" + protected_branches: + - master + type: private +- name: geronimo-jaxrpc + description: "" + protected_branches: + - master + type: private +- name: geronimo-jms + description: "J2EE JMS v1.1 API" + protected_branches: + - master + type: private +- name: geronimo-jta + description: "" + protected_branches: + - master + type: private +- name: geronimo-saaj + description: "" + protected_branches: + - master + type: private +- name: geronimo-validation + description: "" + protected_branches: + - master + type: private +- name: gettext + description: "" + protected_branches: + - master + type: public +- name: gflags + description: "" + protected_branches: + - master + type: public +- name: gfs2-utils + description: "" + protected_branches: + - master + type: public +- name: ghostscript + description: "" + protected_branches: + - master + type: public +- name: giflib + description: "" + protected_branches: + - master + type: public +- name: gimp + description: "" + protected_branches: + - master + type: public +- name: git + description: "" + protected_branches: + - master + type: public +- name: gjs + description: "" + protected_branches: + - master + type: public +- name: glade + description: "" + protected_branches: + - master + type: public +- name: glassfish-annotation-api + description: "Common Annotations API Specification (JSR 250)." + protected_branches: + - master + type: private +- name: glassfish-el + description: "" + protected_branches: + - master + type: private +- name: glassfish-jsp-api + description: "" + protected_branches: + - master + type: private +- name: glassfish-servlet-api + description: "" + protected_branches: + - master + type: private +- name: glew + description: "" + protected_branches: + - master + type: public +- name: glib + description: "" + protected_branches: + - master + type: public +- name: glib2 + description: "" + protected_branches: + - master + type: public +- name: glibc + description: "" + protected_branches: + - master + type: public +- name: glibmm24 + description: "" + protected_branches: + - master + type: public +- name: glib-networking + description: "" + protected_branches: + - master + type: public +- name: gl-manpages + description: "" + protected_branches: + - master + type: public +- name: glusterfs + description: "" + protected_branches: + - master + type: public +- name: glyphicons-halflings-fonts + description: "Precisely prepared monochromatic icons and symbols." + protected_branches: + - master + type: private +- name: gmetrics + description: "Groovy library that provides reports and metrics for Groovy code." + protected_branches: + - master + type: private +- name: gmime30 + description: "" + protected_branches: + - master + type: public +- name: gmp + description: "" + protected_branches: + - master + type: public +- name: gnome-abrt + description: "" + protected_branches: + - master + type: public +- name: gnome-autoar + description: "" + protected_branches: + - master + type: public +- name: gnome-backgrounds + description: "" + protected_branches: + - master + type: private +- name: gnome-bluetooth + description: "" + protected_branches: + - master + type: public +- name: gnome-calculator + description: "" + protected_branches: + - master + type: public +- name: gnome-characters + description: "" + protected_branches: + - master + type: private +- name: gnome-clocks + description: "" + protected_branches: + - master + type: public +- name: gnome-color-manager + description: "" + protected_branches: + - master + type: public +- name: gnome-common + description: "" + protected_branches: + - master + type: public +- name: gnome-contacts + description: "" + protected_branches: + - master + type: public +- name: gnome-control-center + description: "" + protected_branches: + - master + type: public +- name: gnome-desktop3 + description: "" + protected_branches: + - master + type: public +- name: gnome-dictionary + description: "" + protected_branches: + - master + type: public +- name: gnome-disk-utility + description: "" + protected_branches: + - master + type: public +- name: gnome-doc-utils + description: "" + protected_branches: + - master + type: public +- name: gnome-font-viewer + description: "" + protected_branches: + - master + type: public +- name: gnome-getting-started-docs + description: "" + protected_branches: + - master + type: public +- name: gnome-icon-theme + description: "" + protected_branches: + - master + type: public +- name: gnome-icon-theme-extras + description: "" + protected_branches: + - master + type: public +- name: gnome-icon-theme-symbolic + description: "" + protected_branches: + - master + type: public +- name: gnome-initial-setup + description: "" + protected_branches: + - master + type: public +- name: gnome-keyring + description: "" + protected_branches: + - master + type: public +- name: gnome-logs + description: "" + protected_branches: + - master + type: private +- name: gnome-menus + description: "" + protected_branches: + - master + type: public +- name: gnome-online-accounts + description: "" + protected_branches: + - master + type: public +- name: gnome-packagekit + description: "" + protected_branches: + - master + type: public +- name: gnome-python2 + description: "" + protected_branches: + - master + type: public +- name: gnome-remote-desktop + description: "" + protected_branches: + - master + type: private +- name: gnome-screenshot + description: "" + protected_branches: + - master + type: public +- name: gnome-session + description: "" + protected_branches: + - master + type: public +- name: gnome-settings-daemon + description: "" + protected_branches: + - master + type: public +- name: gnome-shell + description: "" + protected_branches: + - master + type: public +- name: gnome-shell-extensions + description: "" + protected_branches: + - master + type: public +- name: gnome-software + description: "" + protected_branches: + - master + type: private +- name: gnome-system-monitor + description: "" + protected_branches: + - master + type: public +- name: gnome-terminal + description: "" + protected_branches: + - master + type: public +- name: gnome-themes-standard + description: "" + protected_branches: + - master + type: public +- name: gnome-tweaks + description: "" + protected_branches: + - master + type: private +- name: gnome-user-docs + description: "" + protected_branches: + - master + type: public +- name: gnome-vfs2 + description: "" + protected_branches: + - master + type: public +- name: gnome-video-effects + description: "" + protected_branches: + - master + type: public +- name: gnu-efi + description: "" + protected_branches: + - master + type: public +- name: gnu-free-fonts + description: "" + protected_branches: + - master + type: public +- name: gnu-getopt + description: "" + protected_branches: + - master + type: private +- name: gnulib + description: "" + protected_branches: + - master + type: public +- name: gnupg2 + description: "" + protected_branches: + - master + type: public +- name: gnuplot + description: "" + protected_branches: + - master + type: public +- name: gnutls + description: "" + protected_branches: + - master + type: public +- name: gobject-introspection + description: "" + protected_branches: + - master + type: public +- name: go-compilers + description: "" + protected_branches: + - master + type: public +- name: golang + description: "" + protected_branches: + - master + type: public +- name: golang-github-coreos-go-iptables + description: "" + protected_branches: + - master + type: public +- name: golang-github-cpuguy83-go-md2man + description: "" + protected_branches: + - master + type: public +- name: golang-github-d2g-dhcp4 + description: "" + protected_branches: + - master + type: public +- name: golang-github-fsnotify-fsnotify + description: "Cross-platform file system notifications for Go." + protected_branches: + - master + type: private +- name: golang-github-go-tomb-tomb + description: "Enables Go programs to comfortably encode and decode YAML values." + protected_branches: + - master + type: private +- name: golang-github-golang-sys + description: "" + protected_branches: + - master + type: public +- name: golang-github-hpcloud-tail + description: "Go package for reading from continously updated files (tail -f)." + protected_branches: + - master + type: private +- name: golang-github-onsi-ginkgo + description: "" + protected_branches: + - master + type: private +- name: golang-github-onsi-gomega + description: "" + protected_branches: + - master + type: private +- name: golang-github-russross-blackfriday + description: "" + protected_branches: + - master + type: public +- name: golang-github-vishvananda-netlink + description: "" + protected_branches: + - master + type: public +- name: golang-github-vishvananda-netns + description: "Simple network namespace handing for go." + protected_branches: + - master + type: public +- name: golang-googlecode-go-crypto + description: "Supplementary Go cryptography libraries." + protected_branches: + - master + type: private +- name: golang-googlecode-goprotobuf + description: "" + protected_branches: + - master + type: public +- name: golang-googlecode-net + description: "Unit tests for golang-googlecode-net package." + protected_branches: + - master + type: private +- name: golang-googlecode-text + description: "Supplementary Go text libraries." + protected_branches: + - master + type: private +- name: golang-googlecode-tools + description: "Displays performance changes between benchmarks for the Go programming language." + protected_branches: + - master + type: private +- name: golang-gopkg-yaml + description: "Yaml support for the Go language." + protected_branches: + - master + type: private +- name: google-droid-fonts + description: "" + protected_branches: + - master + type: public +- name: google-gson + description: "" + protected_branches: + - master + type: private +- name: google-guice + description: "" + protected_branches: + - master + type: private +- name: google-http-java-client + description: "Google HTTP Client Library for Java." + protected_branches: + - master + type: private +- name: google-noto-cjk-fonts + description: "" + protected_branches: + - master + type: public +- name: google-noto-emoji-fonts + description: "" + protected_branches: + - master + type: public +- name: google-oauth-java-client + description: "Google OAuth Client Library for Java." + protected_branches: + - master + type: private +- name: google-roboto-slab-fonts + description: "" + protected_branches: + - master + type: private +- name: gpars + description: "" + protected_branches: + - master + type: private +- name: gperf + description: "" + protected_branches: + - master + type: public +- name: gperftools + description: "" + protected_branches: + - master + type: public +- name: gpgme + description: "" + protected_branches: + - master + type: public +- name: gphoto2 + description: "" + protected_branches: + - master + type: public +- name: gpm + description: "" + protected_branches: + - master + type: public +- name: gradle + description: "" + protected_branches: + - master + type: private +- name: GraphicsMagick + description: "" + protected_branches: + - master + type: public +- name: graphite2 + description: "" + protected_branches: + - master + type: public +- name: graphviz + description: "" + protected_branches: + - master + type: public +- name: grep + description: "" + protected_branches: + - master + type: public +- name: grilo + description: "" + protected_branches: + - master + type: public +- name: groff + description: "" + protected_branches: + - master + type: public +- name: groovy + description: "" + protected_branches: + - master + type: private +- name: grpc + description: "" + protected_branches: + - master + type: public +- name: grub2 + description: "" + protected_branches: + - master + type: public +- name: grubby + description: "" + protected_branches: + - master + type: public +- name: gsettings-desktop-schemas + description: "" + protected_branches: + - master + type: public +- name: gsl + description: "" + protected_branches: + - master + type: public +- name: gsm + description: "" + protected_branches: + - master + type: public +- name: gsound + description: "" + protected_branches: + - master + type: public +- name: gspell + description: "" + protected_branches: + - master + type: public +- name: gssdp + description: "" + protected_branches: + - master + type: public +- name: gssntlmssp + description: "A GSSAPI Mechanism that implements NTLMSSP" + protected_branches: + - master + type: private +- name: gssproxy + description: "" + protected_branches: + - master + type: public +- name: gstreamer + description: "" + protected_branches: + - master + type: public +- name: gstreamer1 + description: "" + protected_branches: + - master + type: public +- name: gstreamer1-plugins-bad-free + description: "" + protected_branches: + - master + type: public +- name: gstreamer1-plugins-base + description: "" + protected_branches: + - master + type: public +- name: gstreamer1-plugins-good + description: "" + protected_branches: + - master + type: public +- name: gstreamer-plugins-base + description: "" + protected_branches: + - master + type: public +- name: gstreamer-plugins-good + description: "" + protected_branches: + - master + type: public +- name: gtest + description: "" + protected_branches: + - master + type: public +- name: gtk + description: "" + protected_branches: + - master + type: public +- name: gtk2 + description: "" + protected_branches: + - master + type: public +- name: gtk3 + description: "" + protected_branches: + - master + type: public +- name: gtk-doc + description: "" + protected_branches: + - master + type: public +- name: gtkmm24 + description: "" + protected_branches: + - master + type: private +- name: gtkmm30 + description: "" + protected_branches: + - master + type: public +- name: gtksourceview3 + description: "" + protected_branches: + - master + type: public +- name: gtkspell + description: "" + protected_branches: + - master + type: private +- name: gtkspell3 + description: "" + protected_branches: + - master + type: private +- name: gtkspellmm30 + description: "" + protected_branches: + - master + type: private +- name: gtk-vnc + description: "" + protected_branches: + - master + type: public +- name: guava + description: "Google Core Libraries for Java." + protected_branches: + - master + type: private +- name: guava20 + description: "" + protected_branches: + - master + type: private +- name: gubbi-fonts + description: "" + protected_branches: + - master + type: public +- name: guile + description: "" + protected_branches: + - master + type: public +- name: gupnp + description: "" + protected_branches: + - master + type: public +- name: gupnp-igd + description: "" + protected_branches: + - master + type: public +- name: gutenprint + description: "" + protected_branches: + - master + type: public +- name: gv + description: "" + protected_branches: + - master + type: public +- name: gvfs + description: "" + protected_branches: + - master + type: public +- name: gzip + description: "" + protected_branches: + - master + type: public +- name: hamcrest + description: "" + protected_branches: + - master + type: private +- name: haproxy + description: "" + protected_branches: + - master + type: public +- name: hardlink + description: "" + protected_branches: + - master + type: public +- name: harfbuzz + description: "" + protected_branches: + - master + type: public +- name: haveged + description: "" + protected_branches: + - master + type: public +- name: hawtjni + description: "" + protected_branches: + - master + type: private +- name: hawtjni-runtime + description: "" + protected_branches: + - master + type: private +- name: hdf5 + description: "" + protected_branches: + - master + type: public +- name: hdparm + description: "" + protected_branches: + - master + type: public +- name: help2man + description: "" + protected_branches: + - master + type: public +- name: hesiod + description: "" + protected_branches: + - master + type: public +- name: hexedit + description: "" + protected_branches: + - master + type: public +- name: hfsplus-tools + description: "" + protected_branches: + - master + type: public +- name: hibernate + description: "" + protected_branches: + - master + type: private +- name: hibernate-commons-annotations + description: "" + protected_branches: + - master + type: private +- name: hibernate-jpa + description: "" + protected_branches: + - master + type: private +- name: hibernate-jpa-2.1-api + description: "" + protected_branches: + - master + type: private +- name: hibernate3 + description: "" + protected_branches: + - master + type: private +- name: hicolor-icon-theme + description: "" + protected_branches: + - master + type: public +- name: HikariCP + description: "" + protected_branches: + - master + type: private +- name: hiredis + description: "" + protected_branches: + - master + type: public +- name: hivex + description: "" + protected_branches: + - master + type: public +- name: hostname + description: "" + protected_branches: + - master + type: public +- name: hplip + description: "" + protected_branches: + - master + type: public +- name: http-builder + description: "A builder-style HTTP client API." + protected_branches: + - master + type: private +- name: httpcomponents-client + description: "" + protected_branches: + - master + type: private +- name: httpd + description: "" + protected_branches: + - master + type: public +- name: http-parser + description: "" + protected_branches: + - master + type: public +- name: httpcomponents-core + description: "" + protected_branches: + - master + type: private +- name: hunspell + description: "" + protected_branches: + - master + type: public +- name: hunspell-de + description: "" + protected_branches: + - master + type: public +- name: hunspell-en + description: "" + protected_branches: + - master + type: public +- name: hwdata + description: "" + protected_branches: + - master + type: public +- name: hwinfo + description: "" + protected_branches: + - master + type: public +- name: hwloc + description: "" + protected_branches: + - master + type: public +- name: hyphen + description: "" + protected_branches: + - master + type: public +- name: i2c-tools + description: "" + protected_branches: + - master + type: public +- name: ibus + description: "" + protected_branches: + - master + type: public +- name: ibus-hangul + description: "" + protected_branches: + - master + type: public +- name: ibus-kkc + description: "" + protected_branches: + - master + type: private +- name: ibus-libpinyin + description: "" + protected_branches: + - master + type: public +- name: ibus-libzhuyin + description: "" + protected_branches: + - master + type: public +- name: ibus-m17n + description: "" + protected_branches: + - master + type: public +- name: ibus-sayura + description: "" + protected_branches: + - master + type: public +- name: ibus-table + description: "" + protected_branches: + - master + type: public +- name: ibus-table-array30 + description: "" + protected_branches: + - master + type: public +- name: ibus-typing-booster + description: "" + protected_branches: + - master + type: public +- name: icedtea-web + description: "" + protected_branches: + - master + type: private +- name: icfg + description: "" + protected_branches: + - master + type: public +- name: icon-naming-utils + description: "" + protected_branches: + - master + type: private +- name: icoutils + description: "" + protected_branches: + - master + type: public +- name: icu + description: "" + protected_branches: + - master + type: public +- name: iio-sensor-proxy + description: "" + protected_branches: + - master + type: public +- name: ilmbase + description: "" + protected_branches: + - master + type: public +- name: ima-evm-utils + description: "" + protected_branches: + - master + type: public +- name: ImageMagick + description: "" + protected_branches: + - master + type: public +- name: imake + description: "" + protected_branches: + - master + type: public +- name: imlib2 + description: "" + protected_branches: + - master + type: private +- name: imsettings + description: "" + protected_branches: + - master + type: private +- name: indent + description: "" + protected_branches: + - master + type: public +- name: infiniband-diags + description: "" + protected_branches: + - master + type: public +- name: infinispan + description: "" + protected_branches: + - master + type: private +- name: infinipath-psm + description: "Intel Performance Scaled Messaging (PSM) Libraries" + protected_branches: + - master + type: private +- name: initial-setup + description: "" + protected_branches: + - master + type: public +- name: initscripts + description: "" + protected_branches: + - master + type: public +- name: inkscape + description: "" + protected_branches: + - master + type: private +- name: integration-test + description: "" + protected_branches: + - master + type: private +- name: intel-cmt-cat + description: "" + protected_branches: + - master + type: public +- name: internal-issue + description: "" + protected_branches: + - master + type: private +- name: intltool + description: "" + protected_branches: + - master + type: public +- name: iotop + description: "" + protected_branches: + - master + type: public +- name: iowatcher + description: "" + protected_branches: + - master + type: public +- name: ipcalc + description: "" + protected_branches: + - master + type: public +- name: iperf3 + description: "" + protected_branches: + - master + type: public +- name: ipmitool + description: "" + protected_branches: + - master + type: public +- name: iproute + description: "" + protected_branches: + - master + type: public +- name: iprutils + description: "" + protected_branches: + - master + type: public +- name: ipset + description: "" + protected_branches: + - master + type: public +- name: iptables + description: "" + protected_branches: + - master + type: public +- name: iptraf-ng + description: "" + protected_branches: + - master + type: public +- name: iptstate + description: "" + protected_branches: + - master + type: public +- name: iputils + description: "" + protected_branches: + - master + type: public +- name: ipvsadm + description: "" + protected_branches: + - master + type: public +- name: ipxe + description: "" + protected_branches: + - master + type: public +- name: ipython + description: "An interactive computing environment for Python." + protected_branches: + - master + type: private +- name: irqbalance + description: "" + protected_branches: + - master + type: public +- name: irrlicht + description: "" + protected_branches: + - master + type: public +- name: irrXML + description: "" + protected_branches: + - master + type: private +- name: iso-codes + description: "" + protected_branches: + - master + type: public +- name: isomd5sum + description: "" + protected_branches: + - master + type: public +- name: iSulad + description: "" + protected_branches: + - master + type: public +- name: iSulad-img + description: "" + protected_branches: + - master + type: public +- name: jackson-core + description: "Core part of Jackson that defines Streaming API as well as basic sharded abstractions." + protected_branches: + - master + type: private +- name: jboss-jsp-2.2-api + description: "JavaServer(TM) Pages 2.2 API" + protected_branches: + - master + type: private +- name: libburn1 + description: "Library for reading, mastering and writing optical discs." + protected_branches: + - master + type: private +- name: libisofs1 + description: "Library to create ISO 9660 disk images." + protected_branches: + - master + type: private +- name: lxcfs-tools + description: "" + protected_branches: + - master + type: public +- name: syscontainer-tools + description: "" + protected_branches: + - master + type: public +- name: itstool + description: "" + protected_branches: + - master + type: public +- name: ivtv-firmware + description: "" + protected_branches: + - master + type: public +- name: iw + description: "" + protected_branches: + - master + type: public +- name: jack-audio-connection-kit + description: "" + protected_branches: + - master + type: private +- name: jackson + description: "" + protected_branches: + - master + type: private +- name: jackson-annotations + description: "" + protected_branches: + - master + type: private +- name: jackson-bom + description: "" + protected_branches: + - master + type: private +- name: jackson-core + description: "" + protected_branches: + - master + type: private +- name: jackson-databind + description: "" + protected_branches: + - master + type: private +- name: jackson-dataformats-binary + description: "" + protected_branches: + - master + type: private +- name: jackson-parent + description: "" + protected_branches: + - master + type: private +- name: jai-imageio-core + description: "" + protected_branches: + - master + type: private +- name: jakarta-commons-httpclient + description: "" + protected_branches: + - master + type: private +- name: jakarta-oro + description: "" + protected_branches: + - master + type: private +- name: jandex + description: "" + protected_branches: + - master + type: private +- name: janino + description: "An embedded Java compiler" + protected_branches: + - master + type: private +- name: jansi + description: "" + protected_branches: + - master + type: private +- name: jansi-native + description: "" + protected_branches: + - master + type: private +- name: jansson + description: "" + protected_branches: + - master + type: public +- name: jarjar + description: "Jar jar links is a utility that makes it easy to repackage java libraries." + protected_branches: + - master + type: private +- name: jatl + description: "" + protected_branches: + - master + type: private +- name: java + description: "" + protected_branches: + - master + type: private +- name: java-base64 + description: "" + protected_branches: + - master + type: private +- name: java-comment-preprocessor + description: "" + protected_branches: + - master + type: private +- name: java-cup + description: "" + protected_branches: + - master + type: private +- name: javacc + description: "A parser/scanner generator for java." + protected_branches: + - master + type: private +- name: javacc-maven-plugin + description: "Maven Plugin for processing JavaCC grammar files." + protected_branches: + - master + type: private +- name: javaewah + description: "" + protected_branches: + - master + type: private +- name: javamail + description: "" + protected_branches: + - master + type: private +- name: javapackages-tools + description: "" + protected_branches: + - master + type: public +- name: javassist + description: "" + protected_branches: + - master + type: private +- name: jaxen + description: "" + protected_branches: + - master + type: private +- name: jbig2dec + description: "" + protected_branches: + - master + type: public +- name: jbigkit + description: "" + protected_branches: + - master + type: public +- name: jboss-interceptors-1.2-api + description: "" + protected_branches: + - master + type: private +- name: jboss-jacc-1.4-api + description: "" + protected_branches: + - master + type: private +- name: jboss-logging + description: "" + protected_branches: + - master + type: private +- name: jboss-logging-tools + description: "" + protected_branches: + - master + type: private +- name: jboss-marshalling + description: "" + protected_branches: + - master + type: private +- name: jboss-remoting + description: "" + protected_branches: + - master + type: private +- name: jboss-remoting-jmx + description: "" + protected_branches: + - master + type: private +- name: jboss-sasl + description: "" + protected_branches: + - master + type: private +- name: jboss-servlet-3.0-api + description: "" + protected_branches: + - master + type: private +- name: jboss-transaction + description: "" + protected_branches: + - master + type: private +- name: jcifs + description: "" + protected_branches: + - master + type: private +- name: jcip-annotations + description: "" + protected_branches: + - master + type: private +- name: jcodings + description: "" + protected_branches: + - master + type: private +- name: jcsp + description: "" + protected_branches: + - master + type: private +- name: jctools + description: "" + protected_branches: + - master + type: private +- name: jdeparser + description: "" + protected_branches: + - master + type: private +- name: jdepend + description: "" + protected_branches: + - master + type: private +- name: jdependency + description: "This project provides an API to analyse class dependencies." + protected_branches: + - master + type: private +- name: jdo2-api + description: "Implementation of JSR 243: Java Data Objects 2.0." + protected_branches: + - master + type: private +- name: jdom2 + description: "" + protected_branches: + - master + type: private +- name: jemalloc + description: "" + protected_branches: + - master + type: public +- name: jenkins_project + description: "" + protected_branches: + - master + type: private +- name: jetty + description: "" + protected_branches: + - master + type: private +- name: jetty-schemas + description: "XML Schemas for Jetty." + protected_branches: + - master + type: private +- name: jflex + description: "" + protected_branches: + - master + type: private +- name: jFormatString + description: "Java format string compile-time checker." + protected_branches: + - master + type: private +- name: jfsutils + description: "" + protected_branches: + - master + type: public +- name: jgroups + description: "" + protected_branches: + - master + type: private +- name: jhighlight + description: "JHighlight is an embeddable pure Java syntax highlighting library." + protected_branches: + - master + type: private +- name: jimtcl + description: "" + protected_branches: + - master + type: public +- name: jline + description: "" + protected_branches: + - master + type: private +- name: jna + description: "" + protected_branches: + - master + type: private +- name: joda-time + description: "" + protected_branches: + - master + type: private +- name: jomolhari-fonts + description: "" + protected_branches: + - master + type: public +- name: jose + description: "" + protected_branches: + - master + type: public +- name: jq + description: "" + protected_branches: + - master + type: public +- name: js-jquery + description: "jQuery is a fast,small,and feature-rich Javascript library." + protected_branches: + - master + type: private +- name: js-underscore + description: "JavaScript's functional programming helper library." + protected_branches: + - master + type: private +- name: jsch + description: "" + protected_branches: + - master + type: private +- name: jsch-agent-proxy + description: "" + protected_branches: + - master + type: private +- name: js-jquery + description: "" + protected_branches: + - master + type: private +- name: js-jquery1 + description: "JavaScript DOM manipulation, event handling, and AJAX library." + protected_branches: + - master + type: private +- name: json-c + description: "" + protected_branches: + - master + type: public +- name: jsoncpp + description: "" + protected_branches: + - master + type: public +- name: json-glib + description: "" + protected_branches: + - master + type: public +- name: json-lib + description: "JSON library for Java." + protected_branches: + - master + type: private +- name: jsoup + description: "" + protected_branches: + - master + type: private +- name: jsr-305 + description: "" + protected_branches: + - master + type: private +- name: jsr-311 + description: "" + protected_branches: + - master + type: private +- name: jtidy + description: "" + protected_branches: + - master + type: private +- name: Judy + description: "" + protected_branches: + - master + type: public +- name: julietaula-montserrat-fonts + description: "" + protected_branches: + - master + type: public +- name: junit + description: "" + protected_branches: + - master + type: private +- name: junit5 + description: "" + protected_branches: + - master + type: private +- name: jvnet-parent + description: "" + protected_branches: + - master + type: private +- name: jzlib + description: "" + protected_branches: + - master + type: private +- name: kacst-fonts + description: "" + protected_branches: + - master + type: public +- name: kae_driver + description: "" + protected_branches: + - master + type: public +- name: kata-agent + description: "" + protected_branches: + - master + type: public +- name: kata_integration + description: "" + protected_branches: + - master + type: public +- name: kata-proxy + description: "" + protected_branches: + - master + type: public +- name: kata-runtime + description: "" + protected_branches: + - master + type: public +- name: kata-shim + description: "" + protected_branches: + - master + type: public +- name: kbd + description: "" + protected_branches: + - master + type: public +- name: kde-filesystem + description: "" + protected_branches: + - master + type: public +- name: kde-settings + description: "" + protected_branches: + - master + type: public +- name: kdump-anaconda-addon + description: "" + protected_branches: + - master + type: public +- name: Keras + description: "" + protected_branches: + - master + type: private +- name: kernel + description: "" + protected_branches: + - master + type: public +- name: kexec-tools + description: "" + protected_branches: + - master + type: public +- name: keybinder3 + description: "" + protected_branches: + - master + type: public +- name: keyrings-filesystem + description: "" + protected_branches: + - master + type: public +- name: keyutils + description: "" + protected_branches: + - master + type: public +- name: khmeros-fonts + description: "" + protected_branches: + - master + type: public +- name: kiwi + description: "" + protected_branches: + - master + type: public +- name: kiwi-dlimage + description: "" + protected_branches: + - master + type: private +- name: kiwi-template-openEuler + description: "" + protected_branches: + - master + type: private +- name: kmod + description: "" + protected_branches: + - master + type: public +- name: kmod-kvdo + description: "" + protected_branches: + - master + type: public +- name: kpatch + description: "" + protected_branches: + - master + type: public +- name: krb5 + description: "" + protected_branches: + - master + type: public +- name: kryo + description: "" + protected_branches: + - master + type: private +- name: ksh + description: "" + protected_branches: + - master + type: public +- name: kurdit-unikurd-web-fonts + description: "" + protected_branches: + - master + type: public +- name: kxml + description: "" + protected_branches: + - master + type: private +- name: kyotocabinet + description: "" + protected_branches: + - master + type: public +- name: kyua + description: "" + protected_branches: + - master + type: public +- name: ladspa + description: "" + protected_branches: + - master + type: private +- name: lame + description: "" + protected_branches: + - master + type: public +- name: langtable + description: "" + protected_branches: + - master + type: public +- name: lapack + description: "" + protected_branches: + - master + type: public +- name: latex2html + description: "" + protected_branches: + - master + type: public +- name: lato-fonts + description: "" + protected_branches: + - master + type: public +- name: latrace + description: "" + protected_branches: + - master + type: public +- name: lcms2 + description: "" + protected_branches: + - master + type: public +- name: lcr + description: "" + protected_branches: + - master + type: public +- name: ldns + description: "" + protected_branches: + - master + type: public +- name: ledmon + description: "" + protected_branches: + - master + type: private +- name: lensfun + description: "" + protected_branches: + - master + type: private +- name: less + description: "" + protected_branches: + - master + type: public +- name: leveldb + description: "" + protected_branches: + - master + type: public +- name: leveldb-java + description: "" + protected_branches: + - master + type: private +- name: leveldbjni + description: "" + protected_branches: + - master + type: private +- name: lftp + description: "" + protected_branches: + - master + type: public +- name: libaec + description: "" + protected_branches: + - master + type: public +- name: libaesgm + description: "" + protected_branches: + - master + type: public +- name: libaio + description: "" + protected_branches: + - master + type: public +- name: libao + description: "" + protected_branches: + - master + type: public +- name: libappindicator + description: "" + protected_branches: + - master + type: public +- name: libappstream-glib + description: "" + protected_branches: + - master + type: public +- name: libarchive + description: "" + protected_branches: + - master + type: public +- name: libart_lgpl + description: "" + protected_branches: + - master + type: public +- name: libass + description: "" + protected_branches: + - master + type: private +- name: libassuan + description: "" + protected_branches: + - master + type: public +- name: libasyncns + description: "" + protected_branches: + - master + type: public +- name: libatasmart + description: "" + protected_branches: + - master + type: public +- name: libatomic_ops + description: "" + protected_branches: + - master + type: public +- name: libavc1394 + description: "" + protected_branches: + - master + type: public +- name: libblockdev + description: "" + protected_branches: + - master + type: public +- name: libbluray + description: "" + protected_branches: + - master + type: public +- name: libbonobo + description: "" + protected_branches: + - master + type: public +- name: libbonoboui + description: "" + protected_branches: + - master + type: public +- name: libbs2b + description: "" + protected_branches: + - master + type: private +- name: libburn + description: "" + protected_branches: + - master + type: public +- name: libbytesize + description: "" + protected_branches: + - master + type: public +- name: libcacard + description: "" + protected_branches: + - master + type: public +- name: libcanberra + description: "" + protected_branches: + - master + type: public +- name: libcap + description: "" + protected_branches: + - master + type: public +- name: libcap-ng + description: "" + protected_branches: + - master + type: public +- name: libcdio + description: "" + protected_branches: + - master + type: public +- name: libcdio-paranoia + description: "" + protected_branches: + - master + type: public +- name: libcgroup + description: "" + protected_branches: + - master + type: public +- name: libclc + description: "" + protected_branches: + - master + type: public +- name: libcomps + description: "" + protected_branches: + - master + type: public +- name: libconfig + description: "" + protected_branches: + - master + type: public +- name: libcroco + description: "" + protected_branches: + - master + type: public +- name: libdaemon + description: "" + protected_branches: + - master + type: public +- name: libdap + description: "The C++ DAP2 library from OPeNDAP." + protected_branches: + - master + type: private +- name: libdatrie + description: "" + protected_branches: + - master + type: public +- name: libdb + description: "" + protected_branches: + - master + type: public +- name: libdbi + description: "" + protected_branches: + - master + type: public +- name: libdbusmenu + description: "" + protected_branches: + - master + type: public +- name: libdmx + description: "" + protected_branches: + - master + type: public +- name: libdnet + description: "" + protected_branches: + - master + type: public +- name: libdnf + description: "" + protected_branches: + - master + type: public +- name: libdrm + description: "" + protected_branches: + - master + type: public +- name: libdv + description: "" + protected_branches: + - master + type: public +- name: libdvdnav + description: "" + protected_branches: + - master + type: public +- name: libdvdread + description: "" + protected_branches: + - master + type: public +- name: libdwarf + description: "" + protected_branches: + - master + type: public +- name: libecap + description: "" + protected_branches: + - master + type: public +- name: libedit + description: "" + protected_branches: + - master + type: public +- name: libell + description: "" + protected_branches: + - master + type: public +- name: libEMF + description: "" + protected_branches: + - master + type: private +- name: libepoxy + description: "" + protected_branches: + - master + type: public +- name: liberation-fonts + description: "" + protected_branches: + - master + type: public +- name: liberation-sans-fonts + description: "" + protected_branches: + - master + type: public +- name: libesmtp + description: "" + protected_branches: + - master + type: public +- name: libestr + description: "" + protected_branches: + - master + type: public +- name: libev + description: "" + protected_branches: + - master + type: public +- name: libevdev + description: "" + protected_branches: + - master + type: public +- name: libevent + description: "" + protected_branches: + - master + type: public +- name: libevhtp + description: "" + protected_branches: + - master + type: public +- name: libewf + description: "" + protected_branches: + - master + type: public +- name: libexif + description: "" + protected_branches: + - master + type: public +- name: libfabric + description: "" + protected_branches: + - master + type: public +- name: libfastjson + description: "" + protected_branches: + - master + type: public +- name: libffado + description: "" + protected_branches: + - master + type: private +- name: libffi + description: "" + protected_branches: + - master + type: public +- name: libfontenc + description: "" + protected_branches: + - master + type: public +- name: libfprint + description: "" + protected_branches: + - master + type: public +- name: libgcrypt + description: "" + protected_branches: + - master + type: public +- name: libgdata + description: "" + protected_branches: + - master + type: public +- name: libgdither + description: "" + protected_branches: + - master + type: public +- name: libgee + description: "" + protected_branches: + - master + type: public +- name: libgeotiff + description: "GeoTIFF format library." + protected_branches: + - master + type: private +- name: libgexiv2 + description: "" + protected_branches: + - master + type: public +- name: libgit2 + description: "" + protected_branches: + - master + type: public +- name: libgit2-glib + description: "" + protected_branches: + - master + type: public +- name: libglade2 + description: "" + protected_branches: + - master + type: public +- name: libglvnd + description: "" + protected_branches: + - master + type: public +- name: libgnome + description: "" + protected_branches: + - master + type: public +- name: libgnomecanvas + description: "" + protected_branches: + - master + type: public +- name: libgnomekbd + description: "" + protected_branches: + - master + type: public +- name: libgnomeui + description: "" + protected_branches: + - master + type: public +- name: libgnome-keyring + description: "" + protected_branches: + - master + type: public +- name: libgovirt + description: "" + protected_branches: + - master + type: public +- name: libgpg-error + description: "" + protected_branches: + - master + type: public +- name: libgphoto2 + description: "" + protected_branches: + - master + type: public +- name: libgsf + description: "" + protected_branches: + - master + type: public +- name: libgta + description: "Library that implements the Generic Tagged Arrays file format." + protected_branches: + - master + type: private +- name: libgtop2 + description: "" + protected_branches: + - master + type: public +- name: libgudev + description: "" + protected_branches: + - master + type: public +- name: libguestfs + description: "" + protected_branches: + - master + type: public +- name: libgusb + description: "" + protected_branches: + - master + type: public +- name: libgweather + description: "" + protected_branches: + - master + type: public +- name: libgxps + description: "" + protected_branches: + - master + type: public +- name: libhbaapi + description: "SNIA HBAAPI library" + protected_branches: + - master + type: public +- name: libhbalinux + description: "SNIA HBAAPI library" + protected_branches: + - master + type: public +- name: libhangul + description: "" + protected_branches: + - master + type: public +- name: libhugetlbfs + description: "" + protected_branches: + - master + type: public +- name: libibmad + description: "" + protected_branches: + - master + type: public +- name: libical + description: "" + protected_branches: + - master + type: public +- name: libICE + description: "" + protected_branches: + - master + type: public +- name: libid3tag + description: "" + protected_branches: + - master + type: public +- name: libIDL + description: "" + protected_branches: + - master + type: public +- name: libidn + description: "" + protected_branches: + - master + type: public +- name: libidn2 + description: "" + protected_branches: + - master + type: public +- name: libiec61883 + description: "" + protected_branches: + - master + type: public +- name: libieee1284 + description: "" + protected_branches: + - master + type: public +- name: libijs + description: "" + protected_branches: + - master + type: public +- name: libimagequant + description: "" + protected_branches: + - master + type: public +- name: libimobiledevice + description: "" + protected_branches: + - master + type: public +- name: libindicator + description: "" + protected_branches: + - master + type: public +- name: libinput + description: "" + protected_branches: + - master + type: public +- name: libipt + description: "Intel(R) Processor Trace Decoder Library" + protected_branches: + - master + type: public +- name: libiptcdata + description: "" + protected_branches: + - master + type: public +- name: libiscsi + description: "" + protected_branches: + - master + type: public +- name: libisoburn + description: "Library to enable creation and expansion of ISO-9660 filesystems" + protected_branches: + - master + type: public +- name: libisofs + description: "" + protected_branches: + - master + type: public +- name: libjpeg-turbo + description: "" + protected_branches: + - master + type: public +- name: libkae + description: "" + protected_branches: + - master + type: public +- name: libkate + description: "" + protected_branches: + - master + type: private +- name: libkcapi + description: "" + protected_branches: + - master + type: public +- name: libkkc + description: "" + protected_branches: + - master + type: private +- name: libkkc-data + description: "" + protected_branches: + - master + type: private +- name: libkml + description: "Reference implementation of OGC KML 2.2." + protected_branches: + - master + type: private +- name: libksba + description: "" + protected_branches: + - master + type: public +- name: libldb + description: "" + protected_branches: + - master + type: public +- name: libldm + description: "" + protected_branches: + - master + type: private +- name: liblognorm + description: "" + protected_branches: + - master + type: public +- name: liblouis + description: "" + protected_branches: + - master + type: public +- name: libmad + description: "" + protected_branches: + - master + type: public +- name: libmaxminddb + description: "" + protected_branches: + - master + type: public +- name: libmypaint + description: "" + protected_branches: + - master + type: public +- name: libmbim + description: "" + protected_branches: + - master + type: public +- name: libmediaart + description: "" + protected_branches: + - master + type: public +- name: libmemcached + description: "" + protected_branches: + - master + type: public +- name: libmetalink + description: "" + protected_branches: + - master + type: public +- name: libmicrohttpd + description: "" + protected_branches: + - master + type: public +- name: libmikmod + description: "" + protected_branches: + - master + type: public +- name: libmng + description: "" + protected_branches: + - master + type: public +- name: libmnl + description: "" + protected_branches: + - master + type: public +- name: libmodman + description: "" + protected_branches: + - master + type: public +- name: libmodplug + description: "" + protected_branches: + - master + type: private +- name: libmodulemd + description: "" + protected_branches: + - master + type: public +- name: libmpc + description: "" + protected_branches: + - master + type: public +- name: libmpcdec + description: "" + protected_branches: + - master + type: public +- name: libmspack + description: "" + protected_branches: + - master + type: public +- name: libmtp + description: "" + protected_branches: + - master + type: public +- name: libndp + description: "" + protected_branches: + - master + type: public +- name: libnet + description: "" + protected_branches: + - master + type: public +- name: libnetfilter_conntrack + description: "" + protected_branches: + - master + type: public +- name: libnetfilter_cthelper + description: "" + protected_branches: + - master + type: public +- name: libnetfilter_cttimeout + description: "" + protected_branches: + - master + type: public +- name: libnetfilter_queue + description: "" + protected_branches: + - master + type: public +- name: libnetwork + description: "" + protected_branches: + - master + type: public +- name: libnfnetlink + description: "" + protected_branches: + - master + type: public +- name: libnfs + description: "" + protected_branches: + - master + type: public +- name: libnftnl + description: "" + protected_branches: + - master + type: public +- name: libnice + description: "" + protected_branches: + - master + type: public +- name: libnl3 + description: "" + protected_branches: + - master + type: public +- name: libnotify + description: "" + protected_branches: + - master + type: public +- name: libnsl2 + description: "" + protected_branches: + - master + type: public +- name: liboauth + description: "" + protected_branches: + - master + type: public +- name: libofa + description: "" + protected_branches: + - master + type: private +- name: libogg + description: "" + protected_branches: + - master + type: public +- name: liboggz + description: "" + protected_branches: + - master + type: private +- name: liboil + description: "" + protected_branches: + - master + type: private +- name: libomp + description: "" + protected_branches: + - master + type: private +- name: libomxil-bellagio + description: "" + protected_branches: + - master + type: public +- name: libosinfo + description: "" + protected_branches: + - master + type: public +- name: libotf + description: "" + protected_branches: + - master + type: public +- name: libpaper + description: "" + protected_branches: + - master + type: public +- name: libpcap + description: "" + protected_branches: + - master + type: public +- name: libpciaccess + description: "" + protected_branches: + - master + type: public +- name: libpeas + description: "" + protected_branches: + - master + type: public +- name: libpfm + description: "" + protected_branches: + - master + type: public +- name: libpinyin + description: "" + protected_branches: + - master + type: public +- name: libpipeline + description: "" + protected_branches: + - master + type: public +- name: libplist + description: "" + protected_branches: + - master + type: public +- name: libpng + description: "" + protected_branches: + - master + type: public +- name: libpng12 + description: "" + protected_branches: + - master + type: public +- name: libpq + description: "" + protected_branches: + - master + type: private +- name: libproxy + description: "" + protected_branches: + - master + type: public +- name: libpsl + description: "" + protected_branches: + - master + type: public +- name: libpsm2 + description: "" + protected_branches: + - master + type: private +- name: libpwquality + description: "" + protected_branches: + - master + type: public +- name: libqmi + description: "" + protected_branches: + - master + type: public +- name: libquvi + description: "" + protected_branches: + - master + type: public +- name: libquvi-scripts + description: "" + protected_branches: + - master + type: public +- name: librabbitmq + description: "" + protected_branches: + - master + type: public +- name: LibRaw + description: "" + protected_branches: + - master + type: public +- name: libraw1394 + description: "" + protected_branches: + - master + type: public +- name: librdkafka + description: "" + protected_branches: + - master + type: public +- name: librelp + description: "" + protected_branches: + - master + type: public +- name: librepo + description: "" + protected_branches: + - master + type: public +- name: libreport + description: "" + protected_branches: + - master + type: public +- name: libreswan + description: "" + protected_branches: + - master + type: public +- name: librevenge + description: "" + protected_branches: + - master + type: private +- name: librsvg2 + description: "" + protected_branches: + - master + type: public +- name: libsamplerate + description: "" + protected_branches: + - master + type: public +- name: libsane-hpaio + description: "" + protected_branches: + - master + type: private +- name: libsass + description: "" + protected_branches: + - master + type: public +- name: libseccomp + description: "" + protected_branches: + - master + type: public +- name: libsecret + description: "" + protected_branches: + - master + type: public +- name: libselinux + description: "" + protected_branches: + - master + type: public +- name: libsemanage + description: "" + protected_branches: + - master + type: public +- name: libsepol + description: "" + protected_branches: + - master + type: public +- name: libserf + description: "" + protected_branches: + - master + type: public +- name: libsexy + description: "" + protected_branches: + - master + type: public +- name: libshout + description: "" + protected_branches: + - master + type: public +- name: libsigcpp20 + description: "" + protected_branches: + - master + type: public +- name: libsigsegv + description: "" + protected_branches: + - master + type: public +- name: libSM + description: "" + protected_branches: + - master + type: public +- name: libsmbios + description: "" + protected_branches: + - master + type: public +- name: libsmi + description: "" + protected_branches: + - master + type: public +- name: libsndfile + description: "" + protected_branches: + - master + type: public +- name: libsodium + description: "" + protected_branches: + - master + type: public +- name: libsolv + description: "" + protected_branches: + - master + type: public +- name: libsoup + description: "" + protected_branches: + - master + type: public +- name: libspatialite + description: "Enables SQLite to support spatial data." + protected_branches: + - master + type: private +- name: libspectre + description: "" + protected_branches: + - master + type: public +- name: libspiro + description: "" + protected_branches: + - master + type: public +- name: libsrtp + description: "" + protected_branches: + - master + type: public +- name: libssh + description: "" + protected_branches: + - master + type: public +- name: libssh2 + description: "" + protected_branches: + - master + type: public +- name: libstemmer + description: "" + protected_branches: + - master + type: public +- name: libstoragemgmt + description: "" + protected_branches: + - master + type: public +- name: libtalloc + description: "" + protected_branches: + - master + type: public +- name: libtar + description: "" + protected_branches: + - master + type: public +- name: libtasn1 + description: "" + protected_branches: + - master + type: public +- name: libtdb + description: "" + protected_branches: + - master + type: public +- name: libteam + description: "" + protected_branches: + - master + type: public +- name: libtevent + description: "" + protected_branches: + - master + type: public +- name: libthai + description: "" + protected_branches: + - master + type: public +- name: libtheora + description: "" + protected_branches: + - master + type: public +- name: libtiff + description: "" + protected_branches: + - master + type: public +- name: libtimezonemap + description: "" + protected_branches: + - master + type: public +- name: libtirpc + description: "" + protected_branches: + - master + type: public +- name: libtomcrypt + description: "" + protected_branches: + - master + type: public +- name: libtommath + description: "" + protected_branches: + - master + type: public +- name: libtool + description: "" + protected_branches: + - master + type: public +- name: libuninameslist + description: "" + protected_branches: + - master + type: private +- name: libunistring + description: "" + protected_branches: + - master + type: public +- name: libunwind + description: "" + protected_branches: + - master + type: public +- name: libusb + description: "" + protected_branches: + - master + type: public +- name: libusbmuxd + description: "" + protected_branches: + - master + type: public +- name: libusbx + description: "" + protected_branches: + - master + type: public +- name: libuser + description: "" + protected_branches: + - master + type: public +- name: libutempter + description: "" + protected_branches: + - master + type: public +- name: libuv + description: "" + protected_branches: + - master + type: public +- name: libva + description: "" + protected_branches: + - master + type: public +- name: libvdpau + description: "" + protected_branches: + - master + type: public +- name: libverto + description: "" + protected_branches: + - master + type: public +- name: libvirt + description: "" + protected_branches: + - master + type: public +- name: libvirt-glib + description: "" + protected_branches: + - master + type: public +- name: libvirt-python + description: "" + protected_branches: + - master + type: public +- name: libvisual + description: "" + protected_branches: + - master + type: public +- name: libvma + description: "" + protected_branches: + - master + type: public +- name: libvncserver + description: "" + protected_branches: + - master + type: private +- name: libvoikko + description: "" + protected_branches: + - master + type: public +- name: libvorbis + description: "" + protected_branches: + - master + type: public +- name: libvpx + description: "" + protected_branches: + - master + type: public +- name: libwacom + description: "" + protected_branches: + - master + type: public +- name: libwd + description: "" + protected_branches: + - master + type: public +- name: libwebp + description: "" + protected_branches: + - master + type: public +- name: libwebsockets + description: "" + protected_branches: + - master + type: public +- name: libwmf + description: "" + protected_branches: + - master + type: public +- name: libwnck3 + description: "" + protected_branches: + - master + type: public +- name: libwpd + description: "" + protected_branches: + - master + type: private +- name: libwpg + description: "" + protected_branches: + - master + type: private +- name: libX11 + description: "" + protected_branches: + - master + type: public +- name: libx86emu + description: "" + protected_branches: + - master + type: public +- name: libXau + description: "" + protected_branches: + - master + type: public +- name: libXaw + description: "" + protected_branches: + - master + type: public +- name: libxcb + description: "" + protected_branches: + - master + type: public +- name: libXcomposite + description: "" + protected_branches: + - master + type: public +- name: libxcrypt + description: "" + protected_branches: + - master + type: public +- name: libXcursor + description: "" + protected_branches: + - master + type: public +- name: libXdamage + description: "" + protected_branches: + - master + type: public +- name: libXdmcp + description: "" + protected_branches: + - master + type: public +- name: libXext + description: "" + protected_branches: + - master + type: public +- name: libXfixes + description: "" + protected_branches: + - master + type: public +- name: libXfont2 + description: "" + protected_branches: + - master + type: public +- name: libXft + description: "" + protected_branches: + - master + type: public +- name: libXi + description: "" + protected_branches: + - master + type: public +- name: libXinerama + description: "" + protected_branches: + - master + type: public +- name: libxkbcommon + description: "" + protected_branches: + - master + type: public +- name: libxkbfile + description: "" + protected_branches: + - master + type: public +- name: libxklavier + description: "" + protected_branches: + - master + type: public +- name: libxml2 + description: "" + protected_branches: + - master + type: public +- name: libxmlb + description: "" + protected_branches: + - master + type: public +- name: libxmlpp + description: "" + protected_branches: + - master + type: private +- name: libXmu + description: "" + protected_branches: + - master + type: public +- name: libXp + description: "" + protected_branches: + - master + type: public +- name: libXpm + description: "" + protected_branches: + - master + type: public +- name: libXrandr + description: "" + protected_branches: + - master + type: public +- name: libXrender + description: "" + protected_branches: + - master + type: public +- name: libXres + description: "" + protected_branches: + - master + type: public +- name: libXScrnSaver + description: "" + protected_branches: + - master + type: public +- name: libxshmfence + description: "" + protected_branches: + - master + type: public +- name: libxslt + description: "" + protected_branches: + - master + type: public +- name: libXt + description: "" + protected_branches: + - master + type: public +- name: libXtst + description: "" + protected_branches: + - master + type: public +- name: libXv + description: "" + protected_branches: + - master + type: public +- name: libXvMC + description: "" + protected_branches: + - master + type: public +- name: libXxf86dga + description: "" + protected_branches: + - master + type: public +- name: libXxf86misc + description: "" + protected_branches: + - master + type: public +- name: libXxf86vm + description: "" + protected_branches: + - master + type: public +- name: libyaml + description: "" + protected_branches: + - master + type: public +- name: libzip + description: "" + protected_branches: + - master + type: public +- name: linuxconsoletools + description: "" + protected_branches: + - master + type: public +- name: linuxdoc-tools + description: "" + protected_branches: + - master + type: public +- name: linux-firmware + description: "" + protected_branches: + - master + type: public +- name: linuxptp + description: "" + protected_branches: + - master + type: public +- name: lklug-fonts + description: "" + protected_branches: + - master + type: public +- name: lksctp-tools + description: "" + protected_branches: + - master + type: public +- name: lldb + description: "" + protected_branches: + - master + type: private +- name: lldpad + description: "" + protected_branches: + - master + type: public +- name: llvm + description: "" + protected_branches: + - master + type: public +- name: lmdb + description: "" + protected_branches: + - master + type: public +- name: lm_sensors + description: "" + protected_branches: + - master + type: public +- name: lockdev + description: "" + protected_branches: + - master + type: public +- name: log4j + description: "" + protected_branches: + - master + type: private +- name: log4j12 + description: "" + protected_branches: + - master + type: private +- name: logback + description: "Logback is intended as a successor to the popular log4j project." + protected_branches: + - master + type: private +- name: logrotate + description: "" + protected_branches: + - master + type: public +- name: logwatch + description: "" + protected_branches: + - master + type: public +- name: lohit-assamese-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-bengali-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-devanagari-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-gujarati-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-gurmukhi-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-kannada-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-malayalam-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-marathi-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-nepali-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-odia-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-tamil-fonts + description: "" + protected_branches: + - master + type: private +- name: lohit-telugu-fonts + description: "" + protected_branches: + - master + type: private +- name: lorax + description: "" + protected_branches: + - master + type: public +- name: lrzsz + description: "" + protected_branches: + - master + type: public +- name: lshw + description: "" + protected_branches: + - master + type: public +- name: lsof + description: "" + protected_branches: + - master + type: public +- name: lsscsi + description: "" + protected_branches: + - master + type: public +- name: ltrace + description: "" + protected_branches: + - master + type: public +- name: lttng-ust + description: "" + protected_branches: + - master + type: public +- name: lua + description: "" + protected_branches: + - master + type: public +- name: lua-expat + description: "" + protected_branches: + - master + type: public +- name: lua-filesystem + description: "" + protected_branches: + - master + type: public +- name: lua-json + description: "" + protected_branches: + - master + type: public +- name: lua-lpeg + description: "" + protected_branches: + - master + type: public +- name: lua-lunit + description: "" + protected_branches: + - master + type: public +- name: lua-posix + description: "" + protected_branches: + - master + type: public +- name: lua-socket + description: "" + protected_branches: + - master + type: public +- name: luajit + description: "Just-In-Time Compiler for Lua" + protected_branches: + - master + type: private +- name: lucene + description: "" + protected_branches: + - master + type: private +- name: luksmeta + description: "" + protected_branches: + - master + type: public +- name: lutok + description: "" + protected_branches: + - master + type: public +- name: lvm2 + description: "" + protected_branches: + - master + type: public +- name: lxc + description: "" + protected_branches: + - master + type: public +- name: lxcfs + description: "" + protected_branches: + - master + type: public +- name: lxsession + description: "" + protected_branches: + - master + type: public +- name: lynx + description: "" + protected_branches: + - master + type: public +- name: lz4 + description: "" + protected_branches: + - master + type: public +- name: lzma + description: "Tools related to LZMA compression." + protected_branches: + - master + type: private +- name: lzo + description: "" + protected_branches: + - master + type: public +- name: lzop + description: "" + protected_branches: + - master + type: public +- name: m17n-db + description: "" + protected_branches: + - master + type: public +- name: m17n-lib + description: "" + protected_branches: + - master + type: public +- name: m2crypto + description: "" + protected_branches: + - master + type: public +- name: m4 + description: "" + protected_branches: + - master + type: public +- name: mac-robber + description: "" + protected_branches: + - master + type: public +- name: madan-fonts + description: "" + protected_branches: + - master + type: public +- name: mailcap + description: "" + protected_branches: + - master + type: public +- name: mailman + description: "" + protected_branches: + - master + type: public +- name: mailx + description: "" + protected_branches: + - master + type: public +- name: mainline.list + description: "" + protected_branches: + - master + type: private +- name: make + description: "" + protected_branches: + - master + type: public +- name: malaga + description: "" + protected_branches: + - master + type: private +- name: malaga-suomi-voikko + description: "" + protected_branches: + - master + type: private +- name: mallard-rng + description: "" + protected_branches: + - master + type: public +- name: man-db + description: "" + protected_branches: + - master + type: public +- name: manifest + description: "" + protected_branches: + - master + type: private +- name: man-pages + description: "" + protected_branches: + - master + type: public +- name: mariadb + description: "" + protected_branches: + - master + type: public +- name: mariadb-connector-c + description: "" + protected_branches: + - master + type: public +- name: marisa + description: "" + protected_branches: + - master + type: public +- name: maven + description: "" + protected_branches: + - master + type: private +- name: maven-antrun-plugin + description: "" + protected_branches: + - master + type: private +- name: maven2 + description: "" + protected_branches: + - master + type: private +- name: maven-archiver + description: "" + protected_branches: + - master + type: private +- name: maven-artifact-resolver + description: "" + protected_branches: + - master + type: private +- name: maven-artifact-transfer + description: "" + protected_branches: + - master + type: private +- name: maven-assembly-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-clean-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-common-artifact-filters + description: "" + protected_branches: + - master + type: private +- name: maven-compiler-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-dependency-analyzer + description: "" + protected_branches: + - master + type: private +- name: maven-dependency-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-dependency-tree + description: "" + protected_branches: + - master + type: private +- name: maven-doxia + description: "" + protected_branches: + - master + type: private +- name: maven-doxia-sitetools + description: "" + protected_branches: + - master + type: private +- name: maven-enforcer + description: "" + protected_branches: + - master + type: private +- name: maven-file-management + description: "" + protected_branches: + - master + type: private +- name: maven-filtering + description: "" + protected_branches: + - master + type: private +- name: maven-install-plugin + description: "Copies the project artifacts to the user's local repository." + protected_branches: + - master + type: private +- name: maven-invoker + description: "" + protected_branches: + - master + type: private +- name: maven-invoker-plugin + description: "Used to run a set of Maven projects." + protected_branches: + - master + type: private +- name: maven-jar-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-javadoc-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-parent + description: "" + protected_branches: + - master + type: private +- name: maven-plugin-build-helper + description: "" + protected_branches: + - master + type: private +- name: maven-plugin-bundle + description: "" + protected_branches: + - master + type: private +- name: maven-plugin-testing + description: "" + protected_branches: + - master + type: private +- name: maven-plugin-tools + description: "" + protected_branches: + - master + type: private +- name: maven-plugins-pom + description: "This package provides Maven Plugins parent POM used by different Apache Maven plugins." + protected_branches: + - master + type: private +- name: maven-remote-resources-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-reporting-api + description: "" + protected_branches: + - master + type: private +- name: maven-reporting-impl + description: "" + protected_branches: + - master + type: private +- name: maven-resolver + description: "" + protected_branches: + - master + type: private +- name: maven-resources-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-scm + description: "" + protected_branches: + - master + type: private +- name: maven-script-interpreter + description: "Maven Script Interpreter." + protected_branches: + - master + type: private +- name: maven-shade-plugin + description: "This plugin provides the capability to package the artifact in an uber-jar." + protected_branches: + - master + type: private +- name: maven-shared-incremental + description: "" + protected_branches: + - master + type: private +- name: maven-shared-io + description: "" + protected_branches: + - master + type: private +- name: maven-shared-utils + description: "" + protected_branches: + - master + type: private +- name: maven-source-plugin + description: "" + protected_branches: + - master + type: private +- name: maven-surefire + description: "" + protected_branches: + - master + type: private +- name: maven-verifier + description: "" + protected_branches: + - master + type: private +- name: maven-wagon + description: "" + protected_branches: + - master + type: private +- name: mc + description: "" + protected_branches: + - master + type: public +- name: mcelog + description: "" + protected_branches: + - master + type: public +- name: mchange-commons + description: "" + protected_branches: + - master + type: private +- name: mcpp + description: "" + protected_branches: + - master + type: public +- name: mcstrans + description: "" + protected_branches: + - master + type: public +- name: mdadm + description: "" + protected_branches: + - master + type: public +- name: meanwhile + description: "" + protected_branches: + - master + type: public +- name: memcached + description: "" + protected_branches: + - master + type: public +- name: mercurial + description: "" + protected_branches: + - master + type: public +- name: mesa + description: "" + protected_branches: + - master + type: public +- name: mesa-demos + description: "" + protected_branches: + - master + type: public +- name: mesa-libGLU + description: "" + protected_branches: + - master + type: public +- name: mesa-libGLw + description: "" + protected_branches: + - master + type: public +- name: meson + description: "" + protected_branches: + - master + type: public +- name: metacity + description: "" + protected_branches: + - master + type: public +- name: microcode_ctl + description: "" + protected_branches: + - master + type: public +- name: mikmod + description: "" + protected_branches: + - master + type: public +- name: mingw-crt + description: "" + protected_branches: + - master + type: private +- name: mingw-filesystem + description: "" + protected_branches: + - master + type: private +- name: mingw-gcc + description: "" + protected_branches: + - master + type: private +- name: mingw-srvany + description: "" + protected_branches: + - master + type: private +- name: minicom + description: "" + protected_branches: + - master + type: public +- name: minlog + description: "" + protected_branches: + - master + type: private +- name: mkeuleros + description: "" + protected_branches: + - master + type: private +- name: mksh + description: "" + protected_branches: + - master + type: public +- name: mlocate + description: "" + protected_branches: + - master + type: public +- name: mobile-broadband-provider-info + description: "" + protected_branches: + - master + type: public +- name: mod_auth_gssapi + description: "" + protected_branches: + - master + type: public +- name: ModemManager + description: "" + protected_branches: + - master + type: public +- name: mod_fcgid + description: "" + protected_branches: + - master + type: public +- name: mod_http2 + description: "" + protected_branches: + - master + type: public +- name: mod_security + description: "" + protected_branches: + - master + type: public +- name: modello + description: "Modello is a Data Model toolkit in use by the Apache Maven Project." + protected_branches: + - master + type: private +- name: mojo-parent + description: "Codehaus MOJO parent project pom file" + protected_branches: + - master + type: private +- name: mokutil + description: "" + protected_branches: + - master + type: public +- name: mongo-c-driver + description: "" + protected_branches: + - master + type: public +- name: mongodb + description: "" + protected_branches: + - master + type: public +- name: motif + description: "" + protected_branches: + - master + type: public +- name: mousetweaks + description: "" + protected_branches: + - master + type: private +- name: mozilla-filesystem + description: "" + protected_branches: + - master + type: public +- name: mozjs52 + description: "" + protected_branches: + - master + type: public +- name: mozjs60 + description: "" + protected_branches: + - master + type: public +- name: mpfr + description: "" + protected_branches: + - master + type: public +- name: mpg123 + description: "" + protected_branches: + - master + type: public +- name: mpich + description: "" + protected_branches: + - master + type: public +- name: mrtg + description: "" + protected_branches: + - master + type: public +- name: mstflint + description: "" + protected_branches: + - master + type: public +- name: mtdev + description: "" + protected_branches: + - master + type: public +- name: mtools + description: "" + protected_branches: + - master + type: public +- name: mtr + description: "" + protected_branches: + - master + type: public +- name: mt-st + description: "" + protected_branches: + - master + type: public +- name: mtx + description: "" + protected_branches: + - master + type: public +- name: multilib-rpm-config + description: "" + protected_branches: + - master + type: public +- name: multipath-tools + description: "Provides the tools to drive the Device Mapper multipathing driver." + protected_branches: + - master + type: public +- name: multiverse + description: "" + protected_branches: + - master + type: private +- name: munge + description: "An authentication service for creating and validating credentials." + protected_branches: + - master + type: private +- name: mutt + description: "" + protected_branches: + - master + type: public +- name: mutter + description: "" + protected_branches: + - master + type: public +- name: mvapich2 + description: "" + protected_branches: + - master + type: public +- name: mypaint-brushes + description: "" + protected_branches: + - master + type: public +- name: mysql + description: "" + protected_branches: + - master + type: public +- name: nafees-web-naskh-fonts + description: "" + protected_branches: + - master + type: public +- name: nagios + description: "" + protected_branches: + - master + type: public +- name: nano + description: "" + protected_branches: + - master + type: public +- name: narayana + description: "" + protected_branches: + - master + type: private +- name: nasm + description: "" + protected_branches: + - master + type: public +- name: native-platform + description: "" + protected_branches: + - master + type: private +- name: nautilus + description: "" + protected_branches: + - master + type: public +- name: nautilus-sendto + description: "" + protected_branches: + - master + type: private +- name: navilu-fonts + description: "" + protected_branches: + - master + type: public +- name: nbdkit + description: "" + protected_branches: + - master + type: public +- name: ncompress + description: "" + protected_branches: + - master + type: public +- name: ncurses + description: "" + protected_branches: + - master + type: public +- name: ndctl + description: "" + protected_branches: + - master + type: public +- name: nekohtml + description: "" + protected_branches: + - master + type: private +- name: neon + description: "" + protected_branches: + - master + type: public +- name: netcf + description: "" + protected_branches: + - master + type: public +- name: netlabel_tools + description: "" + protected_branches: + - master + type: public +- name: netpbm + description: "" + protected_branches: + - master + type: public +- name: net-snmp + description: "" + protected_branches: + - master + type: public +- name: nettle + description: "" + protected_branches: + - master + type: public +- name: net-tools + description: "" + protected_branches: + - master + type: public +- name: netcdf + description: "Command-line programs for the NetCDF scientific data format." + protected_branches: + - master + type: private +- name: netty + description: "" + protected_branches: + - master + type: private +- name: netty3 + description: "" + protected_branches: + - master + type: private +- name: netty-tcnative + description: "" + protected_branches: + - master + type: private +- name: NetworkManager + description: "" + protected_branches: + - master + type: public +- name: network-manager-applet + description: "" + protected_branches: + - master + type: public +- name: NetworkManager-libreswan + description: "" + protected_branches: + - master + type: public +- name: new.list + description: "" + protected_branches: + - master + type: private +- name: newt + description: "" + protected_branches: + - master + type: public +- name: nfs4-acl-tools + description: "" + protected_branches: + - master + type: public +- name: nfs-utils + description: "" + protected_branches: + - master + type: public +- name: nftables + description: "" + protected_branches: + - master + type: public +- name: nghttp2 + description: "" + protected_branches: + - master + type: public +- name: nginx + description: "" + protected_branches: + - master + type: public +- name: nilfs-utils + description: "" + protected_branches: + - master + type: public +- name: ninja-build + description: "" + protected_branches: + - master + type: public +- name: nmap + description: "" + protected_branches: + - master + type: public +- name: notification-daemon + description: "" + protected_branches: + - master + type: public +- name: nototools + description: "" + protected_branches: + - master + type: public +- name: npth + description: "" + protected_branches: + - master + type: public +- name: nspr + description: "" + protected_branches: + - master + type: public +- name: nss + description: "" + protected_branches: + - master + type: public +- name: nss-altfiles + description: "" + protected_branches: + - master + type: public +- name: nss-mdns + description: "" + protected_branches: + - master + type: public +- name: nss_nis + description: "" + protected_branches: + - master + type: public +- name: nss-pam-ldapd + description: "" + protected_branches: + - master + type: public +- name: nss-pem + description: "" + protected_branches: + - master + type: public +- name: nss_wrapper + description: "" + protected_branches: + - master + type: public +- name: ntfs-3g + description: "" + protected_branches: + - master + type: private +- name: ntp + description: "" + protected_branches: + - master + type: public +- name: ntpstat + description: "" + protected_branches: + - master + type: public +- name: numactl + description: "" + protected_branches: + - master + type: public +- name: numad + description: "" + protected_branches: + - master + type: public +- name: numpy + description: "" + protected_branches: + - master + type: public +- name: nvme-cli + description: "" + protected_branches: + - master + type: public +- name: nvmetcli + description: "" + protected_branches: + - master + type: public +- name: nvml + description: "" + protected_branches: + - master + type: public +- name: objectweb-asm + description: "" + protected_branches: + - master + type: private +- name: objectweb-asm3 + description: "" + protected_branches: + - master + type: private +- name: objectweb-pom + description: "Ojectweb POM" + protected_branches: + - master + type: private +- name: objenesis + description: "" + protected_branches: + - master + type: private +- name: obs-build + description: "" + protected_branches: + - master + type: public +- name: obs-env + description: "" + protected_branches: + - master + type: public +- name: obs_meta + description: "" + protected_branches: + - master + type: private +- name: ocaml + description: "" + protected_branches: + - master + type: public +- name: ocaml-calendar + description: "" + protected_branches: + - master + type: private +- name: ocaml-camlp4 + description: "" + protected_branches: + - master + type: private +- name: ocaml-camomile + description: "" + protected_branches: + - master + type: private +- name: ocaml-csv + description: "" + protected_branches: + - master + type: private +- name: ocaml-curses + description: "" + protected_branches: + - master + type: private +- name: ocaml-extlib + description: "" + protected_branches: + - master + type: private +- name: ocaml-fileutils + description: "" + protected_branches: + - master + type: private +- name: ocaml-findlib + description: "" + protected_branches: + - master + type: private +- name: ocaml-gettext + description: "" + protected_branches: + - master + type: private +- name: ocaml-libvirt + description: "" + protected_branches: + - master + type: private +- name: ocaml-ounit + description: "" + protected_branches: + - master + type: private +- name: ocaml-xml-light + description: "" + protected_branches: + - master + type: private +- name: oci-systemd-hook + description: "" + protected_branches: + - master + type: public +- name: oddjob + description: "" + protected_branches: + - master + type: public +- name: ogdi + description: "Open Geographic Datastore Interface." + protected_branches: + - master + type: private +- name: ongres-scram + description: "" + protected_branches: + - master + type: private +- name: oniguruma + description: "Regular expressions library" + protected_branches: + - master + type: public +- name: openal-soft + description: "" + protected_branches: + - master + type: public +- name: openblas + description: "" + protected_branches: + - master + type: public +- name: openbox + description: "" + protected_branches: + - master + type: private +- name: opencc + description: "" + protected_branches: + - master + type: public +- name: opencryptoki + description: "" + protected_branches: + - master + type: private +- name: openEuler_chroot + description: "" + protected_branches: + - master + type: private +- name: openEuler-indexhtml + description: "" + protected_branches: + - master + type: public +- name: openEuler-latest-release + description: "" + protected_branches: + - master + type: public +- name: openEuler-logos + description: "" + protected_branches: + - master + type: public +- name: openEuler-release + description: "" + protected_branches: + - master + type: public +- name: openEuler-repos + description: "" + protected_branches: + - master + type: public +- name: openEuler-rpm-config + description: "" + protected_branches: + - master + type: public +- name: OpenEXR + description: "" + protected_branches: + - master + type: public +- name: openhpi + description: "" + protected_branches: + - master + type: public +- name: OpenIPMI + description: "" + protected_branches: + - master + type: public +- name: openjade + description: "" + protected_branches: + - master + type: public +- name: openjpeg + description: "" + protected_branches: + - master + type: public +- name: openjpeg2 + description: "" + protected_branches: + - master + type: public +- name: openmpi + description: "" + protected_branches: + - master + type: private +- name: open-iscsi + description: "" + protected_branches: + - master + type: public +- name: open-isns + description: "" + protected_branches: + - master + type: public +- name: open-sans-fonts + description: "" + protected_branches: + - master + type: public +- name: opencl-filesystem + description: "" + protected_branches: + - master + type: private +- name: openldap + description: "" + protected_branches: + - master + type: public +- name: openmotif + description: "Open Motif runtime libraries and executables" + protected_branches: + - master + type: private +- name: openpgm + description: "An implementation of the PGM reliable multicast protocol." + protected_branches: + - master + type: private +- name: opensc + description: "" + protected_branches: + - master + type: public +- name: openscap + description: "" + protected_branches: + - master + type: public +- name: openslp + description: "" + protected_branches: + - master + type: public +- name: opensm + description: "" + protected_branches: + - master + type: public +- name: opensp + description: "" + protected_branches: + - master + type: public +- name: openssh + description: "" + protected_branches: + - master + type: public +- name: openssl + description: "" + protected_branches: + - master + type: public +- name: openssl-pkcs11 + description: "" + protected_branches: + - master + type: public +- name: opentest4j + description: "" + protected_branches: + - master + type: private +- name: openvpn + description: "" + protected_branches: + - master + type: public +- name: openvswitch + description: "" + protected_branches: + - master + type: public +- name: openvswitch-kmod + description: "" + protected_branches: + - master + type: public +- name: openwsman + description: "" + protected_branches: + - master + type: public +- name: opus + description: "" + protected_branches: + - master + type: public +- name: opusfile + description: "" + protected_branches: + - master + type: public +- name: ORBit2 + description: "" + protected_branches: + - master + type: public +- name: orc + description: "" + protected_branches: + - master + type: public +- name: orca + description: "" + protected_branches: + - master + type: public +- name: osc + description: "" + protected_branches: + - master + type: public +- name: osgi-annotation + description: "" + protected_branches: + - master + type: private +- name: osgi-compendium + description: "" + protected_branches: + - master + type: private +- name: osgi-core + description: "" + protected_branches: + - master + type: private +- name: osinfo-db + description: "" + protected_branches: + - master + type: public +- name: osinfo-db-tools + description: "" + protected_branches: + - master + type: public +- name: os-prober + description: "" + protected_branches: + - master + type: public +- name: ostree + description: "" + protected_branches: + - master + type: public +- name: overpass-fonts + description: "" + protected_branches: + - master + type: public +- name: p11-kit + description: "" + protected_branches: + - master + type: public +- name: PackageKit + description: "" + protected_branches: + - master + type: public +- name: paktype-naqsh-fonts + description: "" + protected_branches: + - master + type: public +- name: paktype-naskh-basic-fonts + description: "" + protected_branches: + - master + type: public +- name: paktype-tehreer-fonts + description: "" + protected_branches: + - master + type: public +- name: pam + description: "" + protected_branches: + - master + type: public +- name: pam_krb5 + description: "" + protected_branches: + - master + type: public +- name: pango + description: "" + protected_branches: + - master + type: public +- name: pangomm + description: "" + protected_branches: + - master + type: public +- name: papi + description: "" + protected_branches: + - master + type: public +- name: paps + description: "" + protected_branches: + - master + type: public +- name: paratype-pt-sans-fonts + description: "" + protected_branches: + - master + type: public +- name: parboiled + description: "" + protected_branches: + - master + type: private +- name: parted + description: "" + protected_branches: + - master + type: public +- name: passivetex + description: "" + protected_branches: + - master + type: private +- name: passwd + description: "" + protected_branches: + - master + type: public +- name: patch + description: "" + protected_branches: + - master + type: public +- name: patchutils + description: "" + protected_branches: + - master + type: public +- name: pax + description: "" + protected_branches: + - master + type: public +- name: pcaudiolib + description: "" + protected_branches: + - master + type: public +- name: pciutils + description: "" + protected_branches: + - master + type: public +- name: pcp + description: "" + protected_branches: + - master + type: public +- name: pcre + description: "" + protected_branches: + - master + type: public +- name: pcre2 + description: "" + protected_branches: + - master + type: public +- name: pcsc-lite + description: "" + protected_branches: + - master + type: public +- name: ccid + description: "Provide a generic USB CCID driver and ICCD" + protected_branches: + - master + type: public +- name: pdfbox + description: "" + protected_branches: + - master + type: private +- name: pegdown + description: "" + protected_branches: + - master + type: private +- name: perftest + description: "" + protected_branches: + - master + type: public +- name: perl + description: "" + protected_branches: + - master + type: public +- name: perl-Algorithm-Diff + description: "" + protected_branches: + - master + type: public +- name: perl-Archive-Tar + description: "" + protected_branches: + - master + type: public +- name: perl-Archive-Zip + description: "" + protected_branches: + - master + type: public +- name: perl-Authen-SASL + description: "" + protected_branches: + - master + type: public +- name: perl-BSSolv + description: "A new approach to package dependency solving" + protected_branches: + - master + type: public +- name: perl-Canary-Stability + description: "Canary to check perl compatibility for Schmorp's modules" + protected_branches: + - master + type: public +- name: perl-autodie + description: "" + protected_branches: + - master + type: public +- name: perl-B-Debug + description: "" + protected_branches: + - master + type: public +- name: perl-bignum + description: "" + protected_branches: + - master + type: public +- name: perl-Bit-Vector + description: "" + protected_branches: + - master + type: public +- name: perl-BSD-Resource + description: "" + protected_branches: + - master + type: public +- name: perl-Business-ISBN + description: "Work with International Standard Book Numbers" + protected_branches: + - master + type: public +- name: perl-Business-ISBN-Data + description: "Data pack for Business::ISBN" + protected_branches: + - master + type: public +- name: perl-Capture-Tiny + description: "" + protected_branches: + - master + type: public +- name: perl-Carp + description: "" + protected_branches: + - master + type: public +- name: perl-Carp-Clan + description: "" + protected_branches: + - master + type: public +- name: perl-Class-Inspector + description: "" + protected_branches: + - master + type: public +- name: perl-Class-Method-Modifiers + description: "Provides Moose-like method modifiers" + protected_branches: + - master + type: public +- name: perl-Class-XSAccessor + description: "Generate fast XS accessors without runtime compilation" + protected_branches: + - master + type: public +- name: perl-Compress-Bzip2 + description: "Provides a Compress::Zlib like Perl interface to the bzip2 library" + protected_branches: + - master + type: public +- name: perl-Compress-Raw-Bzip2 + description: "" + protected_branches: + - master + type: public +- name: perl-Compress-Raw-Zlib + description: "" + protected_branches: + - master + type: public +- name: perl-Config-AutoConf + description: "" + protected_branches: + - master + type: public +- name: perl-Config-General + description: "Generic configuration module for Perl" + protected_branches: + - master + type: public +- name: perl-Config-Perl-V + description: "" + protected_branches: + - master + type: public +- name: perl-constant + description: "" + protected_branches: + - master + type: public +- name: perl-common-sense + description: "'Common sense' Perl defaults" + protected_branches: + - master + type: public +- name: perl-CPAN + description: "Query, download and build perl modules from CPAN sites" + protected_branches: + - master + type: public +- name: perl-CPAN-Changes + description: "" + protected_branches: + - master + type: private +- name: perl-CPAN-Meta + description: "" + protected_branches: + - master + type: public +- name: perl-CPAN-Meta-Requirements + description: "" + protected_branches: + - master + type: public +- name: perl-CPAN-Meta-YAML + description: "" + protected_branches: + - master + type: public +- name: perl-Crypt-CBC + description: "Encrypt Data with Cipher Block Chaining Mode." + protected_branches: + - master + type: private +- name: perl-Crypt-DES + description: "Perl DES encryption module." + protected_branches: + - master + type: public +- name: perl-Crypt-OpenSSL-Bignum + description: "" + protected_branches: + - master + type: public +- name: perl-Crypt-OpenSSL-Random + description: "" + protected_branches: + - master + type: public +- name: perl-Crypt-OpenSSL-RSA + description: "" + protected_branches: + - master + type: public +- name: perl-Crypt-OpenSSL-Guess + description: "" + protected_branches: + - master + type: private +- name: perl-Crypt-PasswdMD5 + description: "Perl extension for crypt()-compatible interfaces to the MD5-based crypt()." + protected_branches: + - master + type: public +- name: perl-Data-Dump + description: "" + protected_branches: + - master + type: public +- name: perl-Data-Dumper + description: "" + protected_branches: + - master + type: public +- name: perl-Data-OptList + description: "" + protected_branches: + - master + type: public +- name: perl-Data-Section + description: "" + protected_branches: + - master + type: public +- name: perl-Data-UUID + description: "" + protected_branches: + - master + type: public +- name: perl-Date-Calc + description: "" + protected_branches: + - master + type: public +- name: perl-Date-Manip + description: "" + protected_branches: + - master + type: public +- name: perl-DBD-MySQL + description: "" + protected_branches: + - master + type: public +- name: perl-DBD-SQLite + description: "" + protected_branches: + - master + type: public +- name: perl-DB_File + description: "" + protected_branches: + - master + type: public +- name: perl-DBI + description: "" + protected_branches: + - master + type: public +- name: perl-Devel-CheckLib + description: "" + protected_branches: + - master + type: public +- name: perl-Devel-GlobalDestruction + description: "Expose PL_dirty, the flag that marks global destruction" + protected_branches: + - master + type: public +- name: perl-Devel-PPPort + description: "" + protected_branches: + - master + type: public +- name: perl-Devel-Size + description: "Perl extension for finding the memory usage of Perl variables" + protected_branches: + - master + type: public +- name: perl-Devel-Symdump + description: "" + protected_branches: + - master + type: public +- name: perl-Digest + description: "" + protected_branches: + - master + type: public +- name: perl-Digest-HMAC + description: "" + protected_branches: + - master + type: public +- name: perl-Digest-MD5 + description: "" + protected_branches: + - master + type: public +- name: perl-Digest-SHA + description: "" + protected_branches: + - master + type: public +- name: perl-Digest-SHA1 + description: "" + protected_branches: + - master + type: public +- name: perl-Digest-SHA3 + description: "A complete implementation of NIST SHA-3 cryptographic hash function" + protected_branches: + - master + type: public +- name: perl-Email-Date-Format + description: "Produce RFC 2822 date strings" + protected_branches: + - master + type: public +- name: perl-Encode + description: "" + protected_branches: + - master + type: public +- name: perl-Encode-Detect + description: "" + protected_branches: + - master + type: public +- name: perl-Encode-Locale + description: "" + protected_branches: + - master + type: public +- name: perl-Env + description: "" + protected_branches: + - master + type: public +- name: perl-Error + description: "" + protected_branches: + - master + type: public +- name: perl-Expect + description: "" + protected_branches: + - master + type: private +- name: perl-experimental + description: "" + protected_branches: + - master + type: public +- name: perl-Exporter + description: "" + protected_branches: + - master + type: public +- name: perl-Exporter-Tiny + description: "" + protected_branches: + - master + type: public +- name: perl-ExtUtils-CBuilder + description: "" + protected_branches: + - master + type: public +- name: perl-ExtUtils-Install + description: "" + protected_branches: + - master + type: public +- name: perl-ExtUtils-MakeMaker + description: "" + protected_branches: + - master + type: public +- name: perl-ExtUtils-Manifest + description: "" + protected_branches: + - master + type: public +- name: perl-ExtUtils-ParseXS + description: "" + protected_branches: + - master + type: public +- name: perl-ExtUtils-Config + description: "A wrapper for perl's configuration" + protected_branches: + - master + type: public +- name: perl-ExtUtils-Helpers + description: "Various portability utilities for module builders" + protected_branches: + - master + type: public +- name: perl-ExtUtils-InstallPaths + description: "Build.PL install path logic made easy" + protected_branches: + - master + type: public +- name: perl-Mojolicious + description: "A next generation web framework for Perl" + protected_branches: + - master + type: private +- name: perl-Module-Build-Tiny + description: "perl-Module-Build-Tiny" + protected_branches: + - master + type: public +- name: perl-Readonly + description: "Facility for creating read-only scalars, arrays, hashes" + protected_branches: + - master + type: public +- name: perl-Test-LeakTrace + description: "Trace memory leaks" + protected_branches: + - master + type: public +- name: perl-Fedora-VSP + description: "" + protected_branches: + - master + type: public +- name: perl-File-Sync + description: "Perl access to fsync() and sync() function calls" + protected_branches: + - master + type: public +- name: perl-File-BaseDir + description: "Use the Freedesktop.org base directory specification" + protected_branches: + - master + type: public +- name: perl-File-Copy-Recursive + description: "" + protected_branches: + - master + type: public +- name: perl-File-DesktopEntry + description: "Object to handle .desktop files" + protected_branches: + - master + type: public +- name: perl-File-Fetch + description: "" + protected_branches: + - master + type: public +- name: perl-File-HomeDir + description: "" + protected_branches: + - master + type: public +- name: perl-File-Listing + description: "" + protected_branches: + - master + type: public +- name: perl-File-MimeInfo + description: "Determine file type and open application" + protected_branches: + - master + type: public +- name: perl-File-Path + description: "" + protected_branches: + - master + type: public +- name: perl-File-ReadBackwards + description: "Read a file backwards by lines" + protected_branches: + - master + type: public +- name: perl-File-pushd + description: "" + protected_branches: + - master + type: public +- name: perl-File-Remove + description: "" + protected_branches: + - master + type: public +- name: perl-File-ShareDir + description: "" + protected_branches: + - master + type: public +- name: perl-File-ShareDir-Install + description: "" + protected_branches: + - master + type: public +- name: perl-File-Slurp + description: "" + protected_branches: + - master + type: public +- name: perl-File-Temp + description: "" + protected_branches: + - master + type: public +- name: perl-File-Which + description: "" + protected_branches: + - master + type: public +- name: perl-Filter + description: "" + protected_branches: + - master + type: public +- name: perl-Filter-Simple + description: "" + protected_branches: + - master + type: public +- name: perl-Font-TTF + description: "" + protected_branches: + - master + type: public +- name: perl-generators + description: "" + protected_branches: + - master + type: public +- name: perl-Getopt-Long + description: "" + protected_branches: + - master + type: public +- name: perl-GD + description: "A perl5 interface to Thomas Boutell's gd library" + protected_branches: + - master + type: public +- name: perl-GD-Barcode + description: "Create barcode image with GD" + protected_branches: + - master + type: public +- name: perl-gettext + description: "" + protected_branches: + - master + type: public +- name: perl-GSSAPI + description: "" + protected_branches: + - master + type: public +- name: perl-HTML-Parser + description: "" + protected_branches: + - master + type: public +- name: perl-HTML-Tagset + description: "" + protected_branches: + - master + type: public +- name: perl-HTTP-Cookies + description: "" + protected_branches: + - master + type: public +- name: perl-HTTP-Daemon + description: "" + protected_branches: + - master + type: public +- name: perl-HTTP-Date + description: "" + protected_branches: + - master + type: public +- name: perl-HTTP-Message + description: "" + protected_branches: + - master + type: public +- name: perl-HTTP-Negotiate + description: "" + protected_branches: + - master + type: public +- name: perl-HTTP-Tiny + description: "" + protected_branches: + - master + type: public +- name: perl-Import-Into + description: "Import packages into other packages" + protected_branches: + - master + type: public +- name: perl-inc-latest + description: "" + protected_branches: + - master + type: public +- name: perl-IO-All + description: "IO::All Perl module" + protected_branches: + - master + type: public +- name: perl-IO-Compress + description: "" + protected_branches: + - master + type: public +- name: perl-IO-HTML + description: "" + protected_branches: + - master + type: public +- name: perl-IO-Multiplex + description: "" + protected_branches: + - master + type: public +- name: perl-IO-Socket-INET6 + description: "" + protected_branches: + - master + type: public +- name: perl-IO-Socket-IP + description: "" + protected_branches: + - master + type: public +- name: perl-IO-Socket-SSL + description: "" + protected_branches: + - master + type: public +- name: perl-IO-String + description: "" + protected_branches: + - master + type: public +- name: perl-IO-stringy + description: "" + protected_branches: + - master + type: public +- name: perl-IO-Tty + description: "" + protected_branches: + - master + type: private +- name: perl-IPC-Cmd + description: "" + protected_branches: + - master + type: public +- name: perl-IPC-System-Simple + description: "" + protected_branches: + - master + type: public +- name: perl-IPC-SysV + description: "" + protected_branches: + - master + type: public +- name: perl-JSON + description: "" + protected_branches: + - master + type: public +- name: perl-JSON-XS + description: "JSON serializing/de-serializing, done correctly and fast" + protected_branches: + - master + type: public +- name: perl-JSON-PP + description: "" + protected_branches: + - master + type: public +- name: perl-libintl-perl + description: "" + protected_branches: + - master + type: public +- name: perl-libnet + description: "" + protected_branches: + - master + type: public +- name: perl-libwww-perl + description: "" + protected_branches: + - master + type: public +- name: perl-libxml-perl + description: "" + protected_branches: + - master + type: public +- name: perl-List-MoreUtils + description: "" + protected_branches: + - master + type: public +- name: perl-List-MoreUtils-XS + description: "" + protected_branches: + - master + type: public +- name: perl-local-lib + description: "Create and use a local lib/ for perl modules" + protected_branches: + - master + type: public +- name: perl-Locale-Codes + description: "" + protected_branches: + - master + type: public +- name: perl-Locale-Maketext + description: "" + protected_branches: + - master + type: public +- name: perl-LWP-MediaTypes + description: "" + protected_branches: + - master + type: public +- name: perl-LWP-Protocol-https + description: "" + protected_branches: + - master + type: public +- name: perl-Mail-DKIM + description: "" + protected_branches: + - master + type: public +- name: perl-Mail-Sender + description: "" + protected_branches: + - master + type: public +- name: perl-Mail-SPF + description: "" + protected_branches: + - master + type: private +- name: perl-MailTools + description: "" + protected_branches: + - master + type: public +- name: perl-Math-BigInt + description: "" + protected_branches: + - master + type: public +- name: perl-Math-BigInt-FastCalc + description: "" + protected_branches: + - master + type: public +- name: perl-Math-BigRat + description: "" + protected_branches: + - master + type: public +- name: perl-MIME-Base64 + description: "" + protected_branches: + - master + type: public +- name: perl-MIME-Lite + description: "MIME::Lite - low-calorie MIME generator" + protected_branches: + - master + type: public +- name: perl-MIME-Types + description: "MIME::Types - Definition of MIME types" + protected_branches: + - master + type: public +- name: perl-Module-Build + description: "" + protected_branches: + - master + type: public +- name: perl-Module-CoreList + description: "" + protected_branches: + - master + type: public +- name: perl-Module-Install + description: "" + protected_branches: + - master + type: public +- name: perl-Module-Install + description: "Standalone, extensible Perl module installer" + protected_branches: + - master + type: public +- name: perl-Module-Install-AuthorRequires + description: "Declare author-only dependencies" + protected_branches: + - master + type: public +- name: perl-Module-Install-AuthorTests + description: "Designate tests only run by module authors" + protected_branches: + - master + type: public +- name: perl-Module-Install-AutoLicense + description: "Module::Install extension to automatically generate LICENSE files" + protected_branches: + - master + type: public +- name: perl-Module-Install-GithubMeta + description: "A Module::Install extension to include GitHub meta information in META.yml" + protected_branches: + - master + type: public +- name: perl-Module-Install-ManifestSkip + description: "Generate a MANIFEST.SKIP file" + protected_branches: + - master + type: public +- name: perl-Module-Load + description: "" + protected_branches: + - master + type: public +- name: perl-Module-Load-Conditional + description: "" + protected_branches: + - master + type: public +- name: perl-Module-Metadata + description: "" + protected_branches: + - master + type: public +- name: perl-Module-Runtime + description: "" + protected_branches: + - master + type: public +- name: perl-Mozilla-CA + description: "" + protected_branches: + - master + type: public +- name: perl-MRO-Compat + description: "" + protected_branches: + - master + type: public +- name: perl-NetAddr-IP + description: "" + protected_branches: + - master + type: public +- name: perl-Net-CIDR-Lite + description: "" + protected_branches: + - master + type: public +- name: perl-Net-Daemon + description: "" + protected_branches: + - master + type: public +- name: perl-Net-DNS + description: "" + protected_branches: + - master + type: public +- name: perl-Net-DNS-Resolver-Mock + description: "" + protected_branches: + - master + type: private +- name: perl-Net-DNS-Resolver-Programmable + description: "Programmable DNS resolver class for offline emulation of DNS" + protected_branches: + - master + type: private +- name: perl-Net-DNS-SEC + description: "" + protected_branches: + - master + type: private +- name: perl-Net-HTTP + description: "" + protected_branches: + - master + type: public +- name: perl-Net-LibIDN + description: "Perl bindings for GNU Libidn" + protected_branches: + - master + type: public +- name: perl-Net-LibIDN2 + description: "Perl bindings for GNU Libidn2" + protected_branches: + - master + type: private +- name: perl-Net-Server + description: "" + protected_branches: + - master + type: public +- name: perl-Net-SMTP-SSL + description: "" + protected_branches: + - master + type: public +- name: perl-Net-SNMP + description: "Object oriented interface to SNMP." + protected_branches: + - master + type: public +- name: perl-Net-SSLeay + description: "" + protected_branches: + - master + type: public +- name: perl-NTLM + description: "" + protected_branches: + - master + type: public +- name: perl-Package-Constants + description: "List all constants declared in a package" + protected_branches: + - master + type: public +- name: perl-Package-Generator + description: "" + protected_branches: + - master + type: public +- name: perl-Params-Check + description: "" + protected_branches: + - master + type: public +- name: perl-Params-Util + description: "" + protected_branches: + - master + type: public +- name: perl-parent + description: "" + protected_branches: + - master + type: public +- name: perl-Parse-Yapp + description: "" + protected_branches: + - master + type: public +- name: perl-Path-Tiny + description: "" + protected_branches: + - master + type: public +- name: perl-PathTools + description: "" + protected_branches: + - master + type: public +- name: perl-perlfaq + description: "" + protected_branches: + - master + type: public +- name: perl-PerlIO-via-QuotedPrint + description: "" + protected_branches: + - master + type: public +- name: perl-Perl-OSType + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Checker + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Coverage + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Escapes + description: "" + protected_branches: + - master + type: public +- name: perl-podlators + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Markdown + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Parser + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Perldoc + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Simple + description: "" + protected_branches: + - master + type: public +- name: perl-Pod-Usage + description: "" + protected_branches: + - master + type: public +- name: perl-Scalar-List-Utils + description: "" + protected_branches: + - master + type: public +- name: perl-SGMLSpm + description: "" + protected_branches: + - master + type: public +- name: perl-SNMP_Session + description: "" + protected_branches: + - master + type: public +- name: perl-Socket + description: "" + protected_branches: + - master + type: public +- name: perl-Socket-MsgHdr + description: "Sendmsg, recvmsg and ancillary data operations" + protected_branches: + - master + type: public +- name: perl-Socket6 + description: "" + protected_branches: + - master + type: public +- name: perl-Software-License + description: "" + protected_branches: + - master + type: public +- name: perl-Types-Serialiser + description: "Simple data types for common serialization formats" + protected_branches: + - master + type: public +- name: perl-srpm-macros + description: "These RPM macros are used for building Perl source packages from source repositories." + protected_branches: + - master + type: private +- name: perl-Storable + description: "" + protected_branches: + - master + type: public +- name: perl-String-CRC32 + description: "" + protected_branches: + - master + type: public +- name: perl-String-ShellQuote + description: "" + protected_branches: + - master + type: public +- name: perl-Sub-Exporter + description: "" + protected_branches: + - master + type: public +- name: perl-Sub-Exporter-Progressive + description: "" + protected_branches: + - master + type: public +- name: perl-Sub-Install + description: "" + protected_branches: + - master + type: public +- name: perl-Sub-Name + description: "" + protected_branches: + - master + type: public +- name: perl-Sub-Quote + description: "" + protected_branches: + - master + type: public +- name: perl-Sub-Uplevel + description: "" + protected_branches: + - master + type: private +- name: perl-Switch + description: "" + protected_branches: + - master + type: public +- name: perl-Sys-CPU + description: "" + protected_branches: + - master + type: public +- name: perl-Sys-MemInfo + description: "" + protected_branches: + - master + type: public +- name: perl-Sys-Syslog + description: "" + protected_branches: + - master + type: public +- name: perl-Sys-Virt + description: "" + protected_branches: + - master + type: public +- name: perl-Term-ANSIColor + description: "" + protected_branches: + - master + type: public +- name: perl-Term-Cap + description: "" + protected_branches: + - master + type: public +- name: perl-TermReadKey + description: "" + protected_branches: + - master + type: public +- name: perl-Test-CPAN-Meta + description: "" + protected_branches: + - master + type: private +- name: perl-Test-Deep + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Exception + description: "This module provides a few convenience methods for testing exception based code." + protected_branches: + - master + type: private +- name: perl-Test-FailWarnings + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Fatal + description: "" + protected_branches: + - master + type: public +- name: perl-Test-File + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Harness + description: "" + protected_branches: + - master + type: public +- name: perl-Test-InDistDir + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Inter + description: "" + protected_branches: + - master + type: private +- name: perl-Test-Needs + description: "" + protected_branches: + - master + type: public +- name: perl-Test-NoWarnings + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Pod + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Pod-Coverage + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Requires + description: "" + protected_branches: + - master + type: public +- name: perl-Test-RequiresInternet + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Simple + description: "" + protected_branches: + - master + type: public +- name: perl-Test-Warnings + description: "" + protected_branches: + - master + type: public +- name: perl-Text-Balanced + description: "" + protected_branches: + - master + type: public +- name: perl-Text-CharWidth + description: "" + protected_branches: + - master + type: public +- name: perl-Text-Diff + description: "" + protected_branches: + - master + type: public +- name: perl-Text-Glob + description: "" + protected_branches: + - master + type: public +- name: perl-Text-ParseWords + description: "" + protected_branches: + - master + type: public +- name: perl-Text-Tabs-Wrap + description: "" + protected_branches: + - master + type: public +- name: perl-Text-Template + description: "" + protected_branches: + - master + type: public +- name: perl-Text-Unidecode + description: "" + protected_branches: + - master + type: public +- name: perl-Text-WrapI18N + description: "" + protected_branches: + - master + type: public +- name: perl-Thread-Queue + description: "" + protected_branches: + - master + type: public +- name: perl-threads + description: "" + protected_branches: + - master + type: public +- name: perl-threads-shared + description: "" + protected_branches: + - master + type: public +- name: perl-Tie-IxHash + description: "Ordered associative arrays for Perl" + protected_branches: + - master + type: private +- name: perl-Time-Zone + description: "" + protected_branches: + - master + type: private +- name: perl-TimeDate + description: "" + protected_branches: + - master + type: public +- name: perl-Time-HiRes + description: "" + protected_branches: + - master + type: public +- name: perl-Time-Local + description: "" + protected_branches: + - master + type: public +- name: perl-Tk + description: "" + protected_branches: + - master + type: public +- name: perl-Try-Tiny + description: "" + protected_branches: + - master + type: public +- name: perl-Unicode-Collate + description: "" + protected_branches: + - master + type: public +- name: perl-Unicode-EastAsianWidth + description: "" + protected_branches: + - master + type: public +- name: perl-Unicode-LineBreak + description: "" + protected_branches: + - master + type: public +- name: perl-Unicode-Normalize + description: "" + protected_branches: + - master + type: public +- name: perl-Unicode-UTF8 + description: "" + protected_branches: + - master + type: public +- name: perl-Unix-Syslog + description: "" + protected_branches: + - master + type: private +- name: perl-URI + description: "" + protected_branches: + - master + type: public +- name: perl-version + description: "" + protected_branches: + - master + type: public +- name: perl-WWW-RobotRules + description: "" + protected_branches: + - master + type: public +- name: perl-XML-Catalog + description: "Resolve public identifiers and remap system identifiers." + protected_branches: + - master + type: public +- name: perl-XML-LibXML + description: "" + protected_branches: + - master + type: public +- name: perl-XML-NamespaceSupport + description: "" + protected_branches: + - master + type: public +- name: perl-XML-Parser + description: "" + protected_branches: + - master + type: public +- name: perl-XML-SAX + description: "" + protected_branches: + - master + type: public +- name: perl-XML-SAX-Base + description: "" + protected_branches: + - master + type: public +- name: perl-XML-Simple + description: "" + protected_branches: + - master + type: public +- name: perl-XML-TokeParser + description: "" + protected_branches: + - master + type: public +- name: perl-XML-Writer + description: "" + protected_branches: + - master + type: public +- name: perl-XML-XPath + description: "" + protected_branches: + - master + type: public +- name: perl-YAML + description: "" + protected_branches: + - master + type: public +- name: perl-YAML-LibYAML + description: "" + protected_branches: + - master + type: public +- name: perl-YAML-LibYAML + description: "" + protected_branches: + - master + type: public +- name: perl-YAML-Tiny + description: "" + protected_branches: + - master + type: public +- name: pesign + description: "" + protected_branches: + - master + type: public +- name: phodav + description: "" + protected_branches: + - master + type: public +- name: phonon + description: "" + protected_branches: + - master + type: public +- name: phonon-backend-gstreamer + description: "" + protected_branches: + - master + type: private +- name: physfs + description: "" + protected_branches: + - master + type: private +- name: php + description: "PHP scripting language for creating dynamic web sites" + protected_branches: + - master + type: public +- name: PyPAM + description: "PAM bindings for Python" + protected_branches: + - master + type: public +- name: pigz + description: "" + protected_branches: + - master + type: public +- name: pinentry + description: "" + protected_branches: + - master + type: public +- name: pinfo + description: "" + protected_branches: + - master + type: public +- name: pipewire + description: "" + protected_branches: + - master + type: public +- name: pixman + description: "" + protected_branches: + - master + type: public +- name: pkcs11-helper + description: "" + protected_branches: + - master + type: public +- name: pkgconf + description: "" + protected_branches: + - master + type: public +- name: pkgconfig + description: "" + protected_branches: + - master + type: private +- name: plexus-ant-factory + description: "Plexus Ant component factory." + protected_branches: + - master + type: private +- name: plexus-archiver + description: "" + protected_branches: + - master + type: private +- name: plexus-bsh-factory + description: "Plexus Bsh component factory." + protected_branches: + - master + type: private +- name: plexus-build-api + description: "" + protected_branches: + - master + type: private +- name: plexus-cipher + description: "" + protected_branches: + - master + type: private +- name: plexus-classworlds + description: "" + protected_branches: + - master + type: private +- name: plexus-cli + description: "" + protected_branches: + - master + type: private +- name: plexus-compiler + description: "" + protected_branches: + - master + type: private +- name: plexus-component-api + description: "" + protected_branches: + - master + type: private +- name: plexus-components-pom + description: "" + protected_branches: + - master + type: private +- name: plexus-containers + description: "" + protected_branches: + - master + type: private +- name: plexus-i18n + description: "" + protected_branches: + - master + type: private +- name: plexus-interactivity + description: "" + protected_branches: + - master + type: private +- name: plexus-interpolation + description: "" + protected_branches: + - master + type: private +- name: plexus-io + description: "" + protected_branches: + - master + type: private +- name: plexus-languages + description: "" + protected_branches: + - master + type: private +- name: plexus-pom + description: "" + protected_branches: + - master + type: private +- name: plexus-resources + description: "" + protected_branches: + - master + type: private +- name: plexus-sec-dispatcher + description: "" + protected_branches: + - master + type: private +- name: plexus-utils + description: "" + protected_branches: + - master + type: private +- name: plexus-velocity + description: "" + protected_branches: + - master + type: private +- name: plotutils + description: "" + protected_branches: + - master + type: private +- name: plymouth + description: "" + protected_branches: + - master + type: public +- name: pmix + description: "Process management for exascale environments." + protected_branches: + - master + type: private +- name: pngquant + description: "" + protected_branches: + - master + type: public +- name: pnm2ppa + description: "" + protected_branches: + - master + type: public +- name: po4a + description: "" + protected_branches: + - master + type: public +- name: podman + description: "" + protected_branches: + - master + type: public +- name: policycoreutils + description: "" + protected_branches: + - master + type: public +- name: polkit + description: "" + protected_branches: + - master + type: public +- name: polkit-gnome + description: "" + protected_branches: + - master + type: public +- name: polkit-pkla-compat + description: "" + protected_branches: + - master + type: public +- name: poly2tri + description: "" + protected_branches: + - master + type: public +- name: poppler + description: "" + protected_branches: + - master + type: public +- name: poppler-data + description: "" + protected_branches: + - master + type: public +- name: popt + description: "" + protected_branches: + - master + type: public +- name: portaudio + description: "" + protected_branches: + - master + type: private +- name: portreserve + description: "" + protected_branches: + - master + type: public +- name: postfix + description: "" + protected_branches: + - master + type: public +- name: postgresql + description: "" + protected_branches: + - master + type: public +- name: postgresql-jdbc + description: "" + protected_branches: + - master + type: private +- name: potrace + description: "" + protected_branches: + - master + type: private +- name: powertop + description: "" + protected_branches: + - master + type: public +- name: ppp + description: "" + protected_branches: + - master + type: public +- name: pps-tools + description: "" + protected_branches: + - master + type: public +- name: pptp + description: "" + protected_branches: + - master + type: public +- name: prefetch_tuning + description: "" + protected_branches: + - master + type: public +- name: procmail + description: "" + protected_branches: + - master + type: public +- name: procps-ng + description: "" + protected_branches: + - master + type: public +- name: proguard + description: "Java class file shrinker, optimizer, obfuscator and preverifier." + protected_branches: + - master + type: private +- name: proj + description: "" + protected_branches: + - master + type: public +- name: properties-maven-plugin + description: "" + protected_branches: + - master + type: private +- name: protobuf + description: "" + protected_branches: + - master + type: public +- name: protobuf-c + description: "" + protected_branches: + - master + type: public +- name: protoparser + description: "" + protected_branches: + - master + type: private +- name: protostream + description: "" + protected_branches: + - master + type: private +- name: proxool + description: "" + protected_branches: + - master + type: private +- name: psacct + description: "" + protected_branches: + - master + type: public +- name: psmisc + description: "" + protected_branches: + - master + type: public +- name: pstoedit + description: "" + protected_branches: + - master + type: private +- name: psutils + description: "" + protected_branches: + - master + type: public +- name: publicsuffix-list + description: "" + protected_branches: + - master + type: public +- name: pulseaudio + description: "" + protected_branches: + - master + type: public +- name: pv + description: "A tool for monitoringthe progress of data through a pipeline" + protected_branches: + - master + type: public +- name: pyatspi + description: "" + protected_branches: + - master + type: public +- name: pycairo + description: "" + protected_branches: + - master + type: public +- name: pyelftools + description: "" + protected_branches: + - master + type: public +- name: pyflakes + description: "" + protected_branches: + - master + type: public +- name: pygobject2 + description: "" + protected_branches: + - master + type: public +- name: pygobject3 + description: "" + protected_branches: + - master + type: public +- name: pygtk2 + description: "" + protected_branches: + - master + type: public +- name: pykickstart + description: "" + protected_branches: + - master + type: public +- name: pyliblzma + description: "" + protected_branches: + - master + type: public +- name: pylint + description: "" + protected_branches: + - master + type: private +- name: pyOpenSSL + description: "" + protected_branches: + - master + type: public +- name: pyorbit + description: "" + protected_branches: + - master + type: public +- name: pyparsing + description: "" + protected_branches: + - master + type: public +- name: pyparted + description: "" + protected_branches: + - master + type: public +- name: PyQt4 + description: "" + protected_branches: + - master + type: public +- name: pyserial + description: "" + protected_branches: + - master + type: public +- name: pytest + description: "" + protected_branches: + - master + type: public +- name: python-alsa + description: "python binding for the ALSA library" + protected_branches: + - master + type: public +- name: python-apipkg + description: "" + protected_branches: + - master + type: public +- name: python-appdirs + description: "A small Python module for determining appropriate platform-specific dirs." + protected_branches: + - master + type: private +- name: python-astroid + description: "" + protected_branches: + - master + type: private +- name: python-tqdm + description: "Fast, Extensible Progress Meter" + protected_branches: + - master + type: public +- name: python2 + description: "" + protected_branches: + - master + type: public +- name: python2-typing + description: "" + protected_branches: + - master + type: public +- name: python3 + description: "" + protected_branches: + - master + type: public +- name: python-alsa + description: "Accessing the ALSA API from Python" + protected_branches: + - master + type: public +- name: python-aniso8601 + description: "" + protected_branches: + - master + type: public +- name: python-argcomplete + description: "" + protected_branches: + - master + type: public +- name: python-asn1crypto + description: "" + protected_branches: + - master + type: public +- name: python-atomicwrites + description: "" + protected_branches: + - master + type: public +- name: python-attrs + description: "" + protected_branches: + - master + type: public +- name: python-augeas + description: "" + protected_branches: + - master + type: public +- name: python-Automat + description: "" + protected_branches: + - master + type: private +- name: python-backports + description: "" + protected_branches: + - master + type: public +- name: python-backports-functools_lru_cache + description: "A backport of functools.lru_cache from Python 3.3 as published at ActiveState." + protected_branches: + - master + type: private +- name: python-backports-shutil_get_terminal_size + description: "A backport of the get_terminal_size function from Python 3.3's shutil." + protected_branches: + - master + type: private +- name: python-backports_abc + description: "" + protected_branches: + - master + type: public +- name: python-backports-ssl_match_hostname + description: "" + protected_branches: + - master + type: public +- name: python-backports-unittest_mock + description: "" + protected_branches: + - master + type: public +- name: python-bcrypt + description: "" + protected_branches: + - master + type: public +- name: python-beaker + description: "" + protected_branches: + - master + type: public +- name: python-beautifulsoup4 + description: "" + protected_branches: + - master + type: public +- name: python-behave + description: "" + protected_branches: + - master + type: private +- name: python-blinker + description: "" + protected_branches: + - master + type: public +- name: python-blivet + description: "" + protected_branches: + - master + type: public +- name: python-bottle + description: "" + protected_branches: + - master + type: public +- name: python-Bottleneck + description: "Collection of fast NumPy array functions written in Cython." + protected_branches: + - master + type: private +- name: python-breathe + description: "" + protected_branches: + - master + type: private +- name: python-cached_property + description: "A cached-property for decorating methods in Python classes" + protected_branches: + - master + type: public +- name: python-cffi + description: "" + protected_branches: + - master + type: public +- name: python-chardet + description: "" + protected_branches: + - master + type: public +- name: python-cheetah + description: "" + protected_branches: + - master + type: public +- name: python-cherrypy + description: "A python-based framework for web application development" + protected_branches: + - master + type: public +- name: python-click + description: "" + protected_branches: + - master + type: public +- name: python-configobj + description: "" + protected_branches: + - master + type: public +- name: python-configparser + description: "" + protected_branches: + - master + type: public +- name: python-configshell + description: "" + protected_branches: + - master + type: public +- name: python-constantly + description: "" + protected_branches: + - master + type: public +- name: python-construct + description: "" + protected_branches: + - master + type: public +- name: python-contextlib2 + description: "" + protected_branches: + - master + type: public +- name: python-coverage + description: "" + protected_branches: + - master + type: public +- name: python-crypto + description: "" + protected_branches: + - master + type: public +- name: python-cryptography + description: "" + protected_branches: + - master + type: public +- name: python-cryptography-vectors + description: "" + protected_branches: + - master + type: public +- name: python-cups + description: "" + protected_branches: + - master + type: public +- name: python-cycler + description: "" + protected_branches: + - master + type: public +- name: python-dateutil + description: "" + protected_branches: + - master + type: public +- name: python-decorator + description: "" + protected_branches: + - master + type: public +- name: python-dict2xml + description: "" + protected_branches: + - master + type: public +- name: python-distro + description: "" + protected_branches: + - master + type: public +- name: python-dmidecode + description: "" + protected_branches: + - master + type: public +- name: python-dns + description: "" + protected_branches: + - master + type: public +- name: python-docker + description: "A Python library for the Docker Engine API" + protected_branches: + - master + type: public +- name: python-docker-pycreds + description: "Python bindings for the docker credentials store API" + protected_branches: + - master + type: public +- name: python-dockerpty + description: "Python library to use the pseudo-tty of a docker container" + protected_branches: + - master + type: public +- name: python-docopt + description: "" + protected_branches: + - master + type: public +- name: python-docutils + description: "" + protected_branches: + - master + type: public +- name: python-ecdsa + description: "ECDSA cryptographic signature library" + protected_branches: + - master + type: public +- name: python-enchant + description: "" + protected_branches: + - master + type: public +- name: python-entrypoints + description: "" + protected_branches: + - master + type: public +- name: python-enum34 + description: "" + protected_branches: + - master + type: public +- name: python-ethtool + description: "" + protected_branches: + - master + type: public +- name: python-evdev + description: "Provides bindings to the generic input event interface" + protected_branches: + - master + type: public +- name: python-eventlet + description: "" + protected_branches: + - master + type: private +- name: python-execnet + description: "" + protected_branches: + - master + type: public +- name: python-extras + description: "" + protected_branches: + - master + type: public +- name: python-fixtures + description: "" + protected_branches: + - master + type: public +- name: python-filelock + description: "A platform independent file lock" + protected_branches: + - master + type: public +- name: python-flask + description: "" + protected_branches: + - master + type: public +- name: python-flask-restful + description: "" + protected_branches: + - master + type: public +- name: python-flit + description: "" + protected_branches: + - master + type: public +- name: python-fonttools + description: "" + protected_branches: + - master + type: public +- name: python-freezegun + description: "" + protected_branches: + - master + type: public +- name: python-funcsigs + description: "" + protected_branches: + - master + type: public +- name: python-futures + description: "" + protected_branches: + - master + type: public +- name: python-genshi + description: "" + protected_branches: + - master + type: public +- name: python-gevent + description: "" + protected_branches: + - master + type: public +- name: python-gflags + description: "" + protected_branches: + - master + type: public +- name: python-google-apputils + description: "" + protected_branches: + - master + type: public +- name: python-graphviz + description: "Graphviz bindings for python." + protected_branches: + - master + type: private +- name: python-greenlet + description: "" + protected_branches: + - master + type: public +- name: python-h5py + description: "" + protected_branches: + - master + type: private +- name: python-hamcrest + description: "" + protected_branches: + - master + type: public +- name: python-hpack + description: "Pure-Python HPACK header compression." + protected_branches: + - master + type: private +- name: python-html5lib + description: "" + protected_branches: + - master + type: public +- name: python-httpbin + description: "" + protected_branches: + - master + type: private +- name: python-httplib2 + description: "" + protected_branches: + - master + type: public +- name: python-httpretty + description: "" + protected_branches: + - master + type: public +- name: python-humanize + description: "" + protected_branches: + - master + type: public +- name: python-hwdata + description: "" + protected_branches: + - master + type: public +- name: python-hyperframe + description: "HTTP/2 framing layer for Python." + protected_branches: + - master + type: private +- name: python-hyperlink + description: "" + protected_branches: + - master + type: public +- name: python-hypothesis + description: "" + protected_branches: + - master + type: public +- name: python-idna + description: "" + protected_branches: + - master + type: public +- name: python-imagesize + description: "" + protected_branches: + - master + type: public +- name: python-importlib-metadata + description: "Read metadata from Python packages" + protected_branches: + - master + type: public +- name: python-incremental + description: "" + protected_branches: + - master + type: public +- name: python-iniparse + description: "" + protected_branches: + - master + type: public +- name: python-inotify + description: "" + protected_branches: + - master + type: public +- name: python-ipaddress + description: "" + protected_branches: + - master + type: public +- name: python-IPy + description: "" + protected_branches: + - master + type: public +- name: python-ipython_genutils + description: "IPython vestigial utilities." + protected_branches: + - master + type: private +- name: python-iso8601 + description: "" + protected_branches: + - master + type: public +- name: python-isort + description: "" + protected_branches: + - master + type: private +- name: python-itsdangerous + description: "" + protected_branches: + - master + type: public +- name: python-jinja2 + description: "" + protected_branches: + - master + type: public +- name: python-jmespath + description: "" + protected_branches: + - master + type: private +- name: python-joblib + description: "" + protected_branches: + - master + type: public +- name: python-jsonpatch + description: "" + protected_branches: + - master + type: public +- name: python-jsonpointer + description: "" + protected_branches: + - master + type: public +- name: python-jsonschema + description: "" + protected_branches: + - master + type: public +- name: python-junitxml + description: "A Python unittest TestResult that outputs JUnit compatible XML." + protected_branches: + - master + type: public +- name: python-jwt + description: "" + protected_branches: + - master + type: public +- name: python-Keras + description: "" + protected_branches: + - master + type: private +- name: python-keras-applications + description: "" + protected_branches: + - master + type: private +- name: python-Keras_Preprocessing + description: "" + protected_branches: + - master + type: private +- name: python-keyring + description: "" + protected_branches: + - master + type: public +- name: python-keyczar + description: "Toolkit for safe and simple cryptography" + protected_branches: + - master + type: public +- name: python-kitchen + description: "" + protected_branches: + - master + type: public +- name: python-kiwisolver + description: "" + protected_branches: + - master + type: public +- name: python-kmod + description: "" + protected_branches: + - master + type: public +- name: python-latexcodec + description: "A lexer and codec to work with LaTeX code in Python." + protected_branches: + - master + type: private +- name: python-lazy-object-proxy + description: "" + protected_branches: + - master + type: private +- name: python-ldap + description: "An object-oriented API to access LDAP directory servers" + protected_branches: + - master + type: public +- name: python-linecache2 + description: "" + protected_branches: + - master + type: public +- name: python-linux-procfs + description: "" + protected_branches: + - master + type: public +- name: python-lit + description: "" + protected_branches: + - master + type: public +- name: python-logutils + description: "Logging utilities." + protected_branches: + - master + type: public +- name: python-lxml + description: "" + protected_branches: + - master + type: public +- name: python-m2r + description: "Converts markdown files including rst to a valid rst format." + protected_branches: + - master + type: private +- name: python-mako + description: "" + protected_branches: + - master + type: public +- name: python-markdown + description: "" + protected_branches: + - master + type: public +- name: python-markupsafe + description: "" + protected_branches: + - master + type: public +- name: python-matplotlib + description: "Python 2D plotting library." + protected_branches: + - master + type: private +- name: python-mccabe + description: "" + protected_branches: + - master + type: private +- name: python-meh + description: "" + protected_branches: + - master + type: public +- name: python-mimeparse + description: "" + protected_branches: + - master + type: public +- name: python-mistune + description: "Markdown parser in pure Python with renderer features." + protected_branches: + - master + type: private +- name: python-mock + description: "" + protected_branches: + - master + type: public +- name: python-more-itertools + description: "" + protected_branches: + - master + type: public +- name: python-mox + description: "" + protected_branches: + - master + type: public +- name: python-netaddr + description: "" + protected_branches: + - master + type: public +- name: python-netifaces + description: "" + protected_branches: + - master + type: private +- name: python-networkx + description: "python package for the study of complex network" + protected_branches: + - master + type: private +- name: python-nose + description: "" + protected_branches: + - master + type: public +- name: python-ntplib + description: "" + protected_branches: + - master + type: public +- name: python-numexpr + description: "Fast numerical array expression evaluator for Python and NumPy." + protected_branches: + - master + type: private +- name: python-numpydoc + description: "Sphinx extension to support docstrings in Numpy format." + protected_branches: + - master + type: private +- name: python-oauthlib + description: "" + protected_branches: + - master + type: public +- name: python-olefile + description: "" + protected_branches: + - master + type: public +- name: python-ordered-set + description: "" + protected_branches: + - master + type: public +- name: python-orderedset + description: "Ordered set implementation in Cython." + protected_branches: + - master + type: private +- name: python-packaging + description: "" + protected_branches: + - master + type: public +- name: python-pandas + description: "" + protected_branches: + - master + type: public +- name: python-paramiko + description: "" + protected_branches: + - master + type: public +- name: python-parse + description: "" + protected_branches: + - master + type: public +- name: python-parse_type + description: "" + protected_branches: + - master + type: private +- name: python-pasta + description: "" + protected_branches: + - master + type: private +- name: python-paste + description: "" + protected_branches: + - master + type: public +- name: python-path + description: "" + protected_branches: + - master + type: public +- name: python-pathlib + description: "Object-oriented filesystem paths." + protected_branches: + - master + type: private +- name: python-pbr + description: "" + protected_branches: + - master + type: public +- name: python-pecan + description: "A WSGI object-dispatching web framework" + protected_branches: + - master + type: public +- name: python-pexpect + description: "" + protected_branches: + - master + type: private +- name: python-pickleshare + description: "Object-oriented filesystem paths." + protected_branches: + - master + type: private +- name: python-pid + description: "" + protected_branches: + - master + type: public +- name: python-pillow + description: "" + protected_branches: + - master + type: public +- name: python-pip + description: "" + protected_branches: + - master + type: public +- name: python-pkgconfig + description: "" + protected_branches: + - master + type: private +- name: python-pluggy + description: "" + protected_branches: + - master + type: public +- name: python-ply + description: "" + protected_branches: + - master + type: public +- name: python-pocketlint + description: "" + protected_branches: + - master + type: public +- name: python-polib + description: "" + protected_branches: + - master + type: public +- name: python-pretend + description: "" + protected_branches: + - master + type: public +- name: python-prettytable + description: "" + protected_branches: + - master + type: public +- name: python-priority + description: "A pure-Python implementation of the HTTP/2 priority tree." + protected_branches: + - master + type: private +- name: python-productmd + description: "" + protected_branches: + - master + type: public +- name: python-prompt_toolkit + description: "Library for building powerful interactive command lines in Python." + protected_branches: + - master + type: private +- name: python-psutil + description: "" + protected_branches: + - master + type: public +- name: python-ptyprocess + description: "" + protected_branches: + - master + type: private +- name: python-py + description: "" + protected_branches: + - master + type: public +- name: python-pyaml + description: "" + protected_branches: + - master + type: private +- name: python-pyasn1 + description: "" + protected_branches: + - master + type: public +- name: python-pybtex + description: "BibTeX-compatible Bibliography Processor in Python." + protected_branches: + - master + type: private +- name: python-pybtex-docutils + description: "Docutils backend for pybtex." + protected_branches: + - master + type: private +- name: python-pycparser + description: "" + protected_branches: + - master + type: public +- name: python-pycurl + description: "" + protected_branches: + - master + type: public +- name: python-pydbus + description: "" + protected_branches: + - master + type: public +- name: python-pydotplus + description: "Python interface to Graphviz's Dot language." + protected_branches: + - master + type: private +- name: python-pyflakes + description: "" + protected_branches: + - master + type: private +- name: python-pyglet + description: "A cross-platform windowing and multimedia library for Python." + protected_branches: + - master + type: private +- name: python-pygments + description: "" + protected_branches: + - master + type: public +- name: python-pymongo + description: "" + protected_branches: + - master + type: public +- name: python-pynacl + description: "" + protected_branches: + - master + type: public +- name: python-pyside + description: "PySide - python bindings for Qt." + protected_branches: + - master + type: private +- name: python-pysocks + description: "" + protected_branches: + - master + type: public +- name: python-pytest-cov + description: "" + protected_branches: + - master + type: public +- name: python-pytest-expect + description: "" + protected_branches: + - master + type: public +- name: python-pytest-fixture-config + description: "" + protected_branches: + - master + type: public +- name: python-pytest-httpbin + description: "" + protected_branches: + - master + type: private +- name: python-pytest-mock + description: "" + protected_branches: + - master + type: public +- name: python-pytest-runner + description: "" + protected_branches: + - master + type: private +- name: python-pytest-shutil + description: "" + protected_branches: + - master + type: public +- name: python-pytest-virtualenv + description: "" + protected_branches: + - master + type: public +- name: python-pytoml + description: "" + protected_branches: + - master + type: public +- name: python-pyudev + description: "" + protected_branches: + - master + type: public +- name: python-qt5 + description: "" + protected_branches: + - master + type: public +- name: python-redis + description: "" + protected_branches: + - master + type: public +- name: python-reportlab + description: "" + protected_branches: + - master + type: public +- name: python-repoze-lru + description: "" + protected_branches: + - master + type: public +- name: python-requests + description: "" + protected_branches: + - master + type: public +- name: python-requests-file + description: "" + protected_branches: + - master + type: public +- name: python-requests-ftp + description: "" + protected_branches: + - master + type: public +- name: python-rpm-generators + description: "" + protected_branches: + - master + type: public +- name: python-rpmfluff + description: "" + protected_branches: + - master + type: private +- name: python-rtslib + description: "" + protected_branches: + - master + type: public +- name: python-schedutils + description: "" + protected_branches: + - master + type: public +- name: python-scikit-learn + description: "" + protected_branches: + - master + type: public +- name: python-scikit-optimize + description: "" + protected_branches: + - master + type: public +- name: python-scons + description: "" + protected_branches: + - master + type: public +- name: python-scour + description: "" + protected_branches: + - master + type: private +- name: python-SecretStorage + description: "" + protected_branches: + - master + type: public +- name: python-semantic_version + description: "" + protected_branches: + - master + type: public +- name: python-service-identity + description: "Service Identity Verification for pyOpenSSL Use this package if you don't want to be MITMed." + protected_branches: + - master + type: private +- name: python-setuptools + description: "" + protected_branches: + - master + type: public +- name: python-setuptools_git + description: "" + protected_branches: + - master + type: public +- name: python-setuptools_scm + description: "" + protected_branches: + - master + type: public +- name: python-simplegeneric + description: "Simple generic functions." + protected_branches: + - master + type: public +- name: python-simpleline + description: "" + protected_branches: + - master + type: public +- name: python-singledispatch + description: "" + protected_branches: + - master + type: public +- name: python-six + description: "" + protected_branches: + - master + type: public +- name: python-slip + description: "" + protected_branches: + - master + type: public +- name: python-snowballstemmer + description: "" + protected_branches: + - master + type: public +- name: python-sphinx + description: "" + protected_branches: + - master + type: public +- name: python-sphinx-bootstrap-theme + description: "A sphinx theme that integrates the Bootstrap framework." + protected_branches: + - master + type: private +- name: python-sphinxcontrib-spelling + description: "" + protected_branches: + - master + type: public +- name: python-sphinxcontrib-websupport + description: "" + protected_branches: + - master + type: public +- name: python-sphinx_rtd_theme + description: "" + protected_branches: + - master + type: public +- name: python-sphinx-theme-alabaster + description: "" + protected_branches: + - master + type: public +- name: python-sphinxcontrib-bibtex + description: "Sphinx extension for BibTeX style citations." + protected_branches: + - master + type: private +- name: python-sqlalchemy + description: "" + protected_branches: + - master + type: public +- name: python-subprocess32 + description: "A backport of the subprocess module from Python 3.2/3.3 for use on 2.x." + protected_branches: + - master + type: public +- name: python-sure + description: "" + protected_branches: + - master + type: public +- name: python-systemd + description: "" + protected_branches: + - master + type: public +- name: python-tables + description: "HDF5 support in Python." + protected_branches: + - master + type: private +- name: python-tempita + description: "" + protected_branches: + - master + type: public +- name: python-testscenarios + description: "" + protected_branches: + - master + type: public +- name: python-testtools + description: "" + protected_branches: + - master + type: public +- name: python-threadpoolctl + description: "" + protected_branches: + - master + type: public +- name: python-tornado + description: "" + protected_branches: + - master + type: public +- name: python-tox + description: "Virtualenv-based automation of test activities" + protected_branches: + - master + type: private +- name: python-traceback2 + description: "" + protected_branches: + - master + type: public +- name: python-traitlets + description: "A lightweight derivative of Enthought Traits for configuring Python objects" + protected_branches: + - master + type: private +- name: python-twisted + description: "" + protected_branches: + - master + type: private +- name: python-u-msgpack-python + description: "" + protected_branches: + - master + type: public +- name: python-unittest2 + description: "" + protected_branches: + - master + type: public +- name: python-urlgrabber + description: "" + protected_branches: + - master + type: public +- name: python-urllib3 + description: "" + protected_branches: + - master + type: public +- name: python-urwid + description: "" + protected_branches: + - master + type: public +- name: python-varlink + description: "" + protected_branches: + - master + type: public +- name: python-virtualenv + description: "" + protected_branches: + - master + type: public +- name: python-webencodings + description: "" + protected_branches: + - master + type: public +- name: python-werkzeug + description: "" + protected_branches: + - master + type: public +- name: python-wheel + description: "" + protected_branches: + - master + type: public +- name: python-which + description: "" + protected_branches: + - master + type: public +- name: python-whoosh + description: "" + protected_branches: + - master + type: public +- name: python-wrapt + description: "" + protected_branches: + - master + type: private +- name: python-xgboost + description: "" + protected_branches: + - master + type: public +- name: python-zipp + description: "Backport of pathlib-compatible object wrapper for zip files" + protected_branches: + - master + type: public +- name: python-zope-interface + description: "" + protected_branches: + - master + type: public +- name: python3-mallard-ducktype + description: "" + protected_branches: + - master + type: public +- name: pytz + description: "" + protected_branches: + - master + type: public +- name: pywbem + description: "" + protected_branches: + - master + type: public +- name: pyxattr + description: "" + protected_branches: + - master + type: public +- name: pyxdg + description: "" + protected_branches: + - master + type: public +- name: PyYAML + description: "" + protected_branches: + - master + type: public +- name: pv + description: "A tool for monitoring the progress of data through a pipeline" + protected_branches: + - master + type: public +- name: python-wcwidth + description: "Measures number of Terminal column cells of wide-character codes." + protected_branches: + - master + type: private +- name: python-zmq + description: "Python bindings for zeromq." + protected_branches: + - master + type: private +- name: python-h2 + description: "HTTP/2 State-Machine based protocol implementation." + protected_branches: + - master + type: private +- name: qdox + description: "" + protected_branches: + - master + type: private +- name: qemu + description: "" + protected_branches: + - master + type: public +- name: qhull + description: "Computing convex hulls, Delaunay triangulations and Voronoi diagrams." + protected_branches: + - master + type: public +- name: qpdf + description: "" + protected_branches: + - master + type: public +- name: qperf + description: "" + protected_branches: + - master + type: public +- name: qpid-proton + description: "" + protected_branches: + - master + type: public +- name: qrencode + description: "" + protected_branches: + - master + type: public +- name: qt + description: "" + protected_branches: + - master + type: public +- name: qt-assistant-adp + description: "" + protected_branches: + - master + type: public +- name: qt5 + description: "" + protected_branches: + - master + type: public +- name: qt5-doc + description: "" + protected_branches: + - master + type: public +- name: qt5-qt3d + description: "" + protected_branches: + - master + type: public +- name: qt5-qtbase + description: "" + protected_branches: + - master + type: public +- name: qt5-qtcanvas3d + description: "" + protected_branches: + - master + type: public +- name: qt5-qtconnectivity + description: "" + protected_branches: + - master + type: public +- name: qt5-qtdeclarative + description: "" + protected_branches: + - master + type: public +- name: qt5-qtdoc + description: "" + protected_branches: + - master + type: public +- name: qt5-qtenginio + description: "" + protected_branches: + - master + type: public +- name: qt5-qtgraphicaleffects + description: "" + protected_branches: + - master + type: public +- name: qt5-qtimageformats + description: "" + protected_branches: + - master + type: public +- name: qt5-qtlocation + description: "" + protected_branches: + - master + type: public +- name: qt5-qtmultimedia + description: "" + protected_branches: + - master + type: public +- name: qt5-qtquickcontrols + description: "" + protected_branches: + - master + type: public +- name: qt5-qtquickcontrols2 + description: "" + protected_branches: + - master + type: public +- name: qt5-qtscript + description: "" + protected_branches: + - master + type: public +- name: qt5-qtsensors + description: "" + protected_branches: + - master + type: public +- name: qt5-qtserialbus + description: "" + protected_branches: + - master + type: public +- name: qt5-qtserialport + description: "" + protected_branches: + - master + type: public +- name: qt5-qtsvg + description: "" + protected_branches: + - master + type: public +- name: qt5-qttools + description: "" + protected_branches: + - master + type: public +- name: qt5-qttranslations + description: "" + protected_branches: + - master + type: public +- name: qt5-qtwayland + description: "" + protected_branches: + - master + type: public +- name: qt5-qtwebchannel + description: "" + protected_branches: + - master + type: public +- name: qt5-qtwebengine + description: "" + protected_branches: + - master + type: public +- name: qt5-qtwebkit + description: "" + protected_branches: + - master + type: public +- name: qt5-qtwebsockets + description: "" + protected_branches: + - master + type: public +- name: qt5-qtx11extras + description: "" + protected_branches: + - master + type: public +- name: qt5-qtxmlpatterns + description: "" + protected_branches: + - master + type: public +- name: qt-mobility + description: "" + protected_branches: + - master + type: public +- name: qtwebkit + description: "" + protected_branches: + - master + type: public +- name: quota + description: "" + protected_branches: + - master + type: public +- name: radvd + description: "" + protected_branches: + - master + type: public +- name: raptor2 + description: "" + protected_branches: + - master + type: public +- name: rarian + description: "" + protected_branches: + - master + type: public +- name: rasdaemon + description: "" + protected_branches: + - master + type: public +- name: rasqal + description: "" + protected_branches: + - master + type: public +- name: rdate + description: "" + protected_branches: + - master + type: public +- name: rdma-core + description: "" + protected_branches: + - master + type: public +- name: re2 + description: "" + protected_branches: + - master + type: public +- name: readline + description: "" + protected_branches: + - master + type: public +- name: realmd + description: "" + protected_branches: + - master + type: public +- name: rear + description: "" + protected_branches: + - master + type: public +- name: recode + description: "" + protected_branches: + - master + type: public +- name: redhat-menus + description: "" + protected_branches: + - master + type: public +- name: redis + description: "" + protected_branches: + - master + type: public +- name: redland + description: "" + protected_branches: + - master + type: public +- name: reflectasm + description: "" + protected_branches: + - master + type: private +- name: regexp + description: "" + protected_branches: + - master + type: private +- name: reiserfs-utils + description: "" + protected_branches: + - master + type: public +- name: repo + description: "" + protected_branches: + - master + type: private +- name: resource-agents + description: "Open Source HA Reusable Cluster Resource Scripts" + protected_branches: + - master + type: public +- name: rest + description: "" + protected_branches: + - master + type: public +- name: rhash + description: "" + protected_branches: + - master + type: public +- name: rhino + description: "" + protected_branches: + - master + type: private +- name: rhnlib + description: "" + protected_branches: + - master + type: public +- name: rng-tools + description: "" + protected_branches: + - master + type: public +- name: rootfiles + description: "" + protected_branches: + - master + type: public +- name: rpcbind + description: "" + protected_branches: + - master + type: public +- name: rpcsvc-proto + description: "" + protected_branches: + - master + type: public +- name: rpm + description: "" + protected_branches: + - master + type: public +- name: rpm-mpi-hooks + description: "" + protected_branches: + - master + type: private +- name: rpmdevtools + description: "" + protected_branches: + - master + type: public +- name: rpmlint + description: "" + protected_branches: + - master + type: public +- name: rpm-ostree + description: "" + protected_branches: + - master + type: private +- name: rpmrebuild + description: "" + protected_branches: + - master + type: public +- name: rrdtool + description: "" + protected_branches: + - master + type: public +- name: rsh + description: "" + protected_branches: + - master + type: private +- name: rsync + description: "" + protected_branches: + - master + type: public +- name: rsyslog + description: "" + protected_branches: + - master + type: public +- name: rtkit + description: "" + protected_branches: + - master + type: public +- name: ruby + description: "" + protected_branches: + - master + type: public +- name: ruby-common + description: "Collection of scripts and macros for ruby packaging" + protected_branches: + - master + type: public +- name: rubygem-asciidoctor + description: "" + protected_branches: + - master + type: public +- name: rubygem-bundler + description: "Library and utilities to manage a Ruby application's gem dependencies" + protected_branches: + - master + type: public +- name: rubygem-gem2rpm + description: "Generate rpm specfiles from gems" + protected_branches: + - master + type: public +- name: rubygem-hpricot + description: "A Fast, Enjoyable HTML Parser for Ruby." + protected_branches: + - master + type: private +- name: rubygem-kramdown + description: "Fast, pure-Ruby Markdown-superset converter." + protected_branches: + - master + type: private +- name: rubygem-mustache + description: "Mustache is a framework-agnostic way to render logic-free views" + protected_branches: + - master + type: private +- name: rubygem-rack + description: "A modular Ruby webserver interface" + protected_branches: + - master + type: public +- name: rubygem-rdiscount + description: "Converts documents in Markdown syntax to HTML." + protected_branches: + - master + type: private +- name: rubygem-ronn + description: "Manual authoring tool." + protected_branches: + - master + type: private +- name: runc + description: "" + protected_branches: + - master + type: public +- name: rust + description: "" + protected_branches: + - master + type: public +- name: rust-packaging + description: "RPM macros for building Rust packages on various architectures" + protected_branches: + - master + type: public +- name: saab-fonts + description: "" + protected_branches: + - master + type: public +- name: samba + description: "" + protected_branches: + - master + type: public +- name: samyak-fonts + description: "" + protected_branches: + - master + type: public +- name: sane-backends + description: "" + protected_branches: + - master + type: public +- name: sane-frontends + description: "" + protected_branches: + - master + type: public +- name: sanlock + description: "" + protected_branches: + - master + type: public +- name: sassc + description: private + protected_branches: + - master + type: public +- name: satyr + description: "" + protected_branches: + - master + type: public +- name: sbc + description: "" + protected_branches: + - master + type: public +- name: sbinary + description: "Library for describing binary formats for Scala types." + protected_branches: + - master + type: private +- name: sblim-cmpi-devel + description: "" + protected_branches: + - master + type: public +- name: sblim-sfcb + description: "" + protected_branches: + - master + type: public +- name: sblim-sfcc + description: "" + protected_branches: + - master + type: public +- name: sblim-sfcCommon + description: "" + protected_branches: + - master + type: public +- name: sbt + description: "The simple build tool for Scala and Java projects." + protected_branches: + - master + type: private +- name: scala + description: "" + protected_branches: + - master + type: private +- name: scap-security-guide + description: "" + protected_branches: + - master + type: public +- name: scap-workbench + description: "" + protected_branches: + - master + type: public +- name: scipy + description: "" + protected_branches: + - master + type: public +- name: scl-utils + description: "" + protected_branches: + - master + type: private +- name: screen + description: "" + protected_branches: + - master + type: public +- name: scrub + description: "" + protected_branches: + - master + type: public +- name: SDL + description: "" + protected_branches: + - master + type: public +- name: SDL2 + description: "" + protected_branches: + - master + type: public +- name: SDL_sound + description: "" + protected_branches: + - master + type: private +- name: sdparm + description: "" + protected_branches: + - master + type: public +- name: security-tool + description: "" + protected_branches: + - master + type: public +- name: sed + description: "" + protected_branches: + - master + type: public +- name: selinux-policy + description: "" + protected_branches: + - master + type: public +- name: sendmail + description: "" + protected_branches: + - master + type: public +- name: setools + description: "" + protected_branches: + - master + type: public +- name: setroubleshoot + description: "" + protected_branches: + - master + type: public +- name: setroubleshoot-plugins + description: "" + protected_branches: + - master + type: public +- name: setserial + description: "" + protected_branches: + - master + type: public +- name: setup + description: "" + protected_branches: + - master + type: public +- name: setuptool + description: "" + protected_branches: + - master + type: private +- name: sg3_utils + description: "" + protected_branches: + - master + type: public +- name: sgml-common + description: "" + protected_branches: + - master + type: public +- name: sgpio + description: "" + protected_branches: + - master + type: public +- name: shadow + description: "" + protected_branches: + - master + type: public +- name: shapelib + description: "" + protected_branches: + - master + type: private +- name: shared-mime-info + description: "" + protected_branches: + - master + type: public +- name: sharutils + description: "" + protected_branches: + - master + type: public +- name: shim + description: "" + protected_branches: + - master + type: public +- name: shim-unsigned-aarch64 + description: "" + protected_branches: + - master + type: public +- name: sil-abyssinica-fonts + description: "" + protected_branches: + - master + type: public +- name: sil-nuosu-fonts + description: "" + protected_branches: + - master + type: public +- name: sil-padauk-fonts + description: "" + protected_branches: + - master + type: public +- name: sil-scheherazade-fonts + description: "" + protected_branches: + - master + type: public +- name: sip + description: "" + protected_branches: + - master + type: public +- name: sisu + description: "" + protected_branches: + - master + type: private +- name: skkdic + description: "" + protected_branches: + - master + type: private +- name: skopeo + description: "" + protected_branches: + - master + type: public +- name: slang + description: "" + protected_branches: + - master + type: public +- name: sleuthkit + description: "" + protected_branches: + - master + type: public +- name: slf4j + description: "" + protected_branches: + - master + type: private +- name: smartmontools + description: "" + protected_branches: + - master + type: public +- name: smc-fonts + description: "" + protected_branches: + - master + type: public +- name: smp_utils + description: "" + protected_branches: + - master + type: public +- name: snakeyaml + description: "" + protected_branches: + - master + type: private +- name: snappy + description: "" + protected_branches: + - master + type: public +- name: sni-qt + description: "" + protected_branches: + - master + type: private +- name: socat + description: "" + protected_branches: + - master + type: public +- name: socket_wrapper + description: "" + protected_branches: + - master + type: public +- name: softhsm + description: "" + protected_branches: + - master + type: public +- name: sombok + description: "" + protected_branches: + - master + type: public +- name: sonatype-oss-parent + description: "" + protected_branches: + - master + type: private +- name: sos + description: "A set of tools to gather troubleshooting information from a system" + protected_branches: + - master + type: public +- name: sos-collector + description: "" + protected_branches: + - master + type: private +- name: sound-theme-freedesktop + description: "" + protected_branches: + - master + type: public +- name: soundtouch + description: "" + protected_branches: + - master + type: public +- name: source-highlight + description: "" + protected_branches: + - master + type: public +- name: sox + description: "" + protected_branches: + - master + type: public +- name: spamassassin + description: "" + protected_branches: + - master + type: private +- name: speech-dispatcher + description: "" + protected_branches: + - master + type: public +- name: speex + description: "" + protected_branches: + - master + type: public +- name: speexdsp + description: "" + protected_branches: + - master + type: public +- name: spice + description: "" + protected_branches: + - master + type: public +- name: spice-gtk + description: "" + protected_branches: + - master + type: public +- name: spice-parent + description: "Sonatype Spice Componment." + protected_branches: + - master + type: private +- name: spice-protocol + description: "" + protected_branches: + - master + type: public +- name: spice-vdagent + description: "" + protected_branches: + - master + type: public +- name: springframework + description: "" + protected_branches: + - master + type: private +- name: sphinx + description: "Free open-source SQL full-text search engine" + protected_branches: + - master + type: public +- name: sqlite + description: "" + protected_branches: + - master + type: public +- name: squashfs-tools + description: "" + protected_branches: + - master + type: public +- name: squid + description: "" + protected_branches: + - master + type: public +- name: sscg + description: "" + protected_branches: + - master + type: public +- name: sshj + description: "" + protected_branches: + - master + type: private +- name: sssd + description: "" + protected_branches: + - master + type: public +- name: star + description: "" + protected_branches: + - master + type: public +- name: startup-notification + description: "" + protected_branches: + - master + type: public +- name: stax2-api + description: "" + protected_branches: + - master + type: private +- name: stix-fonts + description: "" + protected_branches: + - master + type: public +- name: strace + description: "" + protected_branches: + - master + type: public +- name: stream-lib + description: "" + protected_branches: + - master + type: private +- name: strongswan + description: "" + protected_branches: + - master + type: public +- name: stunnel + description: "" + protected_branches: + - master + type: public +- name: subscription-manager + description: "" + protected_branches: + - master + type: public +- name: subunit + description: "" + protected_branches: + - master + type: public +- name: subversion + description: "" + protected_branches: + - master + type: public +- name: sudo + description: "" + protected_branches: + - master + type: public +- name: suitesparse + description: "" + protected_branches: + - master + type: public +- name: SuperLU + description: "Subroutines to solve sparse linear systems." + protected_branches: + - master + type: private +- name: supermin + description: "" + protected_branches: + - master + type: public +- name: sushi + description: "" + protected_branches: + - master + type: private +- name: swig + description: "" + protected_branches: + - master + type: public +- name: switcheroo-control + description: "" + protected_branches: + - master + type: public +- name: symlinks + description: "" + protected_branches: + - master + type: public +- name: sysfsutils + description: "" + protected_branches: + - master + type: public +- name: syslinux + description: "" + protected_branches: + - master + type: public +- name: syslinux-tftpboot + description: "" + protected_branches: + - master + type: private +- name: sysstat + description: "" + protected_branches: + - master + type: public +- name: system-config-firewall + description: "" + protected_branches: + - master + type: private +- name: system-config-printer + description: "" + protected_branches: + - master + type: public +- name: systemd + description: "" + protected_branches: + - master + type: public +- name: systemtap + description: "" + protected_branches: + - master + type: public +- name: taglib + description: "" + protected_branches: + - master + type: public +- name: taglist-enable + description: "" + protected_branches: + - master + type: private +- name: tagsoup + description: "" + protected_branches: + - master + type: private +- name: tang + description: "" + protected_branches: + - master + type: public +- name: tar + description: "" + protected_branches: + - master + type: public +- name: targetcli + description: "" + protected_branches: + - master + type: public +- name: tbb + description: "" + protected_branches: + - master + type: public +- name: tboot + description: "" + protected_branches: + - master + type: public +- name: tcl + description: "" + protected_branches: + - master + type: public +- name: tcllib + description: "" + protected_branches: + - master + type: public +- name: tclx + description: "" + protected_branches: + - master + type: private +- name: tcpdump + description: "" + protected_branches: + - master + type: public +- name: tcp_wrappers + description: "" + protected_branches: + - master + type: public +- name: tcsh + description: "" + protected_branches: + - master + type: public +- name: teckit + description: "" + protected_branches: + - master + type: private +- name: telepathy-filesystem + description: "" + protected_branches: + - master + type: public +- name: telepathy-glib + description: "" + protected_branches: + - master + type: public +- name: telepathy-logger + description: "" + protected_branches: + - master + type: public +- name: telnet + description: "" + protected_branches: + - master + type: public +- name: tesla-polyglot + description: "" + protected_branches: + - master + type: private +- name: test-interface + description: "Uniform interface to Scala and Java test frameworks." + protected_branches: + - master + type: private +- name: testng + description: "" + protected_branches: + - master + type: private +- name: TeXamator + description: "" + protected_branches: + - master + type: public +- name: texi2html + description: "" + protected_branches: + - master + type: public +- name: texinfo + description: "" + protected_branches: + - master + type: public +- name: texlive + description: "" + protected_branches: + - master + type: public +- name: texlive-base + description: "" + protected_branches: + - master + type: public +- name: tftp + description: "" + protected_branches: + - master + type: public +- name: thai-scalable-fonts + description: "" + protected_branches: + - master + type: public +- name: thin-provisioning-tools + description: "A suite of tools for manipulating the metadata of the dm-thin, dm-cache and dm-era device-mapper targets." + protected_branches: + - master + type: public +- name: thx + description: "" + protected_branches: + - master + type: private +- name: tibetan-machine-uni-fonts + description: "" + protected_branches: + - master + type: public +- name: tidy + description: "Utility to clean up and pretty print HTML/XHTML/XML" + protected_branches: + - master + type: public +- name: tigervnc + description: "" + protected_branches: + - master + type: public +- name: time + description: "" + protected_branches: + - master + type: public +- name: timedatex + description: "" + protected_branches: + - master + type: public +- name: tinycdb + description: "" + protected_branches: + - master + type: public +- name: tinyxml + description: "" + protected_branches: + - master + type: private +- name: tinyxml2 + description: "" + protected_branches: + - master + type: public +- name: tipcutils + description: "" + protected_branches: + - master + type: public +- name: tix + description: "" + protected_branches: + - master + type: public +- name: tk + description: "" + protected_branches: + - master + type: public +- name: tmux + description: "" + protected_branches: + - master + type: public +- name: tog-pegasus + description: "" + protected_branches: + - master + type: public +- name: tokyocabinet + description: "" + protected_branches: + - master + type: public +- name: tomcat + description: "" + protected_branches: + - master + type: private +- name: tomcat-native + description: "" + protected_branches: + - master + type: private +- name: tomcat-taglibs-parent + description: "Apache Taglibs Parent" + protected_branches: + - master + type: private +- name: tomcat-taglibs-standard + description: "" + protected_branches: + - master + type: private +- name: totem + description: "" + protected_branches: + - master + type: private +- name: totem-pl-parser + description: "" + protected_branches: + - master + type: public +- name: tpm2-abrmd + description: "" + protected_branches: + - master + type: public +- name: tpm2-tools + description: "" + protected_branches: + - master + type: public +- name: tpm2-tss + description: "" + protected_branches: + - master + type: public +- name: tpm-quote-tools + description: "" + protected_branches: + - master + type: public +- name: tpm-tools + description: "" + protected_branches: + - master + type: public +- name: trace-cmd + description: "" + protected_branches: + - master + type: public +- name: traceroute + description: "" + protected_branches: + - master + type: public +- name: tracker + description: "" + protected_branches: + - master + type: public +- name: tracker-miners + description: "" + protected_branches: + - master + type: public +- name: transfig + description: "" + protected_branches: + - master + type: public +- name: tree + description: "" + protected_branches: + - master + type: public +- name: trilead-ssh2 + description: "" + protected_branches: + - master + type: private +- name: trousers + description: "" + protected_branches: + - master + type: public +- name: tslib + description: "" + protected_branches: + - master + type: private +- name: ttembed + description: "" + protected_branches: + - master + type: private +- name: ttfautohint + description: "" + protected_branches: + - master + type: private +- name: ttmkfdir + description: "" + protected_branches: + - master + type: public +- name: tuna + description: "Application tuning GUI and command line utility" + protected_branches: + - master + type: public +- name: tuned + description: "" + protected_branches: + - master + type: public +- name: twolame + description: "" + protected_branches: + - master + type: public +- name: tzdata + description: "" + protected_branches: + - master + type: public +- name: u2f-hidraw-policy + description: "" + protected_branches: + - master + type: public +- name: uboot-tools + description: "" + protected_branches: + - master + type: public +- name: ubu-keyring + description: "" + protected_branches: + - master + type: private +- name: uchardet + description: "An encoding detector library ported from Mozilla" + protected_branches: + - master + type: public +- name: ucs-miscfixed-fonts + description: "" + protected_branches: + - master + type: public +- name: udisks2 + description: "" + protected_branches: + - master + type: public +- name: uid_wrapper + description: "" + protected_branches: + - master + type: public +- name: umockdev + description: "" + protected_branches: + - master + type: public +- name: umoci + description: "Open Container Image manipulation tool" + protected_branches: + - master + type: public +- name: uname-build-checks + description: "" + protected_branches: + - master + type: public +- name: unbound + description: "" + protected_branches: + - master + type: public +- name: unicode-emoji + description: "" + protected_branches: + - master + type: public +- name: unicode-ucd + description: "" + protected_branches: + - master + type: public +- name: uniconvertor + description: "" + protected_branches: + - master + type: private +- name: unique + description: "" + protected_branches: + - master + type: public +- name: units + description: "" + protected_branches: + - master + type: public +- name: univocity-parsers + description: "" + protected_branches: + - master + type: private +- name: unixODBC + description: "" + protected_branches: + - master + type: public +- name: unzip + description: "" + protected_branches: + - master + type: public +- name: upower + description: "" + protected_branches: + - master + type: public +- name: uriparser + description: "URI parsing library - RFC 3986." + protected_branches: + - master + type: private +- name: urlview + description: "" + protected_branches: + - master + type: public +- name: urw-base35-fonts + description: "" + protected_branches: + - master + type: public +- name: usb_modeswitch + description: "" + protected_branches: + - master + type: public +- name: usb_modeswitch-data + description: "" + protected_branches: + - master + type: public +- name: usbmuxd + description: "" + protected_branches: + - master + type: public +- name: usbredir + description: "" + protected_branches: + - master + type: public +- name: usbutils + description: "" + protected_branches: + - master + type: public +- name: usermode + description: "" + protected_branches: + - master + type: public +- name: userspace-rcu + description: "" + protected_branches: + - master + type: public +- name: ustr + description: "" + protected_branches: + - master + type: public +- name: utf8proc + description: "" + protected_branches: + - master + type: public +- name: uthash + description: "" + protected_branches: + - master + type: public +- name: util-linux + description: "" + protected_branches: + - master + type: public +- name: uuid + description: "" + protected_branches: + - master + type: public +- name: v4l-utils + description: "" + protected_branches: + - master + type: public +- name: vala + description: "" + protected_branches: + - master + type: public +- name: valgrind + description: "" + protected_branches: + - master + type: public +- name: varnish + description: "" + protected_branches: + - master + type: public +- name: vboot-utils + description: "" + protected_branches: + - master + type: public +- name: vconfig + description: "" + protected_branches: + - master + type: public +- name: vdo + description: "" + protected_branches: + - master + type: public +- name: velocity + description: "" + protected_branches: + - master + type: private +- name: vim + description: "" + protected_branches: + - master + type: public +- name: vinagre + description: "" + protected_branches: + - master + type: public +- name: vino + description: "" + protected_branches: + - master + type: public +- name: virglrenderer + description: "" + protected_branches: + - master + type: public +- name: virt-manager + description: "" + protected_branches: + - master + type: public +- name: virt-top + description: "" + protected_branches: + - master + type: private +- name: virt-viewer + description: "" + protected_branches: + - master + type: public +- name: virt-what + description: "" + protected_branches: + - master + type: public +- name: volume_key + description: "" + protected_branches: + - master + type: public +- name: vorbis-tools + description: "" + protected_branches: + - master + type: public +- name: vsftpd + description: "" + protected_branches: + - master + type: public +- name: vte291 + description: "" + protected_branches: + - master + type: public +- name: vulkan-headers + description: "" + protected_branches: + - master + type: public +- name: vulkan-loader + description: "" + protected_branches: + - master + type: public +- name: wavpack + description: "" + protected_branches: + - master + type: public +- name: wayland + description: "" + protected_branches: + - master + type: public +- name: wayland-protocols + description: "" + protected_branches: + - master + type: public +- name: web-assets + description: "" + protected_branches: + - master + type: private +- name: webkit2gtk3 + description: "" + protected_branches: + - master + type: public +- name: webrtc-audio-processing + description: "" + protected_branches: + - master + type: public +- name: wget + description: "" + protected_branches: + - master + type: public +- name: which + description: "" + protected_branches: + - master + type: public +- name: wildfly-common + description: "" + protected_branches: + - master + type: private +- name: wildmidi + description: "" + protected_branches: + - master + type: private +- name: wireshark + description: "" + protected_branches: + - master + type: public +- name: woff2 + description: "" + protected_branches: + - master + type: public +- name: words + description: "" + protected_branches: + - master + type: public +- name: wpa_supplicant + description: "" + protected_branches: + - master + type: public +- name: wqy-microhei-fonts + description: "" + protected_branches: + - master + type: public +- name: wqy-zenhei-fonts + description: "" + protected_branches: + - master + type: public +- name: wsdl4j + description: "" + protected_branches: + - master + type: private +- name: wsmancli + description: "" + protected_branches: + - master + type: public +- name: wxGTK3 + description: "" + protected_branches: + - master + type: private +- name: wxPython + description: "Cross platform GUI toolkit for Python using wxGTK." + protected_branches: + - master + type: private +- name: x3270 + description: "" + protected_branches: + - master + type: public +- name: xalan-j2 + description: "" + protected_branches: + - master + type: private +- name: xapian-core + description: "" + protected_branches: + - master + type: public +- name: xapool + description: "" + protected_branches: + - master + type: private +- name: Xaw3d + description: "" + protected_branches: + - master + type: public +- name: xbean + description: "" + protected_branches: + - master + type: private +- name: xcb-proto + description: "" + protected_branches: + - master + type: public +- name: xcb-util + description: "" + protected_branches: + - master + type: public +- name: xcb-util-image + description: "" + protected_branches: + - master + type: public +- name: xcb-util-keysyms + description: "" + protected_branches: + - master + type: public +- name: xcb-util-renderutil + description: "" + protected_branches: + - master + type: public +- name: xcb-util-wm + description: "" + protected_branches: + - master + type: public +- name: xdelta + description: "" + protected_branches: + - master + type: public +- name: xdg-desktop-portal + description: "" + protected_branches: + - master + type: private +- name: xdg-desktop-portal-gtk + description: "" + protected_branches: + - master + type: private +- name: xdg-user-dirs + description: "" + protected_branches: + - master + type: public +- name: xdg-user-dirs-gtk + description: "" + protected_branches: + - master + type: public +- name: xdg-utils + description: "" + protected_branches: + - master + type: public +- name: xerces-c + description: "Validating XML Parser." + protected_branches: + - master + type: private +- name: xerces-j2 + description: "" + protected_branches: + - master + type: private +- name: xfsdump + description: "" + protected_branches: + - master + type: public +- name: xfsprogs + description: "" + protected_branches: + - master + type: public +- name: xhtml1-dtds + description: "" + protected_branches: + - master + type: public +- name: xhtml2fo-style-xsl + description: "" + protected_branches: + - master + type: private +- name: xinetd + description: "" + protected_branches: + - master + type: public +- name: xkeyboard-config + description: "" + protected_branches: + - master + type: public +- name: xml-commons-apis + description: "" + protected_branches: + - master + type: private +- name: xml-commons-resolver + description: "" + protected_branches: + - master + type: private +- name: xmlgraphics-commons + description: "" + protected_branches: + - master + type: private +- name: xmlrpc-c + description: "" + protected_branches: + - master + type: public +- name: xmlsec1 + description: "" + protected_branches: + - master + type: public +- name: xmlstarlet + description: "" + protected_branches: + - master + type: public +- name: xmlto + description: "" + protected_branches: + - master + type: public +- name: xmltoman + description: "" + protected_branches: + - master + type: public +- name: xmlunit + description: "" + protected_branches: + - master + type: private +- name: xmms + description: "" + protected_branches: + - master + type: public +- name: xmvn + description: "" + protected_branches: + - master + type: private +- name: xmvn-connector-gradle + description: "" + protected_branches: + - master + type: private +- name: xmvn-tools + description: "" + protected_branches: + - master + type: private +- name: xnio + description: "" + protected_branches: + - master + type: private +- name: xorg-sgml-doctools + description: "" + protected_branches: + - master + type: private +- name: xorg-x11-apps + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-docs + description: "" + protected_branches: + - master + type: private +- name: xorg-x11-drivers + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-armsoc + description: "" + protected_branches: + - master + type: private +- name: xorg-x11-drv-ati + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-dummy + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-evdev + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-fbdev + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-intel + description: "X.org X11 Intel video driver" + protected_branches: + - master + type: public +- name: xorg-x11-drv-libinput + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-nouveau + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-qxl + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-v4l + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-drv-vesa + description: "Xorg X11 vesa video driver" + protected_branches: + - master + type: public +- name: xorg-x11-drv-vmware + description: "Xorg X11 vmware video driver" + protected_branches: + - master + type: public +- name: xorg-x11-drv-wacom + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-fonts + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-font-utils + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-proto-devel + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-server + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-server-utils + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-util-macros + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-utils + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-xauth + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-xbitmaps + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-xinit + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-xkb-utils + description: "" + protected_branches: + - master + type: public +- name: xorg-x11-xtrans-devel + description: "" + protected_branches: + - master + type: public +- name: xpp3 + description: "" + protected_branches: + - master + type: private +- name: xrestop + description: "" + protected_branches: + - master + type: public +- name: xsane + description: "" + protected_branches: + - master + type: public +- name: xstream + description: "" + protected_branches: + - master + type: private +- name: xterm + description: "" + protected_branches: + - master + type: public +- name: xvattr + description: "" + protected_branches: + - master + type: public +- name: xz + description: "" + protected_branches: + - master + type: public +- name: xz-java + description: "" + protected_branches: + - master + type: private +- name: yajl + description: "" + protected_branches: + - master + type: public +- name: yaml-cpp + description: "" + protected_branches: + - master + type: public +- name: yasm + description: "" + protected_branches: + - master + type: public +- name: yelp + description: "" + protected_branches: + - master + type: public +- name: yelp-tools + description: "" + protected_branches: + - master + type: public +- name: yelp-xsl + description: "" + protected_branches: + - master + type: public +- name: ypbind + description: "" + protected_branches: + - master + type: public +- name: ypserv + description: "" + protected_branches: + - master + type: public +- name: yp-tools + description: "" + protected_branches: + - master + type: public +- name: yum-langpacks + description: "" + protected_branches: + - master + type: private +- name: yum-metadata-parser + description: "" + protected_branches: + - master + type: public +- name: zbar + description: "" + protected_branches: + - master + type: private +- name: zd1211-firmware + description: "" + protected_branches: + - master + type: public +- name: zenity + description: "" + protected_branches: + - master + type: public +- name: zerofree + description: "" + protected_branches: + - master + type: public +- name: zip + description: "" + protected_branches: + - master + type: public +- name: zlib + description: "" + protected_branches: + - master + type: public +- name: zopfli + description: "" + protected_branches: + - master + type: public +- name: zsh + description: "" + protected_branches: + - master + type: public +- name: zstd + description: "" + protected_branches: + - master + type: public +- name: zvbi + description: "" + protected_branches: + - master + type: private +- name: zziplib + description: "" + protected_branches: + - master + type: public +- name: keepalived + description: "High Availability monitor built upon LVS, VRRP and service pollers" + protected_branches: + - master + type: public +- name: ndisc6 + description: "IPv6 diagnostic tools" + protected_branches: + - master + type: public +- name: perl-Module-Install-ReadmeFromPod + description: "Module::Install extension to automatically convert POD to a README" + protected_branches: + - master + type: public +- name: perl-Module-Install-ReadmeMarkdownFromPod + description: "Create README.mkdn from POD" + protected_branches: + - master + type: public +- name: perl-Module-Install-Repository + description: "Automatically sets repository URL from Svn/Svk/Git checkout" + protected_branches: + - master + type: public +- name: perl-Module-Manifest-Skip + description: "MANIFEST.SKIP Manangement for Modules" + protected_branches: + - master + type: public +- name: perl-Module-Package + description: "Postmodern Perl Module Packaging" + protected_branches: + - master + type: public +- name: perl-Module-Package-Au + description: "perl-Module-Package-Au" + protected_branches: + - master + type: public +- name: perl-Module-ScanDeps + description: "Recursively scan Perl code for dependencies" + protected_branches: + - master + type: public +- name: perl-Moo + description: "Minimalist Object Orientation" + protected_branches: + - master + type: public +- name: perl-Path-Class + description: "Cross-platform path specification manipulation" + protected_branches: + - master + type: public +- name: perl-Role-Tiny + description: "A nouvelle cuisine portion size slice of Moose" + protected_branches: + - master + type: public +- name: perl-strictures + description: "Turn on strict and make most warnings fatal" + protected_branches: + - master + type: public +- name: kf5 + description: "Filesystem and RPM macros for KDE Frameworks 5" + protected_branches: + - master + type: private +- name: libisoburn + description: "Library to enable creation and expansion of ISO-9660 filesystems" + protected_branches: + - master + type: public +- name: pbzip2 + description: "Parallel implementation of bzip2" + protected_branches: + - master + type: private +- name: pysendfile + description: "Python interface to the sendfile(2) system call" + protected_branches: + - master + type: private +- name: python-pycdlib + description: "A pure python ISO9660 read and write library" + protected_branches: + - master + type: private +- name: python-toml + description: "Python Library for Tom's Obvious, Minimal Language" + protected_branches: + - master + type: public +- name: openjdk-1.8.0 + description: "openEuler Community builds of OpenJDK" + protected_branches: + - master + type: public +- name: python-mysqlclient + description: "MySQL database connector for Python" + protected_branches: + - master + type: public +- name: python-PyMySQL + description: "Pure Python MySQL Client" + protected_branches: + - master + type: public +- name: python-rsa + description: "Pure-Python RSA implementation" + protected_branches: + - master + type: public +- name: python-ruamel-yaml + description: "YAML 1.2 loader/dumper package for Python" + protected_branches: + - master + type: public +- name: python-ruamel-yaml-clib + description: "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" + protected_branches: + - master + type: public +- name: python-suds + description: "A python SOAP client" + protected_branches: + - master + type: public +- name: python-texttable + description: "Python module to generate a formatted text table, using ASCII characters" + protected_branches: + - master + type: public +- name: python-waitress + description: "Waitress WSGI server" + protected_branches: + - master + type: public +- name: python-websocket-client + description: "WebSocket client for python" + protected_branches: + - master + type: public +- name: python-webtest + description: "Helper to test WSGI applications" + protected_branches: + - master + type: public +- name: python-paste-deploy + description: "Load, configure, and compose WSGI applications and servers" + protected_branches: + - master + type: public +- name: python-pyquery + description: "A jQuery-like library for python" + protected_branches: + - master + type: public +- name: python-WSGIProxy2 + description: "WSGI Proxy that supports several HTTP backends" + protected_branches: + - master + type: public +- name: python-webob + description: "WSGI request and response object" + protected_branches: + - master + type: public +- name: icoutils + description: "A set of command-line programs for extracting and converting images" + protected_branches: + - master + type: public +- name: perl-Config-IniFiles + description: "A module for reading .ini-style configuration files" + protected_branches: + - master + type: public +- name: perl-CGI + description: "Handle Common Gateway Interface requests and responses" + protected_branches: + - master + type: public +- name: perl-IO-stringy + description: "I/O on in-core objects for Perl" + protected_branches: + - master + type: public +- name: boom-boot + description: "libraries and files for helping boot loger entries" + protected_branches: + - master + type: public +- name: python-memcached + description: "A Python memcached client library" + protected_branches: + - master + type: public +- name: python-psycopg2 + description: "A PostgreSQL database adapter for Python" + protected_branches: + - master + type: public +- name: seabios + description: "Open-source legacy BIOS implementation" + protected_branches: + - master + type: public +- name: docker-compose + description: "Multi-container orchestration for Docker" + protected_branches: + - master + type: public +- name: dpkg + description: "Package maintenance system for Debian Linux" + protected_branches: + - master + type: public +- name: procinfo + description: "A tool for gathering and displaying system information" + protected_branches: + - master + type: public +- name: annobin + description: "Binary annotation plugin for GCC" + protected_branches: + - master + type: public +- name: python-zope-event + description: "Zope Event Publication" + protected_branches: + - master + type: public +- name: python-zope-interface + description: "Zope 3 Interface Infrastructure" + protected_branches: + - master + type: public +- name: rcs + description: "Revision Control System (RCS) file version management tools" + protected_branches: + - master + type: public +- name: rootsh + description: "Shell wrapper for auditing" + protected_branches: + - master + type: public +- name: scsi-target-utils + description: "The SCSI target daemon and utility programs" + protected_branches: + - master + type: public +- name: python-cssselect + description: "CSS Selectors for Python" + protected_branches: + - master + type: public +- name: ioprocess + description: "" + protected_branches: + - master + type: public +- name: cockpit-ovirt + description: "" + protected_branches: + - master + type: public +- name: engine-db-query + description: "" + protected_branches: + - master + type: public +- name: go-ovirt-engine-sdk4 + description: "" + protected_branches: + - master + type: public +- name: imgbased + description: "" + protected_branches: + - master + type: public +- name: java-ovirt-engine-sdk4 + description: "" + protected_branches: + - master + type: public +- name: mingw-spice-vdagent + description: "" + protected_branches: + - master + type: public +- name: mom + description: "" + protected_branches: + - master + type: public +- name: nsis-simple-service-plugin + description: "" + protected_branches: + - master + type: public +- name: otopi + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-cluster-upgrade + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-disaster-recovery + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-engine-setup + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-hosted-engine-setup + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-image-template + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-infra + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-manageiq + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-repositories + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-roles + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-shutdown-env + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-v2v-conversion-host + description: "" + protected_branches: + - master + type: public +- name: ovirt-ansible-vm-infra + description: "" + protected_branches: + - master + type: public +- name: ovirt-cockpit-sso + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-api-explorer + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-appliance + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-cli + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-dwh + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-extension-aaa-ldap + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-extension-aaa-misc + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-metrics + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-nodejs + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-nodejs-modules + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-ui-extensions + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-wildfly + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-wildfly-overlay + description: "" + protected_branches: + - master + type: public +- name: ovirt-engine-yarn + description: "" + protected_branches: + - master + type: public +- name: ovirt-guest-agent + description: "" + protected_branches: + - master + type: public +- name: ovirt-guest-agent-windows + description: "" + protected_branches: + - master + type: public +- name: ovirt-guest-tools-iso + description: "" + protected_branches: + - master + type: public +- name: ovirt-host + description: "" + protected_branches: + - master + type: public +- name: ovirt-host-deploy + description: "" + protected_branches: + - master + type: public +- name: ovirt-hosted-engine-ha + description: "" + protected_branches: + - master + type: public +- name: ovirt-hosted-engine-setup + description: "" + protected_branches: + - master + type: public +- name: ovirt-imageio-common + description: "" + protected_branches: + - master + type: public +- name: ovirt-imageio-daemon + description: "" + protected_branches: + - master + type: public +- name: ovirt-imageio-proxy + description: "" + protected_branches: + - master + type: public +- name: ovirt-iso-uploader + description: "" + protected_branches: + - master + type: public +- name: ovirt-lldp-labeler + description: "" + protected_branches: + - master + type: public +- name: ovirt-log-collector + description: "" + protected_branches: + - master + type: public +- name: ovirt-node-ng + description: "" + protected_branches: + - master + type: public +- name: ovirt-node-ng-image-update + description: "" + protected_branches: + - master + type: public +- name: ovirt-provider-ovn + description: "" + protected_branches: + - master + type: public +- name: ovirt-release43 + description: "" + protected_branches: + - master + type: public +- name: ovirt-scheduler-proxy + description: "" + protected_branches: + - master + type: public +- name: ovirt-setup-lib + description: "" + protected_branches: + - master + type: public +- name: ovirt-vmconsole + description: "" + protected_branches: + - master + type: public +- name: ovirt-web-ui + description: "" + protected_branches: + - master + type: public +- name: python-ovirt-engine-sdk4 + description: "" + protected_branches: + - master + type: public +- name: rubygem-ovirt-engine-sdk4 + description: "" + protected_branches: + - master + type: public +- name: v2v-conversion-host + description: "" + protected_branches: + - master + type: public +- name: vcredist + description: "" + protected_branches: + - master + type: public +- name: vdsm + description: "" + protected_branches: + - master + type: public +- name: vdsm-jsonrpc-java + description: "" + protected_branches: + - master + type: public +- name: dpdk + description: "" + protected_branches: + - master + type: public +- name: qt5-ukui-platformtheme + description: "" + protected_branches: + - master + type: public +- name: peony + description: "" + protected_branches: + - master + type: public +- name: ukui-control-center + description: "" + protected_branches: + - master + type: public +- name: ukui-sidebar + description: "" + protected_branches: + - master + type: public +- name: ukui-panel + description: "" + protected_branches: + - master + type: public +- name: ukui-window-switch + description: "" + protected_branches: + - master + type: public +- name: ukui-power-manager + description: "" + protected_branches: + - master + type: public +- name: ukui-screensaver + description: "" + protected_branches: + - master + type: public +- name: ukui-media + description: "" + protected_branches: + - master + type: public +- name: ukui-menu + description: "" + protected_branches: + - master + type: public +- name: ukui-session-manager + description: "" + protected_branches: + - master + type: public +- name: ukui-settings-daemon + description: "" + protected_branches: + - master + type: public +- name: kylin-nm + description: "" + protected_branches: + - master + type: public +- name: ukui-themes + description: "" + protected_branches: + - master + type: public +- name: ukui-biometric-manager + description: "" + protected_branches: + - master + type: public +- name: ukui-biometric-auth + description: "" + protected_branches: + - master + type: public +- name: peony-extensions + description: "" + protected_branches: + - master + type: public +- name: ukui-greeter + description: "" + protected_branches: + - master + type: public +- name: ukylin-feedback-client + description: "" + protected_branches: + - master + type: public +- name: ukwm + description: "" + protected_branches: + - master + type: public +- name: ukui-interface + description: "" + protected_branches: + - master + type: public +- name: ukui-screenshot + description: "" + protected_branches: + - master + type: public +- name: ukui-indicators + description: "" + protected_branches: + - master + type: public +- name: biometric-authentication + description: "" + protected_branches: + - master + type: public +- name: tpm2-abrmd-selinux + description: "SELinux policies for tpm2-abrmd" + protected_branches: + - master + type: public +- name: zeromq + description: "Software library for fast, message-based applications." + protected_branches: + - master + type: private +- name: zinc + description: "A stand-alone version of sbt's incremental compiler." + protected_branches: + - master + type: private +- name: nodejs + description: "JavaScript runtime" + protected_branches: + - master + type: public +- name: obs-bundled-gems + description: "The Open Build Service -- Bundled Gems" + protected_branches: + - master + type: public +- name: obs-server + description: "The Open Build Service -- Server Component" + protected_branches: + - master + type: public +- name: obs-service-download_files + description: "An OBS source service: download files" + protected_branches: + - master + type: public +- name: obs-service-extract_file + description: "An OBS source service: Extract a file from an archive" + protected_branches: + - master + type: public +- name: obs-service-rust2rpm + description: "OBS source service: Generate rpm packaging for Rust crates" + protected_branches: + - master + type: public +- name: obs-service-set_version + description: "An OBS source service: Update spec file version" + protected_branches: + - master + type: public +- name: passenger + description: "Phusion Passenger application server" + protected_branches: + - master + type: public +- name: netperf + description: "A network performance benchmark testing tool" + protected_branches: + - master + type: public +- name: cloc + description: "Program line caculation tools" + protected_branches: + - master + type: public +- name: perl-Regexp-Common + description: "Perl Module Regexp::Common" + protected_branches: + - master + type: public +- name: perl-Test-Regexp + description: "Perl Modul, Test::Regexp, a module to test regular" + protected_branches: + - master + type: public +- name: perl-Sub-Uplevel + description: "Perl Module, Sub-Uplevel, apparently run a function in a higher stack frame" + protected_branches: + - master + type: public +- name: perl-Test-Warn + description: "Perl Modul, This module provides a few convenience methods for testing warning based code" + protected_branches: + - master + type: public +- name: perl-Parallel-ForkManager + description: "Perl Module, A simple parallel processing fork manager" + protected_branches: + - master + type: public +- name: memleax + description: "Memory lead detection tool" + protected_branches: + - master + type: public +- name: nmon + description: "performance monitor tool" + protected_branches: + - master + type: public +- name: colordiff + description: "colordiff — a tool to colorize diff output" + protected_branches: + - master + type: public +- name: ncdu + description: "a disk usage analyzer with an ncurses interface" + protected_branches: + - master + type: public +- name: iozone + description: "a filesystem benchmark tool" + protected_branches: + - master + type: public +- name: multitail + description: "monitor logfiles and command output in multiple windows" + protected_branches: + - master + type: public +- name: perl-Geo-IP + description: "Perl Module : Geo::IP" + protected_branches: + - master + type: public +- name: nethogs + description: "NetHogs is a small net top tool" + protected_branches: + - master + type: public +- name: iftop + description: "display bandwidth usage on an interface" + protected_branches: + - master + type: public +- name: slurm + description: "a highly configurable open-source workload manager" + protected_branches: + - master + type: public +- name: htop + description: "an interactive process viewer for Unix systems" + protected_branches: + - master + type: public +- name: cpuid + description: "Get CPU information" + protected_branches: + - master + type: public +- name: mate-desktop + description: "Library with common API for various MATE modules " + protected_branches: + - master + type: public +- name: mate-common + description: "Common scripts and macros to develop with MATE" + protected_branches: + - master + type: public +- name: mate-control-center + description: "Utilities to configure the MATE desktop " + protected_branches: + - master + type: public +- name: caja + description: "Caja, the file manager for the MATE desktop" + protected_branches: + - master + type: public +- name: caja-extensions + description: "Set of extensions for Caja, the MATE file manager" + protected_branches: + - master + type: public +- name: mate-system-monitor + description: "Process viewer and system resource monitor for MATE" + protected_branches: + - master + type: public +- name: mate-backgrounds + description: "This module contains a set of backgrounds packaged with the MATE desktop." + protected_branches: + - master + type: public +- name: mate-utils + description: "" + protected_branches: + - master + type: public +- name: mate-settings-daemon + description: "MATE settings daemon" + protected_branches: + - master + type: public +- name: mate-screensaver + description: "MATE screen saver and locker" + protected_branches: + - master + type: public +- name: mate-session-manager + description: "MATE session manager" + protected_branches: + - master + type: public +- name: mate-panel + description: "MATE panel" + protected_branches: + - master + type: public +- name: mate-polkit + description: "Authentication Agent for PolicyKit and MATE" + protected_branches: + - master + type: public +- name: mate-power-manager + description: "Power management tool for the MATE desktop" + protected_branches: + - master + type: public +- name: mate-applets + description: "Applets for use with the MATE panel" + protected_branches: + - master + type: public +- name: mate-themes + description: "Official themes for the MATE desktop" + protected_branches: + - master + type: public +- name: mate-icon-theme + description: "MATE default icon theme" + protected_branches: + - master + type: public +- name: mate-calc + description: "Calculator for MATE" + protected_branches: + - master + type: public +- name: mate-media + description: "Media tools for MATE" + protected_branches: + - master + type: public +- name: mate-menus + description: "Library for the Desktop Menu freedesktop.org specification" + protected_branches: + - master + type: public +- name: mate-notification-daemon + description: "Daemon to display passive pop-up notifications" + protected_branches: + - master + type: public +- name: mate-terminal + description: "The MATE Terminal Emulator" + protected_branches: + - master + type: public +- name: mate-user-guide + description: "MATE Desktop User Guide" + protected_branches: + - master + type: public +- name: libmateweather + description: "Library to access weather information from online services" + protected_branches: + - master + type: public +- name: libmatemixer + description: "Mixer library for MATE Desktop" + protected_branches: + - master + type: public +- name: libmatekbd + description: "Keyboard management library" + protected_branches: + - master + type: public +- name: eom + description: "An image viewer for MATE" + protected_branches: + - master + type: public +- name: marco + description: "MATE default window manager" + protected_branches: + - master + type: public + +- name: delve + description: "A debugger for the Go programming language" + protected_branches: + - master + type: public +- name: pacemaker + description: "Pacemaker is an advanced, scalable high-availability cluster resource manager." + type: public +- name: corosync + description: "The Corosync Cluster Engine and Application Programming Interfaces." + type: public +- name: fence-agents + description: "Set of unified programs capable of host isolation ('fencing')." + type: public +- name: corosync-qdevice + description: "The Corosync Cluster Engine Qdevice." + type: public +- name: fence-virt + description: "Virtual machine fencing agent." + type: public +- name: ha-api + description: "This package NeoKylin HA api." + type: public +- name: pacemaker-mgmt + description: "A client/server GUI and a SNMP subagent for configuring, managing and monitoring the Pacemaker High-Availability cluster resource manager." + type: public +- name: pcs + description: "Pcs is a Corosync and Pacemaker configuration tool. It permits users to easily view, modify and create Pacemaker based clusters. Pcs contains pcsd, a pcs daemon, which operates as a remote server for pcs and provides a web UI." + type: public +- name: sbd + description: "This package contains the storage-based death functionality." + type: public +- name: ha-web + description: "Ha web frontend." + type: public +- name: drbd + description: "DRBD user-land tools and scripts" + type: public +- name: drbd-utils + description: "DRBD common tools" + type: public diff --git a/sig/A-Tune/OWNERS b/sig/A-Tune/OWNERS new file mode 100644 index 0000000..b5024f3 --- /dev/null +++ b/sig/A-Tune/OWNERS @@ -0,0 +1,5 @@ +maintainers: +- shanshishi +- xiezhipeng1 +- hanxinke +- licihua diff --git a/sig/A-Tune/README.md b/sig/A-Tune/README.md new file mode 100644 index 0000000..ca91959 --- /dev/null +++ b/sig/A-Tune/README.md @@ -0,0 +1,52 @@ + +# A-Tune + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](a-tune@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Application/OWNERS b/sig/Application/OWNERS new file mode 100644 index 0000000..7db7b1d --- /dev/null +++ b/sig/Application/OWNERS @@ -0,0 +1,7 @@ +maintainers: +- dogsheng +- miao_kaibo +- AlexZ11 +- yanzh_h +- jimmy_hero +- zhuchunyi diff --git a/sig/Application/README.md b/sig/Application/README.md new file mode 100644 index 0000000..140025c --- /dev/null +++ b/sig/Application/README.md @@ -0,0 +1,52 @@ + +# Application + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Base-service/OWNERS b/sig/Base-service/OWNERS new file mode 100644 index 0000000..920162c --- /dev/null +++ b/sig/Base-service/OWNERS @@ -0,0 +1,7 @@ +maintainers: +- overweight +- zhujianwei001 +- xiezhipeng1 +- hanxinke +- shanshishi +- licihua \ No newline at end of file diff --git a/sig/Base-service/README.md b/sig/Base-service/README.md new file mode 100644 index 0000000..7d00a32 --- /dev/null +++ b/sig/Base-service/README.md @@ -0,0 +1,51 @@ +# Base-Service + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Compiler/OWNERS b/sig/Compiler/OWNERS new file mode 100644 index 0000000..8514adb --- /dev/null +++ b/sig/Compiler/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- jdkboy +- zhuchunyi +- jvmboy diff --git a/sig/Compiler/README.md b/sig/Compiler/README.md new file mode 100644 index 0000000..44ade0b --- /dev/null +++ b/sig/Compiler/README.md @@ -0,0 +1,51 @@ +# Compiler + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Computing/OWNERS b/sig/Computing/OWNERS new file mode 100644 index 0000000..98c4a4b --- /dev/null +++ b/sig/Computing/OWNERS @@ -0,0 +1,3 @@ +maintainers: +- liqingqing_1229 +- love_hangzhou diff --git a/sig/Computing/README.md b/sig/Computing/README.md new file mode 100644 index 0000000..f532aa8 --- /dev/null +++ b/sig/Computing/README.md @@ -0,0 +1,51 @@ +# Computing + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Container/OWNERS b/sig/Container/OWNERS new file mode 100644 index 0000000..5cbc67b --- /dev/null +++ b/sig/Container/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- caihaomin +- lifeng2221dd1 +- duguhaotian diff --git a/sig/Container/README.md b/sig/Container/README.md new file mode 100644 index 0000000..5d37e3f --- /dev/null +++ b/sig/Container/README.md @@ -0,0 +1,51 @@ +# Container + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/DB/OWNERS b/sig/DB/OWNERS new file mode 100644 index 0000000..305a9a6 --- /dev/null +++ b/sig/DB/OWNERS @@ -0,0 +1,5 @@ +maintainers: +- dogsheng +- miao_kaibo +- jimmy_hero +- zhuchunyi diff --git a/sig/DB/README.md b/sig/DB/README.md new file mode 100644 index 0000000..d509048 --- /dev/null +++ b/sig/DB/README.md @@ -0,0 +1,51 @@ +# DB + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Desktop/OWNERS b/sig/Desktop/OWNERS new file mode 100644 index 0000000..dcd03ae --- /dev/null +++ b/sig/Desktop/OWNERS @@ -0,0 +1,3 @@ +maintainers: +- ruebb +- small_leek diff --git a/sig/Desktop/README.md b/sig/Desktop/README.md new file mode 100644 index 0000000..17e0306 --- /dev/null +++ b/sig/Desktop/README.md @@ -0,0 +1,51 @@ +# Desktop + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Infrastructure/OWNERS b/sig/Infrastructure/OWNERS new file mode 100644 index 0000000..bc6af32 --- /dev/null +++ b/sig/Infrastructure/OWNERS @@ -0,0 +1,10 @@ +maintainers: + - dogsheng + - miao_kaibo + - freesky-edward + - imjoey + - TommyLike + - xiangxinyong + - zerodefect + - zhuchunyi + - zhongjun2 diff --git a/sig/Infrastructure/README.md b/sig/Infrastructure/README.md new file mode 100644 index 0000000..c278b9f --- /dev/null +++ b/sig/Infrastructure/README.md @@ -0,0 +1,63 @@ +# Infrastructure + +基础设施组主要是负责openEuler社区的系统功能开发、维护。包括: + 开发: + - https://gitee.com/openeuler + - https://gitee.com/src-openeuler + CI构建: + - https://openeuler-build.huawei.com + 门户: + - https://openeuler.org + 邮箱: + - https://mailweb.openeuler.org + + +# 组织会议 + +- 公开的会议时间:北京时间,每周二下午,17点~18点 + 会议方式: welink视频会议。 + 会议链接获取方式:订阅infra@openeuler.org + +# 成员 + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + + - dogsheng + - miao_kaibo + - freesky-edward + - imjoey + - TommyLike + - xiangxinyong + - zerodefect + - zhuchunyi + - zhongjun2 + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](infra@openeuler.org) +- [IM](IRC: #openeuler-infra) + + +# 项目清单 + + +项目名称: + +repository地址: + +- [infrastructure](https://gitee.com/openeuler/infrastructure) +- [blog](https://gitee.com/openeuler/blog) +- [ci-bot](https://gitee.com/openeuler/ci-bot) +- [website](https://gitee.com/openeuler/website) +- [go-gitee](https://gitee.com/openeuler/go-gitee) +- [jenkins](https://gitee.com/openeuler/openeuler-jenkins) +- [gitbook-theme-hugo](https://gitee.com/openeuler/gitbook-theme-hugo) +- [tool-collections](https://gitee.com/openeuler/tool-collections) diff --git a/sig/Infrastructure/charter.md b/sig/Infrastructure/charter.md new file mode 100644 index 0000000..9daeafb --- /dev/null +++ b/sig/Infrastructure/charter.md @@ -0,0 +1 @@ +test diff --git a/sig/Kernel/OWNERS b/sig/Kernel/OWNERS new file mode 100644 index 0000000..891200e --- /dev/null +++ b/sig/Kernel/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- weiyj_lk +- xiexiuqi +- yangyingliang \ No newline at end of file diff --git a/sig/Kernel/README.md b/sig/Kernel/README.md new file mode 100644 index 0000000..86fa346 --- /dev/null +++ b/sig/Kernel/README.md @@ -0,0 +1,51 @@ +# Kernel + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](kernel@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Networking/OWNERS b/sig/Networking/OWNERS new file mode 100644 index 0000000..b6e7ce5 --- /dev/null +++ b/sig/Networking/OWNERS @@ -0,0 +1,7 @@ +maintainers: +- yanan-rock +- guodeqing +- foostone +- lilijun606 +- wangxp006 +- chxssg diff --git a/sig/Networking/README.md b/sig/Networking/README.md new file mode 100644 index 0000000..2c299a1 --- /dev/null +++ b/sig/Networking/README.md @@ -0,0 +1,51 @@ +# Networking + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Others/OWNERS b/sig/Others/OWNERS new file mode 100644 index 0000000..3adae4c --- /dev/null +++ b/sig/Others/OWNERS @@ -0,0 +1,2 @@ +maintainers: +- jimmy_hero diff --git a/sig/Others/README.md b/sig/Others/README.md new file mode 100644 index 0000000..8bd03f8 --- /dev/null +++ b/sig/Others/README.md @@ -0,0 +1,51 @@ +# Others + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Packaging/OWNERS b/sig/Packaging/OWNERS new file mode 100644 index 0000000..305a9a6 --- /dev/null +++ b/sig/Packaging/OWNERS @@ -0,0 +1,5 @@ +maintainers: +- dogsheng +- miao_kaibo +- jimmy_hero +- zhuchunyi diff --git a/sig/Packaging/README.md b/sig/Packaging/README.md new file mode 100644 index 0000000..aaff0ef --- /dev/null +++ b/sig/Packaging/README.md @@ -0,0 +1,51 @@ +# Packaging + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](buildteam@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Private/OWNERS b/sig/Private/OWNERS new file mode 100644 index 0000000..24dfd64 --- /dev/null +++ b/sig/Private/OWNERS @@ -0,0 +1,135 @@ +maintainers: +- fly_fzc +- zi_cvi +- oli_give_xiao_zi_li +- vicxhh +- tangguoloveyou +- dogsheng +- zhouerlin +- wang_yue111 +- zi_cvi +- vicxhh +- wangchong1995924 +- wangef +- li_zhiliang8 +- chengzihan2 +- wjf008 +- cuibb1 +- ga_beng_cui +- yaokai13 +- zhangbo20 +- jeff200902 +- fly_fzc +- miao_kaibo +- solarhu +- littlepc +- Charlie_li +- openeuler-basic +- overweight +- baizhilaoda +- Classicriver_jia +- street_dust +- caorj +- tangjing996 +- jiangkai89 +- anne_zhu +- damian_2012 +- lemon-higgins +- walkingwalk +- KeyboardXia +- zhang_liu_yan +- air9 +- t_feng +- catastrowings +- daidai_is_here +- duyyb +- bingo2008 +- gu-gu-gu +- byeX012 +- lkx690 +- qiegewala +- ultra_planet +- gnaygnil +- zhangtao2020 +- js_liangdong +- tian2020 +- chen_ding_xiao +- duan_tao_tao +- lunankun +- shen_en_yu +- wnd007 +- yangbonis +- captainwei +- cherry530 +- dan_zhao +- zl_28 +- fei_wangl +- yang_jian_mei +- yang_zhuang_zhuang +- yinzhenling +- ding_yi_ming +- gstwin +- m2b1aclc +- zhou_mu_chen +- sugarfillet +- si-gui +- seki099 +- wisdoman +- wanjk19 +- yeah_wang +- fun_yang +- sherlock2010 +- prety20 +- yiyurain +- compile_success +- jackie_wu123 +- xiangshuaizhx +- yanxiaobing2020 +- RickyZ5351 +- ruebb +- small_leek +- yanzh_h +- yanglijin +- AlexZ11 +- ba_a_ge +- Au_Aviel +- hands2333 +- hfutsdd +- kuhnchen18 +- BenchMarkFather +- panny060 +- chen_daguan +- jiuhanjiu +- xdzt1986 +- randy-wangx +- upper_code +- wsf0824 +- SupMario +- giteeruby +- Clergy97 +- chenholmes +- xu_xi_jian +- HukunaMatata +- orange-snn +- Grooooot +- algorithmofdish +- yanan-rock +- huzunhao +- traffic_millions +- liuzhiqiang26 +- hy-euler +- zhuchunyi +- Anonymous_Z +- caihaomin +- jdkboy +- lifeng2221dd1 +- yanxiaobing2020 +- xiexiuqi +- yangyingliang +- liqingqing_1229 +- love_hangzhou +- wangxiongfeng +- Yika +- zyp-rock +- chxssg +- volcanodragon \ No newline at end of file diff --git a/sig/Private/README.md b/sig/Private/README.md new file mode 100644 index 0000000..1e2b875 --- /dev/null +++ b/sig/Private/README.md @@ -0,0 +1,51 @@ +# Private + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Programming-language/OWNERS b/sig/Programming-language/OWNERS new file mode 100644 index 0000000..bbca92c --- /dev/null +++ b/sig/Programming-language/OWNERS @@ -0,0 +1,17 @@ +maintainers: +- yanglijin +- dogsheng +- miao_kaibo +- eric14chan +- Charlie_Li +- yanzh_h +- AlexZ11 +- small_leek +- ruebb +- orange-snn +- yanan-rock +- algorithmofdish +- zhuchunyi +- wangxp006 +- ultra_planet +- chxssg diff --git a/sig/Programming-language/README.md b/sig/Programming-language/README.md new file mode 100644 index 0000000..1b807a2 --- /dev/null +++ b/sig/Programming-language/README.md @@ -0,0 +1,51 @@ +# Programming-language + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Runtime/OWNERS b/sig/Runtime/OWNERS new file mode 100644 index 0000000..8e9962d --- /dev/null +++ b/sig/Runtime/OWNERS @@ -0,0 +1,5 @@ +maintainers: +- Charlie_Li +- eric14chan +- small_leek +- catastrowings diff --git a/sig/Runtime/README.md b/sig/Runtime/README.md new file mode 100644 index 0000000..5d1b0a3 --- /dev/null +++ b/sig/Runtime/README.md @@ -0,0 +1,51 @@ +# Runtime + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/Storage/OWNERS b/sig/Storage/OWNERS new file mode 100644 index 0000000..0dc4778 --- /dev/null +++ b/sig/Storage/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- hy-euler +- wubo009 +- liuzhiqiang26 diff --git a/sig/Storage/README.md b/sig/Storage/README.md new file mode 100644 index 0000000..dc0e8df --- /dev/null +++ b/sig/Storage/README.md @@ -0,0 +1,51 @@ +# Storage + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/System-tool/OWNERS b/sig/System-tool/OWNERS new file mode 100644 index 0000000..b7946b4 --- /dev/null +++ b/sig/System-tool/OWNERS @@ -0,0 +1,9 @@ +maintainers: +- Charlie_Li +- eric14chan +- dogsheng +- miao_kaibo +- yanglijin +- small_leek +- catastrowings +- zhuchunyi diff --git a/sig/System-tool/README.md b/sig/System-tool/README.md new file mode 100644 index 0000000..ae14c03 --- /dev/null +++ b/sig/System-tool/README.md @@ -0,0 +1,51 @@ +# System-Tool + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/TC/OWNERS b/sig/TC/OWNERS new file mode 100644 index 0000000..0cd4155 --- /dev/null +++ b/sig/TC/OWNERS @@ -0,0 +1,8 @@ +maintainers: +- cynthia_xh +- dream0819 +- hanjun-guo +- myeuler +- shinwell_hu +- xiexiuqi +- zhanghailiang_lucky diff --git a/sig/TC/README.md b/sig/TC/README.md new file mode 100644 index 0000000..4859bc8 --- /dev/null +++ b/sig/TC/README.md @@ -0,0 +1,36 @@ +# 技术委员会 + +openEuler技术委员会(Technical Committee,以下和TC互换使用)是openEuler社区的技术决策机构,负责社区技术决策和技术资源的协调。 +TC委员(含主席)名额不得超过9名。主席及委员由理事会任命,任期一年。 + +# 组织会议 + +- 公开的会议时间:当前TC在北京时间,每双周周三的上午10:00召开公开的例行线上讨论会议。 +- 具体会议参会方式,会提前一天在邮件列表中讨论确定。目前主要采用华为公司提供的welink语音会议系统。 +- TC会议的例行议题包括: + + 对新的SIG申请进行评审 + + 对openEuler新增软件进行评审 + + 通报用户反馈,并讨论如何响应 + + 审视原创项目运作情况(一次会议审视一个项目) + + 其他议题由TC成员在会前邮件发起 + + 议题收集和整理通过 https://gitee.com/openeuler/community/tree/master/zh/technical-committee/next-meeting-topics.md 公开 +- 欢迎任何感兴趣的开发者参加旁听 + +# 目前TC成员 (2020年) + +- 熊伟[[@myeuler](https://gitee.com/myeuler)] +- 谢红[[@cynthia_xh](https://gitee.com/cynthia_xh)] +- 胡欣蔚[[@Shinwell_Hu](https://gitee.com/Shinwell_Hu)] +- 王勋[[@dream0819](https://gitee.com/dream0819)] +- 郭寒军[[@hanjun-guo](https://gitee.com/hanjun-guo)] +- 谢秀奇[[@xiexiuqi](https://gitee.com/xiexiuqi)] +- 张海亮[[@zhanghai_lucky](https://gitee.com/zhanghailiang_lucky)] + +# 联系方式 + +- TC使用[邮件列表 tc@openeuler.org](tc@openeuler.org) 做日常讨论 +- 历史讨论的记录以及历次TC会议的纪要,可以访问[邮件列表归档](https://mailweb.openeuler.org/hyperkitty/list/tc@openeuler.org/) + +# 项目清单 + +TC当前没有运作具体项目。 diff --git a/sig/Virt/OWNERS b/sig/Virt/OWNERS new file mode 100644 index 0000000..6721e87 --- /dev/null +++ b/sig/Virt/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- zhanghailiang_lucky +- xydong +- heyi_guo diff --git a/sig/Virt/README.md b/sig/Virt/README.md new file mode 100644 index 0000000..a90e7f9 --- /dev/null +++ b/sig/Virt/README.md @@ -0,0 +1,51 @@ +# Virt + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/atune/OWNERS b/sig/atune/OWNERS new file mode 100644 index 0000000..000b622 --- /dev/null +++ b/sig/atune/OWNERS @@ -0,0 +1,2 @@ +maintainers: +- xiezhipeng1 diff --git a/sig/atune/README.md b/sig/atune/README.md new file mode 100644 index 0000000..13477d6 --- /dev/null +++ b/sig/atune/README.md @@ -0,0 +1,51 @@ +# atune + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](a-tune@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/dev-utils/OWNERS b/sig/dev-utils/OWNERS new file mode 100644 index 0000000..d75095f --- /dev/null +++ b/sig/dev-utils/OWNERS @@ -0,0 +1,11 @@ +maintainers: + - myeuler + - love_hangzhou + - forrest_ly + - licihua + - ethan848 + - fcwicky + - overweight + - yanan-rock + - chxssg + - jingxiaolu diff --git a/sig/dev-utils/README.md b/sig/dev-utils/README.md new file mode 100644 index 0000000..c3bfc33 --- /dev/null +++ b/sig/dev-utils/README.md @@ -0,0 +1,79 @@ +***注意:本文档所有的斜体内容,请在完成时删除*** + +# SIG名称 + +*dev-utils SIG* +For dev-utils SIG, it will focus on those tools, SDK and libraries which help developers. + + + +# 组织会议 + +- Meeting time: under schedule + + + +# 成员 +myeuler +love_hangzhou +forrest_ly +licihua +ethan848 +fcwicky +overweight +yanan-rock +jingxiaolu + + +### Maintainer列表 + +- xiongwei[@myeuler] + + + +### Committer列表 + +- xiongwei[@myeuler] +- love_hangzhou[@love_hangzhou] +- forrest_ly[@forrest_ly] +- licihua[@licihua] +- ethan848[@ethan848] +- fcwicky[@fcwicky] +- overweight[@overweight] +- yanan-rock[@yanan-rock] +- jingxiaolu[@jingxiaolu] + + + +# 联系方式 + +*Mail List* + +- [mail list](under schedule) +- [IRC](under schedule) + + +# 项目清单 + +*Project list & repository* +- https://gitee.com/src-openeuler/netperf +- https://gitee.com/src-openeuler/memleax +- https://gitee.com/src-openeuler/perl-Sub-Uplevel +- https://gitee.com/src-openeuler/perl-Test-Warn +- https://gitee.com/src-openeuler/perl-Parallel-ForkManager +- https://gitee.com/src-openeuler/perl-Test-Regexp +- https://gitee.com/src-openeuler/perl-Regexp-Common +- https://gitee.com/src-openeuler/cloc +- https://gitee.com/src-openeuler/htop +- https://gitee.com/src-openeuler/nmon +- https://gitee.com/src-openeuler/multitail +- https://gitee.com/src-openeuler/cpuid +- https://gitee.com/src-openeuler/slurm +- https://gitee.com/src-openeuler/nethogs +- https://gitee.com/src-openeuler/iftop +- https://gitee.com/src-openeuler/perl-Geo-IP +- https://gitee.com/src-openeuler/ncdu +- https://gitee.com/src-openeuler/iozone +- https://gitee.com/src-openeuler/colordiff +- https://gitee.com/src-openeuler/delve + diff --git a/sig/dev-utils/sig-dev-utils.md b/sig/dev-utils/sig-dev-utils.md new file mode 100644 index 0000000..6c491c4 --- /dev/null +++ b/sig/dev-utils/sig-dev-utils.md @@ -0,0 +1,50 @@ + +# Application to create a new SIG +English | [简体中文](./sig-template_cn.md) + + +Note: The Charter of this SIG follows the convention described in the openEuler charter [README] (/en/governance/README.md), and follows [SIG-governance] (/en/technical-committee/governance/SIG-governance.md). + +## SIG Mission and Scope + +For Linux developers, they need some tools to help development work, which including performance tunning tools, development facilities tools, debuging tools and so on. For example, sar, bcc, iperf, cloc, netperf, and so on. This SIG will do those kind of tools integration job. During the integration process, those tools may depend on some libs or SDK, the SIG will provide those libs or SDK as well, or require other SIGs to provide help. + + +### Deliverables +All tools should delivery all info reqired by source rpm, which includs spec file, source tgz file, patch files, and other necessary files. Those file can be built by rpmbuild system and create rpm binary. The spec should follow openEuler spec reference. + +### Repositories and description managed by this SIG + + +### Cross-domain and external-oriented processes + +Cross-domain and externally-oriented processes and actions defined and implemented by this SIG: + +- Non-Internal Process Checklist + +- The organization guidance plan for the entire openEulerSIG owned by this SIG, etc. + + +## Basic Information + +### Project Introduction +    https: /gitee.com/openeuler/community/sig/sig-xxxx/ + +***Tips***: After the SIG is successfully created, https: /gitee.com/openeuler/community/sig/sig-xxxx/ management will be managed by the Maintainer, and the project team can enrich their project introduction, including but not limited to the following content. +``` +### Maintainers +- myeuler + +### Committers +- myeuler + +### Mailing list + +### IRC Channel + +### Conference Information + +### External Contact +``` + + diff --git a/sig/dev-utils/sig-dev-utils_cn.md b/sig/dev-utils/sig-dev-utils_cn.md new file mode 100644 index 0000000..3817d16 --- /dev/null +++ b/sig/dev-utils/sig-dev-utils_cn.md @@ -0,0 +1,20 @@ + +# 新建SIG申请 +[English](./sig-template.md) | 简体中文 + + +说明:本SIG的Charter内容遵循openEuler章程 [README](/zh/governance/README.md)中描述的约定,使用[SIG-governance](/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## SIG组工作目标和范围 +为openEuler社区提供开发者工具,调测工具等,例如,sar, bcc,cloc, netperf等,方便开发者使用。 + + + + ### 该SIG管理的repository及描述 + + + + ### 跨领域和面向外部的流程 +在提供tools的过程中,需要对相关的依赖包,SDK等一并提供,如果有需要周边SIG协同的,协同相关SIG组来提供。 + + diff --git a/sig/doc/OWNERS b/sig/doc/OWNERS new file mode 100644 index 0000000..d3e4779 --- /dev/null +++ b/sig/doc/OWNERS @@ -0,0 +1,4 @@ +maintainers: + - Rudy_Tan + - amy_Mayun + - fhxing168 diff --git a/sig/doc/README.md b/sig/doc/README.md new file mode 100644 index 0000000..d970582 --- /dev/null +++ b/sig/doc/README.md @@ -0,0 +1,51 @@ +# Doc + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM]() + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/doc/sig-template.md b/sig/doc/sig-template.md new file mode 100644 index 0000000..2cc8bb9 --- /dev/null +++ b/sig/doc/sig-template.md @@ -0,0 +1,41 @@ + +# openEuler Docs Special Interest Group(SIG) +English | [简体中文](./sig-template_cn.md) + +The openEuler Docs SIG is used to build and continuously enrich the documentation of the openEuler project. It attracts interested developers to participate in the construction and release of the documents to jointly create a better documentation experience. + + +## SIG Goals + +- Handle the build and release of openEuler's basic version documentation +- Participate in the discussion of the planning of the openEuler document, formulate the operation plan of the document, and respond to user feedback in a timely manner +- Check the document, find document problems and modify +- Multilingual processing of documents, involving multilingual translation and proofreading +- Help developers participate in openEuler's documentation contributions, provide standard and content editing support + +## Leadership + +### Maintainers +- Rudy_Tan + +### Committers +- amy_Mayun +- fhxing + + +## Basic Information + +### Project Introduction +    https: /gitee.com/openeuler/community/sig/doc/ + +### Mailing list +- doc@openeuler.org + +### IRC Channel +- #openeuler-doc + +### External Contact +- Rudy_Tan  + +### Repositories +- openeuler/docs/ diff --git a/sig/doc/sig-template_cn.md b/sig/doc/sig-template_cn.md new file mode 100644 index 0000000..03082d3 --- /dev/null +++ b/sig/doc/sig-template_cn.md @@ -0,0 +1,41 @@ +# openEuler文档兴趣小组(SIG) +[English](./sig-template.md) | 简体中文 + +openuler文档兴趣小组用于构建并不断丰富openuler项目的文档。它吸引感兴趣的开发人员参与文档的构建和发布,共同创造更好的文档体验。 + + +## SIG的目标 + +- 处理openEuler的基础的版本文档的构建和发布 +- 参与讨论openEuler文档的规划,制定文档的运营规划,并及时响应用户反馈 +- 检查文档,发现文档问题并修改 +- 文档的多语言处理,涉及到多语言翻译和校对 +- 帮助开发者参与openEuler的文档贡献,提供标准和内容编辑上的支持 + +## 管理成员 + +### Maintainers +- Rudy_Tan + +### Committers +- amy_Mayun +- fhxing + + +## SIG基本信息 + +### 项目简介 +    https: /gitee.com/openeuler/community/sig/doc/ + +### 邮件列表 +- doc@openeuler.org + +### IRC频道 +- #openeuler-doc + +### 对外联络人 +- Rudy_Tan  + +### 存储库 +- openeuler/docs/ + diff --git a/sig/iSulad/OWNERS b/sig/iSulad/OWNERS new file mode 100644 index 0000000..5cbc67b --- /dev/null +++ b/sig/iSulad/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- caihaomin +- lifeng2221dd1 +- duguhaotian diff --git a/sig/iSulad/README.md b/sig/iSulad/README.md new file mode 100644 index 0000000..97be575 --- /dev/null +++ b/sig/iSulad/README.md @@ -0,0 +1,51 @@ +# Isulad + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](Isulad@openeuler.org) +- [IM](#openuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/kae/OWNERS b/sig/kae/OWNERS new file mode 100644 index 0000000..0c5139d --- /dev/null +++ b/sig/kae/OWNERS @@ -0,0 +1,3 @@ +maintainers: +- victorjin +- wunianqing diff --git a/sig/kae/README.md b/sig/kae/README.md new file mode 100644 index 0000000..3c0fee7 --- /dev/null +++ b/sig/kae/README.md @@ -0,0 +1,51 @@ +# kae + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](dev@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/oVirt/OWNERS b/sig/oVirt/OWNERS new file mode 100644 index 0000000..9844fb2 --- /dev/null +++ b/sig/oVirt/OWNERS @@ -0,0 +1,4 @@ +maintainers: + - imjoey + - huihui0311 + - crrs666 diff --git a/sig/oVirt/README.md b/sig/oVirt/README.md new file mode 100644 index 0000000..614d484 --- /dev/null +++ b/sig/oVirt/README.md @@ -0,0 +1,105 @@ +# oVirt SIG + +- 在openEuler社区中添加对oVirt的支持 +- 实施oVirt在ARM64平台下的移植、适配和优化工作 +- 负责oVirt相关软件包的规划、维护和升级 +- 处理oVirt相关文档的多语言 +- 将openEuler社区中oVirt的工作成果回馈给上游社区 +- 及时响应用户反馈,解决相关问题 + + +# 组织会议 + +- 公开的会议时间:北京时间,每周二 下午,3点~4点 + + +# 成员 + +### Maintainers列表 +- 马俊杰[@imjoey](https://gitee.com/imjoey) +- 付惠惠[@huihui0311](https://gitee.com/huihui0311) + +### Committers列表 +- 王迪[@crrs666](https://gitee.com/crrs666) + + +# 联系方式 + +- [邮件列表](dev@openeuler.org) +- [IRC频道](#openeuler-dev) +- [IRC公开会议](#openeuler-meeting) + + +# 项目清单 + +repository地址: + +- https://gitee.com/src-openeuler/go-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/ioprocess +- https://gitee.com/src-openeuler/ovirt-ansible-cluster-upgrade +- https://gitee.com/src-openeuler/ovirt-ansible-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-infra +- https://gitee.com/src-openeuler/ovirt-provider-ovn +- https://gitee.com/src-openeuler/cockpit-ovirt +- https://gitee.com/src-openeuler/engine-db-query +- https://gitee.com/src-openeuler/go-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/imgbased +- https://gitee.com/src-openeuler/java-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/mingw-spice-vdagent +- https://gitee.com/src-openeuler/mom +- https://gitee.com/src-openeuler/nsis-simple-service-plugin +- https://gitee.com/src-openeuler/otopi +- https://gitee.com/src-openeuler/ovirt-ansible-cluster-upgrade +- https://gitee.com/src-openeuler/ovirt-ansible-disaster-recovery +- https://gitee.com/src-openeuler/ovirt-ansible-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-image-template +- https://gitee.com/src-openeuler/ovirt-ansible-infra +- https://gitee.com/src-openeuler/ovirt-ansible-manageiq +- https://gitee.com/src-openeuler/ovirt-ansible-repositories +- https://gitee.com/src-openeuler/ovirt-ansible-roles +- https://gitee.com/src-openeuler/ovirt-ansible-shutdown-env +- https://gitee.com/src-openeuler/ovirt-ansible-v2v-conversion-host +- https://gitee.com/src-openeuler/ovirt-ansible-vm-infra +- https://gitee.com/src-openeuler/ovirt-cockpit-sso +- https://gitee.com/src-openeuler/ovirt-engine +- https://gitee.com/src-openeuler/ovirt-engine-api-explorer +- https://gitee.com/src-openeuler/ovirt-engine-appliance +- https://gitee.com/src-openeuler/ovirt-engine-cli +- https://gitee.com/src-openeuler/ovirt-engine-dwh +- https://gitee.com/src-openeuler/ovirt-engine-extension-aaa-ldap +- https://gitee.com/src-openeuler/ovirt-engine-extension-aaa-misc +- https://gitee.com/src-openeuler/ovirt-engine-metrics +- https://gitee.com/src-openeuler/ovirt-engine-nodejs +- https://gitee.com/src-openeuler/ovirt-engine-nodejs-modules +- https://gitee.com/src-openeuler/ovirt-engine-ui-extensions +- https://gitee.com/src-openeuler/ovirt-engine-wildfly +- https://gitee.com/src-openeuler/ovirt-engine-wildfly-overlay +- https://gitee.com/src-openeuler/ovirt-engine-yarn +- https://gitee.com/src-openeuler/ovirt-guest-agent +- https://gitee.com/src-openeuler/ovirt-guest-agent-windows +- https://gitee.com/src-openeuler/ovirt-guest-tools-iso +- https://gitee.com/src-openeuler/ovirt-host +- https://gitee.com/src-openeuler/ovirt-host-deploy +- https://gitee.com/src-openeuler/ovirt-hosted-engine-ha +- https://gitee.com/src-openeuler/ovirt-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-imageio-common +- https://gitee.com/src-openeuler/ovirt-imageio-daemon +- https://gitee.com/src-openeuler/ovirt-imageio-proxy +- https://gitee.com/src-openeuler/ovirt-iso-uploader +- https://gitee.com/src-openeuler/ovirt-lldp-labeler +- https://gitee.com/src-openeuler/ovirt-log-collector +- https://gitee.com/src-openeuler/ovirt-node-ng +- https://gitee.com/src-openeuler/ovirt-node-ng-image-update +- https://gitee.com/src-openeuler/ovirt-provider-ovn +- https://gitee.com/src-openeuler/ovirt-release43 +- https://gitee.com/src-openeuler/ovirt-scheduler-proxy +- https://gitee.com/src-openeuler/ovirt-setup-lib +- https://gitee.com/src-openeuler/ovirt-vmconsole +- https://gitee.com/src-openeuler/ovirt-web-ui +- https://gitee.com/src-openeuler/python-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/rubygem-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/v2v-conversion-host +- https://gitee.com/src-openeuler/vcredist +- https://gitee.com/src-openeuler/vdsm +- https://gitee.com/src-openeuler/vdsm-jsonrpc-java diff --git a/sig/oVirt/sig-oVirt.md b/sig/oVirt/sig-oVirt.md new file mode 100644 index 0000000..01b3428 --- /dev/null +++ b/sig/oVirt/sig-oVirt.md @@ -0,0 +1,127 @@ + +# openEuler oVirt Special Interest Group (SIG) +English | [简体中文](./sig-oVirt_cn.md) + +The openEuler oVirt SIG aims at introducing oVirt, a fully open source enterprise virtualization solution, to the openEuler community. We also dedicate to its relevant work on migration, adaptation and optimization for helping users with the real-world problems. + + +## SIG Mission and Scope + +### Mission + +- Add oVirt support for openEuler community +- Migrate, adapte and optimize oVirt under ARM64 architecture +- Plan, maintain and upgrade the packages related to oVirt +- Support oVirt documentations in multilingual +- Backport the achievements from openEuler commmunity to oVirt upstream community +- Respond to user feedback in a timely manner and resolove the problems + + +### Scope + +- Maintain and upgrade the oVirt packages +- Introduce, maintain and upgrade the dependency packages of oVirt that not included in openEuler community +- Cooperate and maintain the dependency packages of oVirt that already included in openEuler community +- Manage the documentations, meetings, mailist and IRC within oVirt SIG + + +### Deliverables + +- Source and tar + + +### Repositories managed by this SIG + +The repositories related to oVirt are listed below, see https://resources.ovirt.org/pub/ovirt-4.3/rpm/el7Server/SRPMS/ for details. + +- https://gitee.com/src-openeuler/go-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/ioprocess +- https://gitee.com/src-openeuler/ovirt-ansible-cluster-upgrade +- https://gitee.com/src-openeuler/ovirt-ansible-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-infra +- https://gitee.com/src-openeuler/ovirt-provider-ovn +- https://gitee.com/src-openeuler/cockpit-ovirt +- https://gitee.com/src-openeuler/engine-db-query +- https://gitee.com/src-openeuler/go-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/imgbased +- https://gitee.com/src-openeuler/java-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/mingw-spice-vdagent +- https://gitee.com/src-openeuler/mom +- https://gitee.com/src-openeuler/nsis-simple-service-plugin +- https://gitee.com/src-openeuler/otopi +- https://gitee.com/src-openeuler/ovirt-ansible-cluster-upgrade +- https://gitee.com/src-openeuler/ovirt-ansible-disaster-recovery +- https://gitee.com/src-openeuler/ovirt-ansible-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-image-template +- https://gitee.com/src-openeuler/ovirt-ansible-infra +- https://gitee.com/src-openeuler/ovirt-ansible-manageiq +- https://gitee.com/src-openeuler/ovirt-ansible-repositories +- https://gitee.com/src-openeuler/ovirt-ansible-roles +- https://gitee.com/src-openeuler/ovirt-ansible-shutdown-env +- https://gitee.com/src-openeuler/ovirt-ansible-v2v-conversion-host +- https://gitee.com/src-openeuler/ovirt-ansible-vm-infra +- https://gitee.com/src-openeuler/ovirt-cockpit-sso +- https://gitee.com/src-openeuler/ovirt-engine +- https://gitee.com/src-openeuler/ovirt-engine-api-explorer +- https://gitee.com/src-openeuler/ovirt-engine-appliance +- https://gitee.com/src-openeuler/ovirt-engine-cli +- https://gitee.com/src-openeuler/ovirt-engine-dwh +- https://gitee.com/src-openeuler/ovirt-engine-extension-aaa-ldap +- https://gitee.com/src-openeuler/ovirt-engine-extension-aaa-misc +- https://gitee.com/src-openeuler/ovirt-engine-metrics +- https://gitee.com/src-openeuler/ovirt-engine-nodejs +- https://gitee.com/src-openeuler/ovirt-engine-nodejs-modules +- https://gitee.com/src-openeuler/ovirt-engine-ui-extensions +- https://gitee.com/src-openeuler/ovirt-engine-wildfly +- https://gitee.com/src-openeuler/ovirt-engine-wildfly-overlay +- https://gitee.com/src-openeuler/ovirt-engine-yarn +- https://gitee.com/src-openeuler/ovirt-guest-agent +- https://gitee.com/src-openeuler/ovirt-guest-agent-windows +- https://gitee.com/src-openeuler/ovirt-guest-tools-iso +- https://gitee.com/src-openeuler/ovirt-host +- https://gitee.com/src-openeuler/ovirt-host-deploy +- https://gitee.com/src-openeuler/ovirt-hosted-engine-ha +- https://gitee.com/src-openeuler/ovirt-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-imageio-common +- https://gitee.com/src-openeuler/ovirt-imageio-daemon +- https://gitee.com/src-openeuler/ovirt-imageio-proxy +- https://gitee.com/src-openeuler/ovirt-iso-uploader +- https://gitee.com/src-openeuler/ovirt-lldp-labeler +- https://gitee.com/src-openeuler/ovirt-log-collector +- https://gitee.com/src-openeuler/ovirt-node-ng +- https://gitee.com/src-openeuler/ovirt-node-ng-image-update +- https://gitee.com/src-openeuler/ovirt-provider-ovn +- https://gitee.com/src-openeuler/ovirt-release43 +- https://gitee.com/src-openeuler/ovirt-scheduler-proxy +- https://gitee.com/src-openeuler/ovirt-setup-lib +- https://gitee.com/src-openeuler/ovirt-vmconsole +- https://gitee.com/src-openeuler/ovirt-web-ui +- https://gitee.com/src-openeuler/python-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/rubygem-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/v2v-conversion-host +- https://gitee.com/src-openeuler/vcredist +- https://gitee.com/src-openeuler/vdsm +- https://gitee.com/src-openeuler/vdsm-jsonrpc-java + + +## Basic Information + +### Project Introduction +    https://gitee.com/openeuler/community/tree/master/sig/sig-oVirt/ + +### Maintainers +- imjoey +- huihui0311 + +### Committers +- crrs666 + +### Mailing list +- dev@openeuler.org + +### IRC Channel +- #openeuler-dev + +### External Contact +- imjoey diff --git a/sig/oVirt/sig-oVirt_cn.md b/sig/oVirt/sig-oVirt_cn.md new file mode 100644 index 0000000..560fbbf --- /dev/null +++ b/sig/oVirt/sig-oVirt_cn.md @@ -0,0 +1,126 @@ +# openEuler oVirt兴趣小组(SIG) +[English](./sig-oVirt.md) | 简体中文 + +oVirt SIG小组致力于将oVirt这款业界知名的开源企业级虚拟化解决方案引入至openEuler社区中,并进行相关适配、迁移和优化,帮助用户解决实际问题。 + + +## oVirt SIG组工作目标和范围 + +### 工作目标 + +- 在openEuler社区中添加对oVirt的支持 +- 实施oVirt在ARM64平台下的移植、适配和优化工作 +- 负责oVirt相关软件包的规划、维护和升级 +- 处理oVirt相关文档的多语言 +- 将openEuler社区中oVirt的工作成果回馈给上游社区 +- 及时响应用户反馈,解决相关问题 + + +### 工作范围 + +- oVirt相关软件包的维护、升级等 +- oVirt相关依赖软件包(如果在openEuler中不存在)的引入、维护、升级等 +- oVirt相关依赖软件包(如果在openEuler中已存在)的协调、维护等 +- oVirt SIG组所有相关的文档、会议、邮件列表、IRC的管理 + + +### 交付物 + +- 源码和tar包 + + +### 该SIG管理的repository + +oVirt相关软件包的仓库如下,详见:https://resources.ovirt.org/pub/ovirt-4.3/rpm/el7Server/SRPMS/。 + +- https://gitee.com/src-openeuler/go-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/ioprocess +- https://gitee.com/src-openeuler/ovirt-ansible-cluster-upgrade +- https://gitee.com/src-openeuler/ovirt-ansible-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-infra +- https://gitee.com/src-openeuler/ovirt-provider-ovn +- https://gitee.com/src-openeuler/cockpit-ovirt +- https://gitee.com/src-openeuler/engine-db-query +- https://gitee.com/src-openeuler/go-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/imgbased +- https://gitee.com/src-openeuler/java-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/mingw-spice-vdagent +- https://gitee.com/src-openeuler/mom +- https://gitee.com/src-openeuler/nsis-simple-service-plugin +- https://gitee.com/src-openeuler/otopi +- https://gitee.com/src-openeuler/ovirt-ansible-cluster-upgrade +- https://gitee.com/src-openeuler/ovirt-ansible-disaster-recovery +- https://gitee.com/src-openeuler/ovirt-ansible-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-ansible-image-template +- https://gitee.com/src-openeuler/ovirt-ansible-infra +- https://gitee.com/src-openeuler/ovirt-ansible-manageiq +- https://gitee.com/src-openeuler/ovirt-ansible-repositories +- https://gitee.com/src-openeuler/ovirt-ansible-roles +- https://gitee.com/src-openeuler/ovirt-ansible-shutdown-env +- https://gitee.com/src-openeuler/ovirt-ansible-v2v-conversion-host +- https://gitee.com/src-openeuler/ovirt-ansible-vm-infra +- https://gitee.com/src-openeuler/ovirt-cockpit-sso +- https://gitee.com/src-openeuler/ovirt-engine +- https://gitee.com/src-openeuler/ovirt-engine-api-explorer +- https://gitee.com/src-openeuler/ovirt-engine-appliance +- https://gitee.com/src-openeuler/ovirt-engine-cli +- https://gitee.com/src-openeuler/ovirt-engine-dwh +- https://gitee.com/src-openeuler/ovirt-engine-extension-aaa-ldap +- https://gitee.com/src-openeuler/ovirt-engine-extension-aaa-misc +- https://gitee.com/src-openeuler/ovirt-engine-metrics +- https://gitee.com/src-openeuler/ovirt-engine-nodejs +- https://gitee.com/src-openeuler/ovirt-engine-nodejs-modules +- https://gitee.com/src-openeuler/ovirt-engine-ui-extensions +- https://gitee.com/src-openeuler/ovirt-engine-wildfly +- https://gitee.com/src-openeuler/ovirt-engine-wildfly-overlay +- https://gitee.com/src-openeuler/ovirt-engine-yarn +- https://gitee.com/src-openeuler/ovirt-guest-agent +- https://gitee.com/src-openeuler/ovirt-guest-agent-windows +- https://gitee.com/src-openeuler/ovirt-guest-tools-iso +- https://gitee.com/src-openeuler/ovirt-host +- https://gitee.com/src-openeuler/ovirt-host-deploy +- https://gitee.com/src-openeuler/ovirt-hosted-engine-ha +- https://gitee.com/src-openeuler/ovirt-hosted-engine-setup +- https://gitee.com/src-openeuler/ovirt-imageio-common +- https://gitee.com/src-openeuler/ovirt-imageio-daemon +- https://gitee.com/src-openeuler/ovirt-imageio-proxy +- https://gitee.com/src-openeuler/ovirt-iso-uploader +- https://gitee.com/src-openeuler/ovirt-lldp-labeler +- https://gitee.com/src-openeuler/ovirt-log-collector +- https://gitee.com/src-openeuler/ovirt-node-ng +- https://gitee.com/src-openeuler/ovirt-node-ng-image-update +- https://gitee.com/src-openeuler/ovirt-provider-ovn +- https://gitee.com/src-openeuler/ovirt-release43 +- https://gitee.com/src-openeuler/ovirt-scheduler-proxy +- https://gitee.com/src-openeuler/ovirt-setup-lib +- https://gitee.com/src-openeuler/ovirt-vmconsole +- https://gitee.com/src-openeuler/ovirt-web-ui +- https://gitee.com/src-openeuler/python-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/rubygem-ovirt-engine-sdk4 +- https://gitee.com/src-openeuler/v2v-conversion-host +- https://gitee.com/src-openeuler/vcredist +- https://gitee.com/src-openeuler/vdsm +- https://gitee.com/src-openeuler/vdsm-jsonrpc-java + + +## SIG基本信息 + +### 项目简介 +    https://gitee.com/openeuler/community/tree/master/sig/sig-oVirt/ + +### Maintainers +- imjoey +- huihui0311 + +### Committers +- crrs666 + +### 邮件列表 +- dev@openeuler.org + +### IRC频道 +- #openeuler-dev + +### 对外联络人 +- imjoey diff --git a/sig/security-committee/OWNERS b/sig/security-committee/OWNERS new file mode 100644 index 0000000..c6b529b --- /dev/null +++ b/sig/security-committee/OWNERS @@ -0,0 +1,5 @@ +maintainers: +- liujingang09 +- yangli69393 +- yanxiaobing2020 +- zhujianwei001 diff --git a/sig/security-committee/README.md b/sig/security-committee/README.md new file mode 100644 index 0000000..e537f3b --- /dev/null +++ b/sig/security-committee/README.md @@ -0,0 +1,51 @@ +# Security + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](security@openeuler.org) +- [IM](#openuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/sig-Community/OWNERS b/sig/sig-Community/OWNERS new file mode 100644 index 0000000..dd75f78 --- /dev/null +++ b/sig/sig-Community/OWNERS @@ -0,0 +1,7 @@ +maintainers: + - zerodefect + - yangli69393 + - shredstar + - pearl405 + - ZhengyuhangHans + - blueskycs2c \ No newline at end of file diff --git a/sig/sig-Community/README.md b/sig/sig-Community/README.md new file mode 100644 index 0000000..f4cb040 --- /dev/null +++ b/sig/sig-Community/README.md @@ -0,0 +1,51 @@ +# Community + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](community@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/sig-Community/sig-community.md b/sig/sig-Community/sig-community.md new file mode 100644 index 0000000..453d397 --- /dev/null +++ b/sig/sig-Community/sig-community.md @@ -0,0 +1,64 @@ + +# Application to create a new SIG +English | [简体中文](./sig-template_cn.md) + + +Note: The Charter of this SIG follows the convention described in the openEuler charter [README] (/en/governance/README.md), and follows [SIG-governance] (/en/technical-committee/governance/SIG-governance.md). + +## SIG Mission and Scope + +Describe the Mission and objectives of the new SIG, including but not limited to: + +- Why create a new SIG in openEuler + +- The scope of the SIG + +- Which SIGs in openEuler to coorperate with + + +### Deliverables + +What and in what form the SIG is responsible for delivering +  +- Source code + +- tar + +- Source and tar +  + +### Repositories and description managed by this SIG + + +### Cross-domain and external-oriented processes + +Cross-domain and externally-oriented processes and actions defined and implemented by this SIG: + +- Non-Internal Process Checklist + +- The organization guidance plan for the entire openEulerSIG owned by this SIG, etc. + + +## Basic Information + +### Project Introduction +    https: /gitee.com/openeuler/community/sig/sig-xxxx/ + +***Tips***: After the SIG is successfully created, https: /gitee.com/openeuler/community/sig/sig-xxxx/ management will be managed by the Maintainer, and the project team can enrich their project introduction, including but not limited to the following content. +``` +### Maintainers +- Name (Gitee ID) + +### Committers +- Name (Gitee ID) + +### Mailing list + +### IRC Channel + +### Conference Information + +### External Contact +-Name (Gitee ID) +``` + diff --git a/sig/sig-Community/sig-community_cn.md b/sig/sig-Community/sig-community_cn.md new file mode 100644 index 0000000..9ad235c --- /dev/null +++ b/sig/sig-Community/sig-community_cn.md @@ -0,0 +1,20 @@ + +# 新建SIG申请 +[English](./sig-template.md) | 简体中文 + + +说明:本SIG的Charter内容遵循openEuler章程 [README](/zh/governance/README.md)中描述的约定,使用[SIG-governance](/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## sig-Community组工作范围 + +- 维护/openeuler/community的内容,包括社区章程等。 + + + + ### 该SIG管理的个repository及描述 + +https://gitee.com/openeuler/community + + + + diff --git a/sig/sig-Ha/OWNERS b/sig/sig-Ha/OWNERS new file mode 100644 index 0000000..3756995 --- /dev/null +++ b/sig/sig-Ha/OWNERS @@ -0,0 +1,4 @@ +maintainers: + - kylinos-cn + - hjimmy + - huihui0311 diff --git a/sig/sig-Ha/README.md b/sig/sig-Ha/README.md new file mode 100644 index 0000000..de01337 --- /dev/null +++ b/sig/sig-Ha/README.md @@ -0,0 +1,49 @@ +# Ha SIG + +- 在openEuler社区中添加对Ha的支持 +- 实施Ha在ARM64平台下的移植、适配和优化工作 +- 负责Ha相关软件包的规划、维护和升级 +- 处理Ha相关文档的多语言 +- 将openEuler社区中Ha的工作成果回馈给上游社区 +- 及时响应用户反馈,解决相关问题 + + +# 组织会议 + +- 公开的会议时间:北京时间,每周二 下午,3点~4点 + + +# 成员 + +### Maintainers列表 +- 侯健[@kylinos-cn](https://gitee.com/kylinos-cn) +- 付惠惠[@huihui0311](https://gitee.com/huihui0311) + +### Committers列表 +- 王迪[@crrs666](https://gitee.com/crrs666) + + +# 联系方式 + +- [邮件列表](dev@openeuler.org) +- [IRC频道](#openeuler-dev) +- [IRC公开会议](#openeuler-meeting) + + +# 项目清单 + +repository地址: + +- https://gitee.com/src-openeuler/pacemaker +- https://gitee.com/src-openeuler/corosync +- https://gitee.com/src-openeuler/fence-agents +- https://gitee.com/src-openeuler/fence-virt +- https://gitee.com/src-openeuler/sbd +- https://gitee.com/src-openeuler/pcs +- https://gitee.com/src-openeuler/corosync-qdevice +- https://gitee.com/src-openeuler/drbd +- https://gitee.com/src-openeuler/drbd-utils +- https://gitee.com/openeuler/ha-api +- https://gitee.com/openeuler/ha-web +- https://gitee.com/openeuler/pacemaker-mgmt + diff --git a/sig/sig-Ha/sig-Ha.md b/sig/sig-Ha/sig-Ha.md new file mode 100644 index 0000000..81743e1 --- /dev/null +++ b/sig/sig-Ha/sig-Ha.md @@ -0,0 +1,74 @@ + +# openEuler Ha Special Interest Group (SIG) +English | [简体中文](./sig-Ha_cn.md) + +The openEuler Ha SIG aims at introducing Ha, a fully open source High Availability solution, to the openEuler community. We also dedicate to its relevant work on migration, adaptation and optimization for helping users with the real-world problems.Our team has been studying the highly available cluster software of pacemaker + corosync before, and has accumulated nearly 100000 lines of independent R & D code. Ha sig team will contribute part of the R & D achievements to the openEuler community and promote the common development of the community. + + +## SIG Mission and Scope + +### Mission + +- Add Ha support for openEuler community +- Migrate, adapte and optimize Ha under ARM64 architecture +- Plan, maintain and upgrade the packages related to Ha +- Support Ha documentations in multilingual +- Backport the achievements from openEuler commmunity to Ha upstream community +- Respond to user feedback in a timely manner and resolove the problems + + +### Scope + +- Maintain and upgrade the Ha packages +- Introduce, maintain and upgrade the dependency packages of Ha that not included in openEuler community +- Cooperate and maintain the dependency packages of Ha that already included in openEuler community +- Manage the documentations, meetings, mailist and IRC within Ha SIG + + +### Deliverables + +- Source and tar + + +### Repositories managed by this SIG + +The repositories related to Ha are listed below, see http://archive.kernel.org/centos-vault/8.1.1911/HighAvailability/Source/SPackages/ and http://archive.kernel.org/centos-vault/8.1.1911/AppStream/Source/SPackages/ for details. + +- https://gitee.com/src-openeuler/pacemaker +- https://gitee.com/src-openeuler/corosync +- https://gitee.com/src-openeuler/fence-agents +- https://gitee.com/src-openeuler/fence-virt +- https://gitee.com/src-openeuler/sbd +- https://gitee.com/src-openeuler/pcs +- https://gitee.com/src-openeuler/corosync-qdevice +- https://gitee.com/src-openeuler/drbd +- https://gitee.com/src-openeuler/drbd-utils +- https://gitee.com/src-openeuler/ha-api +- https://gitee.com/src-openeuler/ha-web +- https://gitee.com/src-openeuler/pacemaker-mgmt +- https://gitee.com/openeuler/ha-api +- https://gitee.com/openeuler/ha-web +- https://gitee.com/openeuler/pacemaker-mgmt + +## Basic Information + +### Project Introduction +    https://gitee.com/openeuler/community/tree/master/sig/sig-Ha/ + +### Maintainers +- kylinos-cn +- hjimmy +- huihui0311 + +### Committers +- crrs666 + +### Mailing list +- dev@openeuler.org + +### IRC Channel +- #openeuler-dev + +### External Contact +- hjimmy +- kylinos-cn diff --git a/sig/sig-Ha/sig-Ha_cn.md b/sig/sig-Ha/sig-Ha_cn.md new file mode 100644 index 0000000..e698fe4 --- /dev/null +++ b/sig/sig-Ha/sig-Ha_cn.md @@ -0,0 +1,73 @@ +# openEuler Ha兴趣小组(SIG) +[English](./sig-Ha.md) | 简体中文 + +Ha SIG小组致力于将Ha这款业界知名的开源企业级高可用解决方案引入至openEuler社区中,并进行相关适配、迁移和优化,帮助用户解决实际问题, Ha SIG小组之前一直研究pacemaker + corosync的高可用集群软件,并且积累了近10万行的自主研发代码,Ha Sig小组将把部分研发成果贡献给openEuler社区,促进社区的发展。 + + +## Ha SIG组工作目标和范围 + +### 工作目标 + +- 在openEuler社区中添加对Ha的支持 +- 实施Ha在ARM64平台下的移植、适配和优化工作 +- 负责Ha相关软件包的规划、维护和升级 +- 处理Ha相关文档的多语言 +- 将openEuler社区中Ha的工作成果回馈给上游社区 +- 及时响应用户反馈,解决相关问题 + + +### 工作范围 + +- Ha相关软件包的维护、升级等 +- Ha相关依赖软件包(如果在openEuler中不存在)的引入、维护、升级等 +- Ha相关依赖软件包(如果在openEuler中已存在)的协调、维护等 +- Ha SIG组所有相关的文档、会议、邮件列表、IRC的管理 + + +### 交付物 + +- 源码和tar包 + + +### 该SIG管理的repository + +Ha相关软件包的仓库如下,详见: http://archive.kernel.org/centos-vault/8.1.1911/HighAvailability/Source/SPackages/ 和 http://archive.kernel.org/centos-vault/8.1.1911/AppStream/Source/SPackages/ 。 + +- https://gitee.com/src-openeuler/pacemaker +- https://gitee.com/src-openeuler/corosync +- https://gitee.com/src-openeuler/fence-agents +- https://gitee.com/src-openeuler/fence-virt +- https://gitee.com/src-openeuler/sbd +- https://gitee.com/src-openeuler/pcs +- https://gitee.com/src-openeuler/corosync-qdevice +- https://gitee.com/src-openeuler/drbd +- https://gitee.com/src-openeuler/drbd-utils +- https://gitee.com/src-openeuler/ha-api +- https://gitee.com/src-openeuler/ha-web +- https://gitee.com/src-openeuler/pacemaker-mgmt +- https://gitee.com/openeuler/ha-api +- https://gitee.com/openeuler/ha-web +- https://gitee.com/openeuler/pacemaker-mgmt + +## SIG基本信息 + +### 项目简介 +    https://gitee.com/openeuler/community/tree/master/sig/sig-Ha/ + +### Maintainers +- kylinos-cn +- hjimmy +- huihui0311 + +### Committers +- crrs666 + +### 邮件列表 +- dev@openeuler.org + +### IRC频道 +- #openeuler-dev + +### 对外联络人 +- kylinos-cn +- hjimmy diff --git a/sig/sig-Kernel/OWNERS b/sig/sig-Kernel/OWNERS new file mode 100644 index 0000000..2738e6c --- /dev/null +++ b/sig/sig-Kernel/OWNERS @@ -0,0 +1,4 @@ +maintainers: +- weiyj_lk +- xiexiuqi +- yangyingliang diff --git a/sig/sig-Kernel/README.md b/sig/sig-Kernel/README.md new file mode 100644 index 0000000..455af4e --- /dev/null +++ b/sig/sig-Kernel/README.md @@ -0,0 +1,51 @@ +# sig-Kernel + +*<请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<请在此给出SIG会议的时间>* + + + +# 成员 + +*<请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接) + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org>* + +- [邮件列表](kernel@openeuler.org) +- [IM](#openeuler-dev) + + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称: + +repository地址: + +- +- diff --git a/sig/sig-Kubernetes/OWNERS b/sig/sig-Kubernetes/OWNERS new file mode 100644 index 0000000..d8fc462 --- /dev/null +++ b/sig/sig-Kubernetes/OWNERS @@ -0,0 +1,3 @@ +maintainers: + - feynmanzhou + - calvinyu diff --git a/sig/sig-Kubernetes/README.md b/sig/sig-Kubernetes/README.md new file mode 100644 index 0000000..b2590b0 --- /dev/null +++ b/sig/sig-Kubernetes/README.md @@ -0,0 +1,36 @@ +# openEuler Kubernetes SIG + +- 在 openEuler 之上提供原生的 Kubernetes 和相关云原生工具一键安装支持 +- 提供标准的 Kubernetes 发行版 [KubeSphere](https://github.com/kubesphere/kubesphere),适配 openEuler +- 及时响应用户反馈,解决相关问题 + +# 组织会议 + +公开的会议时间:待定 + + +# 成员 + +### Maintainer列表 + +- 于爽[@calvinyu](https://gitee.com/calvinyu) +- 周鹏飞[@feynmanzhou](https://gitee.com/feynmanzhou) + +### Committer列表 + +- 于爽[@calvinyu](https://gitee.com/calvinyu) +- 周鹏飞[@feynmanzhou](https://gitee.com/feynmanzhou) + + +# 联系方式 + +- [邮件列表](dev@openeuler.org) +- [IRC频道](#openeuler-kubernetes) +- [IRC公开会议](#openeuler-meeting) + + +# 项目清单 + +项目名称:KubeSphere + +Repository 地址:目前还未在 openEuler org diff --git a/sig/sig-Kubernetes/sig-template.md b/sig/sig-Kubernetes/sig-template.md new file mode 100644 index 0000000..54d8365 --- /dev/null +++ b/sig/sig-Kubernetes/sig-template.md @@ -0,0 +1,61 @@ + +# openEuler Kubernetes SIG +English | [简体中文](./sig-template_cn.md) + +Kubernetes SIG is committed to focusing on the cloud native ecosystem around Kubernetes. Through [KubeSphere](https://github.com/kubesphere/kubesphere), it can seamlessly bridge the cloud native ecosystem tools with openEuler, and reduces the installation and learning curve of Kubernetes, in order to enable openEuler users to quickly set up a container platform. + +KubeSphere is an open source container platform built on Kubernetes, helps users to set up a cloud native stack, and provides the wizard web console. It has passed CNCF Kubernetes conformance test and Taishan 200 compatibility test. + +## SIG Mission + +- Support for one-click installation of native Kubernetes and related cloud native tools on top of openEuler +- Offer KubeSphere as the the standard Kubernetes distribution, adapts it onto openEuler +- Provide full-stack and open source DevOps capabilities based on openEuler + +## SIG Scope + +- Making Kubernetes and KubeSphere are adapted to openEuler for quick installation, +- Working for the iteration and continuous maintenance, response to users feedback, solve related questions +- Kubernetes SIG group related documents, members, meetings, mailing lists, IRC management + +### Deliverables + +Installer (tgz package), code, documents.  + +### Repositories and description managed by this SIG + +KubeSphere and Kubernetes installer will use the repository:https://gitee.com/openeuler/kubesphere + + +### Cross-domain and external-oriented processes + +TBD + +## Basic Information + +### Project Introduction +    +https://gitee.com/openeuler/community/tree/master/sig/sig-Kubernetes/ + + +### Maintainers +- Calvin Yu[@calvinyu](https://gitee.com/calvinyu) +- Feynman Zhou [@feynmanzhou](https://gitee.com/feynmanzhou) + +### Committers +- Calvin Yu[@calvinyu](https://gitee.com/calvinyu) +- Feynman Zhou [@feynmanzhou](https://gitee.com/feynmanzhou) + +### Mailing list +- dev@openeuler.org + +### IRC Channel +- #openeuler-kubernetes + +### Conference Information + +TBD + +### External Contact +- Calvin Yu[@calvinyu](https://gitee.com/calvinyu) +- Feynman Zhou [@feynmanzhou](https://gitee.com/feynmanzhou) diff --git a/sig/sig-Kubernetes/sig-template_cn.md b/sig/sig-Kubernetes/sig-template_cn.md new file mode 100644 index 0000000..e7448c6 --- /dev/null +++ b/sig/sig-Kubernetes/sig-template_cn.md @@ -0,0 +1,30 @@ + +# openEuler Kubernetes 兴趣小组(SIG) +[English](./sig-template.md) | 简体中文 + +Kubernetes SIG 致力于围绕以 Kubernetes 为核心的云原生生态,通过 [KubeSphere](https://github.com/kubesphere/kubesphere) 将云原生的生态工具无缝接入到 openEuler,降低用户对 Kubernetes 和相关云原生工具的安装与使用门槛,让云原生赋能 openEuler 用户。 + +KubeSphere 是一个开源的基于 Kubernetes 的容器平台,能够帮助用户快速搭建与运维云原生技术栈,提供可视化的操作界面,并且通过了 CNCF K8s 一致性认证和 Taishan 200 兼容性测试。 + +## Kubernetes SIG 组工作目标和范围 + +### 工作目标 + + - 在 openEuler 之上提供原生的 Kubernetes 和相关云原生工具一键安装支持 + - 提供标准的 Kubernetes 发行版 [KubeSphere](https://github.com/kubesphere/kubesphere),适配 openEuler + - 基于 openEuler 提供企业级全栈和开源的 DevOps 能力 + + +### 工作范围 + + - Kubernetes 与 KubeSphere 适配 openEuler,满足一键快速安装需求 + - 版本迭代与持续维护,及时响应用户反馈,解决相关问题 + - Kubernetes SIG 组相关的文档、成员、会议、邮件列表、IRC 的管理 + +### 交付物 + +Installer(Tar 包)、代码、文档等 + +### 跨领域和面向外部的流程 + +TBD diff --git a/sig/sig-RaspberryPi/OWNERS b/sig/sig-RaspberryPi/OWNERS new file mode 100644 index 0000000..9ec745a --- /dev/null +++ b/sig/sig-RaspberryPi/OWNERS @@ -0,0 +1,3 @@ +maintainers: + - jianminw + - woqidaideshi \ No newline at end of file diff --git a/sig/sig-RaspberryPi/README.md b/sig/sig-RaspberryPi/README.md new file mode 100644 index 0000000..74b63eb --- /dev/null +++ b/sig/sig-RaspberryPi/README.md @@ -0,0 +1,40 @@ +# openEuler RaspberryPi SIG + +- 在openEuler社区中添加对Raspberry Pi的支持 +- 根据openEuler迭代版本,持续完成openEuler向树莓派的移植,并提供openEuler的Raspberry Pi版本镜像的构建脚本和使用文档 +- 及时响应用户反馈,解决相关问题 + + +# 组织会议 + +- 公开的会议时间:北京时间,每周二 下午,3点~4点 + + +# 成员 + +### Maintainer列表 + +- 王建民[@jianminw](https://gitee.com/jianminw) +- 方亚芬[@woqidaideshi](https://gitee.com/woqidaideshi) + +### Committer列表 + +- 王建民[@jianminw](https://gitee.com/jianminw) +- 方亚芬[@woqidaideshi](https://gitee.com/woqidaideshi) + + +# 联系方式 + +- [邮件列表](dev@openeuler.org) +- [IRC频道](#openeuler-raspberrypi) +- [IRC公开会议](#openeuler-meeting) + + +# 项目清单 + +项目名称:RaspberryPi + +repository地址: + +- https://gitee.com/openeuler/raspberrypi +- https://gitee.com/openeuler/raspberrypi-kernel \ No newline at end of file diff --git a/sig/sig-RaspberryPi/sig-RaspberryPi.md b/sig/sig-RaspberryPi/sig-RaspberryPi.md new file mode 100644 index 0000000..87a2b1c --- /dev/null +++ b/sig/sig-RaspberryPi/sig-RaspberryPi.md @@ -0,0 +1,51 @@ +# openEuler RaspberryPi Special Interest Group (SIG) +English | [简体中文](./sig-RaspberryPi_cn.md) + +The openEuler RaspberryPi SIG aims at migrating openEuler to Raspberry Pi, in order to reduce the threshold for using openEuler and promote openEuler to new users. + + +## SIG Mission and Scope + +### Mission +- Add RaspberryPi support for openEuler community +- According to the iterative version of openEuler, constantly complete the migration of openEuler to Raspberry Pi, and provide scripts for building openEuler image on Raspberry Pi and documents +- Respond to users' feedback in a timely manner and resolve the problems + +### Scope + +- Migrate openEuler kernel to Raspberry PI, with further maintenance and upgrades +- Create and update openEuler image running on Raspberry Pi, provide image's build scripts and documents +- Manage the documentations, meetings, mailist and IRC within RaspberryPi SIG + +### Deliverables + +- Source and tar + +### Repositories and description managed by this SIG + +Repository of scripts for building openEuler image on Raspberry Pi and documents: https://gitee.com/openeuler/raspberrypi + +Repository of openEuler kernel source for Raspberry Pi:https://gitee.com/peneuler/raspberrypi-kernel + + +## Basic Information + +### Project Introduction + https://gitee.com/openeuler/community/tree/master/sig/sig-RaspberryPi/ + +### Maintainers +- jianminw +- woqidaideshi + +### Committers +- jianminw +- woqidaideshi + +### Mailing list +- dev@openeuler.org + +### IRC Channel +- #openeuler-raspberrypi + +### External Contact +- woqidaideshi diff --git a/sig/sig-RaspberryPi/sig-RaspberryPi_cn.md b/sig/sig-RaspberryPi/sig-RaspberryPi_cn.md new file mode 100644 index 0000000..73b94f1 --- /dev/null +++ b/sig/sig-RaspberryPi/sig-RaspberryPi_cn.md @@ -0,0 +1,53 @@ +# openEuler RaspberryPi兴趣小组(SIG) +[English](./sig-RaspberryPi.md) | 简体中文 + +RaspberryPi SIG小组致力于将openEuler移植到树莓派,以降低openEuler使用门槛,促进起始用户推广。 + + +## RaspberryPi SIG组工作目标和范围 + +### 工作目标 + + - 在openEuler社区中添加对Raspberry Pi的支持 + - 根据openEuler迭代版本,持续完成openEuler向树莓派的移植,并提供openEuler的Raspberry Pi版本镜像的构建脚本和使用文档 + - 及时响应用户反馈,解决相关问题 + +### 工作范围 + + - openEuler内核源码向Raspberry Pi的移植,以及后续维护、升级等 + - openEuler Raspberry Pi版本镜像的构建、更新,并提供构建镜像的脚本和使用文档等 + - RaspberryPi SIG组所有相关的文档、会议、邮件列表、IRC的管理 + +### 交付物 + +- 源码和tar包 + +### 该SIG管理的repository及描述 + +openEuler Raspberry Pi镜像的构建脚本和使用文档仓库:https://gitee.com/openeuler/raspberrypi + +openEuler Raspberry Pi内核源码仓库:https://gitee.com/openeuler/raspberrypi-kernel + + +## SIG基本信息 + +### 项目简介 + +https://gitee.com/openeuler/community/tree/master/sig/sig-RaspberryPi/ + +### Maintainers +- jianminw +- woqidaideshi + +### Committers +- jianminw +- woqidaideshi + +### 邮件列表 +- dev@openeuler.org + +### IRC频道 +- #openeuler-raspberrypi + +### 对外联络人 +- woqidaideshi \ No newline at end of file diff --git a/sig/sig-UKUI/OWNERS b/sig/sig-UKUI/OWNERS new file mode 100644 index 0000000..ca4d813 --- /dev/null +++ b/sig/sig-UKUI/OWNERS @@ -0,0 +1,7 @@ +maintainers: +- handsome_feng +- lmq3342xja +- litianzhi_kylin +- xianmaxianmai +- dou33 +- zjay998 diff --git a/sig/sig-UKUI/README.md b/sig/sig-UKUI/README.md new file mode 100644 index 0000000..8bd81db --- /dev/null +++ b/sig/sig-UKUI/README.md @@ -0,0 +1,39 @@ +# UKUI SIG + +## 使命和愿景 + +UKUI 是麒麟软件桌面研发团队开发的基于 Linux 发行版的轻量级桌面环境,其设计紧贴普通用户需求,特别是针对有一定 Windows 系统使用习惯的用户,减少其使用 Linux 系统的学习成本。2019年,麒麟软件全面启动 UKUI 3.0 的设计和研发工作,全新的 UKUI 3.0 使用Qt开发,秉承 “友好易用,简单轻松” 的设计理念,将为用户提供更愉快的交互体验。 + +您可以访问 UKUI 的[官网](http://www.ukui.org/) 获得关于 UKUI 的更多信息,也可以访问 [UKUI 3.0 Preview-Start Menu ](http://www.ukui.org/news/20200205.html) 和 [UKUI 3.0 Preview-TaskBar](http://www.ukui.org/news/20200227.html) 欣赏 UKUI 3.0 的相关视频。 + +## SIG组职责 + +- 在openEuler社区中添加对 UKUI 3.0 的支持 +- 负责 UKUI 3.0 相关软件包的规划、维护和升级 +- 及时响应用户反馈,解决相关问题 + + +# 组织会议 + +- 公开的会议时间:北京时间,每周三 下午,4点~5点 + + +# 成员 + +### Maintainers列表 +- 李剑峰[@handsome_feng](https://gitee.com/handsome_feng) +- 吴孝夷[@lmq3342xja](https://gitee.com/lmq3342xia) +- 李天智[@litianzhi_kylin](https://gitee.com/litianzhi_kylin) + + +### Committers列表 +- 唐广[@xianmaxianmai](https://gitee.com/xianmaxianmai) +- 窦龑[@dou33](https://gitee.com/dou33) +- 张俊[@zjay998](https://gitee.com/zjay998) + + +# 联系方式 + +- [邮件列表](dev@openeuler.org) +- [IRC频道](#openeuler-dev) +- [IRC公开会议](#openeuler-meeting) diff --git a/sig/sig-UKUI/sig-UKUI.md b/sig/sig-UKUI/sig-UKUI.md new file mode 100644 index 0000000..68d8c37 --- /dev/null +++ b/sig/sig-UKUI/sig-UKUI.md @@ -0,0 +1,86 @@ + +# openEuler UKUI Special Interest Group (SIG) +English | [简体中文](./sig-UKUI_cn.md) + +The openEuler UKUI SIG aims at introducing UKUI 3.0, a well-known and easy to use Linux desktop environmennt, to the openEuler community. We also dedicate to its relevant work on migration, adaptation and optimization to make it as a Linux desktop environment officially supported by openEuler. + + +## SIG Mission and Scope + +### Mission + +- Add UKUI 3.0 support for openEuler community +- Migrate, adapte and optimize UKUI 3.0 within openEuler +- Respond to user feedback in a timely manner and resolove the problems + + +### Scope + +- Maintain and upgrade the UKUI 3.0 packages +- Introduce, maintain and upgrade the dependency packages of UKUI 3.0 that not included in openEuler community +- Cooperate and maintain the dependency packages of UKUI 3.0 that already included in openEuler community +- Manage the documentations, meetings, mailist and IRC within UKUI SIG + + +### Deliverables + +- Source and tar + + +### Repositories managed by this SIG + +The repositories related to oVirt are listed below, see https://github.com/ukui/ for details. + +- https://gitee.com/src-openeuler/qt5-ukui-platformtheme +- https://gitee.com/src-openeuler/peony +- https://gitee.com/src-openeuler/ukui-control-center +- https://gitee.com/src-openeuler/ukui-sidebar +- https://gitee.com/src-openeuler/ukui-panel +- https://gitee.com/src-openeuler/ukui-window-switch +- https://gitee.com/src-openeuler/ukui-power-manager +- https://gitee.com/src-openeuler/ukui-screensaver +- https://gitee.com/src-openeuler/ukui-media +- https://gitee.com/src-openeuler/ukui-menu +- https://gitee.com/src-openeuler/ukui-session-manager +- https://gitee.com/src-openeuler/ukui-settings-daemon +- https://gitee.com/src-openeuler/kylin-nm +- https://gitee.com/src-openeuler/ukui-themes +- https://gitee.com/src-openeuler/ukui-biometric-manager +- https://gitee.com/src-openeuler/ukui-biometric-auth +- https://gitee.com/src-openeuler/peony-extensions +- https://gitee.com/src-openeuler/ukui-greeter +- https://gitee.com/src-openeuler/ukylin-feedback-client +- https://gitee.com/src-openeuler/ukwm +- https://gitee.com/src-openeuler/ukui-interface +- https://gitee.com/src-openeuler/ukui-screenshot +- https://gitee.com/src-openeuler/ukui-indicators +- https://gitee.com/src-openeuler/biometric-authentication + + +## Basic Information + +### Project Introduction + +https://gitee.com/openeuler/community/tree/master/sig/sig-UKUI/ + +### Maintainers +- handsome_feng +- lmq3342xja +- litianzhi_kylin + +### Committers +- xianmaxianmai +- dou33 +- zjay998 + +### Committers +- crrs666 + +### Mailing list +- dev@openeuler.org + +### IRC Channel +- #openeuler-dev + +### External Contact +- handsome_feng diff --git a/sig/sig-UKUI/sig-UKUI_cn.md b/sig/sig-UKUI/sig-UKUI_cn.md new file mode 100644 index 0000000..6971e5b --- /dev/null +++ b/sig/sig-UKUI/sig-UKUI_cn.md @@ -0,0 +1,82 @@ +# openEuler UKUI兴趣小组(SIG) +[English](./sig-UKUI.md) | 简体中文 + +UKUI SIG小组致力于将 UKUI 3.0 这款知名易用的 Linux 桌面环境引入至 openEuler 社区中,并进行相关适配、迁移和优化,使其成为 openEuler 社区官方支持桌面环境之一。 + + +## UKUI SIG组工作目标和范围 + +### 工作目标 + +- 在openEuler社区中添加对 UKUI 3.0 的支持 +- 负责 UKUI 3.0 相关软件包的规划、维护和升级 +- 及时响应用户反馈,解决相关问题 + + +### 工作范围 + +- UKUI 3.0 相关软件包的维护、升级等 +- UKUI 3.0 相关依赖软件包(如果在openEuler中不存在)的引入、维护、升级等 +- UKUI 3.0 相关依赖软件包(如果在openEuler中已存在)的协调、维护等 +- UKUI SIG组所有相关的文档、会议、邮件列表、IRC的管理 + + +### 交付物 + +- 源码和tar包 + + +### 该SIG管理的repository + +UKUI 相关软件包的仓库详见:https://github.com/ukui/。 + +- https://gitee.com/src-openeuler/qt5-ukui-platformtheme +- https://gitee.com/src-openeuler/peony +- https://gitee.com/src-openeuler/ukui-control-center +- https://gitee.com/src-openeuler/ukui-sidebar +- https://gitee.com/src-openeuler/ukui-panel +- https://gitee.com/src-openeuler/ukui-window-switch +- https://gitee.com/src-openeuler/ukui-power-manager +- https://gitee.com/src-openeuler/ukui-screensaver +- https://gitee.com/src-openeuler/ukui-media +- https://gitee.com/src-openeuler/ukui-menu +- https://gitee.com/src-openeuler/ukui-session-manager +- https://gitee.com/src-openeuler/ukui-settings-daemon +- https://gitee.com/src-openeuler/kylin-nm +- https://gitee.com/src-openeuler/ukui-themes +- https://gitee.com/src-openeuler/ukui-biometric-manager +- https://gitee.com/src-openeuler/ukui-biometric-auth +- https://gitee.com/src-openeuler/peony-extensions +- https://gitee.com/src-openeuler/ukui-greeter +- https://gitee.com/src-openeuler/ukylin-feedback-client +- https://gitee.com/src-openeuler/ukwm +- https://gitee.com/src-openeuler/ukui-interface +- https://gitee.com/src-openeuler/ukui-screenshot +- https://gitee.com/src-openeuler/ukui-indicators +- https://gitee.com/src-openeuler/biometric-authentication + + +## SIG基本信息 + +### 项目简介 + +https://gitee.com/openeuler/community/tree/master/sig/sig-UKUI/ + +### Maintainers +- handsome_feng +- lmq3342xja +- litianzhi_kylin + +### Committers +- xianmaxianmai +- dou33 +- zjay998 + +### 邮件列表 +- dev@openeuler.org + +### IRC频道 +- #openeuler-dev + +### 对外联络人 +- handsome_feng diff --git a/sig/sig-ai-bigdata/OWNERS b/sig/sig-ai-bigdata/OWNERS new file mode 100644 index 0000000..e6a26b1 --- /dev/null +++ b/sig/sig-ai-bigdata/OWNERS @@ -0,0 +1,6 @@ +maintainers: + - sinever + - ZZZHB + - njlzk + - myeuler + - chxssg \ No newline at end of file diff --git a/sig/sig-ai-bigdata/README.md b/sig/sig-ai-bigdata/README.md new file mode 100644 index 0000000..c2f2c2a --- /dev/null +++ b/sig/sig-ai-bigdata/README.md @@ -0,0 +1,46 @@ +# sig-ai-bigdata + + - 大数据和人工智能已经深入到社会的很多领域,各行各业都可以用来提高生产力。工业界、学术界之外也有众多爱好者,为了更好的支持科研院所、生产企业中爱好者、开发者在openeuler上更快更好的进行大数据和人工智能的实践,open euler也需要具备大数据和人工智能的相关能力。 + - 将artificial intelligence和big data放在一起的原因 + - 一方面当大数据大规模用于生产时,人工智能还在实验阶段,另一方面,人工智能的普及也是从一个应用,一个部分逐步展开的, + 导致很多公司的大数据和人工智能从上到下都是两套甚至多套,形成割裂局面,而实际上,大数据的处理结果还可以用于模型训练,而模型的训练需要的样本也需要大数据技术进行预处理。 + 逐步意识到这个问题后,很多大数据工具有了模型训练和推理功能,如sparkml, flinkml,而众多人工智能框架也在逐渐增强数据处理能力,更是催生了submarine、tony这种大数据和人工智能的融合工具。 + 因此open euler里直接将大数据和人工智能放在一起考虑。 + - 该SIG的业务范围 + - open euler中大数据和人工智能的基础运行能力,包括对各种芯片的支持和加速库,各种数据仓库,分析引擎,训练引擎,算法库,数据集等。 + - open euler中大数据和人工智能的统一平台,将各种常用的工具软件集成提供统一的用户界面解决各种维护环境的痛苦,让大数据和人工智能在open euler上更易上手,更好用。 + - open euler中大数据和人工智能的性能优化,对通用软件在open euler上的性能优化 + - open euler中大数据和人工智能的能力集成,新芯片和软件进入open euler时的支持 + +# 会议 + +- 每周五上午11:00 - 11:30 +- 线上 +- ZOOM地址:https://zoom.com.cn/j/558675882 + +# 成员 + +### Maintainer列表 + - sinever + - ZZZHB + - njlzk + - myeuler + - chxssg + +### Committer列表 + +- sinever + + +# 联系方式 +- [邮件列表](sig-ai-bigdata@openeuler.org) +- [IRC公开会议]() +- [slack](openeuler.slack.com) + + + + + +# 项目清单 +## 项目名称: +## repository地址: \ No newline at end of file diff --git a/sig/sig-ai-bigdata/sig-ai-bigdata.md b/sig/sig-ai-bigdata/sig-ai-bigdata.md new file mode 100644 index 0000000..26d979b --- /dev/null +++ b/sig/sig-ai-bigdata/sig-ai-bigdata.md @@ -0,0 +1,66 @@ + +# Application to create a new SIG +English | [简体中文](./sig-ai-bigdata_cn.md) + + +Note: The Charter of this SIG follows the convention described in the openEuler charter [README] (/en/governance/README.md), and follows [SIG-governance] (/en/technical-committee/governance/SIG-governance.md). + +## SIG Mission and Scope + +- Why we create sig-ai-bigdata in openEuler + - Big data and artificial intelligence have penetrated into many areas of our society, and used to improve productivity in many industries. + There are lots of enthusiasts outside the industrial and academic circles. + It is necessary to provide big data and artificial intelligence-related capabilities in open euler for scientists in research institutes and enthusiasts to implement big data and artificial intelligence on open euler, + +- Why we keep artificial intelligence and big data together + - On the one hand, when big data is used in production on a large scale, artificial intelligence is still in the experimental stage, on the other hand, the popularization of artificial intelligence is gradually being imported from one application to another, leading to a split situation of the big data and artificial intelligence in many companies. + In fact, the processing results of big data can then be used for model training, and the samples required for model training also require big data technology for preprocessing. + After gradually realizing this, many big data tools have model training and inference functions, such as sparkml for spark, flinkml for flink, and many artificial intelligence frameworks are gradually enhancing their data processing capabilities, which has also spawned a few fusion tools such as big data and tony. + Therefore, big data and artificial intelligence are directly considered together in open euler. + +- The scope of the SIG + - Basic capabilities of big data and artificial intelligence in open euler, including but not limited to supporting and accelerating libraries for various chips, various data warehouses, analysis engines, training engines, algorithm libraries, data sets, etc. + - A unified platform for big data and artificial intelligence in open euler, integrating various commonly used tools and software to provide a unified user interface to make big data and artificial intelligence easier and better to use on open euler. + - Performance optimization of big data and artificial intelligence in open euler. + - Integration of big data and artificial intelligence capabilities in open euler, supporting new chips and softwares in open euler + +- Which SIGs in openEuler to coorperate with + - Some tool may have some dependency packages or libs, and in addition, they may have dependencies on kernel subsystems during new hardware support and performance optimization. +  +### Repositories and description managed by this SIG + +- project name: to be determined + - data collection + - data store, cache, query + - visualization + - framework and library for data analysis + - model training and predicting + - develop environment + - resource management + - to be continued + +## Basic Information + +### Project Introduction +    https: /gitee.com/openeuler/community/sig/sig-ai-bigdata/ + +### Maintainers + - sinever + - ZZZHB + - njlzk + - myeuler + - chxssg + +### Committers + - sinever + +### Mailing list + +### IRC Channel + +### Conference Information + +### External Contact +-Name (Gitee ID) +``` + diff --git a/sig/sig-ai-bigdata/sig-ai-bigdata_cn.md b/sig/sig-ai-bigdata/sig-ai-bigdata_cn.md new file mode 100644 index 0000000..b22cfaf --- /dev/null +++ b/sig/sig-ai-bigdata/sig-ai-bigdata_cn.md @@ -0,0 +1,48 @@ + +# 新建SIG申请 +[English](./sig-ai-bigdata.md) | 简体中文 + + +说明:本SIG的Charter内容遵循openEuler章程 [README](/zh/governance/README.md)中描述的约定,使用[SIG-governance](/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## SIG组工作目标和范围 + + - sig-ai-bigdata的必要性 + - 大数据和人工智能已经深入到社会的很多领域,各行各业都可以用来提高生产力。工业界、 + 学术界之外也有众多爱好者,为了更好的支持科研院所、生产企业中爱好者、开发者在open euler上更快更好的进行大数据和 + 人工智能的实践,open euler也需要具备大数据和人工智能的相关能力。 + - 将artificial intelligence和big data放在一起的原因 + - 一方面当大数据大规模用于生产时,人工智能还在实验阶段,另一方面,人工智能的普及也是从一个应用,一个部分逐步展开的, + 导致很多公司的大数据和人工智能从上到下都是两套甚至多套,形成割裂局面,而实际上,大数据的处理结果还可以用于模型训练,而模型的训练需要的样本也需要大数据技术进行预处理。 + 逐步意识到这个问题后,很多大数据工具有了模型训练和推理功能,如sparkml, flinkml,而众多人工智能框架也在逐渐增强数据处理能力,更是催生了submarine、tony这种大数据和人工智能的融合工具。 + 因此open euler里直接将大数据和人工智能放在一起考虑。 + - 该SIG的业务范围 + - open euler中大数据和人工智能的基础运行能力,包括对各种芯片的支持和加速库,各种数据仓库,分析引擎,训练引擎,算法库,数据集等。 + - open euler中大数据和人工智能的统一平台,将各种常用的工具软件集成提供统一的用户界面解决各种维护环境的痛苦,让大数据和人工智能在openeuler上更易上手,更好用。 + - open euler中大数据和人工智能的性能优化,对通用软件在open euler上的性能优化 + - open euler中大数据和人工智能的能力集成,新芯片和软件进入open euler时的支持 + + - 该SIG需要得到openEuler内哪些SIG的支持 + - 有些工具安装会有一些依赖,另外在新硬件支持和性能优化过程中对内核各子系统也可能有依赖。 + + ### 该SIG管理的repository及描述 + +- 项目名称:待讨论后确定 + - 数据采集 + - 数据存储、缓存、查询 + - 可视化 + - 数据分析框架与库 + - 模型训练与推理 + - 开发环境 + - 资源管理 + - 待补充 + + + ### 跨领域和面向外部的流程 + + 由该SIG定义和执行的,且跨领域和面向外部的流程和行动: + + - 非内部流程清单 + - 该SIG拥有的面向整个openEulerSIG的组织指导计划等 + + diff --git a/sig/sig-bounds_checking_function/OWNERS b/sig/sig-bounds_checking_function/OWNERS new file mode 100644 index 0000000..131515a --- /dev/null +++ b/sig/sig-bounds_checking_function/OWNERS @@ -0,0 +1,3 @@ +maintainers: + - shiguangliang01 + - zhaozhijian01 diff --git a/sig/sig-bounds_checking_function/README.md b/sig/sig-bounds_checking_function/README.md new file mode 100644 index 0000000..f57206a --- /dev/null +++ b/sig/sig-bounds_checking_function/README.md @@ -0,0 +1,31 @@ +# bounds_checking_function + +- 遵循C11 Annex K (Bounds-checking interfaces)的标准,选取并实现了常见的内存/字符串操作类的函数,如memcpy_s、strcpy_s等函数。 +- 未来将分析C11 Annex K中的其他标准函数,如果有必要,将在该组织中实现。 +- 处理边界检查函数的版本发布、更新以及维护。 + +# 成员 + + +### Maintainer列表 + +- shiguangliang[@shiguangliang01](#https://gitee.com/shiguangliang01) +- zhaozhijian[@zhaozhijian01](#https://gitee.com/zhaozhijian01) + + +### Committer列表 + +- liujiajian[@jia_jian_liu](#https://gitee.com/jia_jian_liu) + +# 联系方式 + +- [邮件列表](sig-bounds_checking_function@openeuler.org) + + +# 项目清单 + +项目名称:bounds_checking_function + +repository地址: + +- https:/gitee.com/openeuler/bounds_checking_function/ diff --git a/sig/sig-bounds_checking_function/sig-bounds_checking_function.md b/sig/sig-bounds_checking_function/sig-bounds_checking_function.md new file mode 100644 index 0000000..9834e08 --- /dev/null +++ b/sig/sig-bounds_checking_function/sig-bounds_checking_function.md @@ -0,0 +1,26 @@ + +# Application to create a new SIG +English | [简体中文](./sig-bounds_checking_function.md) + + +Note: The Charter of this SIG follows the convention described in the openEuler charter [README] (/en/governance/README.md), and follows [SIG-governance] (/en/technical-committee/governance/SIG-governance.md). + +## SIG Mission and Scope + +Describe the Mission and objectives of the new SIG, including but not limited to: + +- provides the basic boundary checking function source code + +- handles the release, update, and maintenance of boundary checking functions + + +  +### Repositories and description managed by this SIG + +- project name: bounds_checking_function + +- delivery form: source code + +- name: bounds_checking_function + + diff --git a/sig/sig-bounds_checking_function/sig-bounds_checking_function_cn.md b/sig/sig-bounds_checking_function/sig-bounds_checking_function_cn.md new file mode 100644 index 0000000..da7b84b --- /dev/null +++ b/sig/sig-bounds_checking_function/sig-bounds_checking_function_cn.md @@ -0,0 +1,19 @@ + +# 新建SIG申请 +[English](./sig-bounds_checking_function.md) | 简体中文 + + +说明:本SIG的Charter内容遵循openEuler章程 [README](/zh/governance/README.md)中描述的约定,使用[SIG-governance](/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## SIG组工作目标和范围 + + - 提供基础的边界检查函数的源代码 + + - 处理边界检查函数的版本发布、更新以及维护 + + ### 该SIG管理的repository及描述 + +- 项目名称:bounds_checking_function + - 交付件形式:源码 + - 名称:bounds_checking_function + diff --git a/sig/sig-dpdk/OWNERS b/sig/sig-dpdk/OWNERS new file mode 100644 index 0000000..c6af5d5 --- /dev/null +++ b/sig/sig-dpdk/OWNERS @@ -0,0 +1,4 @@ +maintainers: + - zhb339 +Committer: + - speech_white diff --git a/sig/sig-dpdk/README.md b/sig/sig-dpdk/README.md new file mode 100644 index 0000000..8ae4e79 --- /dev/null +++ b/sig/sig-dpdk/README.md @@ -0,0 +1,49 @@ + +# SIG名称 +sig-dpdk + +申请该SIG组的目的是构建一个DPDK开源软件的开发平台,包括创建仓库,遵循maintainer检视机制等, +该SIG业务范围主要是DPDK PMD驱动的开发维护,暂不需要其他SIG支持 + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + + +北京时间,每周五 下午,14点~13点 + + +# 成员 + +@zhb339 @speech_white + +### Maintainer列表 + +- 郑闳博[@zhb339](https://gitee.com/zhb339) + + + +### Committer列表 + +- 胡敏[@speech_whie](https://gitee.com/speech_white) + + + +# 联系方式 + +- [邮件列表](dev@openeuler.org) +- [IRC公开会议](#openeuler-meeting) + + + + + +# 项目清单 + +项目名称:dpdk + +repository地址: +https://gitee.com/speech_white/dpdk.git +- +- diff --git a/sig/sig-dpdk/sig-dpdk.md b/sig/sig-dpdk/sig-dpdk.md new file mode 100644 index 0000000..285d798 --- /dev/null +++ b/sig/sig-dpdk/sig-dpdk.md @@ -0,0 +1,55 @@ + +# Application to create a new SIG +English | [简体中文](./sig-template_cn.md) + + +Note: The Charter of this SIG follows the convention described in the openEuler charter [README] (/en/governance/README.md), and follows [SIG-governance] (/en/technical-committee/governance/SIG-governance.md). + +## SIG Mission and Scope + +Describe the Mission and objectives of the new SIG, including but not limited to: +The purpose of applying for the SIG group is to build a DPDK open-source software development platform, including creating a repository and following the maintainer review mechanism, +The SIG service scope is mainly the development and maintenance of the DPDK PMD driver. Other SIGs are not required. + + +### Deliverables + +What and in what form the SIG is responsible for delivering + +- tar + +### Repositories and description managed by this SIG + https://gitee.com/speech_white/dpdk.git + +### Cross-domain and external-oriented processes + +Cross-domain and externally-oriented processes and actions defined and implemented by this SIG: + +- Non-Internal Process Checklist + +- The organization guidance plan for the entire openEulerSIG owned by this SIG, etc. + + +## Basic Information + +### Project Introduction +    https://gitee.com/speech_white/dpdk.git + +***Tips***: After the SIG is successfully created, https: /gitee.com/openeuler/community/sig/sig-xxxx/ management will be managed by the Maintainer, and the project team can enrich their project introduction, including but not limited to the following content. +``` +### Maintainers +- Name (zhb339) + +### Committers +- Name (speech_white) + +### Mailing list + +### IRC Channel + +### Conference Information + +### External Contact +``` + + diff --git a/sig/sig-dpdk/sig-dpdk_cn.md b/sig/sig-dpdk/sig-dpdk_cn.md new file mode 100644 index 0000000..86f8888 --- /dev/null +++ b/sig/sig-dpdk/sig-dpdk_cn.md @@ -0,0 +1,19 @@ + +# 新建SIG申请 +[English](./sig-template.md) | 简体中文 + +说明:本SIG的Charter内容遵循openEuler章程 [README](/zh/governance/README.md)中描述的约定,使用[SIG-governance](/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## SIG组工作目标和范围 + 申请该SIG组的目的是构建一个DPDK开源软件的开发平台,包括创建仓库,遵循maintainer检视机制等, + 该SIG业务范围主要是DPDK PMD驱动的开发维护,暂不需要其他SIG支持 + +### 该SIG管理的repository及描述 +- 项目名称:dpdk +- 交付件形式:rpm包 +- repository1名称:https://gitee.com/speech_white/dpdk.git + +### 跨领域和面向外部的流程 +由该SIG定义和执行的,且跨领域和面向外部的流程和行动: +- 非内部流程清单 +- 该SIG拥有的面向整个openEulerSIG的组织指导计划等 diff --git a/sig/sig-mate-desktop/OWNERS b/sig/sig-mate-desktop/OWNERS new file mode 100644 index 0000000..ce640d5 --- /dev/null +++ b/sig/sig-mate-desktop/OWNERS @@ -0,0 +1,3 @@ +maintainers: + - isoft-linux + - zhigaozhang diff --git a/sig/sig-mate-desktop/README.md b/sig/sig-mate-desktop/README.md new file mode 100644 index 0000000..6aa35d1 --- /dev/null +++ b/sig/sig-mate-desktop/README.md @@ -0,0 +1,65 @@ +***注意:本文档所有的斜体内容,请在完成时删除*** + +# SIG名称 +mate-desktop + + +## SIG组工作目标和范围 + +- MATE桌面环境是GNOME2的延续。它为Linux和其他类似Unix的操作系统提供了直观且有吸引力的桌面环境。MATE桌面有42个组件,其中21个为核心组件,如caja、mate-panel、mate-desktop、mate-session-manager等,并且其上游社区活跃。 +- 不依赖于内核,可以使用到多个Linux开发版本中,例如Ubuntu、Debian、LinuxMint、Fedora等, +- 对openEuler引入修改的包有xorg-x11-xinit。 +- 自MATE 1.20版本后已完成从GTK2到GTK3的迁移,并整合GNOME3中的一些合适的新特性,为了避免和GNOME组件冲突,MATE重命名了一些应用程序,如文件管理器caja,其是基于Nautilus的修改版本,图片查看器MATE之眼,其是GNOME之眼的修改版本,MATE终端,其是GNOME终端的修改版本,目前为止MATE已经与GNOME3兼容并存。 +- Mate可以与其它的桌面环境包括KDE、GNOME等共存于openEuler中。 +- 随着版本的更新,一些漏洞问题我们会通过MATE上游社区或者普华研发人员修改。 +- 目前,MATE正在积极开发中,以增加对新技术的支持,同时保留传统的桌面体验。 + + + +# 组织会议 + +- 公开的会议时间:北京时间,双周三 下午,2点~3点 + 会议可通过现场或者远程视频进行,会提前提醒通知会议,如遇时间冲突,可研究延迟会议。 + + + +# 成员 +- 武校田 isoft-linux +- 张志高 zhigaozhang +- 豆彩霞 ja_angie_dou +- 王婧 wangjing95 + +### Maintainer列表 + +- 武校田[@isoft-linux](giteeID链接) +- 张志高[@zhigaozhang](giteeID链接) + + +### Committer列表 + +- 武校田[@isoft-linux](giteeID链接) +- 张志高[@zhigaozhang](giteeID链接) +- 豆彩霞[@ja_angie_dou](giteeID链接) +- 王婧[@wangjing95](giteeID链接) + + + +# 联系方式 + +- [邮件列表] + mate_desktop@groups.163.com + 注:请点击http://163.fm/INHbd8AV加入到邮件列表 + + + + +# 项目清单 + +*<项目名称和申请表格一致,具体地址可以在申请下来以后在刷新>* + +项目名称:mate-desktop + +repository地址: + +- +- diff --git a/sig/sig-mate-desktop/sig-mate-desktop.md b/sig/sig-mate-desktop/sig-mate-desktop.md new file mode 100644 index 0000000..0073705 --- /dev/null +++ b/sig/sig-mate-desktop/sig-mate-desktop.md @@ -0,0 +1,69 @@ + +# Application to create a new SIG +English | [简体中文](./sig-template_cn.md) + +mate-desktop + +## SIG Mission and Scope + +- The MATE desktop environment is a continuation of GNOME2. It provides an intuitive and attractive desktop environment for Linux and other Unix-like operating systems. The MATE desktop has 42 components, of which 21 are core components, such as caja, mate-panel, mate-desktop, mate-session-manager, etc., and its upstream community is active. +- Does not depend on the kernel and can be used in multiple Linux development versions, such as Ubuntu, Debian, LinuxMint, Fedora, etc. +- Xorg-x11-xinit is a package that introduces modifications to openEuler. +- MATE 1.20 has been migrated from GTK2 to GTK3 since MATE 1.20, and integrated some suitable new features in GNOME3. In order to avoid conflicts with GNOME components, MATE has renamed some applications, such as the file manager caja, which is based on A modified version of Nautilus, the eye of the picture viewer MATE, which is a modified version of the eye of GNOME, a MATE terminal, which is a modified version of the GNOME terminal, so far MATE has been compatible with GNOME3 and coexist. +- Mate can coexist with other desktop environments including KDE, GNOME, etc. in openEuler. +- With the update of the version, we will fix some vulnerabilities through the MATE upstream community or Pricewater R & D staff. +- Currently, MATE is actively developing to increase support for new technologies while retaining the traditional desktop experience. + +### Deliverables + +What and in what form the SIG is responsible for delivering +  +- tar + +- patch + +### Repositories and description managed by this SIG + +project name: mate-desktop + +deliverables: tar and patch or both + +### Cross-domain and external-oriented processes + +Cross-domain and externally-oriented processes and actions defined and implemented by this SIG: + +- Non-Internal Process Checklist + +- The organization guidance plan for the entire openEulerSIG owned by this SIG, etc. + + +## Basic Information + +### Project Introduction +    https: /gitee.com/isoft-linux/community/sig/sig-mate-desktop/ + + +### Maintainers +- wuxiaotian (@isoft-linux) +- zhangzhigao (@zhigaozhang) + +### Committers +- wuxiaotian (@isoft-linux) +- zhangzhigao (@zhigaozhang) +- doucaixia (@ja_angie_dou) +- wangjing (@wangjing95) + +### Mailing list + mate_desktop@groups.163.com + Note: Please click on http://163.fm/INHbd8AV to join the mailing list + + +### Conference Information +Regular meetings every two weeks. One hour each +The meeting can be carried out through on-site or remote video. The meeting will be reminded and notified in advance. In case of time conflict, you can study to delay the meeting. + + +### External Contact +-Name (Gitee ID) +``` + diff --git a/sig/sig-mate-desktop/sig-mate-desktop_cn.md b/sig/sig-mate-desktop/sig-mate-desktop_cn.md new file mode 100644 index 0000000..a8ab162 --- /dev/null +++ b/sig/sig-mate-desktop/sig-mate-desktop_cn.md @@ -0,0 +1,34 @@ + +# 新建SIG申请 +[English](./sig-template.md) | 简体中文 +mate-desktop + +## SIG组工作目标和范围 + +- MATE桌面环境是GNOME2的延续。它为Linux和其他类似Unix的操作系统提供了直观且有吸引力的桌面环境。MATE桌面有42个组件,其中21个为核心组件,如caja、mate-panel、mate-desktop、mate-session-manager等,并且其上游社区活跃。 +- 不依赖于内核,可以使用到多个Linux开发版本中,例如Ubuntu、Debian、LinuxMint、Fedora等, +- 对openEuler引入修改的包有xorg-x11-xinit。 +- 自MATE 1.20版本后已完成从GTK2到GTK3的迁移,并整合GNOME3中的一些合适的新特性,为了避免和GNOME组件冲突,MATE重命名了一些应用程序,如文件管理器caja,>其是基于Nautilus的修改版本,图片查看器MATE之眼,其是GNOME之眼的修改版本,MATE终端,其是GNOME终端的修改版本,目前为止MATE已经与GNOME3兼容并存。 +- Mate可以与其它的桌面环境包括KDE、GNOME等共存于openEuler中。 +- 随着版本的更新,一些漏洞问题我们会通过MATE上游社区或者普华研发人员修改。 +- 目前,MATE正在积极开发中,以增加对新技术的支持,同时保留传统的桌面体验。 + + + +### 该SIG管理的repository及描述 + +- 项目名称:mate-desktop + - 交付件形式:tar、patch形式提交 + - repository1名称:mate-desktop + - repository2名称: + + + +### 跨领域和面向外部的流程 + + 由该SIG定义和执行的,且跨领域和面向外部的流程和行动: + + - 非内部流程清单 + - 该SIG拥有的面向整个openEulerSIG的组织指导计划等 + + diff --git a/sig/sig-template/OWNERS b/sig/sig-template/OWNERS new file mode 100644 index 0000000..1b24e6e --- /dev/null +++ b/sig/sig-template/OWNERS @@ -0,0 +1,4 @@ +maintainers: + - giteeid1 + - giteeid2 + - giteeid3 \ No newline at end of file diff --git a/sig/sig-template/README.md b/sig/sig-template/README.md new file mode 100644 index 0000000..1ffc380 --- /dev/null +++ b/sig/sig-template/README.md @@ -0,0 +1,54 @@ +***注意:本文档所有的斜体内容,请在完成时删除*** + +# SIG名称 + +*<必选,请在此描述SIG的范围、工作职责和目标,可以直接用sig-template.md内描述的第一个章节>,* + + + +# 组织会议 + +- 公开的会议时间:北京时间,每周X 下午,XX点~XX点 + +*<可选,请在此给出SIG会议的时间,如SIG的公开会议时间还未确定,可以放到确定以后刷新>* + + + +# 成员 + +*<必选,请在此给出团队成员的列表>* + +### Maintainer列表 + +- name[@giteeID](giteeID链接),*邮箱地址* + + + +### Committer列表 + +- name[@giteeID](giteeID链接) + + + +# 联系方式 + +*<如果需要单独申请邮件列表,请在此补充邮箱名称:sig-yousigname@openeuler.org。如果不需要,请写上开发邮箱名称:dev@openeuler.org>* + +- [邮件列表](sig-yoursigname@openeuler.org) +- [IRC公开会议]() +- 视频会议 + + + + + +# 项目清单 + +*<可选,如果在申请SIG的时候,就有新项目,请完善此处内容。项目名称和申请表格一致,repository地址和repository.yaml内的申请地址一致>* + +项目名称: + +repository地址: + +- +- \ No newline at end of file diff --git a/sig/sig-template/sig-template.md b/sig/sig-template/sig-template.md new file mode 100644 index 0000000..453d397 --- /dev/null +++ b/sig/sig-template/sig-template.md @@ -0,0 +1,64 @@ + +# Application to create a new SIG +English | [简体中文](./sig-template_cn.md) + + +Note: The Charter of this SIG follows the convention described in the openEuler charter [README] (/en/governance/README.md), and follows [SIG-governance] (/en/technical-committee/governance/SIG-governance.md). + +## SIG Mission and Scope + +Describe the Mission and objectives of the new SIG, including but not limited to: + +- Why create a new SIG in openEuler + +- The scope of the SIG + +- Which SIGs in openEuler to coorperate with + + +### Deliverables + +What and in what form the SIG is responsible for delivering +  +- Source code + +- tar + +- Source and tar +  + +### Repositories and description managed by this SIG + + +### Cross-domain and external-oriented processes + +Cross-domain and externally-oriented processes and actions defined and implemented by this SIG: + +- Non-Internal Process Checklist + +- The organization guidance plan for the entire openEulerSIG owned by this SIG, etc. + + +## Basic Information + +### Project Introduction +    https: /gitee.com/openeuler/community/sig/sig-xxxx/ + +***Tips***: After the SIG is successfully created, https: /gitee.com/openeuler/community/sig/sig-xxxx/ management will be managed by the Maintainer, and the project team can enrich their project introduction, including but not limited to the following content. +``` +### Maintainers +- Name (Gitee ID) + +### Committers +- Name (Gitee ID) + +### Mailing list + +### IRC Channel + +### Conference Information + +### External Contact +-Name (Gitee ID) +``` + diff --git a/sig/sig-template/sig-template_cn.md b/sig/sig-template/sig-template_cn.md new file mode 100644 index 0000000..d436d7c --- /dev/null +++ b/sig/sig-template/sig-template_cn.md @@ -0,0 +1,39 @@ + +# 新建SIG申请 +[English](./sig-template.md) | 简体中文 + + +说明:本SIG的Charter内容遵循openEuler章程 [README](/zh/governance/README.md)中描述的约定,使用[SIG-governance](/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## SIG组工作目标和范围 + +用描述新申请SIG计划工作的范围和目标,包括但不限于: + + - 为什么需要在openEuler里创建一个这样的新SIG + + - 该SIG的业务范围 + + - 该SIG需要得到openEuler内哪些SIG的支持 + + + + ### 该SIG管理的repository及描述 + +- 项目名称: + - 交付件形式:源码、tar包或兼而有之 + - repository1名称: + - repository2名称: + + + + + + + ### 跨领域和面向外部的流程 + + 由该SIG定义和执行的,且跨领域和面向外部的流程和行动: + + - 非内部流程清单 + - 该SIG拥有的面向整个openEulerSIG的组织指导计划等 + + diff --git a/sig/sigs.yaml b/sig/sigs.yaml new file mode 100644 index 0000000..72d297b --- /dev/null +++ b/sig/sigs.yaml @@ -0,0 +1,4213 @@ +sigs: +- name: Infrastructure + repositories: + - openeuler/infrastructure + - openeuler/blog + - openeuler/ci-bot + - openeuler/website + - openeuler/go-gitee + - openeuler/openeuler-jenkins + - openeuler/gitbook-theme-hugo + - openeuler/tool-collections +- name: TC + repositories: + - openeuler/community +- name: doc + repositories: + - openeuler/docs +- name: Application + repositories: + - src-openeuler/esc + - src-openeuler/abrt + - src-openeuler/mikmod + - src-openeuler/libdvdread + - src-openeuler/libmicrohttpd + - src-openeuler/mc + - src-openeuler/fio + - src-openeuler/pptp + - src-openeuler/openal-soft + - src-openeuler/setuptool + - src-openeuler/gstreamer-plugins-good + - src-openeuler/qperf + - src-openeuler/linuxdoc-tools + - src-openeuler/docbook-utils + - src-openeuler/nss-altfiles + - src-openeuler/fontforge + - src-openeuler/GraphicsMagick + - src-openeuler/iio-sensor-proxy + - src-openeuler/pam_krb5 + - src-openeuler/texlive + - src-openeuler/wavpack + - src-openeuler/tpm-tools + - src-openeuler/rrdtool + - src-openeuler/freerdp + - src-openeuler/brasero + - src-openeuler/xmltoman + - src-openeuler/usb_modeswitch-data + - src-openeuler/psacct + - src-openeuler/sane-frontends + - src-openeuler/rpcsvc-proto + - src-openeuler/socat + - src-openeuler/scl-utils + - src-openeuler/gl-manpages + - src-openeuler/opensp + - src-openeuler/lksctp-tools + - src-openeuler/opensm + - src-openeuler/evince + - src-openeuler/libdvdnav + - src-openeuler/strongswan + - src-openeuler/file-roller + - src-openeuler/uid_wrapper + - src-openeuler/vorbis-tools + - src-openeuler/amanda + - src-openeuler/po4a + - src-openeuler/ipvsadm + - src-openeuler/infiniband-diags + - src-openeuler/netpbm + - src-openeuler/texlive-base + - src-openeuler/pax + - src-openeuler/dblatex + - src-openeuler/fdupes + - src-openeuler/dovecot + - src-openeuler/libmtp + - src-openeuler/soundtouch + - src-openeuler/gstreamer-plugins-base + - src-openeuler/libaec + - src-openeuler/Keras + - src-openeuler/wayland-protocols + - src-openeuler/tboot + - src-openeuler/xmms + - src-openeuler/nano + - src-openeuler/memcached + - src-openeuler/xsane + - src-openeuler/convmv + - src-openeuler/targetcli + - src-openeuler/docbook2X + - src-openeuler/pcp + - src-openeuler/libmikmod + - src-openeuler/console-setup + - src-openeuler/docbook-style-dsssl + - src-openeuler/enscript + - src-openeuler/linuxptp + - src-openeuler/fetchmail + - src-openeuler/lrzsz + - src-openeuler/gedit + - src-openeuler/rasqal + - src-openeuler/linuxconsoletools + - src-openeuler/stunnel + - src-openeuler/patchutils + - src-openeuler/mrtg + - src-openeuler/libmbim + - src-openeuler/pngquant + - src-openeuler/scrub + - src-openeuler/spamassassin + - src-openeuler/texi2html + - src-openeuler/tpm-quote-tools + - src-openeuler/ttmkfdir + - src-openeuler/gnome-calculator + - src-openeuler/cdrdao + - src-openeuler/gstreamer + - src-openeuler/gnuplot + - src-openeuler/paps + - src-openeuler/hwloc + - src-openeuler/wireshark + - src-openeuler/iperf3 + - src-openeuler/firefox + - src-openeuler/vinagre + - src-openeuler/alsa-utils + - src-openeuler/docbook5-style-xsl + - src-openeuler/mutt + - src-openeuler/transfig + - src-openeuler/openvpn + - src-openeuler/aspell + - src-openeuler/nss_wrapper + - src-openeuler/openjade + - src-openeuler/rdate + - src-openeuler/dump + - src-openeuler/psutils + - src-openeuler/indent + - src-openeuler/pesign + - src-openeuler/elinks + - src-openeuler/pnm2ppa + - src-openeuler/liblouis + - src-openeuler/doxygen + - src-openeuler/mailman + - src-openeuler/units + - src-openeuler/libvpx + - src-openeuler/icedtea-web + - src-openeuler/dnssec-trigger + - src-openeuler/tomcat + - src-openeuler/lynx + - src-openeuler/perftest + - src-openeuler/yelp-tools + - src-openeuler/nss-mdns + - src-openeuler/eog +- name: Programming-language + repositories: + - src-openeuler/keepalived + - src-openeuler/ndisc6 + - src-openeuler/perl-Module-Install-ReadmeFromPod + - src-openeuler/perl-Module-Install-ReadmeMarkdownFromPod + - src-openeuler/perl-Module-Install-Repository + - src-openeuler/perl-Module-Manifest-Skip + - src-openeuler/perl-Module-Package + - src-openeuler/perl-Module-Package-Au + - src-openeuler/perl-Module-ScanDeps + - src-openeuler/perl-Moo + - src-openeuler/perl-Path-Class + - src-openeuler/perl-Role-Tiny + - src-openeuler/perl-strictures + - src-openeuler/libimagequant + - src-openeuler/perl-Crypt-OpenSSL-Random + - src-openeuler/perl-Crypt-OpenSSL-Guess + - src-openeuler/openmpi + - src-openeuler/python-psutil + - src-openeuler/perl-NTLM + - src-openeuler/python-entrypoints + - src-openeuler/gnu-efi + - src-openeuler/libzip + - src-openeuler/libdwarf + - src-openeuler/ltrace + - src-openeuler/python-which + - src-openeuler/perl-Software-License + - src-openeuler/xcb-util-keysyms + - src-openeuler/apache-commons-io + - src-openeuler/autoconf213 + - src-openeuler/postgresql-jdbc + - src-openeuler/perl-Pod-Markdown + - src-openeuler/xerces-j2 + - src-openeuler/gperf + - src-openeuler/xdelta + - src-openeuler/python-iso8601 + - src-openeuler/python-sphinx-theme-alabaster + - src-openeuler/perl-Sub-Install + - src-openeuler/enchant2 + - src-openeuler/perl-Capture-Tiny + - src-openeuler/gssdp + - src-openeuler/uuid + - src-openeuler/mpich + - src-openeuler/python-attrs + - src-openeuler/perl-SGMLSpm + - src-openeuler/librelp + - src-openeuler/python-imagesize + - src-openeuler/perl-Path-Tiny + - src-openeuler/python-paramiko + - src-openeuler/python-sphinx + - src-openeuler/nvml + - src-openeuler/pkgconfig + - src-openeuler/python-virtualenv + - src-openeuler/python-configparser + - src-openeuler/perl-Config-AutoConf + - src-openeuler/xorg-x11-proto-devel + - src-openeuler/qt5-qtwebsockets + - src-openeuler/perl-WWW-RobotRules + - src-openeuler/python-pluggy + - src-openeuler/qt5-qtsensors + - src-openeuler/python-funcsigs + - src-openeuler/pywbem + - src-openeuler/qt5-qtquickcontrols + - src-openeuler/libuv + - src-openeuler/libpq + - src-openeuler/qt5-qtx11extras + - src-openeuler/perl-Data-UUID + - src-openeuler/python-traceback2 + - src-openeuler/perl-Text-Unidecode + - src-openeuler/dotconf + - src-openeuler/python-scons + - src-openeuler/xorg-x11-docs + - src-openeuler/perl-YAML-Tiny + - src-openeuler/mallard-rng + - src-openeuler/itstool + - src-openeuler/crash-gcore-command + - src-openeuler/intel-cmt-cat + - src-openeuler/qt5-qtdeclarative + - src-openeuler/qt5-qtquickcontrols2 + - src-openeuler/byacc + - src-openeuler/numpy + - src-openeuler/python-enchant + - src-openeuler/rpmlint + - src-openeuler/perl-HTTP-Message + - src-openeuler/libindicator + - src-openeuler/libappstream-glib + - src-openeuler/iowatcher + - src-openeuler/python-wheel + - src-openeuler/perl-NetAddr-IP + - src-openeuler/cppunit + - src-openeuler/perl-Authen-SASL + - src-openeuler/libpfm + - src-openeuler/python-pyasn1 + - src-openeuler/perl-LWP-MediaTypes + - src-openeuler/perl-Try-Tiny + - src-openeuler/perl-gettext + - src-openeuler/perl-Date-Calc + - src-openeuler/python-unittest2 + - src-openeuler/apache-commons-codec + - src-openeuler/check + - src-openeuler/tix + - src-openeuler/python-dns + - src-openeuler/python-atomicwrites + - src-openeuler/perl-IO-Socket-INET6 + - src-openeuler/cmocka + - src-openeuler/qt5-qtxmlpatterns + - src-openeuler/perl-IO-HTML + - src-openeuler/ninja-build + - src-openeuler/socket_wrapper + - src-openeuler/perl-Module-Build + - src-openeuler/pygobject2 + - src-openeuler/lua-posix + - src-openeuler/python-snowballstemmer + - src-openeuler/lua-lunit + - src-openeuler/qt5-qtconnectivity + - src-openeuler/qt5-qtsvg + - src-openeuler/compat-libgfortran + - src-openeuler/vte291 + - src-openeuler/Flask-RESTful + - src-openeuler/python-cryptography-vectors + - src-openeuler/python-lit + - src-openeuler/xcb-util-renderutil + - src-openeuler/xalan-j2 + - src-openeuler/jimtcl + - src-openeuler/perl-MailTools + - src-openeuler/python-pygments + - src-openeuler/perl-JSON + - src-openeuler/python-itsdangerous + - src-openeuler/cscope + - src-openeuler/perl-LWP-Protocol-https + - src-openeuler/ilmbase + - src-openeuler/perl-Crypt-OpenSSL-RSA + - src-openeuler/libstemmer + - src-openeuler/perl-File-Listing + - src-openeuler/ocaml + - src-openeuler/pygtk2 + - src-openeuler/python-urwid + - src-openeuler/python-linecache2 + - src-openeuler/gupnp + - src-openeuler/python-docutils + - src-openeuler/perl-inc-latest + - src-openeuler/ant + - src-openeuler/fakeroot + - src-openeuler/qt5-qtdoc + - src-openeuler/perl-MRO-Compat + - src-openeuler/perl-String-ShellQuote + - src-openeuler/clang + - src-openeuler/python-extras + - src-openeuler/python-mimeparse + - src-openeuler/perl-TimeDate + - src-openeuler/rhnlib + - src-openeuler/gtk-doc + - src-openeuler/ruby + - src-openeuler/perl-XML-Simple + - src-openeuler/perl-XML-LibXML + - src-openeuler/subunit + - src-openeuler/apache-commons-collections + - src-openeuler/scipy + - src-openeuler/SDL + - src-openeuler/perl-generators + - src-openeuler/perl-Test-Pod + - src-openeuler/neon + - src-openeuler/python-fonttools + - src-openeuler/lapack + - src-openeuler/libdbusmenu + - src-openeuler/python-netaddr + - src-openeuler/perl-Bit-Vector + - src-openeuler/gflags + - src-openeuler/libvma + - src-openeuler/perl-libxml-perl + - src-openeuler/intltool + - src-openeuler/python-sphinxcontrib-websupport + - src-openeuler/perl-Params-Util + - src-openeuler/qt5-qttools + - src-openeuler/autoconf-archive + - src-openeuler/python-cups + - src-openeuler/gupnp-igd + - src-openeuler/perl-IO-String + - src-openeuler/rust + - src-openeuler/perl-Net-HTTP + - src-openeuler/python-click + - src-openeuler/python-sure + - src-openeuler/python-backports_abc + - src-openeuler/perl-HTTP-Date + - src-openeuler/python-fixtures + - src-openeuler/obs-env + - src-openeuler/libspectre + - src-openeuler/perl-HTTP-Negotiate + - src-openeuler/vala + - src-openeuler/eglexternalplatform + - src-openeuler/python-genshi + - src-openeuler/gstreamer1-plugins-bad-free + - src-openeuler/python-blinker + - src-openeuler/xcb-util-wm + - src-openeuler/qt5-qttranslations + - src-openeuler/PyYAML + - src-openeuler/python-keyring + - src-openeuler/go-compilers + - src-openeuler/python-futures + - src-openeuler/perl-Test-Deep + - src-openeuler/perl-Text-CharWidth + - src-openeuler/perl-Devel-CheckLib + - src-openeuler/python-whoosh + - src-openeuler/qt5-qtwayland + - src-openeuler/golang-github-cpuguy83-go-md2man + - src-openeuler/perl-Module-Runtime + - src-openeuler/mvapich2 + - src-openeuler/python-more-itertools + - src-openeuler/perl-Data-OptList + - src-openeuler/apache-commons-lang + - src-openeuler/crash-trace-command + - src-openeuler/perl-File-Slurp + - src-openeuler/python-py + - src-openeuler/perl-Test-Warnings + - src-openeuler/python-netifaces + - src-openeuler/perl-Date-Manip + - src-openeuler/libdv + - src-openeuler/python-sqlalchemy + - src-openeuler/qt5-qtmultimedia + - src-openeuler/gnome-user-docs + - src-openeuler/meanwhile + - src-openeuler/qt5-qtcanvas3d + - src-openeuler/dict2xml + - src-openeuler/perl-XML-SAX + - src-openeuler/python-singledispatch + - src-openeuler/pyxdg + - src-openeuler/perl-Unicode-UTF8 + - src-openeuler/perl-XML-SAX-Base + - src-openeuler/java + - src-openeuler/python-pretend + - src-openeuler/libXScrnSaver + - src-openeuler/perl-Archive-Zip + - src-openeuler/perl-Text-WrapI18N + - src-openeuler/pytest + - src-openeuler/swig + - src-openeuler/lua-filesystem + - src-openeuler/perl-XML-XPath + - src-openeuler/pyflakes + - src-openeuler/dejagnu + - src-openeuler/python-testtools + - src-openeuler/jsoncpp + - src-openeuler/qt5-qtimageformats + - src-openeuler/perl-libwww-perl + - src-openeuler/qt5-qtserialport + - src-openeuler/python-distro + - src-openeuler/meson + - src-openeuler/perl-Data-Section + - src-openeuler/perl-ExtUtils-CBuilder + - src-openeuler/perl-Test-FailWarnings + - src-openeuler/qt5-qtbase + - src-openeuler/Cython + - src-openeuler/qpdf + - src-openeuler/python-pbr + - src-openeuler/cmake + - src-openeuler/papi + - src-openeuler/perl-Digest-HMAC + - src-openeuler/python-freezegun + - src-openeuler/nasm + - src-openeuler/perl-HTML-Tagset + - src-openeuler/python-hypothesis + - src-openeuler/openscap + - src-openeuler/gnome-common + - src-openeuler/python-packaging + - src-openeuler/qt5-qt3d + - src-openeuler/gspell + - src-openeuler/xcb-util-image + - src-openeuler/perl-Sys-Virt + - src-openeuler/python-SecretStorage + - src-openeuler/python-bottle + - src-openeuler/perl-libintl-perl + - src-openeuler/apache-commons-logging + - src-openeuler/python-greenlet + - src-openeuler/perl-Fedora-VSP + - src-openeuler/perl-Test-Needs + - src-openeuler/tinyxml2 + - src-openeuler/python2-typing + - src-openeuler/libfabric + - src-openeuler/xorg-x11-util-macros + - src-openeuler/perl-Text-Tabs-Wrap + - src-openeuler/pangomm + - src-openeuler/perl-Font-TTF + - src-openeuler/LibRaw + - src-openeuler/perl-Socket6 + - src-openeuler/perl-Test-NoWarnings + - src-openeuler/perl-Parse-Yapp + - src-openeuler/xcb-proto + - src-openeuler/flatpak + - src-openeuler/yum-metadata-parser + - src-openeuler/libell + - src-openeuler/perl-Carp-Clan + - src-openeuler/python-flit + - src-openeuler/qt5-qtlocation + - src-openeuler/libXp + - src-openeuler/python-configshell + - src-openeuler/python-werkzeug + - src-openeuler/python-mock + - src-openeuler/librdkafka + - src-openeuler/python-setuptools_scm + - src-openeuler/perl-HTML-Parser + - src-openeuler/python-pytoml + - src-openeuler/libsrtp + - src-openeuler/qt5-qtscript + - src-openeuler/python-gevent + - src-openeuler/libmemcached + - src-openeuler/trace-cmd + - src-openeuler/python-urlgrabber + - src-openeuler/python-markdown + - src-openeuler/python-nose + - src-openeuler/perl-HTTP-Cookies + - src-openeuler/perl-XML-NamespaceSupport + - src-openeuler/python-sphinx_rtd_theme + - src-openeuler/tbb + - src-openeuler/python-flask + - src-openeuler/qt5-qtwebchannel + - src-openeuler/gtest + - src-openeuler/cppcheck + - src-openeuler/nototools + - src-openeuler/qt5-qtserialbus + - src-openeuler/valgrind + - src-openeuler/qt5-qtgraphicaleffects + - src-openeuler/perl-Text-Template + - src-openeuler/perl-Mail-DKIM + - src-openeuler/cvs + - src-openeuler/perl-Net-DNS + - src-openeuler/python-construct + - src-openeuler/openblas + - src-openeuler/spice-protocol + - src-openeuler/libgnome-keyring + - src-openeuler/golang-github-russross-blackfriday + - src-openeuler/pyelftools + - src-openeuler/python-tornado + - src-openeuler/python-httpretty + - src-openeuler/egl-wayland + - src-openeuler/python-testscenarios + - src-openeuler/python-augeas + - src-openeuler/glib + - src-openeuler/perl-Data-Dump + - src-openeuler/help2man + - src-openeuler/python-pymongo + - src-openeuler/perl-YAML + - src-openeuler/sblim-cmpi-devel + - src-openeuler/gtk-vnc + - src-openeuler/perl-Sub-Name + - src-openeuler/perl-Sub-Quote + - src-openeuler/perl-Test-Fatal + - src-openeuler/perl-Test-InDistDir + - src-openeuler/perl-Test-Pod-Coverage + - src-openeuler/perl-Test-Requires + - src-openeuler/perl-Text-Glob +- name: Runtime + repositories: + - src-openeuler/ibus-libpinyin + - src-openeuler/mesa-demos + - src-openeuler/tinycdb + - src-openeuler/freeglut + - src-openeuler/libmpcdec + - src-openeuler/mesa-libGLw + - src-openeuler/alsa-plugins + - src-openeuler/pkcs11-helper + - src-openeuler/rhash + - src-openeuler/libpeas + - src-openeuler/libnice + - src-openeuler/python-httplib2 + - src-openeuler/vdo + - src-openeuler/protobuf-c + - src-openeuler/fftw + - src-openeuler/ibus-sayura + - src-openeuler/hdf5 + - src-openeuler/libvdpau + - src-openeuler/ibus-m17n + - src-openeuler/xorg-x11-xtrans-devel + - src-openeuler/redland + - src-openeuler/libshout + - src-openeuler/ibus-typing-booster + - src-openeuler/librabbitmq + - src-openeuler/celt051 + - src-openeuler/ibus-kkc + - src-openeuler/libva + - src-openeuler/libvoikko + - src-openeuler/jemalloc + - src-openeuler/libpng12 + - src-openeuler/gsl + - src-openeuler/clutter-gst2 + - src-openeuler/libiec61883 + - src-openeuler/atlas + - src-openeuler/atkmm + - src-openeuler/freetds + - src-openeuler/kmod-kvdo + - src-openeuler/libao + - src-openeuler/glew + - src-openeuler/libibmad + - src-openeuler/libstoragemgmt + - src-openeuler/qt + - src-openeuler/OpenEXR + - src-openeuler/motif + - src-openeuler/m2crypto + - src-openeuler/libsmi + - src-openeuler/usbmuxd + - src-openeuler/libavc1394 + - src-openeuler/libieee1284 +- name: Networking + repositories: + - src-openeuler/initscripts + - src-openeuler/libmediaart + - src-openeuler/giflib + - src-openeuler/xorg-x11-font-utils + - src-openeuler/libwebp + - src-openeuler/sendmail + - src-openeuler/libgpg-error + - src-openeuler/gnome-themes-standard + - src-openeuler/libxcb + - src-openeuler/dnf + - src-openeuler/cdparanoia + - src-openeuler/xcb-util + - src-openeuler/dnf-plugins-core + - src-openeuler/http-parser + - src-openeuler/urw-base35-fonts + - src-openeuler/openvswitch + - src-openeuler/mesa + - src-openeuler/ldns + - src-openeuler/xorg-x11-xkb-utils + - src-openeuler/libxkbfile + - src-openeuler/efi-rpm-macros + - src-openeuler/xorg-x11-drv-ati + - src-openeuler/libSM + - src-openeuler/libXxf86misc + - src-openeuler/gstreamer1 + - src-openeuler/unbound + - src-openeuler/pinentry + - src-openeuler/ntp + - src-openeuler/openssh + - src-openeuler/accountsservice + - src-openeuler/mesa-libGLU + - src-openeuler/NetworkManager + - src-openeuler/abattis-cantarell-fonts + - src-openeuler/guile + - src-openeuler/pipewire + - src-openeuler/cjkuni-ukai-fonts + - src-openeuler/libserf + - src-openeuler/xorg-x11-drv-v4l + - src-openeuler/telepathy-glib + - src-openeuler/nettle + - src-openeuler/tipcutils + - src-openeuler/libcacard + - src-openeuler/colord + - src-openeuler/hunspell-en + - src-openeuler/libnetfilter_queue + - src-openeuler/iptables + - src-openeuler/woff2 + - src-openeuler/libtimezonemap + - src-openeuler/python-idna + - src-openeuler/enchant + - src-openeuler/libXxf86dga + - src-openeuler/libXres + - src-openeuler/libXtst + - src-openeuler/python-coverage + - src-openeuler/rpmrebuild + - src-openeuler/GeoIP + - src-openeuler/libXrandr + - src-openeuler/newt + - src-openeuler/xinetd + - src-openeuler/libical + - src-openeuler/xkeyboard-config + - src-openeuler/libXfont2 + - src-openeuler/libssh2 + - src-openeuler/libXcursor + - src-openeuler/nftables + - src-openeuler/bridge-utils + - src-openeuler/telnet + - src-openeuler/pytz + - src-openeuler/libXpm + - src-openeuler/xorg-x11-drv-nouveau + - src-openeuler/avahi + - src-openeuler/libassuan + - src-openeuler/iw + - src-openeuler/clutter-gtk + - src-openeuler/GeoIP-GeoLite-data + - src-openeuler/libsoup + - src-openeuler/google-noto-emoji-fonts + - src-openeuler/zd1211-firmware + - src-openeuler/ipmitool + - src-openeuler/efivar + - src-openeuler/libdmx + - src-openeuler/lcms2 + - src-openeuler/python-dmidecode + - src-openeuler/ipset + - src-openeuler/keybinder3 + - src-openeuler/xorg-x11-xauth + - src-openeuler/libXrender + - src-openeuler/json-glib + - src-openeuler/pyatspi + - src-openeuler/libgtop2 + - src-openeuler/icu + - src-openeuler/libwebsockets + - src-openeuler/iptraf-ng + - src-openeuler/evolution-data-server + - src-openeuler/PackageKit + - src-openeuler/sgml-common + - src-openeuler/ppp + - src-openeuler/tcpdump + - src-openeuler/libxklavier + - src-openeuler/traceroute + - src-openeuler/mtr + - src-openeuler/firewalld + - src-openeuler/plymouth + - src-openeuler/ypserv + - src-openeuler/arpwatch + - src-openeuler/mailx + - src-openeuler/libXvMC + - src-openeuler/libfontenc + - src-openeuler/libXmu + - src-openeuler/wqy-zenhei-fonts + - src-openeuler/iputils + - src-openeuler/iproute + - src-openeuler/gnome-control-center + - src-openeuler/xorg-x11-drv-dummy + - src-openeuler/libgnomecanvas + - src-openeuler/rdma-core + - src-openeuler/libgweather + - src-openeuler/nmap + - src-openeuler/yelp-xsl + - src-openeuler/httpd + - src-openeuler/xorg-x11-fonts + - src-openeuler/network-manager-applet + - src-openeuler/libdnet + - src-openeuler/efibootmgr + - src-openeuler/graphviz + - src-openeuler/libglade2 + - src-openeuler/satyr + - src-openeuler/pixman + - src-openeuler/xorg-x11-server + - src-openeuler/python-ethtool + - src-openeuler/cdrkit + - src-openeuler/libbluray + - src-openeuler/brltty + - src-openeuler/openjpeg + - src-openeuler/xorg-x11-drv-libinput + - src-openeuler/python-requests-ftp + - src-openeuler/libmng + - src-openeuler/poppler + - src-openeuler/ModemManager + - src-openeuler/procmail + - src-openeuler/rtkit + - src-openeuler/libarchive + - src-openeuler/tcp_wrappers + - src-openeuler/libXcomposite + - src-openeuler/vconfig + - src-openeuler/comps-extras + - src-openeuler/gdk-pixbuf2 + - src-openeuler/fribidi + - src-openeuler/hicolor-icon-theme + - src-openeuler/ypbind + - src-openeuler/lua-socket + - src-openeuler/dconf + - src-openeuler/libbonobo + - src-openeuler/mod_http2 + - src-openeuler/libtirpc + - src-openeuler/ethtool + - src-openeuler/gnome-online-accounts + - src-openeuler/net-tools + - src-openeuler/xvattr + - src-openeuler/libgnome + - src-openeuler/libgxps + - src-openeuler/libxkbcommon + - src-openeuler/anaconda-user-help + - src-openeuler/geocode-glib + - src-openeuler/telepathy-filesystem + - src-openeuler/xorg-x11-server-utils + - src-openeuler/clutter + - src-openeuler/texinfo + - src-openeuler/hostname + - src-openeuler/source-highlight + - src-openeuler/openldap + - src-openeuler/ipcalc + - src-openeuler/rest + - src-openeuler/vsftpd + - src-openeuler/samba + - src-openeuler/libimobiledevice + - src-openeuler/gjs + - src-openeuler/dnsmasq + - src-openeuler/libXfixes + - src-openeuler/libcdio + - src-openeuler/xorg-x11-drv-evdev + - src-openeuler/libXinerama + - src-openeuler/libgee + - src-openeuler/libXxf86vm + - src-openeuler/setools + - src-openeuler/emacs + - src-openeuler/notification-daemon + - src-openeuler/spice + - src-openeuler/mozjs52 + - src-openeuler/chrony + - src-openeuler/libcdio-paranoia + - src-openeuler/grub2 + - src-openeuler/tk + - src-openeuler/lxsession + - src-openeuler/libproxy + - src-openeuler/google-noto-cjk-fonts + - src-openeuler/ntpstat + - src-openeuler/libatasmart + - src-openeuler/tmux + - src-openeuler/libnetfilter_conntrack + - src-openeuler/libICE + - src-openeuler/grilo + - src-openeuler/nautilus + - src-openeuler/zenity + - src-openeuler/atk + - src-openeuler/gnome-vfs2 + - src-openeuler/libwnck3 + - src-openeuler/postfix + - src-openeuler/libgnomekbd + - src-openeuler/libX11 + - src-openeuler/libnl3 + - src-openeuler/arptables + - src-openeuler/augeas + - src-openeuler/bluez + - src-openeuler/ftp + - src-openeuler/poppler-data + - src-openeuler/cockpit + - src-openeuler/sbc + - src-openeuler/libbonoboui + - src-openeuler/harfbuzz + - src-openeuler/python-paste + - src-openeuler/cups + - src-openeuler/gpm + - src-openeuler/libepoxy + - src-openeuler/anaconda + - src-openeuler/fltk + - src-openeuler/cups-pk-helper + - src-openeuler/desktop-file-utils + - src-openeuler/libXdamage + - src-openeuler/ipxe + - src-openeuler/fontconfig + - src-openeuler/cheese + - src-openeuler/vino + - src-openeuler/json-c + - src-openeuler/libpng + - src-openeuler/color-filesystem + - src-openeuler/openvswitch-kmod + - src-openeuler/libgcrypt + - src-openeuler/geoclue2 + - src-openeuler/at-spi2-atk + - src-openeuler/blivet-gui + - src-openeuler/ncurses + - src-openeuler/graphite2 + - src-openeuler/metacity + - src-openeuler/python-ipaddress + - src-openeuler/gvfs + - src-openeuler/google-droid-fonts + - src-openeuler/gsm + - src-openeuler/libglvnd + - src-openeuler/libpcap + - src-openeuler/wayland + - src-openeuler/clutter-gst3 + - src-openeuler/xterm + - src-openeuler/mozjs60 + - src-openeuler/xmlrpc-c + - src-openeuler/cogl + - src-openeuler/telepathy-logger + - src-openeuler/libssh + - src-openeuler/GConf2 + - src-openeuler/wget + - src-openeuler/libexif + - src-openeuler/tigervnc + - src-openeuler/libgusb + - src-openeuler/glib2 + - src-openeuler/gstreamer1-plugins-base + - src-openeuler/nghttp2 + - src-openeuler/libiptcdata + - src-openeuler/libXi + - src-openeuler/openjpeg2 + - src-openeuler/libXt + - src-openeuler/libXv + - src-openeuler/libnfnetlink + - src-openeuler/ibus + - src-openeuler/curl + - src-openeuler/jbigkit + - src-openeuler/gv + - src-openeuler/gd + - src-openeuler/libxshmfence + - src-openeuler/uboot-tools + - src-openeuler/python-IPy + - src-openeuler/lftp + - src-openeuler/gtk2 + - src-openeuler/gtk3 + - src-openeuler/atmel-firmware + - src-openeuler/mozilla-filesystem + - src-openeuler/netcf + - src-openeuler/pycairo + - src-openeuler/fontpackages + - src-openeuler/libasyncns + - src-openeuler/c-ares + - src-openeuler/qrencode + - src-openeuler/python-backports-ssl_match_hostname + - src-openeuler/librsvg2 + - src-openeuler/webrtc-audio-processing + - src-openeuler/fros + - src-openeuler/python-ntplib + - src-openeuler/bubblewrap + - src-openeuler/libesmtp + - src-openeuler/gsettings-desktop-schemas + - src-openeuler/gcr + - src-openeuler/geolite2 + - src-openeuler/spice-vdagent + - src-openeuler/ebtables + - src-openeuler/adwaita-icon-theme + - src-openeuler/dropwatch + - src-openeuler/bind + - src-openeuler/kbd + - src-openeuler/OpenIPMI + - src-openeuler/grpc + - src-openeuler/pango + - src-openeuler/bind-dyndb-ldap + - src-openeuler/dhcp + - src-openeuler/at-spi2-core + - src-openeuler/libx86emu + - src-openeuler/libsexy + - src-openeuler/gnome-autoar + - src-openeuler/libldb + - src-openeuler/Xaw3d + - src-openeuler/glib-networking + - src-openeuler/libcanberra + - src-openeuler/libart_lgpl + - src-openeuler/libgudev + - src-openeuler/xorg-x11-drv-wacom + - src-openeuler/net-snmp + - src-openeuler/icfg + - src-openeuler/python-blivet + - src-openeuler/freetype + - src-openeuler/libnotify + - src-openeuler/python-requests + - src-openeuler/rpcbind + - src-openeuler/setserial + - src-openeuler/xorg-x11-drivers + - src-openeuler/exiv2 + - src-openeuler/qt5 + - src-openeuler/python-urllib3 + - src-openeuler/libXft + - src-openeuler/yp-tools + - src-openeuler/wqy-microhei-fonts + - src-openeuler/iptstate + - src-openeuler/radvd + - src-openeuler/adobe-mappings-pdf + - src-openeuler/squid + - src-openeuler/jbig2dec + - src-openeuler/python-html5lib + - src-openeuler/libnet + - src-openeuler/tftp + - src-openeuler/gnome-desktop3 + - src-openeuler/libXdmcp + - src-openeuler/libdrm + - src-openeuler/shared-mime-info + - src-openeuler/webkit2gtk3 + - src-openeuler/sound-theme-freedesktop + - src-openeuler/libXaw + - src-openeuler/libXau + - src-openeuler/libgdata + - src-openeuler/lorax + - src-openeuler/adobe-mappings-cmap + - src-openeuler/libjpeg-turbo + - src-openeuler/glade + - src-openeuler/xorg-x11-drv-fbdev + - src-openeuler/lldpad + - src-openeuler/libtiff + - src-openeuler/cairo + - src-openeuler/mutter + - src-openeuler/taglib + - src-openeuler/libXext + - src-openeuler/b43-openfwwf + - src-openeuler/hunspell + - src-openeuler/libndp + - src-openeuler/openslp + - src-openeuler/mobile-broadband-provider-info + - src-openeuler/yelp +- name: Virt + repositories: + - src-openeuler/virt-viewer + - src-openeuler/libnetwork + - src-openeuler/virglrenderer + - src-openeuler/python-beautifulsoup4 + - src-openeuler/libvirt-python + - src-openeuler/libvirt-glib + - src-openeuler/virt-manager + - src-openeuler/qemu + - src-openeuler/libvirt + - src-openeuler/edk2 +- name: Kernel + repositories: + - src-openeuler/kernel +- name: Others + repositories: + - src-openeuler/apache-ivy + - src-openeuler/nekohtml + - src-openeuler/maven-artifact-transfer + - src-openeuler/tclx + - src-openeuler/plexus-compiler + - src-openeuler/taglist-enable + - src-openeuler/jackson-parent + - src-openeuler/wildfly-common + - src-openeuler/gtkspell + - src-openeuler/maven-plugin-bundle + - src-openeuler/obs_meta + - src-openeuler/libbs2b + - src-openeuler/jsch-agent-proxy + - src-openeuler/python-pynacl + - src-openeuler/netty-tcnative + - src-openeuler/autotune + - src-openeuler/perl-Devel-Symdump + - src-openeuler/openEuler_chroot + - src-openeuler/apache-resource-bundles + - src-openeuler/maven-remote-resources-plugin + - src-openeuler/apache-commons-configuration + - src-openeuler/maven-common-artifact-filters + - src-openeuler/debian-keyring + - src-openeuler/xdg-desktop-portal-gtk + - src-openeuler/perl-Net-SMTP-SSL + - src-openeuler/gegl04 + - src-openeuler/javaewah + - src-openeuler/javapackages-tools + - src-openeuler/maven-parent + - src-openeuler/jackson-dataformats-binary + - src-openeuler/osgi-annotation + - src-openeuler/perl-GSSAPI + - src-openeuler/plexus-velocity + - src-openeuler/sushi + - src-openeuler/python-jmespath + - src-openeuler/aqute-bnd + - src-openeuler/pyorbit + - src-openeuler/python-pexpect + - src-openeuler/uniconvertor + - src-openeuler/u2f-hidraw-policy + - src-openeuler/native-platform + - src-openeuler/dbus-cpp + - src-openeuler/xz-java + - src-openeuler/python-kitchen + - src-openeuler/libwpg + - src-openeuler/libwpd + - src-openeuler/python-hwdata + - src-openeuler/extlinux-bootloader + - src-openeuler/glassfish-jsp-api + - src-openeuler/hawtjni + - src-openeuler/kxml + - src-openeuler/ocaml-curses + - src-openeuler/plexus-pom + - src-openeuler/nilfs-utils + - src-openeuler/log4j + - src-openeuler/keyrings-filesystem + - src-openeuler/zerofree + - src-openeuler/maven-wagon + - src-openeuler/avalon-framework + - src-openeuler/aopalliance + - src-openeuler/libkkc + - src-openeuler/maven-reporting-impl + - src-openeuler/hfsplus-tools + - src-openeuler/ImageMagick + - src-openeuler/gnome-disk-utility + - src-openeuler/google-gson + - src-openeuler/shapelib + - src-openeuler/rpm-mpi-hooks + - src-openeuler/jboss-remoting + - src-openeuler/xml-commons-apis + - src-openeuler/libkate + - src-openeuler/jzlib + - src-openeuler/skkdic + - src-openeuler/opentest4j + - src-openeuler/SDL_sound + - src-openeuler/apache-commons-cli + - src-openeuler/twolame + - src-openeuler/xpp3 + - src-openeuler/amtk + - src-openeuler/perl-Mail-Sender + - src-openeuler/bsh + - src-openeuler/bsf + - src-openeuler/gnome-getting-started-docs + - src-openeuler/jboss-marshalling + - src-openeuler/libxmlpp + - src-openeuler/maven-dependency-tree + - src-openeuler/folks + - src-openeuler/ehcache-core + - src-openeuler/plexus-interpolation + - src-openeuler/xmvn + - src-openeuler/geronimo-annotation + - src-openeuler/perl-Encode-Detect + - src-openeuler/libsigcpp20 + - src-openeuler/raptor2 + - src-openeuler/clamav + - src-openeuler/portaudio + - src-openeuler/opencc + - src-openeuler/maven-shared-incremental + - src-openeuler/python-joblib + - src-openeuler/gtkspellmm30 + - src-openeuler/kiwi-dlimage + - src-openeuler/javamail + - src-openeuler/libofa + - src-openeuler/chromaprint + - src-openeuler/phonon-backend-gstreamer + - src-openeuler/jai-imageio-core + - src-openeuler/tagsoup + - src-openeuler/python-threadpoolctl + - src-openeuler/perl-Class-Inspector + - src-openeuler/httpcomponents-core + - src-openeuler/bean-validation-api + - src-openeuler/maven-archiver + - src-openeuler/HikariCP + - src-openeuler/golang-github-coreos-go-iptables + - src-openeuler/log4j12 + - src-openeuler/thx + - src-openeuler/testng + - src-openeuler/netty3 + - src-openeuler/python-Keras + - src-openeuler/gavl + - src-openeuler/python-qt5 + - src-openeuler/ttembed + - src-openeuler/devhelp + - src-openeuler/maven-shared-utils + - src-openeuler/maven-enforcer + - src-openeuler/ongres-scram + - src-openeuler/objectweb-asm3 + - src-openeuler/fop + - src-openeuler/cdi-api + - src-openeuler/rhino + - src-openeuler/jtidy + - src-openeuler/maven-reporting-api + - src-openeuler/sni-qt + - src-openeuler/new.list + - src-openeuler/hibernate3 + - src-openeuler/plexus-cli + - src-openeuler/google-guice + - src-openeuler/ci_project + - src-openeuler/libass + - src-openeuler/javassist + - src-openeuler/geronimo-validation + - src-openeuler/sox + - src-openeuler/python-parse_type + - src-openeuler/perl-Crypt-OpenSSL-Bignum + - src-openeuler/jack-audio-connection-kit + - src-openeuler/qt-mobility + - src-openeuler/frei0r-plugins + - src-openeuler/xhtml1-dtds + - src-openeuler/plexus-resources + - src-openeuler/perl-File-ShareDir-Install + - src-openeuler/batik + - src-openeuler/junit5 + - src-openeuler/capstone + - src-openeuler/bullet + - src-openeuler/slf4j + - src-openeuler/plexus-interactivity + - src-openeuler/tinyxml + - src-openeuler/java-cup + - src-openeuler/osc + - src-openeuler/golang-github-d2g-dhcp4 + - src-openeuler/python-bcrypt + - src-openeuler/plexus-io + - src-openeuler/mpg123 + - src-openeuler/libgovirt + - src-openeuler/plexus-utils + - src-openeuler/glassfish-el + - src-openeuler/maven-plugin-tools + - src-openeuler/jansi-native + - src-openeuler/PyQt4 + - src-openeuler/perl-IO-Multiplex + - src-openeuler/perl-Test-CPAN-Meta + - src-openeuler/teckit + - src-openeuler/easymock + - src-openeuler/python-scour + - src-openeuler/baobab + - src-openeuler/libgnomeui + - src-openeuler/jline + - src-openeuler/objectweb-asm + - src-openeuler/mingw-crt + - src-openeuler/hibernate-commons-annotations + - src-openeuler/ehcache-parent + - src-openeuler/gtkspell3 + - src-openeuler/perl-Sys-MemInfo + - src-openeuler/maven-file-management + - src-openeuler/python-cycler + - src-openeuler/perl-Unix-Syslog + - src-openeuler/bouncycastle + - src-openeuler/sshj + - src-openeuler/cglib + - src-openeuler/jboss-interceptors-1.2-api + - src-openeuler/jdom2 + - src-openeuler/libgdither + - src-openeuler/aws-sdk-java + - src-openeuler/zbar + - src-openeuler/nautilus-sendto + - src-openeuler/emacs-auctex + - src-openeuler/xbean + - src-openeuler/qdox + - src-openeuler/gtk + - src-openeuler/gnome-font-viewer + - src-openeuler/perl-Net-CIDR-Lite + - src-openeuler/python-pandas + - src-openeuler/jackson + - src-openeuler/syslinux-tftpboot + - src-openeuler/gnome-icon-theme-symbolic + - src-openeuler/univocity-parsers + - src-openeuler/hibernate + - src-openeuler/sblim-sfcCommon + - src-openeuler/dbusmenu-qt + - src-openeuler/perl-Net-Server + - src-openeuler/jfsutils + - src-openeuler/python-reportlab + - src-openeuler/python-argcomplete + - src-openeuler/xnio + - src-openeuler/plexus-build-api + - src-openeuler/lldb + - src-openeuler/gnome-color-manager + - src-openeuler/osgi-compendium + - src-openeuler/plexus-components-pom + - src-openeuler/gnome-characters + - src-openeuler/lucene + - src-openeuler/python-xgboost + - src-openeuler/bcm283x-firmware + - src-openeuler/maven-javadoc-plugin + - src-openeuler/gnome-video-effects + - src-openeuler/python-Keras_Preprocessing + - src-openeuler/mingw-srvany + - src-openeuler/compiler-rt + - src-openeuler/nbdkit + - src-openeuler/perl-Pod-Coverage + - src-openeuler/jackson-databind + - src-openeuler/gsound + - src-openeuler/multiverse + - src-openeuler/jsoup + - src-openeuler/libfprint + - src-openeuler/apache-commons-compress + - src-openeuler/repo + - src-openeuler/netty + - src-openeuler/imsettings + - src-openeuler/yum-langpacks + - src-openeuler/gtksourceview3 + - src-openeuler/maven-scm + - src-openeuler/bytelist + - src-openeuler/jakarta-oro + - src-openeuler/java-base64 + - src-openeuler/maven-plugin-testing + - src-openeuler/osgi-core + - src-openeuler/clucene + - src-openeuler/maven-artifact-resolver + - src-openeuler/parboiled + - src-openeuler/plexus-classworlds + - src-openeuler/python-flask-restful + - src-openeuler/leveldb-java + - src-openeuler/ubu-keyring + - src-openeuler/ehcache-sizeof-agent + - src-openeuler/web-assets + - src-openeuler/xorg-x11-drv-armsoc + - src-openeuler/bcel + - src-openeuler/golang-googlecode-goprotobuf + - src-openeuler/librevenge + - src-openeuler/felix-utils + - src-openeuler/libkkc-data + - src-openeuler/geronimo-jta + - src-openeuler/gradle + - src-openeuler/glassfish-servlet-api + - src-openeuler/tesla-polyglot + - src-openeuler/perl-Sys-CPU + - src-openeuler/eclipselink-persistence-api + - src-openeuler/regexp + - src-openeuler/maven-filtering + - src-openeuler/maven-resources-plugin + - src-openeuler/objenesis + - src-openeuler/jcifs + - src-openeuler/maven-jar-plugin + - src-openeuler/marisa + - src-openeuler/jackson-core + - src-openeuler/fluid-soundfont + - src-openeuler/liboggz + - src-openeuler/extra166y + - src-openeuler/kae_driver + - src-openeuler/festival-freebsoft-utils + - src-openeuler/classmate + - src-openeuler/apache-parent + - src-openeuler/gnome-remote-desktop + - src-openeuler/stream-lib + - src-openeuler/libkae + - src-openeuler/python-behave + - src-openeuler/aalto-xml + - src-openeuler/python-dict2xml + - src-openeuler/openbox + - src-openeuler/tslib + - src-openeuler/base64coder + - src-openeuler/game-music-emu + - src-openeuler/jatl + - src-openeuler/libEMF + - src-openeuler/jackson-annotations + - src-openeuler/xmlgraphics-commons + - src-openeuler/apache-commons-pool + - src-openeuler/mingw-filesystem + - src-openeuler/hexedit + - src-openeuler/perl-File-ShareDir + - src-openeuler/jboss-jacc-1.4-api + - src-openeuler/guava20 + - src-openeuler/pstoedit + - src-openeuler/potrace + - src-openeuler/libwd + - src-openeuler/junit + - src-openeuler/ntfs-3g + - src-openeuler/python-keras-applications + - src-openeuler/f29-backgrounds + - src-openeuler/gtkmm30 + - src-openeuler/gtkmm24 + - src-openeuler/libffado + - src-openeuler/cvsps + - src-openeuler/geronimo-interceptor + - src-openeuler/suitesparse + - src-openeuler/jboss-sasl + - src-openeuler/python-h5py + - src-openeuler/plexus-i18n + - src-openeuler/gpars + - src-openeuler/gnome-software + - src-openeuler/anthy + - src-openeuler/physfs + - src-openeuler/golang-github-onsi-ginkgo + - src-openeuler/python-pyaml + - src-openeuler/ci_check + - src-openeuler/apache-commons-dbcp + - src-openeuler/python-pillow + - src-openeuler/apache-commons-net + - src-openeuler/jboss-servlet-3.0-api + - src-openeuler/libsane-hpaio + - src-openeuler/xhtml2fo-style-xsl + - src-openeuler/plexus-containers + - src-openeuler/pcaudiolib + - src-openeuler/python-pasta + - src-openeuler/obs-build + - src-openeuler/jetty + - src-openeuler/protoparser + - src-openeuler/urlview + - src-openeuler/python-pkgconfig + - src-openeuler/perl-Sub-Exporter + - src-openeuler/plotutils + - src-openeuler/jansi + - src-openeuler/plexus-cipher + - src-openeuler/gnome-backgrounds + - src-openeuler/qt5-qtenginio + - src-openeuler/efl + - src-openeuler/maven-doxia + - src-openeuler/mkeuleros + - src-openeuler/pdfbox + - src-openeuler/flite + - src-openeuler/opusfile + - src-openeuler/breeze-icon-theme + - src-openeuler/dvdplusrw-tools + - src-openeuler/jsch + - src-openeuler/jctools + - src-openeuler/hawtjni-runtime + - src-openeuler/jcodings + - src-openeuler/jboss-remoting-jmx + - src-openeuler/perl-Mail-SPF + - src-openeuler/latex2html + - src-openeuler/dkms + - src-openeuler/byteman + - src-openeuler/appstream-data + - src-openeuler/kryo + - src-openeuler/plexus-archiver + - src-openeuler/atinject + - src-openeuler/fasterxml-oss-parent + - src-openeuler/maven-compiler-plugin + - src-openeuler/libomp + - src-openeuler/glibmm24 + - src-openeuler/python-aniso8601 + - src-openeuler/imlib2 + - src-openeuler/libmad + - src-openeuler/python-parse + - src-openeuler/fluidsynth + - src-openeuler/plexus-component-api + - src-openeuler/Done + - src-openeuler/maven-resolver + - src-openeuler/gimp + - src-openeuler/integration-test + - src-openeuler/jackson-bom + - src-openeuler/jsr-311 + - src-openeuler/container-exception-logger + - src-openeuler/xdg-desktop-portal + - src-openeuler/dain-snappy + - src-openeuler/antlr + - src-openeuler/build + - src-openeuler/perl-Sub-Exporter-Progressive + - src-openeuler/qt5-qtwebkit + - src-openeuler/espeak-ng + - src-openeuler/hamcrest + - src-openeuler/irrlicht + - src-openeuler/maven-verifier + - src-openeuler/inkscape + - src-openeuler/scala + - src-openeuler/liberation-sans-fonts + - src-openeuler/proj + - src-openeuler/protostream + - src-openeuler/ucs-miscfixed-fonts + - src-openeuler/ladspa + - src-openeuler/httpcomponents-client + - src-openeuler/libwmf + - src-openeuler/jgroups + - src-openeuler/groovy + - src-openeuler/plexus-languages + - src-openeuler/plexus-sec-dispatcher + - src-openeuler/jcsp + - src-openeuler/jenkins_project + - src-openeuler/jakarta-commons-httpclient + - src-openeuler/qt5-qtwebengine + - src-openeuler/google-roboto-slab-fonts + - src-openeuler/perl-String-CRC32 + - src-openeuler/phonon + - src-openeuler/totem + - src-openeuler/jsr-305 + - src-openeuler/maven-source-plugin + - src-openeuler/python-kiwisolver + - src-openeuler/mainline.list + - src-openeuler/kyotocabinet + - src-openeuler/snakeyaml + - src-openeuler/python-humanize + - src-openeuler/pegdown + - src-openeuler/autotrace + - src-openeuler/gstreamer1-plugins-good + - src-openeuler/velocity + - src-openeuler/eclipse-jgit + - src-openeuler/qt5-doc + - src-openeuler/xapian-core + - src-openeuler/jdeparser + - src-openeuler/narayana + - src-openeuler/golang-github-vishvananda-netlink + - src-openeuler/trilead-ssh2 + - src-openeuler/babl + - src-openeuler/maven + - src-openeuler/malaga-suomi-voikko + - src-openeuler/args4j + - src-openeuler/maven-doxia-sitetools + - src-openeuler/sip + - src-openeuler/fastutil + - src-openeuler/lame + - src-openeuler/wxGTK3 + - src-openeuler/jandex + - src-openeuler/jboss-logging + - src-openeuler/avalon-logkit + - src-openeuler/python-olefile + - src-openeuler/c3p0 + - src-openeuler/beust-jcommander + - src-openeuler/libburn + - src-openeuler/jna + - src-openeuler/openEuler-latest-release + - src-openeuler/perl-SNMP_Session + - src-openeuler/gnome-packagekit + - src-openeuler/aesh + - src-openeuler/libuninameslist + - src-openeuler/phodav + - src-openeuler/ecj + - src-openeuler/perl-Package-Generator + - src-openeuler/re2 + - src-openeuler/minlog + - src-openeuler/xml-commons-resolver + - src-openeuler/felix-bundlerepository + - src-openeuler/gnome-python2 + - src-openeuler/mt-st + - src-openeuler/cldr-emoji-annotation + - src-openeuler/qtwebkit + - src-openeuler/xmlunit + - src-openeuler/festival + - src-openeuler/golang-github-golang-sys + - src-openeuler/libldm + - src-openeuler/libmodplug + - src-openeuler/sos-collector + - src-openeuler/maven2 + - src-openeuler/dom4j + - src-openeuler/joda-time + - src-openeuler/gcab + - src-openeuler/sisu + - src-openeuler/gnome-icon-theme-extras + - src-openeuler/maven-invoker + - src-openeuler/xapool + - src-openeuler/libmypaint + - src-openeuler/perl-Unicode-EastAsianWidth + - src-openeuler/perl-Tk + - src-openeuler/golang-github-onsi-gomega + - src-openeuler/xstream + - src-openeuler/jboss-transaction + - src-openeuler/djvulibre + - src-openeuler/proxool + - src-openeuler/apache-commons-daemon + - src-openeuler/infinispan + - src-openeuler/js-jquery + - src-openeuler/zvbi + - src-openeuler/perl-BSD-Resource + - src-openeuler/gnu-getopt + - src-openeuler/conmon + - src-openeuler/jdepend + - src-openeuler/nagios + - src-openeuler/libid3tag + - src-openeuler/mousetweaks + - src-openeuler/jaxen + - src-openeuler/maven-plugin-build-helper + - src-openeuler/libxmlb + - src-openeuler/hibernate-jpa-2.1-api + - src-openeuler/libisofs + - src-openeuler/leveldbjni + - src-openeuler/stax2-api + - src-openeuler/adobe-source-code-pro-fonts + - src-openeuler/clamav-unofficial-sigs + - src-openeuler/SDL2 + - src-openeuler/mac-robber + - src-openeuler/manifest + - src-openeuler/jcip-annotations + - src-openeuler/libspiro + - src-openeuler/reflectasm + - src-openeuler/maven-shared-io + - src-openeuler/python-scikit-learn + - src-openeuler/libvncserver + - src-openeuler/gnome-tweaks + - src-openeuler/tomcat-native + - src-openeuler/wildmidi + - src-openeuler/jboss-logging-tools + - src-openeuler/python-scikit-optimize + - src-openeuler/antlr3 + - src-openeuler/gnome-logs + - src-openeuler/assimp + - src-openeuler/poly2tri + - src-openeuler/libaesgm + - src-openeuler/tomcat-taglibs-standard + - src-openeuler/apache-commons-lang3 +- name: System-tool + repositories: + - src-openeuler/liblognorm + - src-openeuler/mksh + - src-openeuler/libgphoto2 + - src-openeuler/leveldb + - src-openeuler/fcoe-utils + - src-openeuler/ibus-hangul + - src-openeuler/colord-gtk + - src-openeuler/gutenprint + - src-openeuler/kiwi + - src-openeuler/cyrus-imapd + - src-openeuler/overpass-fonts + - src-openeuler/libraw1394 + - src-openeuler/ibus-table + - src-openeuler/wsmancli + - src-openeuler/v4l-utils + - src-openeuler/hplip + - src-openeuler/crda + - src-openeuler/virt-top + - src-openeuler/tang + - src-openeuler/libotf + - src-openeuler/cups-filters + - src-openeuler/bolt + - src-openeuler/kde-filesystem + - src-openeuler/mtx + - src-openeuler/autofs + - src-openeuler/varnish + - src-openeuler/sil-abyssinica-fonts + - src-openeuler/b43-tools + - src-openeuler/libqmi + - src-openeuler/ibus-table-array30 + - src-openeuler/libreswan + - src-openeuler/logwatch + - src-openeuler/NetworkManager-libreswan + - src-openeuler/system-config-printer + - src-openeuler/microcode_ctl + - src-openeuler/openhpi + - src-openeuler/netlabel_tools + - src-openeuler/libguestfs + - src-openeuler/mod_fcgid + - src-openeuler/unicode-ucd + - src-openeuler/fakechroot + - src-openeuler/cim-schema + - src-openeuler/cgdcbxd + - src-openeuler/rng-tools + - src-openeuler/portreserve + - src-openeuler/mod_auth_gssapi + - src-openeuler/tog-pegasus + - src-openeuler/m17n-db + - src-openeuler/fwupd + - src-openeuler/libhangul + - src-openeuler/environment-modules + - src-openeuler/nvme-cli + - src-openeuler/sblim-sfcb + - src-openeuler/sblim-sfcc + - src-openeuler/bacula + - src-openeuler/mod_security + - src-openeuler/open-sans-fonts + - src-openeuler/liberation-fonts + - src-openeuler/freeradius + - src-openeuler/gfs2-utils + - src-openeuler/sane-backends + - src-openeuler/dejavu-fonts + - src-openeuler/ledmon + - src-openeuler/lohit-gurmukhi-fonts + - src-openeuler/speech-dispatcher + - src-openeuler/smc-fonts + - src-openeuler/sil-scheherazade-fonts + - src-openeuler/fontawesome-fonts + - src-openeuler/freeipmi + - src-openeuler/m17n-lib + - src-openeuler/lohit-odia-fonts + - src-openeuler/libsmbios + - src-openeuler/pinfo + - src-openeuler/openwsman + - src-openeuler/fprintd + - src-openeuler/initial-setup + - src-openeuler/khmeros-fonts + - src-openeuler/shim-unsigned-aarch64 + - src-openeuler/fwupdate + - src-openeuler/julietaula-montserrat-fonts + - src-openeuler/usb_modeswitch + - src-openeuler/system-config-firewall + - src-openeuler/sanlock + - src-openeuler/mstflint + - src-openeuler/pps-tools + - src-openeuler/lklug-fonts + - src-openeuler/nvmetcli + - src-openeuler/hivex + - src-openeuler/scap-workbench + - src-openeuler/minicom + - src-openeuler/supermin + - src-openeuler/scap-security-guide + - src-openeuler/haproxy +- name: Packaging + repositories: + - src-openeuler/rpm-ostree + - src-openeuler/copy-jdk-configs + - src-openeuler/rpmdevtools + - src-openeuler/nginx + - src-openeuler/multilib-rpm-config + - src-openeuler/kiwi-template-openEuler +- name: DB + repositories: + - src-openeuler/postgresql + - src-openeuler/unixODBC + - src-openeuler/firebird +- name: Base-service + repositories: + - src-openeuler/python-cheetah + - src-openeuler/sombok + - src-openeuler/yasm + - src-openeuler/python-redis + - src-openeuler/python-google-apputils + - src-openeuler/zopfli + - src-openeuler/vulkan-headers + - src-openeuler/python-docopt + - src-openeuler/libsass + - src-openeuler/future + - src-openeuler/python-pytest-httpbin + - src-openeuler/uthash + - src-openeuler/python-pytest-mock + - src-openeuler/umockdev + - src-openeuler/python-httpbin + - src-openeuler/polkit-gnome + - src-openeuler/python-mox + - src-openeuler/rubygem-asciidoctor + - src-openeuler/TeXamator + - src-openeuler/uname-build-checks + - src-openeuler/unicode-emoji + - src-openeuler/vboot-utils + - src-openeuler/vulkan-loader + - src-openeuler/xmlstarlet + - src-openeuler/mongodb + - src-openeuler/opencl-filesystem + - src-openeuler/perl-Test-File + - src-openeuler/python-pocketlint + - src-openeuler/python-polib + - src-openeuler/python-pyflakes + - src-openeuler/python-pytest-cov + - src-openeuler/python-pytest-expect + - src-openeuler/python-pytest-fixture-config + - src-openeuler/python-pytest-virtualenv + - src-openeuler/python-repoze-lru + - src-openeuler/python-sphinxcontrib-spelling + - src-openeuler/python-u-msgpack-python + - src-openeuler/python3-mallard-ducktype + - src-openeuler/qpid-proton + - src-openeuler/tcllib + - src-openeuler/yaml-cpp + - src-openeuler/rsyslog + - src-openeuler/perl-CPAN-Meta + - src-openeuler/kdump-anaconda-addon + - src-openeuler/trousers + - src-openeuler/openEuler-repos + - src-openeuler/tracker-miners + - src-openeuler/perl-Sys-Syslog + - src-openeuler/libseccomp + - src-openeuler/basesystem + - src-openeuler/p11-kit + - src-openeuler/libmodman + - src-openeuler/perl-Pod-Checker + - src-openeuler/zstd + - src-openeuler/perl-IPC-Cmd + - src-openeuler/libxslt + - src-openeuler/perl-Encode + - src-openeuler/elfutils + - src-openeuler/libmaxminddb + - src-openeuler/perl-Digest-SHA + - src-openeuler/lua-lpeg + - src-openeuler/symlinks + - src-openeuler/perl-libnet + - src-openeuler/perl-Encode-Locale + - src-openeuler/tpm2-tools + - src-openeuler/deltarpm + - src-openeuler/CUnit + - src-openeuler/m4 + - src-openeuler/python-ply + - src-openeuler/autogen + - src-openeuler/haveged + - src-openeuler/rsync + - src-openeuler/setup + - src-openeuler/perl-Digest + - src-openeuler/perl-experimental + - src-openeuler/libidn2 + - src-openeuler/perl-Time-HiRes + - src-openeuler/volume_key + - src-openeuler/rarian + - src-openeuler/osinfo-db + - src-openeuler/edac-utils + - src-openeuler/setroubleshoot + - src-openeuler/aide + - src-openeuler/perl-IO-Socket-IP + - src-openeuler/python-webencodings + - src-openeuler/gmime30 + - src-openeuler/libtomcrypt + - src-openeuler/usermode + - src-openeuler/pyparted + - src-openeuler/libedit + - src-openeuler/chrpath + - src-openeuler/openssl + - src-openeuler/perl-Net-SSLeay + - src-openeuler/perl-IPC-SysV + - src-openeuler/gssproxy + - src-openeuler/tpm2-abrmd + - src-openeuler/libdatrie + - src-openeuler/libnsl2 + - src-openeuler/authselect + - src-openeuler/libcroco + - src-openeuler/perl-Exporter-Tiny + - src-openeuler/totem-pl-parser + - src-openeuler/cronie + - src-openeuler/libreport + - src-openeuler/libpipeline + - src-openeuler/findutils + - src-openeuler/popt + - src-openeuler/python-schedutils + - src-openeuler/patch + - src-openeuler/perl-URI + - src-openeuler/zlib + - src-openeuler/libselinux + - src-openeuler/expat + - src-openeuler/make + - src-openeuler/python-jsonschema + - src-openeuler/perl-podlators + - src-openeuler/perl-Filter + - src-openeuler/ca-certificates + - src-openeuler/libsepol + - src-openeuler/keyutils + - src-openeuler/isomd5sum + - src-openeuler/jose + - src-openeuler/shadow + - src-openeuler/unique + - src-openeuler/lua-expat + - src-openeuler/perl-Module-Load-Conditional + - src-openeuler/libgsf + - src-openeuler/tracker + - src-openeuler/perl-Algorithm-Diff + - src-openeuler/perl-Devel-PPPort + - src-openeuler/perl-Term-ANSIColor + - src-openeuler/perl-Filter-Simple + - src-openeuler/libtommath + - src-openeuler/mcstrans + - src-openeuler/perl-autodie + - src-openeuler/wpa_supplicant + - src-openeuler/perl-Test-Harness + - src-openeuler/git + - src-openeuler/perl-Compress-Raw-Bzip2 + - src-openeuler/python-pycurl + - src-openeuler/libecap + - src-openeuler/ctags + - src-openeuler/perl-CPAN-Meta-YAML + - src-openeuler/libtheora + - src-openeuler/autoconf + - src-openeuler/shim + - src-openeuler/libmspack + - src-openeuler/python-ordered-set + - src-openeuler/pyliblzma + - src-openeuler/libffi + - src-openeuler/python-slip + - src-openeuler/diffutils + - src-openeuler/time + - src-openeuler/audiofile + - src-openeuler/fpaste + - src-openeuler/recode + - src-openeuler/gpgme + - src-openeuler/perl-CPAN-Meta-Requirements + - src-openeuler/python-setuptools + - src-openeuler/selinux-policy + - src-openeuler/perl-Text-ParseWords + - src-openeuler/ghostscript + - src-openeuler/python-pip + - src-openeuler/perl-Net-Daemon + - src-openeuler/python-pid + - src-openeuler/pygobject3 + - src-openeuler/python-rpm-generators + - src-openeuler/libosinfo + - src-openeuler/gawk + - src-openeuler/perl-Term-Cap + - src-openeuler/openEuler-release + - src-openeuler/brotli + - src-openeuler/perl + - src-openeuler/libkcapi + - src-openeuler/dbus-python + - src-openeuler/libnftnl + - src-openeuler/logrotate + - src-openeuler/python-pycparser + - src-openeuler/perl-constant + - src-openeuler/libpsl + - src-openeuler/libuser + - src-openeuler/kexec-tools + - src-openeuler/opensc + - src-openeuler/util-linux + - src-openeuler/crypto-policies + - src-openeuler/ed + - src-openeuler/bison + - src-openeuler/orc + - src-openeuler/polkit + - src-openeuler/perl-HTTP-Tiny + - src-openeuler/xz + - src-openeuler/libplist + - src-openeuler/checkpolicy + - src-openeuler/xmlto + - src-openeuler/libevent + - src-openeuler/docbook-dtds + - src-openeuler/zsh + - src-openeuler/perl-Pod-Simple + - src-openeuler/perl-Error + - src-openeuler/dbus-glib + - src-openeuler/crontabs + - src-openeuler/libcap + - src-openeuler/python-crypto + - src-openeuler/adcli + - src-openeuler/perl-B-Debug + - src-openeuler/perl-Pod-Perldoc + - src-openeuler/python-asn1crypto + - src-openeuler/os-prober + - src-openeuler/cpio + - src-openeuler/publicsuffix-list + - src-openeuler/screen + - src-openeuler/systemd + - src-openeuler/setroubleshoot-plugins + - src-openeuler/yajl + - src-openeuler/python-pysocks + - src-openeuler/mtdev + - src-openeuler/gnupg2 + - src-openeuler/cracklib + - src-openeuler/libdnf + - src-openeuler/python-inotify + - src-openeuler/openEuler-indexhtml + - src-openeuler/policycoreutils + - src-openeuler/python-jsonpointer + - src-openeuler/chkconfig + - src-openeuler/perl-Thread-Queue + - src-openeuler/subscription-manager + - src-openeuler/zziplib + - src-openeuler/gamin + - src-openeuler/iso-codes + - src-openeuler/python-pydbus + - src-openeuler/speex + - src-openeuler/perl-IO-Compress + - src-openeuler/subversion + - src-openeuler/perl-Unicode-Normalize + - src-openeuler/lzop + - src-openeuler/nss_nis + - src-openeuler/polkit-pkla-compat + - src-openeuler/pyOpenSSL + - src-openeuler/man-pages + - src-openeuler/python-cryptography + - src-openeuler/rpm + - src-openeuler/automake + - src-openeuler/libteam + - src-openeuler/acl + - src-openeuler/perl-Module-Load + - src-openeuler/perl-Storable + - src-openeuler/perl-Digest-MD5 + - src-openeuler/libsemanage + - src-openeuler/libcomps + - src-openeuler/perl-JSON-PP + - src-openeuler/at + - src-openeuler/python-six + - src-openeuler/gettext + - src-openeuler/libutempter + - src-openeuler/libmetalink + - src-openeuler/libksba + - src-openeuler/libquvi-scripts + - src-openeuler/perl-parent + - src-openeuler/dracut + - src-openeuler/osinfo-db-tools + - src-openeuler/perl-Config-Perl-V + - src-openeuler/openssl-pkcs11 + - src-openeuler/gnutls + - src-openeuler/perl-Params-Check + - src-openeuler/perl-Scalar-List-Utils + - src-openeuler/perl-Text-Diff + - src-openeuler/python-jinja2 + - src-openeuler/perl-Data-Dumper + - src-openeuler/perl-Module-CoreList + - src-openeuler/perl-File-HomeDir + - src-openeuler/perl-XML-Parser + - src-openeuler/mlocate + - src-openeuler/vim + - src-openeuler/mokutil + - src-openeuler/libev + - src-openeuler/libgexiv2 + - src-openeuler/drpm + - src-openeuler/python-meh + - src-openeuler/perl-ExtUtils-Install + - src-openeuler/openEuler-rpm-config + - src-openeuler/speexdsp + - src-openeuler/krb5 + - src-openeuler/diffstat + - src-openeuler/python-beaker + - src-openeuler/dbxtool + - src-openeuler/perl-ExtUtils-MakeMaker + - src-openeuler/sgpio + - src-openeuler/powertop + - src-openeuler/perl-File-Temp + - src-openeuler/sssd + - src-openeuler/libidn + - src-openeuler/grubby + - src-openeuler/perl-Time-Local + - src-openeuler/python-prettytable + - src-openeuler/libdbi + - src-openeuler/libbytesize + - src-openeuler/pam + - src-openeuler/expect + - src-openeuler/python-jwt + - src-openeuler/sharutils + - src-openeuler/bash + - src-openeuler/pykickstart + - src-openeuler/utf8proc + - src-openeuler/python-linux-procfs + - src-openeuler/tokyocabinet + - src-openeuler/libunwind + - src-openeuler/grep + - src-openeuler/dtc + - src-openeuler/ivtv-firmware + - src-openeuler/perl-List-MoreUtils + - src-openeuler/man-db + - src-openeuler/pyserial + - src-openeuler/timedatex + - src-openeuler/perl-Locale-Maketext + - src-openeuler/python-tempita + - src-openeuler/perl-Env + - src-openeuler/libdb + - src-openeuler/passwd + - src-openeuler/perl-PerlIO-via-QuotedPrint + - src-openeuler/perl-Math-BigRat + - src-openeuler/libpwquality + - src-openeuler/perl-Text-Balanced + - src-openeuler/perl-Math-BigInt-FastCalc + - src-openeuler/bash-completion + - src-openeuler/libtar + - src-openeuler/libdaemon + - src-openeuler/pkgconf + - src-openeuler/sed + - src-openeuler/langtable + - src-openeuler/perl-threads-shared + - src-openeuler/python-enum34 + - src-openeuler/python-iniparse + - src-openeuler/perl-Exporter + - src-openeuler/cyrus-sasl + - src-openeuler/hardlink + - src-openeuler/python-cffi + - src-openeuler/sysstat + - src-openeuler/lsof + - src-openeuler/python-jsonpatch + - src-openeuler/python-chardet + - src-openeuler/perl-Module-Metadata + - src-openeuler/python-oauthlib + - src-openeuler/flex + - src-openeuler/libverto + - src-openeuler/authd + - src-openeuler/realmd + - src-openeuler/perl-List-MoreUtils-XS + - src-openeuler/perl-version + - src-openeuler/softhsm + - src-openeuler/perl-Locale-Codes + - src-openeuler/perl-Compress-Raw-Zlib + - src-openeuler/python-decorator + - src-openeuler/coreutils + - src-openeuler/libcap-ng + - src-openeuler/python-requests-file + - src-openeuler/librepo + - src-openeuler/argon2 + - src-openeuler/snappy + - src-openeuler/sscg + - src-openeuler/lmdb + - src-openeuler/perl-XML-Writer + - src-openeuler/pcre2 + - src-openeuler/python-markupsafe + - src-openeuler/perl-TermReadKey + - src-openeuler/perl-MIME-Base64 + - src-openeuler/perl-Mozilla-CA + - src-openeuler/perl-Unicode-Collate + - src-openeuler/libmodulemd + - src-openeuler/perl-Perl-OSType + - src-openeuler/fipscheck + - src-openeuler/bc + - src-openeuler/python-systemd + - src-openeuler/dialog + - src-openeuler/hesiod + - src-openeuler/libmnl + - src-openeuler/perl-IPC-System-Simple + - src-openeuler/nss + - src-openeuler/pcre + - src-openeuler/python-backports + - src-openeuler/libconfig + - src-openeuler/security-tool + - src-openeuler/llvm + - src-openeuler/pyxattr + - src-openeuler/asciidoc + - src-openeuler/python-kmod + - src-openeuler/libtool + - src-openeuler/ncompress + - src-openeuler/dos2unix + - src-openeuler/ustr + - src-openeuler/tpm2-tss + - src-openeuler/gc + - src-openeuler/python-simpleline + - src-openeuler/unzip + - src-openeuler/libyaml + - src-openeuler/mercurial + - src-openeuler/lua-json + - src-openeuler/libunistring + - src-openeuler/ding-libs + - src-openeuler/jansson + - src-openeuler/apr + - src-openeuler/python-lxml + - src-openeuler/zip + - src-openeuler/startup-notification + - src-openeuler/python-dateutil + - src-openeuler/libtasn1 + - src-openeuler/tar + - src-openeuler/sudo + - src-openeuler/latrace + - src-openeuler/dwz + - src-openeuler/oddjob + - src-openeuler/tcsh + - src-openeuler/pigz + - src-openeuler/perl-Pod-Usage + - src-openeuler/libquvi + - src-openeuler/lz4 + - src-openeuler/perl-Archive-Tar + - src-openeuler/libpaper + - src-openeuler/crash + - src-openeuler/lzo + - src-openeuler/dbus + - src-openeuler/perl-threads + - src-openeuler/open-isns + - src-openeuler/perl-ExtUtils-Manifest + - src-openeuler/rootfiles + - src-openeuler/cloud-init + - src-openeuler/lshw + - src-openeuler/perl-Getopt-Long + - src-openeuler/perl-bignum + - src-openeuler/python-mako + - src-openeuler/perl-File-Which + - src-openeuler/python-pyudev + - src-openeuler/babel + - src-openeuler/which + - src-openeuler/perl-IO-Socket-SSL + - src-openeuler/nss-pam-ldapd + - src-openeuler/perl-Pod-Escapes + - src-openeuler/createrepo_c + - src-openeuler/liboauth + - src-openeuler/xmlsec1 + - src-openeuler/docbook-style-xsl + - src-openeuler/pyparsing + - src-openeuler/kpatch + - src-openeuler/libIDL + - src-openeuler/words + - src-openeuler/libfastjson + - src-openeuler/libvorbis + - src-openeuler/mailcap + - src-openeuler/libestr + - src-openeuler/lua + - src-openeuler/perl-Carp + - src-openeuler/perl-File-Path + - src-openeuler/perl-ExtUtils-ParseXS + - src-openeuler/perl-DBI + - src-openeuler/hyphen + - src-openeuler/libxcrypt + - src-openeuler/perl-PathTools + - src-openeuler/libxml2 + - src-openeuler/libsecret + - src-openeuler/audit + - src-openeuler/perl-Pod-Parser + - src-openeuler/binutils + - src-openeuler/perl-Math-BigInt + - src-openeuler/nss-pem + - src-openeuler/less + - src-openeuler/tcl + - src-openeuler/perl-Test-Simple + - src-openeuler/libsolv + - src-openeuler/exempi + - src-openeuler/libtdb + - src-openeuler/perl-Socket + - src-openeuler/babeltrace + - src-openeuler/apr-util + - src-openeuler/python3 + - src-openeuler/python2 + - src-openeuler/clevis + - src-openeuler/perl-DB_File + - src-openeuler/libsigsegv + - src-openeuler/rasdaemon + - src-openeuler/perl-perlfaq + - src-openeuler/ima-evm-utils + - src-openeuler/slang + - src-openeuler/groff + - src-openeuler/gzip + - src-openeuler/mcpp + - src-openeuler/ostree + - src-openeuler/perl-File-Fetch + - src-openeuler/python-productmd + - src-openeuler/bzip2 + - src-openeuler/star + - src-openeuler/readline + - src-openeuler/openEuler-logos + - src-openeuler/acpica-tools + - src-openeuler/arm-trusted-firmware + - src-openeuler/atf + - src-openeuler/conntrack-tools + - src-openeuler/epydoc + - src-openeuler/gnulib + - src-openeuler/gphoto2 + - src-openeuler/hiredis + - src-openeuler/hunspell-de + - src-openeuler/jq + - src-openeuler/Judy + - src-openeuler/ksh + - src-openeuler/kyua + - src-openeuler/libclc + - src-openeuler/libgit2 + - src-openeuler/libgit2-glib + - src-openeuler/libnetfilter_cthelper + - src-openeuler/libnetfilter_cttimeout + - src-openeuler/libnfs + - src-openeuler/libomxil-bellagio + - src-openeuler/libsass + - src-openeuler/lutok + - src-openeuler/tpm2-abrmd-selinux + +- name: Container + repositories: + - src-openeuler/clibcni + - src-openeuler/oci-systemd-hook + - src-openeuler/lxcfs-tools + - src-openeuler/runc + - src-openeuler/virt-what + - src-openeuler/containerd + - src-openeuler/iSulad-img + - src-openeuler/lcr + - src-openeuler/golang + - src-openeuler/docker-anaconda-addon + - src-openeuler/protobuf + - src-openeuler/iSulad + - src-openeuler/podman + - src-openeuler/skopeo + - src-openeuler/kata-shim + - src-openeuler/kata_integration + - src-openeuler/busybox + - src-openeuler/container-selinux + - src-openeuler/gobject-introspection + - src-openeuler/authz + - src-openeuler/lxc + - src-openeuler/docker + - src-openeuler/kata-runtime + - src-openeuler/libevhtp + - src-openeuler/kata-proxy + - src-openeuler/lxcfs + - src-openeuler/containernetworking-plugins + - src-openeuler/syscontainer-tools + - src-openeuler/libcgroup + - src-openeuler/kata-agent +- name: Compiler + repositories: + - src-openeuler/gcc + - src-openeuler/openjdk-1.8.0 +- name: Storage + repositories: + - src-openeuler/parted + - src-openeuler/iprutils + - src-openeuler/ndctl + - src-openeuler/fuse + - src-openeuler/tree + - src-openeuler/sg3_utils + - src-openeuler/mdadm + - src-openeuler/python-configobj + - src-openeuler/btrfs-progs + - src-openeuler/python-rtslib + - src-openeuler/ccid + - src-openeuler/attr + - src-openeuler/smartmontools + - src-openeuler/luksmeta + - src-openeuler/nfs4-acl-tools + - src-openeuler/cryptsetup + - src-openeuler/udisks2 + - src-openeuler/mtools + - src-openeuler/libblockdev + - src-openeuler/sdparm + - src-openeuler/perl-DBD-SQLite + - src-openeuler/libpciaccess + - src-openeuler/iotop + - src-openeuler/xfsdump + - src-openeuler/open-iscsi + - src-openeuler/libaio + - src-openeuler/libusbmuxd + - src-openeuler/file + - src-openeuler/e2fsprogs + - src-openeuler/gdbm + - src-openeuler/thin-provisioning-tools + - src-openeuler/dosfstools + - src-openeuler/libusbx + - src-openeuler/mariadb + - src-openeuler/pciutils + - src-openeuler/blktrace + - src-openeuler/usbredir + - src-openeuler/lvm2 + - src-openeuler/dmraid + - src-openeuler/libtalloc + - src-openeuler/ceph + - src-openeuler/perl-DBD-MySQL + - src-openeuler/quota + - src-openeuler/mariadb-connector-c + - src-openeuler/xfsprogs + - src-openeuler/nfs-utils + - src-openeuler/libtevent + - src-openeuler/gdisk + - src-openeuler/glusterfs + - src-openeuler/multipath-tools + - src-openeuler/sysfsutils + - src-openeuler/sqlite + - src-openeuler/smp_utils + - src-openeuler/squashfs-tools + - src-openeuler/libiscsi + - src-openeuler/fxload + - src-openeuler/libusb + - src-openeuler/hdparm + - src-openeuler/pcsc-lite + - src-openeuler/filesystem + - src-openeuler/cifs-utils + - src-openeuler/cachefilesd + - src-openeuler/usbutils + - src-openeuler/lsscsi + - src-openeuler/open-isns +- name: atune + repositories: + - src-openeuler/prefetch_tuning +- name: Desktop + repositories: + - src-openeuler/nafees-web-naskh-fonts + - src-openeuler/paratype-pt-sans-fonts + - src-openeuler/paktype-naskh-basic-fonts + - src-openeuler/lohit-tamil-fonts + - src-openeuler/gubbi-fonts + - src-openeuler/gnome-system-monitor + - src-openeuler/gnome-clocks + - src-openeuler/xdg-user-dirs-gtk + - src-openeuler/gnome-terminal + - src-openeuler/lohit-nepali-fonts + - src-openeuler/xrestop + - src-openeuler/gnome-doc-utils + - src-openeuler/dconf-editor + - src-openeuler/paktype-naqsh-fonts + - src-openeuler/gnome-initial-setup + - src-openeuler/lohit-gujarati-fonts + - src-openeuler/lohit-malayalam-fonts + - src-openeuler/bpg-fonts + - src-openeuler/kacst-fonts + - src-openeuler/lohit-kannada-fonts + - src-openeuler/ibus-libzhuyin + - src-openeuler/gnome-dictionary + - src-openeuler/xdg-user-dirs + - src-openeuler/gnome-session + - src-openeuler/redhat-menus + - src-openeuler/samyak-fonts + - src-openeuler/gnome-keyring + - src-openeuler/gdm + - src-openeuler/gnome-settings-daemon + - src-openeuler/lato-fonts + - src-openeuler/xorg-x11-xinit + - src-openeuler/xorg-x11-apps + - src-openeuler/lohit-bengali-fonts + - src-openeuler/gnu-free-fonts + - src-openeuler/kde-settings + - src-openeuler/sil-nuosu-fonts + - src-openeuler/spice-gtk + - src-openeuler/gnome-abrt + - src-openeuler/gnome-screenshot + - src-openeuler/sil-padauk-fonts + - src-openeuler/madan-fonts + - src-openeuler/gnome-bluetooth + - src-openeuler/kurdit-unikurd-web-fonts + - src-openeuler/switcheroo-control + - src-openeuler/gnome-shell-extensions + - src-openeuler/xorg-x11-xbitmaps + - src-openeuler/xorg-x11-utils + - src-openeuler/paktype-tehreer-fonts + - src-openeuler/imake + - src-openeuler/lohit-devanagari-fonts + - src-openeuler/cairomm + - src-openeuler/gnome-shell + - src-openeuler/x3270 + - src-openeuler/lohit-telugu-fonts + - src-openeuler/lohit-marathi-fonts + - src-openeuler/xorg-x11-drv-qxl + - src-openeuler/orca + - src-openeuler/gnome-contacts + - src-openeuler/stix-fonts + - src-openeuler/lohit-assamese-fonts + - src-openeuler/gnome-icon-theme + - src-openeuler/jomolhari-fonts + - src-openeuler/xdg-utils + - src-openeuler/tibetan-machine-uni-fonts + - src-openeuler/libappindicator + - src-openeuler/gnome-menus + - src-openeuler/fcitx + - src-openeuler/navilu-fonts + - src-openeuler/thai-scalable-fonts + - src-openeuler/saab-fonts +- name: Computing + repositories: + - src-openeuler/libevdev + - src-openeuler/nspr + - src-openeuler/libatomic_ops + - src-openeuler/lm_sensors + - src-openeuler/lttng-ust + - src-openeuler/hwdata + - src-openeuler/irqbalance + - src-openeuler/procps-ng + - src-openeuler/userspace-rcu + - src-openeuler/linux-firmware + - src-openeuler/mpfr + - src-openeuler/libinput + - src-openeuler/boost + - src-openeuler/psmisc + - src-openeuler/numad + - src-openeuler/libthai + - src-openeuler/kmod + - src-openeuler/lockdev + - src-openeuler/hwinfo + - src-openeuler/gdb + - src-openeuler/libsamplerate + - src-openeuler/gperftools + - src-openeuler/libogg + - src-openeuler/pulseaudio + - src-openeuler/libsndfile + - src-openeuler/tzdata + - src-openeuler/flac + - src-openeuler/upower + - src-openeuler/alsa-lib + - src-openeuler/gmp + - src-openeuler/alsa-firmware + - src-openeuler/numactl + - src-openeuler/glibc + - src-openeuler/libijs + - src-openeuler/libmpc + - src-openeuler/npth + - src-openeuler/acpid + - src-openeuler/ORBit2 + - src-openeuler/libwacom + - src-openeuler/i2c-tools + - src-openeuler/strace + - src-openeuler/tuned + - src-openeuler/systemtap + - src-openeuler/alsa-tools + - src-openeuler/libvisual + - src-openeuler/dmidecode + - src-openeuler/opus + - src-openeuler/libhugetlbfs +- name: sig-Community + repositories: + - openeuler/community + - openeuler/blog +- name: A-Tune + repositories: + - openeuler/A-Tune + - openeuler/prefetch_tuning + - src-openeuler/A-Tune +- name: sig-Kernel + repositories: + - openeuler/kernel + - openeuler/os-autoinst-distri-openEuler +- name: kae + repositories: + - openeuler/kae_driver + - openeuler/libkae + - openeuler/libwd +- name: iSulad + repositories: + - openeuler/iSulad + - openeuler/lcr + - openeuler/clibcni + - openeuler/iSulad-img +- name: Private + repositories: + - src-openeuler/discount + - src-openeuler/objectweb-pom + - src-openeuler/janino + - src-openeuler/infinipath-psm + - src-openeuler/rubygem-mustache + - src-openeuler/luajit + - src-openeuler/byaccj + - src-openeuler/geronimo-jms + - src-openeuler/felix-parent + - src-openeuler/mojo-parent + - src-openeuler/perl-Mojolicious + - src-openeuler/perl-Net-DNS-Resolver-Programmable + - src-openeuler/rubygem-hpricot + - src-openeuler/rubygem-rdiscount + - src-openeuler/tomcat-taglibs-parent + - src-openeuler/jboss-jsp-2.2-api + - src-openeuler/python-eventlet + - src-openeuler/python-apipkg + - src-openeuler/python-pytest-runner + - src-openeuler/jvnet-parent + - src-openeuler/lzma + - src-openeuler/perl-Crypt-CBC + - src-openeuler/exec-maven-plugin + - src-openeuler/apache-commons-exec + - src-openeuler/python-sphinx-bootstrap-theme + - src-openeuler/golang-github-hpcloud-tail + - src-openeuler/perl-XML-Catalog + - src-openeuler/golang-github-fsnotify-fsnotify + - src-openeuler/golang-github-go-tomb-tomb + - src-openeuler/glyphicons-halflings-fonts + - src-openeuler/js-jquery1 + - src-openeuler/rubygem-ronn + - src-openeuler/rubygem-kramdown + - src-openeuler/perl-Crypt-DES + - src-openeuler/perl-Net-SNMP + - src-openeuler/python-logutils + - src-openeuler/umoci + - src-openeuler/plexus-ant-factory + - src-openeuler/plexus-bsh-factory + - src-openeuler/apiguardian + - src-openeuler/python-graphviz + - src-openeuler/python-m2r + - src-openeuler/automoc + - src-openeuler/appstream + - src-openeuler/python-pyside + - src-openeuler/wxPython + - src-openeuler/xorg-x11-drv-intel + - src-openeuler/xorg-x11-drv-vesa + - src-openeuler/xorg-x11-drv-vmware + - src-openeuler/munge + - src-openeuler/libburn1 + - src-openeuler/libisofs1 + - src-openeuler/extra-cmake-modules + - src-openeuler/spice-parent + - src-openeuler/python-h2 + - src-openeuler/python-junitxml + - src-openeuler/python-priority + - src-openeuler/uriparser + - src-openeuler/xerces-c + - src-openeuler/zeromq + - src-openeuler/ezmorph + - src-openeuler/findbugs-bcel + - src-openeuler/glassfish-annotation-api + - src-openeuler/golang-googlecode-go-crypto + - src-openeuler/golang-googlecode-text + - src-openeuler/golang-googlecode-tools + - src-openeuler/guava + - src-openeuler/javacc + - src-openeuler/jdependency + - src-openeuler/jetty-schemas + - src-openeuler/jFormatString + - src-openeuler/json-lib + - src-openeuler/maven-script-interpreter + - src-openeuler/proguard + - src-openeuler/sbinary + - src-openeuler/sbt + - src-openeuler/test-interface + - src-openeuler/fuse-python + - src-openeuler/perl-Crypt-PasswdMD5 + - src-openeuler/js-underscore + - src-openeuler/python-hpack + - src-openeuler/python-hyperframe + - src-openeuler/jdo2-api + - src-openeuler/asio + - src-openeuler/gdal + - src-openeuler/python-matplotlib + - src-openeuler/python-numpydoc + - src-openeuler/python-pydotplus + - src-openeuler/python-sphinxcontrib-bibtex + - src-openeuler/ipython + - src-openeuler/armadillo + - src-openeuler/arpack + - src-openeuler/blosc + - src-openeuler/cfitsio + - src-openeuler/freexl + - src-openeuler/geos + - src-openeuler/libdap + - src-openeuler/libgeotiff + - src-openeuler/libgta + - src-openeuler/libkml + - src-openeuler/libspatialite + - src-openeuler/netcdf + - src-openeuler/ogdi + - src-openeuler/openpgm + - src-openeuler/python-backports-functools_lru_cache + - src-openeuler/python-backports-shutil_get_terminal_size + - src-openeuler/python-Bottleneck + - src-openeuler/python-ipython_genutils + - src-openeuler/python-latexcodec + - src-openeuler/python-mistune + - src-openeuler/python-numexpr + - src-openeuler/python-orderedset + - src-openeuler/python-pathlib + - src-openeuler/python-pickleshare + - src-openeuler/python-prompt_toolkit + - src-openeuler/python-pybtex + - src-openeuler/python-pybtex-docutils + - src-openeuler/python-pyglet + - src-openeuler/python-simplegeneric + - src-openeuler/python-subprocess32 + - src-openeuler/python-tables + - src-openeuler/python-traitlets + - src-openeuler/python-wcwidth + - src-openeuler/python-zmq + - src-openeuler/qhull + - src-openeuler/SuperLU + - src-openeuler/galera + - src-openeuler/libisoburn + - src-openeuler/openmotif + - src-openeuler/pv + - src-openeuler/python-alsa + - src-openeuler/python-cherrypy + - src-openeuler/python-networkx + - src-openeuler/python-pecan + - src-openeuler/resource-agents + - src-openeuler/zinc + - src-openeuler/python-service-identity + - src-openeuler/python-appdirs + - src-openeuler/pmix + - src-openeuler/modello + - src-openeuler/maven-shade-plugin + - src-openeuler/maven-plugins-pom + - src-openeuler/maven-invoker-plugin + - src-openeuler/maven-install-plugin + - src-openeuler/logback + - src-openeuler/js-jquery + - src-openeuler/jhighlight + - src-openeuler/javacc-maven-plugin + - src-openeuler/jarjar + - src-openeuler/jackson-core + - src-openeuler/http-builder + - src-openeuler/google-oauth-java-client + - src-openeuler/google-http-java-client + - src-openeuler/golang-gopkg-yaml + - src-openeuler/golang-googlecode-net + - src-openeuler/golang-github-vishvananda-netns + - src-openeuler/gmetrics + - src-openeuler/findbugs + - src-openeuler/codenarc + - src-openeuler/checkstyle + - src-openeuler/apache-commons-vfs + - src-openeuler/apache-commons-beanutils + - src-openeuler/antlr4 + - src-openeuler/ant-contrib + - src-openeuler/uchardet + - src-openeuler/python-ruamel-yaml + - src-openeuler/python-ruamel-yaml-clib + - src-openeuler/fonts-rpm-macros + - src-openeuler/python-ptyprocess + - src-openeuler/reiserfs-utils + - src-openeuler/perl-Digest-SHA1 + - src-openeuler/passivetex + - src-openeuler/opencryptoki + - src-openeuler/perl-Sub-Uplevel + - src-openeuler/mingw-gcc + - src-openeuler/libpinyin + - src-openeuler/perl-srpm-macros + - src-openeuler/perl-Test-Exception + - src-openeuler/gssntlmssp + - src-openeuler/libipt + - src-openeuler/maven-dependency-plugin + - src-openeuler/ocaml-calendar + - src-openeuler/python-execnet + - src-openeuler/python-pytest-shutil + - src-openeuler/python-path + - src-openeuler/python-contextlib2 + - src-openeuler/dogtail + - src-openeuler/folks-telepathy + - src-openeuler/xmvn-tools + - src-openeuler/irrXML + - src-openeuler/apache2-mod_xforward + - src-openeuler/nodejs + - src-openeuler/obs-bundled-gems + - src-openeuler/obs-server + - src-openeuler/obs-service-download_files + - src-openeuler/obs-service-extract_file + - src-openeuler/obs-service-rust2rpm + - src-openeuler/obs-service-set_version + - src-openeuler/passenger + - src-openeuler/perl-BSSolv + - src-openeuler/perl-Canary-Stability + - src-openeuler/perl-common-sense + - src-openeuler/perl-File-Sync + - src-openeuler/perl-JSON-XS + - src-openeuler/perl-Socket-MsgHdr + - src-openeuler/perl-Types-Serialiser + - src-openeuler/python-tqdm + - src-openeuler/ruby-common + - src-openeuler/rubygem-bundler + - src-openeuler/rubygem-gem2rpm + - src-openeuler/rubygem-rack + - src-openeuler/rust-packaging + - src-openeuler/sphinx + - src-openeuler/perl-XML-TokeParser + - src-openeuler/xmvn-connector-gradle + - src-openeuler/aalib + - src-openeuler/mcelog + - src-openeuler/biosdevname + - src-openeuler/rear + - src-openeuler/mysql + - src-openeuler/maven-surefire + - src-openeuler/syslinux + - src-openeuler/libpsm2 + - src-openeuler/ocaml-csv + - src-openeuler/ocaml-extlib + - src-openeuler/ocaml-fileutils + - src-openeuler/ocaml-findlib + - src-openeuler/ocaml-gettext + - src-openeuler/ocaml-xml-light + - src-openeuler/ttfautohint + - src-openeuler/xorg-sgml-doctools + - src-openeuler/afflib + - src-openeuler/apache-commons-parent + - src-openeuler/classloader-leak-test-framework + - src-openeuler/compat-openssl10 + - src-openeuler/dietlibc + - src-openeuler/eclipse + - src-openeuler/perl-CGI + - src-openeuler/geronimo-jaxrpc + - src-openeuler/geronimo-saaj + - src-openeuler/hibernate-jpa + - src-openeuler/icon-naming-utils + - src-openeuler/java-comment-preprocessor + - src-openeuler/malaga + - src-openeuler/liboil + - src-openeuler/maven-antrun-plugin + - src-openeuler/maven-assembly-plugin + - src-openeuler/maven-clean-plugin + - src-openeuler/maven-dependency-analyzer + - src-openeuler/mchange-commons + - src-openeuler/ocaml-camlp4 + - src-openeuler/ocaml-camomile + - src-openeuler/ocaml-libvirt + - src-openeuler/perl-CPAN-Changes + - src-openeuler/perl-IO-stringy + - src-openeuler/perl-Net-DNS-Resolver-Mock + - src-openeuler/perl-Net-DNS-SEC + - src-openeuler/perl-YAML-LibYAML + - src-openeuler/perl-Test-Inter + - src-openeuler/perl-YAML-LibYAML + - src-openeuler/perl-ExtUtils-Config + - src-openeuler/perl-ExtUtils-Helpers + - src-openeuler/perl-ExtUtils-InstallPaths + - src-openeuler/perl-Module-Build-Tiny + - src-openeuler/perl-Readonly + - src-openeuler/perl-Test-LeakTrace + - src-openeuler/properties-maven-plugin + - src-openeuler/python-Automat + - src-openeuler/pv + - src-openeuler/python-breathe + - src-openeuler/python-constantly + - src-openeuler/python-hamcrest + - src-openeuler/python-hyperlink + - src-openeuler/python-incremental + - src-openeuler/python-zope-interface + - src-openeuler/python-astroid + - src-openeuler/python-isort + - src-openeuler/python-lazy-object-proxy + - src-openeuler/python-mccabe + - src-openeuler/pylint + - src-openeuler/python-wrapt + - src-openeuler/qt-assistant-adp + - src-openeuler/springframework + - src-openeuler/wsdl4j + - src-openeuler/DevIL + - src-openeuler/allegro + - src-openeuler/debootstrap + - src-openeuler/dpkg + - src-openeuler/icoutils + - src-openeuler/jflex + - src-openeuler/lensfun + - src-openeuler/libewf + - src-openeuler/mypaint-brushes + - src-openeuler/ocaml-ounit + - src-openeuler/perl-Expect + - src-openeuler/perl-IO-Tty + - src-openeuler/perl-Test-RequiresInternet + - src-openeuler/sleuthkit + - src-openeuler/sonatype-oss-parent + - src-openeuler/python-twisted + - src-openeuler/python-varlink + - src-openeuler/rsh + - src-openeuler/python-filelock + - src-openeuler/python-importlib-metadata + - src-openeuler/python-tox + - src-openeuler/python-zipp + - src-openeuler/python-hwdata + - src-openeuler/python-bcrypt + - src-openeuler/libsodium + - src-openeuler/libhbaapi + - src-openeuler/libhbalinux + - src-openeuler/perl-Config-General + - src-openeuler/perl-Package-Constants + - src-openeuler/php + - src-openeuler/PyPAM + - src-openeuler/cloud-utils + - src-openeuler/python-cached_property + - src-openeuler/python-docker + - src-openeuler/python-docker-pycreds + - src-openeuler/python-dockerpty + - src-openeuler/python-ecdsa + - src-openeuler/python-ldap + - src-openeuler/perl-Tie-IxHash + - src-openeuler/oniguruma + - src-openeuler/tidy + - src-openeuler/kf5 + - src-openeuler/libisoburn + - src-openeuler/pbzip2 + - src-openeuler/pysendfile + - src-openeuler/python-pycdlib + - src-openeuler/python-toml + - src-openeuler/gcc_secure + - src-openeuler/custom_build_tool + - src-openeuler/python-rpmfluff + - src-openeuler/python-semantic_version + - src-openeuler/python-setuptools_git + - src-openeuler/mongo-c-driver + - src-openeuler/python-gflags + - src-openeuler/perl-File-Copy-Recursive + - src-openeuler/perl-File-pushd + - src-openeuler/perl-File-Remove + - src-openeuler/perl-HTTP-Daemon + - src-openeuler/perl-Module-Install + - src-openeuler/perl-Switch + - src-openeuler/perl-Time-Zone + - src-openeuler/perl-Unicode-LineBreak + - src-openeuler/python-backports-unittest_mock + - src-openeuler/python-cheetah + - src-openeuler/sombok + - src-openeuler/yasm + - src-openeuler/python-redis + - src-openeuler/python-google-apputils + - src-openeuler/zopfli + - src-openeuler/vulkan-headers + - src-openeuler/python-docopt + - src-openeuler/libsass + - src-openeuler/future + - src-openeuler/python-pytest-httpbin + - src-openeuler/uthash + - src-openeuler/python-pytest-mock + - src-openeuler/umockdev + - src-openeuler/python-httpbin + - src-openeuler/redis + - src-openeuler/sassc + - src-openeuler/polkit-gnome + - src-openeuler/python-mox + - src-openeuler/rubygem-asciidoctor + - src-openeuler/TeXamator + - src-openeuler/uname-build-checks + - src-openeuler/unicode-emoji + - src-openeuler/vboot-utils + - src-openeuler/vulkan-loader + - src-openeuler/xmlstarlet + - src-openeuler/mongodb + - src-openeuler/opencl-filesystem + - src-openeuler/perl-Test-File + - src-openeuler/python-pocketlint + - src-openeuler/python-polib + - src-openeuler/python-pyflakes + - src-openeuler/python-pytest-cov + - src-openeuler/python-pytest-expect + - src-openeuler/python-pytest-fixture-config + - src-openeuler/python-pytest-virtualenv + - src-openeuler/python-repoze-lru + - src-openeuler/python-sphinxcontrib-spelling + - src-openeuler/python-u-msgpack-python + - src-openeuler/python3-mallard-ducktype + - src-openeuler/qpid-proton + - src-openeuler/tcllib + - src-openeuler/yaml-cpp + - openeuler/os-autoinst-distri-openEuler + - openeuler/libkae + - openeuler/libwd + - openeuler/kae_driver + - openeuler/integration-test + - src-openeuler/aalto-xml + - src-openeuler/abrt + - src-openeuler/acpica-tools + - src-openeuler/adobe-source-code-pro-fonts + - src-openeuler/aesh + - src-openeuler/alsa-plugins + - src-openeuler/alsa-utils + - src-openeuler/amanda + - src-openeuler/amtk + - src-openeuler/ant + - src-openeuler/anthy + - src-openeuler/antlr + - src-openeuler/antlr3 + - src-openeuler/aopalliance + - src-openeuler/apache-commons-cli + - src-openeuler/apache-commons-codec + - src-openeuler/apache-commons-collections + - src-openeuler/apache-commons-compress + - src-openeuler/apache-commons-configuration + - src-openeuler/apache-commons-daemon + - src-openeuler/apache-commons-dbcp + - src-openeuler/apache-commons-io + - src-openeuler/apache-commons-lang + - src-openeuler/apache-commons-lang3 + - src-openeuler/apache-commons-logging + - src-openeuler/apache-commons-net + - src-openeuler/apache-commons-pool + - src-openeuler/apache-ivy + - src-openeuler/apache-parent + - src-openeuler/apache-resource-bundles + - src-openeuler/appstream-data + - src-openeuler/aqute-bnd + - src-openeuler/args4j + - src-openeuler/arm-trusted-firmware + - src-openeuler/aspell + - src-openeuler/assimp + - src-openeuler/atinject + - src-openeuler/atkmm + - src-openeuler/atlas + - src-openeuler/atf + - src-openeuler/autoconf213 + - src-openeuler/autoconf-archive + - src-openeuler/autofs + - src-openeuler/autotrace + - src-openeuler/avalon-framework + - src-openeuler/avalon-logkit + - src-openeuler/aws-sdk-java + - src-openeuler/b43-tools + - src-openeuler/babl + - src-openeuler/bacula + - src-openeuler/baobab + - src-openeuler/base64coder + - src-openeuler/batik + - src-openeuler/bcel + - src-openeuler/bcm283x-firmware + - src-openeuler/bean-validation-api + - src-openeuler/beust-jcommander + - src-openeuler/bolt + - src-openeuler/boom-boot + - src-openeuler/bouncycastle + - src-openeuler/bpg-fonts + - src-openeuler/brasero + - src-openeuler/breeze-icon-theme + - src-openeuler/bsf + - src-openeuler/bsh + - src-openeuler/build + - src-openeuler/bullet + - src-openeuler/byacc + - src-openeuler/bytelist + - src-openeuler/byteman + - src-openeuler/c3p0 + - src-openeuler/cairomm + - src-openeuler/capstone + - src-openeuler/cdi-api + - src-openeuler/cdrdao + - src-openeuler/celt051 + - src-openeuler/cgdcbxd + - src-openeuler/cglib + - src-openeuler/check + - src-openeuler/chromaprint + - src-openeuler/ci_check + - src-openeuler/cim-schema + - src-openeuler/ci_project + - src-openeuler/clamav + - src-openeuler/clamav-unofficial-sigs + - src-openeuler/clang + - src-openeuler/classmate + - src-openeuler/cldr-emoji-annotation + - src-openeuler/clucene + - src-openeuler/clutter-gst2 + - src-openeuler/cmake + - src-openeuler/cmocka + - src-openeuler/colord-gtk + - src-openeuler/compat-libgfortran + - src-openeuler/compiler-rt + - src-openeuler/conmon + - src-openeuler/conntrack-tools + - src-openeuler/console-setup + - src-openeuler/container-exception-logger + - src-openeuler/containernetworking-plugins + - src-openeuler/convmv + - src-openeuler/copy-jdk-configs + - src-openeuler/cppcheck + - src-openeuler/cppunit + - src-openeuler/crash-gcore-command + - src-openeuler/crash-trace-command + - src-openeuler/crda + - src-openeuler/cscope + - src-openeuler/cups-filters + - src-openeuler/cvs + - src-openeuler/cvsps + - src-openeuler/cyrus-imapd + - src-openeuler/Cython + - src-openeuler/dain-snappy + - src-openeuler/dblatex + - src-openeuler/dbus-cpp + - src-openeuler/dbusmenu-qt + - src-openeuler/dconf-editor + - src-openeuler/debian-keyring + - src-openeuler/dejagnu + - src-openeuler/dejavu-fonts + - src-openeuler/devhelp + - src-openeuler/dict2xml + - src-openeuler/djvulibre + - src-openeuler/dkms + - src-openeuler/dnssec-trigger + - src-openeuler/docbook2X + - src-openeuler/docbook5-style-xsl + - src-openeuler/docbook-style-dsssl + - src-openeuler/docbook-utils + - src-openeuler/docker-compose + - src-openeuler/dom4j + - src-openeuler/Done + - src-openeuler/dotconf + - src-openeuler/dovecot + - src-openeuler/doxygen + - src-openeuler/dpkg + - src-openeuler/dump + - src-openeuler/dvdplusrw-tools + - src-openeuler/dyninst + - src-openeuler/easymock + - src-openeuler/ecj + - src-openeuler/eclipse-jgit + - src-openeuler/eclipselink-persistence-api + - src-openeuler/efl + - src-openeuler/eglexternalplatform + - src-openeuler/egl-wayland + - src-openeuler/ehcache-core + - src-openeuler/ehcache-parent + - src-openeuler/ehcache-sizeof-agent + - src-openeuler/elinks + - src-openeuler/emacs-auctex + - src-openeuler/enchant2 + - src-openeuler/enscript + - src-openeuler/environment-modules + - src-openeuler/eog + - src-openeuler/epydoc + - src-openeuler/esc + - src-openeuler/espeak-ng + - src-openeuler/evince + - src-openeuler/extlinux-bootloader + - src-openeuler/extra166y + - src-openeuler/f29-backgrounds + - src-openeuler/fakechroot + - src-openeuler/fakeroot + - src-openeuler/fasterxml-oss-parent + - src-openeuler/fastutil + - src-openeuler/fcitx + - src-openeuler/fcoe-utils + - src-openeuler/fdupes + - src-openeuler/felix-bundlerepository + - src-openeuler/felix-utils + - src-openeuler/festival + - src-openeuler/festival-freebsoft-utils + - src-openeuler/fetchmail + - src-openeuler/fftw + - src-openeuler/file-roller + - src-openeuler/fio + - src-openeuler/firebird + - src-openeuler/firefox + - src-openeuler/Flask-RESTful + - src-openeuler/flatpak + - src-openeuler/flite + - src-openeuler/fluid-soundfont + - src-openeuler/fluidsynth + - src-openeuler/folks + - src-openeuler/fontawesome-fonts + - src-openeuler/fontforge + - src-openeuler/fop + - src-openeuler/fprintd + - src-openeuler/freeglut + - src-openeuler/freeipmi + - src-openeuler/freeradius + - src-openeuler/freerdp + - src-openeuler/freetds + - src-openeuler/frei0r-plugins + - src-openeuler/fwupd + - src-openeuler/fwupdate + - src-openeuler/game-music-emu + - src-openeuler/gavl + - src-openeuler/gcab + - src-openeuler/gdm + - src-openeuler/gedit + - src-openeuler/gegl04 + - src-openeuler/geronimo-annotation + - src-openeuler/geronimo-interceptor + - src-openeuler/geronimo-jta + - src-openeuler/geronimo-validation + - src-openeuler/gflags + - src-openeuler/gfs2-utils + - src-openeuler/gimp + - src-openeuler/glassfish-el + - src-openeuler/glassfish-jsp-api + - src-openeuler/glassfish-servlet-api + - src-openeuler/glew + - src-openeuler/glib + - src-openeuler/glibmm24 + - src-openeuler/gl-manpages + - src-openeuler/gnome-abrt + - src-openeuler/gnome-backgrounds + - src-openeuler/gnome-bluetooth + - src-openeuler/gnome-calculator + - src-openeuler/gnome-characters + - src-openeuler/gnome-clocks + - src-openeuler/gnome-color-manager + - src-openeuler/gnome-common + - src-openeuler/gnome-contacts + - src-openeuler/gnome-dictionary + - src-openeuler/gnome-disk-utility + - src-openeuler/gnome-doc-utils + - src-openeuler/gnome-font-viewer + - src-openeuler/gnome-getting-started-docs + - src-openeuler/gnome-icon-theme + - src-openeuler/gnome-icon-theme-extras + - src-openeuler/gnome-icon-theme-symbolic + - src-openeuler/gnome-initial-setup + - src-openeuler/gnome-keyring + - src-openeuler/gnome-logs + - src-openeuler/gnome-menus + - src-openeuler/gnome-packagekit + - src-openeuler/gnome-python2 + - src-openeuler/gnome-remote-desktop + - src-openeuler/gnome-screenshot + - src-openeuler/gnome-session + - src-openeuler/gnome-settings-daemon + - src-openeuler/gnome-shell + - src-openeuler/gnome-shell-extensions + - src-openeuler/gnome-software + - src-openeuler/gnome-system-monitor + - src-openeuler/gnome-terminal + - src-openeuler/gnome-tweaks + - src-openeuler/gnome-user-docs + - src-openeuler/gnome-video-effects + - src-openeuler/gnu-efi + - src-openeuler/gnu-free-fonts + - src-openeuler/gnu-getopt + - src-openeuler/gnulib + - src-openeuler/gnuplot + - src-openeuler/go-compilers + - src-openeuler/golang-github-coreos-go-iptables + - src-openeuler/golang-github-cpuguy83-go-md2man + - src-openeuler/golang-github-d2g-dhcp4 + - src-openeuler/golang-github-golang-sys + - src-openeuler/golang-github-onsi-ginkgo + - src-openeuler/golang-github-onsi-gomega + - src-openeuler/golang-github-russross-blackfriday + - src-openeuler/golang-github-vishvananda-netlink + - src-openeuler/golang-googlecode-goprotobuf + - src-openeuler/google-gson + - src-openeuler/google-guice + - src-openeuler/google-roboto-slab-fonts + - src-openeuler/gpars + - src-openeuler/gperf + - src-openeuler/gphoto2 + - src-openeuler/gradle + - src-openeuler/GraphicsMagick + - src-openeuler/groovy + - src-openeuler/gsl + - src-openeuler/gsound + - src-openeuler/gspell + - src-openeuler/gssdp + - src-openeuler/gstreamer + - src-openeuler/gstreamer1-plugins-bad-free + - src-openeuler/gstreamer1-plugins-good + - src-openeuler/gstreamer-plugins-base + - src-openeuler/gstreamer-plugins-good + - src-openeuler/gtest + - src-openeuler/gtk + - src-openeuler/gtk-doc + - src-openeuler/gtkmm24 + - src-openeuler/gtkmm30 + - src-openeuler/gtksourceview3 + - src-openeuler/gtkspell + - src-openeuler/gtkspell3 + - src-openeuler/gtkspellmm30 + - src-openeuler/gtk-vnc + - src-openeuler/guava20 + - src-openeuler/gubbi-fonts + - src-openeuler/gupnp + - src-openeuler/gupnp-igd + - src-openeuler/gutenprint + - src-openeuler/hamcrest + - src-openeuler/haproxy + - src-openeuler/hawtjni + - src-openeuler/hawtjni-runtime + - src-openeuler/hdf5 + - src-openeuler/help2man + - src-openeuler/hexedit + - src-openeuler/hfsplus-tools + - src-openeuler/hibernate + - src-openeuler/hibernate-commons-annotations + - src-openeuler/hibernate-jpa-2.1-api + - src-openeuler/hibernate3 + - src-openeuler/HikariCP + - src-openeuler/hiredis + - src-openeuler/hivex + - src-openeuler/hplip + - src-openeuler/httpcomponents-client + - src-openeuler/httpcomponents-core + - src-openeuler/hunspell-de + - src-openeuler/hwloc + - src-openeuler/ibus-hangul + - src-openeuler/ibus-kkc + - src-openeuler/ibus-libpinyin + - src-openeuler/ibus-libzhuyin + - src-openeuler/ibus-m17n + - src-openeuler/ibus-sayura + - src-openeuler/ibus-table + - src-openeuler/ibus-table-array30 + - src-openeuler/ibus-typing-booster + - src-openeuler/icedtea-web + - src-openeuler/icoutils + - src-openeuler/iio-sensor-proxy + - src-openeuler/ilmbase + - src-openeuler/ImageMagick + - src-openeuler/imake + - src-openeuler/imlib2 + - src-openeuler/imsettings + - src-openeuler/indent + - src-openeuler/infiniband-diags + - src-openeuler/infinispan + - src-openeuler/initial-setup + - src-openeuler/inkscape + - src-openeuler/integration-test + - src-openeuler/intel-cmt-cat + - src-openeuler/internal-issue + - src-openeuler/intltool + - src-openeuler/iowatcher + - src-openeuler/iperf3 + - src-openeuler/ipvsadm + - src-openeuler/irrlicht + - src-openeuler/itstool + - src-openeuler/jack-audio-connection-kit + - src-openeuler/jackson + - src-openeuler/jackson-annotations + - src-openeuler/jackson-bom + - src-openeuler/jackson-core + - src-openeuler/jackson-databind + - src-openeuler/jackson-dataformats-binary + - src-openeuler/jackson-parent + - src-openeuler/jai-imageio-core + - src-openeuler/jakarta-commons-httpclient + - src-openeuler/jakarta-oro + - src-openeuler/jandex + - src-openeuler/jansi + - src-openeuler/jansi-native + - src-openeuler/jatl + - src-openeuler/java + - src-openeuler/java-base64 + - src-openeuler/java-cup + - src-openeuler/javaewah + - src-openeuler/javamail + - src-openeuler/javapackages-tools + - src-openeuler/javassist + - src-openeuler/jaxen + - src-openeuler/jboss-interceptors-1.2-api + - src-openeuler/jboss-jacc-1.4-api + - src-openeuler/jboss-logging + - src-openeuler/jboss-logging-tools + - src-openeuler/jboss-marshalling + - src-openeuler/jboss-remoting + - src-openeuler/jboss-remoting-jmx + - src-openeuler/jboss-sasl + - src-openeuler/jboss-servlet-3.0-api + - src-openeuler/jboss-transaction + - src-openeuler/jcifs + - src-openeuler/jcip-annotations + - src-openeuler/jcodings + - src-openeuler/jcsp + - src-openeuler/jctools + - src-openeuler/jdeparser + - src-openeuler/jdepend + - src-openeuler/jdom2 + - src-openeuler/jemalloc + - src-openeuler/jenkins_project + - src-openeuler/jetty + - src-openeuler/jfsutils + - src-openeuler/jgroups + - src-openeuler/jimtcl + - src-openeuler/jline + - src-openeuler/jna + - src-openeuler/joda-time + - src-openeuler/jomolhari-fonts + - src-openeuler/jq + - src-openeuler/jsch + - src-openeuler/jsch-agent-proxy + - src-openeuler/js-jquery + - src-openeuler/jsoncpp + - src-openeuler/jsoup + - src-openeuler/jsr-305 + - src-openeuler/jsr-311 + - src-openeuler/jtidy + - src-openeuler/Judy + - src-openeuler/julietaula-montserrat-fonts + - src-openeuler/junit + - src-openeuler/junit5 + - src-openeuler/jzlib + - src-openeuler/kacst-fonts + - src-openeuler/kae_driver + - src-openeuler/kde-filesystem + - src-openeuler/kde-settings + - src-openeuler/Keras + - src-openeuler/keyrings-filesystem + - src-openeuler/khmeros-fonts + - src-openeuler/kiwi + - src-openeuler/kiwi-dlimage + - src-openeuler/kiwi-template-openEuler + - src-openeuler/kmod-kvdo + - src-openeuler/kryo + - src-openeuler/ksh + - src-openeuler/kurdit-unikurd-web-fonts + - src-openeuler/kxml + - src-openeuler/kyotocabinet + - src-openeuler/kyua + - src-openeuler/ladspa + - src-openeuler/lame + - src-openeuler/lapack + - src-openeuler/latex2html + - src-openeuler/lato-fonts + - src-openeuler/ledmon + - src-openeuler/leveldb + - src-openeuler/leveldb-java + - src-openeuler/leveldbjni + - src-openeuler/libaec + - src-openeuler/libaesgm + - src-openeuler/libao + - src-openeuler/libappindicator + - src-openeuler/libappstream-glib + - src-openeuler/libass + - src-openeuler/libavc1394 + - src-openeuler/libbs2b + - src-openeuler/libburn + - src-openeuler/libclc + - src-openeuler/libdbusmenu + - src-openeuler/libdv + - src-openeuler/libdvdnav + - src-openeuler/libdvdread + - src-openeuler/libdwarf + - src-openeuler/libell + - src-openeuler/libEMF + - src-openeuler/liberation-fonts + - src-openeuler/liberation-sans-fonts + - src-openeuler/libfabric + - src-openeuler/libffado + - src-openeuler/libfprint + - src-openeuler/libgdither + - src-openeuler/libgit2 + - src-openeuler/libgit2-glib + - src-openeuler/libgnomeui + - src-openeuler/libgnome-keyring + - src-openeuler/libgovirt + - src-openeuler/libgphoto2 + - src-openeuler/libguestfs + - src-openeuler/libhangul + - src-openeuler/libibmad + - src-openeuler/libid3tag + - src-openeuler/libiec61883 + - src-openeuler/libieee1284 + - src-openeuler/libimagequant + - src-openeuler/libindicator + - src-openeuler/libisofs + - src-openeuler/libkae + - src-openeuler/libkate + - src-openeuler/libkkc + - src-openeuler/libkkc-data + - src-openeuler/libldm + - src-openeuler/liblognorm + - src-openeuler/liblouis + - src-openeuler/libmad + - src-openeuler/libmypaint + - src-openeuler/libmbim + - src-openeuler/libmemcached + - src-openeuler/libmicrohttpd + - src-openeuler/libmikmod + - src-openeuler/libmodplug + - src-openeuler/libmpcdec + - src-openeuler/libmtp + - src-openeuler/libnetfilter_cthelper + - src-openeuler/libnetfilter_cttimeout + - src-openeuler/libnfs + - src-openeuler/libnice + - src-openeuler/libofa + - src-openeuler/liboggz + - src-openeuler/libomp + - src-openeuler/libomxil-bellagio + - src-openeuler/libotf + - src-openeuler/libpeas + - src-openeuler/libpfm + - src-openeuler/libpng12 + - src-openeuler/libpq + - src-openeuler/libqmi + - src-openeuler/librabbitmq + - src-openeuler/LibRaw + - src-openeuler/libraw1394 + - src-openeuler/librdkafka + - src-openeuler/librelp + - src-openeuler/libreswan + - src-openeuler/librevenge + - src-openeuler/libsane-hpaio + - src-openeuler/libsass + - src-openeuler/libshout + - src-openeuler/libsigcpp20 + - src-openeuler/libsmbios + - src-openeuler/libsmi + - src-openeuler/libsodium + - src-openeuler/libspectre + - src-openeuler/libspiro + - src-openeuler/libsrtp + - src-openeuler/libstemmer + - src-openeuler/libstoragemgmt + - src-openeuler/libuninameslist + - src-openeuler/libuv + - src-openeuler/libva + - src-openeuler/libvdpau + - src-openeuler/libvirt-glib + - src-openeuler/libvma + - src-openeuler/libvncserver + - src-openeuler/libvoikko + - src-openeuler/libvpx + - src-openeuler/libwd + - src-openeuler/libwmf + - src-openeuler/libwpd + - src-openeuler/libwpg + - src-openeuler/libxmlb + - src-openeuler/libxmlpp + - src-openeuler/libXp + - src-openeuler/libXScrnSaver + - src-openeuler/libzip + - src-openeuler/linuxconsoletools + - src-openeuler/linuxdoc-tools + - src-openeuler/linuxptp + - src-openeuler/lklug-fonts + - src-openeuler/lksctp-tools + - src-openeuler/lldb + - src-openeuler/log4j + - src-openeuler/log4j12 + - src-openeuler/logwatch + - src-openeuler/lohit-assamese-fonts + - src-openeuler/lohit-bengali-fonts + - src-openeuler/lohit-devanagari-fonts + - src-openeuler/lohit-gujarati-fonts + - src-openeuler/lohit-gurmukhi-fonts + - src-openeuler/lohit-kannada-fonts + - src-openeuler/lohit-malayalam-fonts + - src-openeuler/lohit-marathi-fonts + - src-openeuler/lohit-nepali-fonts + - src-openeuler/lohit-odia-fonts + - src-openeuler/lohit-tamil-fonts + - src-openeuler/lohit-telugu-fonts + - src-openeuler/lrzsz + - src-openeuler/lshw-B.02.18 + - src-openeuler/ltrace + - src-openeuler/lua-filesystem + - src-openeuler/lua-lunit + - src-openeuler/lua-posix + - src-openeuler/lucene + - src-openeuler/lutok + - src-openeuler/lynx + - src-openeuler/m17n-db + - src-openeuler/m17n-lib + - src-openeuler/m2crypto + - src-openeuler/mac-robber + - src-openeuler/madan-fonts + - src-openeuler/mailman + - src-openeuler/mainline.list + - src-openeuler/malaga-suomi-voikko + - src-openeuler/mallard-rng + - src-openeuler/manifest + - src-openeuler/marisa + - src-openeuler/maven + - src-openeuler/maven2 + - src-openeuler/maven-archiver + - src-openeuler/maven-artifact-resolver + - src-openeuler/maven-artifact-transfer + - src-openeuler/maven-common-artifact-filters + - src-openeuler/maven-compiler-plugin + - src-openeuler/maven-dependency-tree + - src-openeuler/maven-doxia + - src-openeuler/maven-doxia-sitetools + - src-openeuler/maven-enforcer + - src-openeuler/maven-file-management + - src-openeuler/maven-filtering + - src-openeuler/maven-invoker + - src-openeuler/maven-jar-plugin + - src-openeuler/maven-javadoc-plugin + - src-openeuler/maven-parent + - src-openeuler/maven-plugin-build-helper + - src-openeuler/maven-plugin-bundle + - src-openeuler/maven-plugin-testing + - src-openeuler/maven-plugin-tools + - src-openeuler/maven-remote-resources-plugin + - src-openeuler/maven-reporting-api + - src-openeuler/maven-reporting-impl + - src-openeuler/maven-resolver + - src-openeuler/maven-resources-plugin + - src-openeuler/maven-scm + - src-openeuler/maven-shared-incremental + - src-openeuler/maven-shared-io + - src-openeuler/maven-shared-utils + - src-openeuler/maven-source-plugin + - src-openeuler/maven-verifier + - src-openeuler/maven-wagon + - src-openeuler/mc + - src-openeuler/meanwhile + - src-openeuler/memcached + - src-openeuler/mesa-demos + - src-openeuler/mesa-libGLw + - src-openeuler/meson + - src-openeuler/microcode_ctl + - src-openeuler/mikmod + - src-openeuler/mingw-crt + - src-openeuler/mingw-filesystem + - src-openeuler/mingw-srvany + - src-openeuler/minicom + - src-openeuler/minlog + - src-openeuler/mkeuleros + - src-openeuler/mksh + - src-openeuler/mod_auth_gssapi + - src-openeuler/mod_fcgid + - src-openeuler/mod_security + - src-openeuler/motif + - src-openeuler/mousetweaks + - src-openeuler/mpg123 + - src-openeuler/mpich + - src-openeuler/mrtg + - src-openeuler/mstflint + - src-openeuler/mt-st + - src-openeuler/mtx + - src-openeuler/multilib-rpm-config + - src-openeuler/multiverse + - src-openeuler/mutt + - src-openeuler/mvapich2 + - src-openeuler/nafees-web-naskh-fonts + - src-openeuler/nagios + - src-openeuler/nano + - src-openeuler/narayana + - src-openeuler/nasm + - src-openeuler/native-platform + - src-openeuler/nautilus-sendto + - src-openeuler/navilu-fonts + - src-openeuler/nbdkit + - src-openeuler/nekohtml + - src-openeuler/neon + - src-openeuler/netlabel_tools + - src-openeuler/netpbm + - src-openeuler/netty + - src-openeuler/netty3 + - src-openeuler/netty-tcnative + - src-openeuler/NetworkManager-libreswan + - src-openeuler/new.list + - src-openeuler/nginx + - src-openeuler/nilfs-utils + - src-openeuler/ninja-build + - src-openeuler/nototools + - src-openeuler/nss-altfiles + - src-openeuler/nss-mdns + - src-openeuler/nss_wrapper + - src-openeuler/ntfs-3g + - src-openeuler/numpy + - src-openeuler/nvme-cli + - src-openeuler/nvmetcli + - src-openeuler/nvml + - src-openeuler/objectweb-asm + - src-openeuler/objectweb-asm3 + - src-openeuler/objenesis + - src-openeuler/obs-build + - src-openeuler/obs-env + - src-openeuler/obs_meta + - src-openeuler/ocaml + - src-openeuler/ocaml-curses + - src-openeuler/ongres-scram + - src-openeuler/openal-soft + - src-openeuler/openblas + - src-openeuler/openbox + - src-openeuler/opencc + - src-openeuler/openEuler_chroot + - src-openeuler/openEuler-latest-release + - src-openeuler/openEuler-rpm-config + - src-openeuler/OpenEXR + - src-openeuler/openhpi + - src-openeuler/open-isns + - src-openeuler/openjade + - src-openeuler/openmpi + - src-openeuler/open-sans-fonts + - src-openeuler/openscap + - src-openeuler/opensm + - src-openeuler/opensp + - src-openeuler/opentest4j + - src-openeuler/openvpn + - src-openeuler/openwsman + - src-openeuler/opusfile + - src-openeuler/orca + - src-openeuler/osc + - src-openeuler/osgi-annotation + - src-openeuler/osgi-compendium + - src-openeuler/osgi-core + - src-openeuler/overpass-fonts + - src-openeuler/paktype-naqsh-fonts + - src-openeuler/paktype-naskh-basic-fonts + - src-openeuler/paktype-tehreer-fonts + - src-openeuler/pam_krb5 + - src-openeuler/pangomm + - src-openeuler/papi + - src-openeuler/paps + - src-openeuler/paratype-pt-sans-fonts + - src-openeuler/parboiled + - src-openeuler/patchutils + - src-openeuler/pax + - src-openeuler/pcaudiolib + - src-openeuler/pcp + - src-openeuler/pdfbox + - src-openeuler/pegdown + - src-openeuler/perftest + - src-openeuler/perl + - src-openeuler/perl-Archive-Zip + - src-openeuler/perl-Authen-SASL + - src-openeuler/perl-Bit-Vector + - src-openeuler/perl-Business-ISBN + - src-openeuler/perl-Business-ISBN-Data + - src-openeuler/perl-BSD-Resource + - src-openeuler/perl-Capture-Tiny + - src-openeuler/perl-Carp-Clan + - src-openeuler/perl-Class-Inspector + - src-openeuler/perl-Config-AutoConf + - src-openeuler/perl-Crypt-OpenSSL-Bignum + - src-openeuler/perl-Crypt-OpenSSL-Random + - src-openeuler/perl-Crypt-OpenSSL-RSA + - src-openeuler/perl-Data-Dump + - src-openeuler/perl-Data-OptList + - src-openeuler/perl-Data-Section + - src-openeuler/perl-Data-UUID + - src-openeuler/perl-Date-Calc + - src-openeuler/perl-Date-Manip + - src-openeuler/perl-Class-Method-Modifiers + - src-openeuler/perl-Class-XSAccessor + - src-openeuler/perl-Compress-Bzip2 + - src-openeuler/perl-Config-IniFiles + - src-openeuler/perl-CPAN + - src-openeuler/perl-Devel-GlobalDestruction + - src-openeuler/perl-Devel-Size + - src-openeuler/perl-File-BaseDir + - src-openeuler/perl-File-DesktopEntry + - src-openeuler/perl-Devel-CheckLib + - src-openeuler/perl-Devel-Symdump + - src-openeuler/perl-Digest-HMAC + - src-openeuler/perl-Digest-SHA3 + - src-openeuler/perl-Email-Date-Format + - src-openeuler/perl-Encode-Detect + - src-openeuler/perl-ExtUtils-CBuilder + - src-openeuler/perl-ExtUtils-MakeMaker + - src-openeuler/perl-Fedora-VSP + - src-openeuler/perl-File-Listing + - src-openeuler/perl-File-ShareDir + - src-openeuler/perl-File-ShareDir-Install + - src-openeuler/perl-File-Slurp + - src-openeuler/perl-Font-TTF + - src-openeuler/perl-generators + - src-openeuler/perl-gettext + - src-openeuler/perl-GSSAPI + - src-openeuler/perl-GD + - src-openeuler/perl-GD-Barcode + - src-openeuler/perl-HTML-Parser + - src-openeuler/perl-HTML-Tagset + - src-openeuler/perl-HTTP-Cookies + - src-openeuler/perl-HTTP-Date + - src-openeuler/perl-HTTP-Message + - src-openeuler/perl-HTTP-Negotiate + - src-openeuler/perl-inc-latest + - src-openeuler/perl-IO-HTML + - src-openeuler/perl-IO-Multiplex + - src-openeuler/perl-IO-Socket-INET6 + - src-openeuler/perl-IO-String + - src-openeuler/perl-IO-stringy + - src-openeuler/perl-JSON + - src-openeuler/perl-libintl-perl + - src-openeuler/perl-libwww-perl + - src-openeuler/perl-libxml-perl + - src-openeuler/perl-LWP-MediaTypes + - src-openeuler/perl-LWP-Protocol-https + - src-openeuler/perl-Mail-DKIM + - src-openeuler/perl-Mail-Sender + - src-openeuler/perl-Mail-SPF + - src-openeuler/perl-MailTools + - src-openeuler/perl-MIME-Lite + - src-openeuler/perl-MIME-Types + - src-openeuler/perl-Module-Build + - src-openeuler/perl-Module-Runtime + - src-openeuler/perl-MRO-Compat + - src-openeuler/perl-NetAddr-IP + - src-openeuler/perl-Net-CIDR-Lite + - src-openeuler/perl-Net-DNS + - src-openeuler/perl-Net-HTTP + - src-openeuler/perl-Net-LibIDN + - src-openeuler/perl-Net-LibIDN2 + - src-openeuler/perl-Net-Server + - src-openeuler/perl-Net-SMTP-SSL + - src-openeuler/perl-NTLM + - src-openeuler/perl-Package-Generator + - src-openeuler/perl-Params-Util + - src-openeuler/perl-Parse-Yapp + - src-openeuler/perl-Path-Tiny + - src-openeuler/perl-Pod-Coverage + - src-openeuler/perl-Pod-Markdown + - src-openeuler/perl-SGMLSpm + - src-openeuler/perl-SNMP_Session + - src-openeuler/perl-Socket6 + - src-openeuler/perl-Software-License + - src-openeuler/perl-String-CRC32 + - src-openeuler/perl-String-ShellQuote + - src-openeuler/perl-Sub-Exporter + - src-openeuler/perl-Sub-Exporter-Progressive + - src-openeuler/perl-Sub-Install + - src-openeuler/perl-Sys-CPU + - src-openeuler/perl-Sys-MemInfo + - src-openeuler/perl-Sys-Virt + - src-openeuler/perl-Test-CPAN-Meta + - src-openeuler/perl-Test-Deep + - src-openeuler/perl-Test-FailWarnings + - src-openeuler/perl-Test-Needs + - src-openeuler/perl-Test-NoWarnings + - src-openeuler/perl-Test-Pod + - src-openeuler/perl-Test-Warnings + - src-openeuler/perl-Text-CharWidth + - src-openeuler/perl-Text-Template + - src-openeuler/perl-Text-Unidecode + - src-openeuler/perl-Text-WrapI18N + - src-openeuler/perl-TimeDate + - src-openeuler/perl-Tk + - src-openeuler/perl-Try-Tiny + - src-openeuler/perl-Unicode-EastAsianWidth + - src-openeuler/perl-Unicode-UTF8 + - src-openeuler/perl-Unix-Syslog + - src-openeuler/perl-WWW-RobotRules + - src-openeuler/perl-XML-LibXML + - src-openeuler/perl-XML-NamespaceSupport + - src-openeuler/perl-XML-SAX + - src-openeuler/perl-XML-SAX-Base + - src-openeuler/perl-XML-Simple + - src-openeuler/perl-XML-XPath + - src-openeuler/perl-YAML + - src-openeuler/perl-YAML-Tiny + - src-openeuler/pesign + - src-openeuler/phodav + - src-openeuler/phonon + - src-openeuler/phonon-backend-gstreamer + - src-openeuler/physfs + - src-openeuler/pinfo + - src-openeuler/pkcs11-helper + - src-openeuler/pkgconfig + - src-openeuler/plexus-archiver + - src-openeuler/plexus-build-api + - src-openeuler/plexus-cipher + - src-openeuler/plexus-classworlds + - src-openeuler/plexus-cli + - src-openeuler/plexus-compiler + - src-openeuler/plexus-component-api + - src-openeuler/plexus-components-pom + - src-openeuler/plexus-containers + - src-openeuler/plexus-i18n + - src-openeuler/plexus-interactivity + - src-openeuler/plexus-interpolation + - src-openeuler/plexus-io + - src-openeuler/plexus-languages + - src-openeuler/plexus-pom + - src-openeuler/plexus-resources + - src-openeuler/plexus-sec-dispatcher + - src-openeuler/plexus-utils + - src-openeuler/plexus-velocity + - src-openeuler/plotutils + - src-openeuler/pngquant + - src-openeuler/pnm2ppa + - src-openeuler/po4a + - src-openeuler/podman + - src-openeuler/poly2tri + - src-openeuler/portaudio + - src-openeuler/portreserve + - src-openeuler/postgresql + - src-openeuler/postgresql-jdbc + - src-openeuler/potrace + - src-openeuler/pps-tools + - src-openeuler/pptp + - src-openeuler/prefetch_tuning + - src-openeuler/proj + - src-openeuler/protobuf-c + - src-openeuler/protoparser + - src-openeuler/protostream + - src-openeuler/proxool + - src-openeuler/psacct + - src-openeuler/pstoedit + - src-openeuler/psutils + - src-openeuler/pyelftools + - src-openeuler/pyflakes + - src-openeuler/pygobject2 + - src-openeuler/pygtk2 + - src-openeuler/pyorbit + - src-openeuler/PyQt4 + - src-openeuler/pytest + - src-openeuler/python2-typing + - src-openeuler/python-alsa + - src-openeuler/python-aniso8601 + - src-openeuler/python-argcomplete + - src-openeuler/python-atomicwrites + - src-openeuler/python-attrs + - src-openeuler/python-augeas + - src-openeuler/python-backports_abc + - src-openeuler/python-behave + - src-openeuler/python-blinker + - src-openeuler/python-bottle + - src-openeuler/python-click + - src-openeuler/python-configparser + - src-openeuler/python-configshell + - src-openeuler/python-construct + - src-openeuler/python-cryptography-vectors + - src-openeuler/python-cups + - src-openeuler/python-cycler + - src-openeuler/python-dict2xml + - src-openeuler/python-distro + - src-openeuler/python-dns + - src-openeuler/python-docutils + - src-openeuler/python-enchant + - src-openeuler/python-entrypoints + - src-openeuler/python-evdev + - src-openeuler/python-extras + - src-openeuler/python-fixtures + - src-openeuler/python-flask + - src-openeuler/python-flask-restful + - src-openeuler/python-flit + - src-openeuler/python-fonttools + - src-openeuler/python-freezegun + - src-openeuler/python-funcsigs + - src-openeuler/python-futures + - src-openeuler/python-genshi + - src-openeuler/python-gevent + - src-openeuler/python-greenlet + - src-openeuler/python-h5py + - src-openeuler/python-httplib2 + - src-openeuler/python-httpretty + - src-openeuler/python-humanize + - src-openeuler/python-hypothesis + - src-openeuler/python-imagesize + - src-openeuler/python-iso8601 + - src-openeuler/python-itsdangerous + - src-openeuler/python-jmespath + - src-openeuler/python-joblib + - src-openeuler/python-Keras + - src-openeuler/python-keras-applications + - src-openeuler/python-Keras_Preprocessing + - src-openeuler/python-keyring + - src-openeuler/python-keyczar + - src-openeuler/python-kitchen + - src-openeuler/python-kiwisolver + - src-openeuler/python-linecache2 + - src-openeuler/python-lit + - src-openeuler/python-markdown + - src-openeuler/python-memcached + - src-openeuler/python-mimeparse + - src-openeuler/python-mock + - src-openeuler/python-more-itertools + - src-openeuler/python-netaddr + - src-openeuler/python-netifaces + - src-openeuler/python-nose + - src-openeuler/python-olefile + - src-openeuler/python-packaging + - src-openeuler/python-pandas + - src-openeuler/python-paramiko + - src-openeuler/python-parse + - src-openeuler/python-parse_type + - src-openeuler/python-pasta + - src-openeuler/python-pbr + - src-openeuler/python-pexpect + - src-openeuler/python-pillow + - src-openeuler/python-pkgconfig + - src-openeuler/python-pluggy + - src-openeuler/python-pretend + - src-openeuler/python-psutil + - src-openeuler/python-psycopg2 + - src-openeuler/python-py + - src-openeuler/python-pyaml + - src-openeuler/python-pyasn1 + - src-openeuler/python-pygments + - src-openeuler/python-pymongo + - src-openeuler/python-pynacl + - src-openeuler/python-pytoml + - src-openeuler/python-qt5 + - src-openeuler/python-reportlab + - src-openeuler/python-scikit-learn + - src-openeuler/python-scikit-optimize + - src-openeuler/python-scons + - src-openeuler/python-scour + - src-openeuler/python-SecretStorage + - src-openeuler/python-setuptools_scm + - src-openeuler/python-singledispatch + - src-openeuler/python-snowballstemmer + - src-openeuler/python-sphinx + - src-openeuler/python-sphinxcontrib-websupport + - src-openeuler/python-sphinx_rtd_theme + - src-openeuler/python-sphinx-theme-alabaster + - src-openeuler/python-sqlalchemy + - src-openeuler/python-sure + - src-openeuler/python-testscenarios + - src-openeuler/python-testtools + - src-openeuler/python-threadpoolctl + - src-openeuler/python-tornado + - src-openeuler/python-traceback2 + - src-openeuler/python-unittest2 + - src-openeuler/python-urlgrabber + - src-openeuler/python-urwid + - src-openeuler/python-virtualenv + - src-openeuler/python-webob + - src-openeuler/python-werkzeug + - src-openeuler/python-wheel + - src-openeuler/python-which + - src-openeuler/python-whoosh + - src-openeuler/python-xgboost + - src-openeuler/pywbem + - src-openeuler/pyxdg + - src-openeuler/qdox + - src-openeuler/qpdf + - src-openeuler/qperf + - src-openeuler/qt + - src-openeuler/qt5-doc + - src-openeuler/qt5-qt3d + - src-openeuler/qt5-qtbase + - src-openeuler/qt5-qtcanvas3d + - src-openeuler/qt5-qtconnectivity + - src-openeuler/qt5-qtdeclarative + - src-openeuler/qt5-qtdoc + - src-openeuler/qt5-qtenginio + - src-openeuler/qt5-qtgraphicaleffects + - src-openeuler/qt5-qtimageformats + - src-openeuler/qt5-qtlocation + - src-openeuler/qt5-qtmultimedia + - src-openeuler/qt5-qtquickcontrols + - src-openeuler/qt5-qtquickcontrols2 + - src-openeuler/qt5-qtscript + - src-openeuler/qt5-qtsensors + - src-openeuler/qt5-qtserialbus + - src-openeuler/qt5-qtserialport + - src-openeuler/qt5-qtsvg + - src-openeuler/qt5-qttools + - src-openeuler/qt5-qttranslations + - src-openeuler/qt5-qtwayland + - src-openeuler/qt5-qtwebchannel + - src-openeuler/qt5-qtwebengine + - src-openeuler/qt5-qtwebkit + - src-openeuler/qt5-qtwebsockets + - src-openeuler/qt5-qtx11extras + - src-openeuler/qt5-qtxmlpatterns + - src-openeuler/qt-mobility + - src-openeuler/qtwebkit + - src-openeuler/raptor2 + - src-openeuler/rasqal + - src-openeuler/rdate + - src-openeuler/re2 + - src-openeuler/redhat-menus + - src-openeuler/redland + - src-openeuler/reflectasm + - src-openeuler/regexp + - src-openeuler/repo + - src-openeuler/rhash + - src-openeuler/rhino + - src-openeuler/rhnlib + - src-openeuler/rng-tools + - src-openeuler/rpcsvc-proto + - src-openeuler/rpm-mpi-hooks + - src-openeuler/rpmdevtools + - src-openeuler/rpmlint + - src-openeuler/rpm-ostree + - src-openeuler/rrdtool + - src-openeuler/ruby + - src-openeuler/rust + - src-openeuler/saab-fonts + - src-openeuler/samyak-fonts + - src-openeuler/sane-backends + - src-openeuler/sane-frontends + - src-openeuler/sanlock + - src-openeuler/sblim-cmpi-devel + - src-openeuler/sblim-sfcb + - src-openeuler/sblim-sfcc + - src-openeuler/sblim-sfcCommon + - src-openeuler/scala + - src-openeuler/scap-security-guide + - src-openeuler/scap-workbench + - src-openeuler/scipy + - src-openeuler/scl-utils + - src-openeuler/scrub + - src-openeuler/SDL + - src-openeuler/SDL2 + - src-openeuler/SDL_sound + - src-openeuler/seabios + - src-openeuler/setuptool + - src-openeuler/shadow + - src-openeuler/shapelib + - src-openeuler/shim-unsigned-aarch64 + - src-openeuler/sil-abyssinica-fonts + - src-openeuler/sil-nuosu-fonts + - src-openeuler/sil-padauk-fonts + - src-openeuler/sil-scheherazade-fonts + - src-openeuler/sip + - src-openeuler/sisu + - src-openeuler/skkdic + - src-openeuler/slf4j + - src-openeuler/smc-fonts + - src-openeuler/snakeyaml + - src-openeuler/sni-qt + - src-openeuler/socat + - src-openeuler/socket_wrapper + - src-openeuler/sos + - src-openeuler/sos-collector + - src-openeuler/soundtouch + - src-openeuler/sox + - src-openeuler/spamassassin + - src-openeuler/speech-dispatcher + - src-openeuler/spice-gtk + - src-openeuler/spice-protocol + - src-openeuler/sshj + - src-openeuler/stax2-api + - src-openeuler/stix-fonts + - src-openeuler/stream-lib + - src-openeuler/strongswan + - src-openeuler/stunnel + - src-openeuler/subunit + - src-openeuler/suitesparse + - src-openeuler/supermin + - src-openeuler/sushi + - src-openeuler/swig + - src-openeuler/switcheroo-control + - src-openeuler/syslinux-tftpboot + - src-openeuler/system-config-firewall + - src-openeuler/system-config-printer + - src-openeuler/taglist-enable + - src-openeuler/tagsoup + - src-openeuler/tang + - src-openeuler/targetcli + - src-openeuler/tbb + - src-openeuler/tboot + - src-openeuler/tclx + - src-openeuler/teckit + - src-openeuler/tesla-polyglot + - src-openeuler/testng + - src-openeuler/texi2html + - src-openeuler/texlive + - src-openeuler/texlive-base + - src-openeuler/thai-scalable-fonts + - src-openeuler/thx + - src-openeuler/tibetan-machine-uni-fonts + - src-openeuler/tinycdb + - src-openeuler/tinyxml + - src-openeuler/tinyxml2 + - src-openeuler/tix + - src-openeuler/tog-pegasus + - src-openeuler/tomcat + - src-openeuler/tomcat-native + - src-openeuler/tomcat-taglibs-standard + - src-openeuler/totem + - src-openeuler/tpm-quote-tools + - src-openeuler/tpm-tools + - src-openeuler/trace-cmd + - src-openeuler/transfig + - src-openeuler/trilead-ssh2 + - src-openeuler/tslib + - src-openeuler/ttembed + - src-openeuler/ttmkfdir + - src-openeuler/tuna + - src-openeuler/twolame + - src-openeuler/u2f-hidraw-policy + - src-openeuler/ubu-keyring + - src-openeuler/ucs-miscfixed-fonts + - src-openeuler/uid_wrapper + - src-openeuler/unicode-ucd + - src-openeuler/uniconvertor + - src-openeuler/units + - src-openeuler/univocity-parsers + - src-openeuler/unixODBC + - src-openeuler/urlview + - src-openeuler/usb_modeswitch + - src-openeuler/usb_modeswitch-data + - src-openeuler/usbmuxd + - src-openeuler/uuid + - src-openeuler/v4l-utils + - src-openeuler/vala + - src-openeuler/valgrind + - src-openeuler/varnish + - src-openeuler/vdo + - src-openeuler/velocity + - src-openeuler/vinagre + - src-openeuler/virt-manager + - src-openeuler/virt-top + - src-openeuler/virt-viewer + - src-openeuler/vorbis-tools + - src-openeuler/vte291 + - src-openeuler/wavpack + - src-openeuler/wayland-protocols + - src-openeuler/web-assets + - src-openeuler/wildfly-common + - src-openeuler/wildmidi + - src-openeuler/wireshark + - src-openeuler/wsmancli + - src-openeuler/wxGTK3 + - src-openeuler/x3270 + - src-openeuler/xalan-j2 + - src-openeuler/xapian-core + - src-openeuler/xapool + - src-openeuler/xbean + - src-openeuler/xcb-proto + - src-openeuler/xcb-util-image + - src-openeuler/xcb-util-keysyms + - src-openeuler/xcb-util-renderutil + - src-openeuler/xcb-util-wm + - src-openeuler/xdelta + - src-openeuler/xdg-desktop-portal + - src-openeuler/xdg-desktop-portal-gtk + - src-openeuler/xdg-user-dirs + - src-openeuler/xdg-user-dirs-gtk + - src-openeuler/xdg-utils + - src-openeuler/xerces-j2 + - src-openeuler/xhtml1-dtds + - src-openeuler/xhtml2fo-style-xsl + - src-openeuler/xml-commons-apis + - src-openeuler/xml-commons-resolver + - src-openeuler/xmlgraphics-commons + - src-openeuler/xmltoman + - src-openeuler/xmlunit + - src-openeuler/xmms + - src-openeuler/xmvn + - src-openeuler/xnio + - src-openeuler/xorg-x11-apps + - src-openeuler/xorg-x11-docs + - src-openeuler/xorg-x11-drv-armsoc + - src-openeuler/xorg-x11-drv-qxl + - src-openeuler/xorg-x11-proto-devel + - src-openeuler/xorg-x11-util-macros + - src-openeuler/xorg-x11-utils + - src-openeuler/xorg-x11-xbitmaps + - src-openeuler/xorg-x11-xinit + - src-openeuler/xorg-x11-xtrans-devel + - src-openeuler/xpp3 + - src-openeuler/xrestop + - src-openeuler/xsane + - src-openeuler/xstream + - src-openeuler/xz-java + - src-openeuler/yelp-tools + - src-openeuler/yum-langpacks + - src-openeuler/yum-metadata-parser + - src-openeuler/zbar + - src-openeuler/zerofree + - src-openeuler/zvbi + - src-openeuler/perl-File-MimeInfo + - src-openeuler/perl-File-ReadBackwards + - src-openeuler/perl-Import-Into + - src-openeuler/perl-IO-All + - src-openeuler/perl-local-lib + - src-openeuler/perl-Module-Install + - src-openeuler/perl-Module-Install-AuthorRequires + - src-openeuler/perl-Module-Install-AuthorTests + - src-openeuler/perl-Module-Install-AutoLicense + - src-openeuler/perl-Module-Install-GithubMeta + - src-openeuler/perl-Module-Install-ManifestSkip + - src-openeuler/python-mysqlclient + - src-openeuler/python-PyMySQL + - src-openeuler/python-rsa + - src-openeuler/python-suds + - src-openeuler/python-texttable + - src-openeuler/python-waitress + - src-openeuler/python-websocket-client + - src-openeuler/python-webtest + - src-openeuler/python-paste-deploy + - src-openeuler/python-pyquery + - src-openeuler/python-WSGIProxy2 + - src-openeuler/procinfo + - src-openeuler/annobin + - src-openeuler/python-zope-event + - src-openeuler/python-zope-interface + - src-openeuler/rcs + - src-openeuler/rootsh + - src-openeuler/scsi-target-utils + - src-openeuler/python-cssselect +- name: oVirt + repositories: + - src-openeuler/ioprocess + - src-openeuler/cockpit-ovirt + - src-openeuler/engine-db-query + - src-openeuler/go-ovirt-engine-sdk4 + - src-openeuler/imgbased + - src-openeuler/java-ovirt-engine-sdk4 + - src-openeuler/mingw-spice-vdagent + - src-openeuler/mom + - src-openeuler/nsis-simple-service-plugin + - src-openeuler/otopi + - src-openeuler/ovirt-ansible-cluster-upgrade + - src-openeuler/ovirt-ansible-disaster-recovery + - src-openeuler/ovirt-ansible-engine-setup + - src-openeuler/ovirt-ansible-hosted-engine-setup + - src-openeuler/ovirt-ansible-image-template + - src-openeuler/ovirt-ansible-infra + - src-openeuler/ovirt-ansible-manageiq + - src-openeuler/ovirt-ansible-repositories + - src-openeuler/ovirt-ansible-roles + - src-openeuler/ovirt-ansible-shutdown-env + - src-openeuler/ovirt-ansible-v2v-conversion-host + - src-openeuler/ovirt-ansible-vm-infra + - src-openeuler/ovirt-cockpit-sso + - src-openeuler/ovirt-engine + - src-openeuler/ovirt-engine-api-explorer + - src-openeuler/ovirt-engine-appliance + - src-openeuler/ovirt-engine-cli + - src-openeuler/ovirt-engine-dwh + - src-openeuler/ovirt-engine-extension-aaa-ldap + - src-openeuler/ovirt-engine-extension-aaa-misc + - src-openeuler/ovirt-engine-metrics + - src-openeuler/ovirt-engine-nodejs + - src-openeuler/ovirt-engine-nodejs-modules + - src-openeuler/ovirt-engine-ui-extensions + - src-openeuler/ovirt-engine-wildfly + - src-openeuler/ovirt-engine-wildfly-overlay + - src-openeuler/ovirt-engine-yarn + - src-openeuler/ovirt-guest-agent + - src-openeuler/ovirt-guest-agent-windows + - src-openeuler/ovirt-guest-tools-iso + - src-openeuler/ovirt-host + - src-openeuler/ovirt-host-deploy + - src-openeuler/ovirt-hosted-engine-ha + - src-openeuler/ovirt-hosted-engine-setup + - src-openeuler/ovirt-imageio-common + - src-openeuler/ovirt-imageio-daemon + - src-openeuler/ovirt-imageio-proxy + - src-openeuler/ovirt-iso-uploader + - src-openeuler/ovirt-lldp-labeler + - src-openeuler/ovirt-log-collector + - src-openeuler/ovirt-node-ng + - src-openeuler/ovirt-node-ng-image-update + - src-openeuler/ovirt-provider-ovn + - src-openeuler/ovirt-release43 + - src-openeuler/ovirt-scheduler-proxy + - src-openeuler/ovirt-setup-lib + - src-openeuler/ovirt-vmconsole + - src-openeuler/ovirt-web-ui + - src-openeuler/python-ovirt-engine-sdk4 + - src-openeuler/rubygem-ovirt-engine-sdk4 + - src-openeuler/v2v-conversion-host + - src-openeuler/vcredist + - src-openeuler/vdsm + - src-openeuler/vdsm-jsonrpc-java +- name: sig-dpdk + repositories: + - src-openeuler/dpdk +- name: security-committee + repositories: + - openeuler/security-committee + - openeuler/security +- name: dev-utils + repositories: + - src-openeuler/netperf + - src-openeuler/cloc + - src-openeuler/perl-Regexp-Common + - src-openeuler/perl-Test-Regexp + - src-openeuler/perl-Sub-Uplevel + - src-openeuler/perl-Test-Warn + - src-openeuler/perl-Parallel-ForkManager + - src-openeuler/memleax + - src-openeuler/nmon + - src-openeuler/ncdu + - src-openeuler/colordiff + - src-openeuler/iozone + - src-openeuler/multitail + - src-openeuler/ncdu + - src-openeuler/perl-Geo-IP + - src-openeuler/nethogs + - src-openeuler/iftop + - src-openeuler/slurm + - src-openeuler/htop + - src-openeuler/cpuid + - src-openeuler/delve +- name: sig-mate-desktop + repositories: + - openeuler/mate-desktop + - src-openeuler/mate-desktop + - src-openeuler/mate-common + - src-openeuler/mate-control-center + - src-openeuler/caja + - src-openeuler/caja-extensions + - src-openeuler/mate-system-monitor + - src-openeuler/mate-backgrounds + - src-openeuler/mate-utils + - src-openeuler/mate-settings-daemon + - src-openeuler/mate-screensaver + - src-openeuler/mate-session-manager + - src-openeuler/mate-panel + - src-openeuler/mate-polkit + - src-openeuler/mate-power-manager + - src-openeuler/mate-applets + - src-openeuler/mate-themes + - src-openeuler/mate-icon-theme + - src-openeuler/mate-calc + - src-openeuler/mate-media + - src-openeuler/mate-menus + - src-openeuler/mate-notification-daemon + - src-openeuler/mate-terminal + - src-openeuler/mate-user-guide + - src-openeuler/libmateweather + - src-openeuler/libmatemixer + - src-openeuler/libmatekbd + - src-openeuler/eom + - src-openeuler/marco +- name: sig-bounds_checking_function + repositories: + - openeuler/bounds_checking_function +- name: sig-UKUI + repositories: + - src-openeuler/qt5-ukui-platformtheme + - src-openeuler/peony + - src-openeuler/ukui-control-center + - src-openeuler/ukui-sidebar + - src-openeuler/ukui-panel + - src-openeuler/ukui-window-switch + - src-openeuler/ukui-power-manager + - src-openeuler/ukui-screensaver + - src-openeuler/ukui-media + - src-openeuler/ukui-menu + - src-openeuler/ukui-session-manager + - src-openeuler/ukui-settings-daemon + - src-openeuler/kylin-nm + - src-openeuler/ukui-themes + - src-openeuler/ukui-biometric-manager + - src-openeuler/ukui-biometric-auth + - src-openeuler/peony-extensions + - src-openeuler/ukui-greeter + - src-openeuler/ukylin-feedback-client + - src-openeuler/ukwm + - src-openeuler/ukui-interface + - src-openeuler/ukui-screenshot + - src-openeuler/ukui-indicators + - src-openeuler/biometric-authentication +- name: sig-RaspberryPi + repositories: + - openeuler/raspberrypi + - openeuler/raspberrypi-kernel +- name: sig-Ha + repositories: + - src-openeuler/pacemaker + - src-openeuler/corosync + - src-openeuler/pcs + - openeuler/pacemaker-mgmt + - openeuler/ha-api + - openeuler/ha-web + - src-openeuler/pacemaker-mgmt + - src-openeuler/ha-api + - src-openeuler/ha-web + - src-openeuler/fence-agents + - src-openeuler/fence-virt + - src-openeuler/sbd + - src-openeuler/corosync-qdevice + - src-openeuler/drbd + - src-openeuler/drbd-utils diff --git a/zh/CLA.md b/zh/CLA.md new file mode 100644 index 0000000..53eca95 --- /dev/null +++ b/zh/CLA.md @@ -0,0 +1,30 @@ + +## 贡献协议 + +在提交任何贡献前,你必须同意本协议规定的所有条款并签署本协议,并将签署后的协议上传到openEuler官网指定地点。按照如下指示签署本协议后,表明你接受本协议并同意受其约束。你在本协议下授予的权利从你首次向openEuler提交代码之日起生效,即使你的代码贡献行为发生在本协议签署前。 +1. 你同意接受openEuler 知识产权政策的法律约束。该政策公布在openEuler官方网站上。 +2. 你承诺: +• 你的每次贡献都是你原创的你有根据本协议授权的法律权利; +• 尽你所知,每次贡献均不侵犯第三方的版权,商标,专利或其他知识产权。 +3. 本贡献协议适用中华人民共和国法律并由深圳市龙岗区人民法院管辖。 +4. 请选择一个可适用的陈述并填空。注意:不要同时选两个: + +□ 我是一个个人,没有其他人或实体,包括我的雇员,有或者将有对我贡献的权利。 +姓名*: __________________________________________________________ +地址*: __________________________________________________________ +日期*:__________________________________________________________ +邮箱*: ____________________________________________________________ +电话*: __________________________________________________________ +传真: __________________________________________________________ +[*] 必填 + +□ 我是一个法律实体,如下签字的个人是我授权并代表我的。 +授权代表*: __________________________________ +职位*: _______________________________________________________________ +公司名*: __________________________________________________________ +地址*: __________________________________________________________ +日期*: __________________________________________________________ +邮箱*: ____________________________________________________________ +电话*: __________________________________________________________ +传真: __________________________________________________________ +[*] 必填 diff --git a/zh/Gitee-Management/Gitee-management-guide.md b/zh/Gitee-Management/Gitee-management-guide.md new file mode 100644 index 0000000..fb7fff7 --- /dev/null +++ b/zh/Gitee-Management/Gitee-management-guide.md @@ -0,0 +1,86 @@ +# openEuler Gitee组织管理指南 + +openEuler项目使用Gitee来管理团队和代码。本指南包含如何在openEuler社区准则的基础上运作这些组织。 + + + +## 服务承诺 + +Gitee管理团队将竭尽所能提供以下的服务水平: + +- 新组织创建在所有成员资格满足以后的72小时内处理 +- Repository的新建或迁移请求在PR提交后的72小时内回复。这个过程可能需要申请人提供一些信息,所以可能会花费一些时间。但所有条件一旦满足,Gitee管理团队会在72小时内完成响应repository的处理 +- PR提交后的72小时内,会有所答复。问题解决的时间会按照问题的具体情况有所不同。 + +如果您需要上报紧急请求,请直接联系[openEuler基础设施团队]()快速寻求帮助 + + + +## openEuler的组织说明 + +- [openEuler](https://gitee.com/openeuler):主要用于存放源码类项目 +- [src-openEuler](https://gitee.com/src-openeuler):主要用于存放制作发布件所需的软件包 + + +## 将外部代码转移到openEuler组织中 + +由于开源许可和CLA等问题,在将软件包或/和代码转移到openEuler管理之前,需要进行一些调查,请先向[技术委员会](/zh/technical-committee/README.md)提交申请。 + + + +## 团队指导 + +### 团队角色和权限说明及配置方法 + + + + + +### 处理过程 + +- 创建新团队或项目请向技术委员会提交申请,请参考[如何申请一个SIG](/zh/technical-committee/governance/README.md) + +- 向团队添加新成员, 提交PR申请修改[SIG](/sig)下自己项目的OWNERS文件,该PR可以由团队的`maintainer`批准 + + + +## repository使用指导 + +repository还有license、CLA等要求,请参见[openEuler项目模板]() + + + + + +### 创建一个Repository + +``` yaml +- name: A-Tune + description: "" + protected_branches: + - master + type: private +``` + +如果你想要在openEuler社区里面新增一个仓库,你可以基于上面的示例提交一个pull request修改 +[openeuler.yaml](/repository/openeuler.yaml)或者[src-openeuler.yaml](/repository/src-openeuler.yaml)。 + +* `name`: 你想创建的新仓库名字。 + +* `description`: 新仓库描述。 + +* `type`: 表示仓库的类型。 + + * `private`意味着新仓库只对某些特定的人群可见。 + + * `public`意味着新仓库对所有人可见。 + +一旦你的pull request被合入,```openeuler-ci-bot```将会立即创建一个新仓库。 + + +### 删除repository + +待补充 + + + diff --git a/zh/Gitee-Management/README.md b/zh/Gitee-Management/README.md new file mode 100644 index 0000000..c99f0d6 --- /dev/null +++ b/zh/Gitee-Management/README.md @@ -0,0 +1,25 @@ +# Gitee 管理 + +openEuler项目使用Gitee来存储和组织代码,管理问题和文档,并提供一致的贡献者流程。为了简化Gitee存储库的组织和管理。我们提供了一些工具来自动设置和执行管理策略。 + +这些策略和工具的支持由基础设施下的Gitee管理团队负责。 + + + +## 帮助指南 + ++ [向Gitee求助]() ++ [团队组织者指南]() ++ [Gitee权限说明]() + + + + + + + +## Gitee 管理团队介绍 + + + + diff --git a/zh/Gitee-Management/Repository.md b/zh/Gitee-Management/Repository.md new file mode 100644 index 0000000..0bac16b --- /dev/null +++ b/zh/Gitee-Management/Repository.md @@ -0,0 +1,168 @@ +# 仓库 + +## 维护 + +### 背景 + +在openEuler社区有成百上个仓库。 +这是非常困难的去维护在每一个仓库中的所有成员。 +我们需要一个自动化的工具去解决这些问题从而节约团队的工作量。 + +### 解决方案 + +基础设施团队构建了一种机制去简化仓库的维护工作。 +所有openEuler的仓库和仓库成员都放在 +[openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/openeuler.yaml)文件中, +而所有src-openEuler的仓库和仓库成员都放在 +[src-openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/src-openeuler.yaml)文件中。 +如果这些yaml文件被一个pull request所修改,`openeuler-ci-bot`将会检测到这些改变 +然后自动化地完成一些操作,例如`创建一个仓库`,`为一个仓库添加成员`, +`从一个仓库移除成员`,`保护一个分支`,`移除一个保护分支`等基于Gitee API的操作。 + +### 如何创建一个仓库 + +``` yaml +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private +``` + +如果你想要在openEuler社区里面新增一个仓库, +你可以基于上面的示例提交一个pull request修改 +[openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/src-openeuler.yaml)。 + +* `abattis-cantarell-fonts`: 你想创建的新仓库名字。 +* `fonts repo`: 新仓库描述。 +* `private`: 表示仓库的类型。 + + `private`意味着新仓库只对某些特定的人群可见。 + + `public`意味着新仓库对所有人可见。 + +一旦你的pull request被合入,```openeuler-ci-bot```将会立即创建一个新仓库。 + +### 如何创建或者删除一个成员 + +``` yaml +community: + name: openeuler + managers: + - zhuchunyi + - overweight + developers: + - igorkorkin + viewers: + - jianminw +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + type: private + managers: + - dogsheng + developers: + - igorkorkin + viewers: + - jianminw +``` + +如果你想要添加或者删除一个仓库的成员, +你可以基于上面的示例提交一个pull request +修改[openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/src-openeuler.yaml)。 + +* `openeuler`: openEuler组织名称, 另外还有一个组织`src-openeuler`,实际上不需要做修改。 +* `managers`: 你想在`community`或者`repositories`下指定的管理员。 + 这里需要Gitee账号,例如 `zhuchunyi`。 +* `developers`:你想在`community`或者`repositories`下指定的开发者。 + 这里需要Gitee账号,例如`igorkorkin`。 +* `viewers`: 你想在`community`或者`repositories`下指定的观察者。 + 这里需要Gitee账号,例如`jianminw`。 + +***注意***:你可能已经发现`managers`,`developers`和`viewers`是同时存在于`community`和`repositories`。 +让我们来看看它们的不同之处: + +* 通常情况下你想要为所有仓库添加或删除一个管理员,开发者或者观察者, + 你可以修改`community`下的`managers`,`developers`或者`viewers`。 +* 特定的情况下你想要为一个指定的仓库添加或删除一个管理员,开发者或者观察者, + 你可以修改指定的仓库例如`accountsservice`下的`community`下的`managers`,`developers`或者`viewers`。 +* 如果一个仓库没有指定任何成员(包括`managers`,`developers`和`viewers`),例如`abattis-cantarell-fonts`仓库, + `openeuler-ci-bot`将会使用`community`下的`managers`,`developers`和`viewers` + 来为这个仓库例如`abattis-cantarell-fonts`仓库创建成员。 +* 如果一个仓库指定了一些成员(包括`managers`,`developers`和`viewers`),例如`accountsservice`仓库, + `openeuler-ci-bot`将会使用这个仓库下的`managers`,`developers`和`viewers` + 来为这个仓库例如`accountsservice`仓库创建成员。 +* 如果一个Gitee账号是存在于`managers`,`developers`和`viewers`之中, + 这个Gitee账号将会是一个管理员,因为从Gitee的权限来讲,`managers` > `developers` > `viewers`。 + +### 如何创建或者删除一个保护分支 + +```yaml +community: + name: openeuler + protected_branches: + - master +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + protected_branches: + - master + - dev + type: private +``` + +如果你想要在一个仓库上创建或者删除一个保护分支, +你可以基于上面的示例提交一个pull request +修改[openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/community/blob/master/repository/src-openeuler.yaml)。 + +* `openeuler`:openEuler组织名称, 另外还有一个组织`src-openeuler`,实际上不需要做修改。 +* `protected_branches`:你想要在`community`或`repositories`创建的保护分支。 + +***注意***:你可能已经发现`protected_branches`是同时存在于`community`和`repositories`。 +让我们来看看它们的不同之处: + +* 通常情况下你想要为所有仓库创建或删除一个保护分支, + 你可以修改`community`下的`protected_branches`。 +* 特定的情况下你想要为一个指定的仓库添加或删除一个保护分支, + 你可以修改指定的仓库例如`accountsservice`下的`community`下的`protected_branches`。 +* 如果一个仓库没有指定任何保护分支,例如`abattis-cantarell-fonts`仓库, + `openeuler-ci-bot`将会使用`community`下的`protected_branches` + 来为这个仓库例如`abattis-cantarell-fonts`仓库创建保护分支。 +* 如果一个仓库指定了一些保护分支,例如`accountsservice`仓库, + `openeuler-ci-bot`将会使用这个仓库下的`protected_branches` + 来为这个仓库例如`accountsservice`仓库创建保护分支。 +* 如果指定的`protected_branches`不存在,`openeuler-ci-bot`将会做任何动作。 + +### 如何创建或者删除一个在Gitee之外的维护人员 + +Gitee提供管理员、开发者和观察者等权限管理。 +`openeuler-ci-bot`支持另一种为每一个仓库添加维护人员的方式。 +`openeuler-ci-bot`将会扫描 `OWNERS`文件在每一个仓库下去发现额外的仓库维护人员。 + +以`ci-bot`仓库下的 为例。 +文件内容如下: + +``` yaml +maintainers: + - edisontest + - freesky-edward + - TommyLike + - xiangxinyong + - zerodefect +``` + +这意味着所有这5个用户具备在`ci-bot`仓库下合入pull request的权限。 +这些用户能使用`/lgtm`和`/approve`命令去触发`openeuler-ci-bot`何如pull request。 +你可以发现更多的命令说明 。 +顺便说下,所有的Gitee管理员和开发者也能使用`/lgtm`和`/approve`命令。 + +如果你想要维护Gitee之外的仓库维护人员,请在你的仓库下添加`OWNERS`文件, +然后添加仓库维护人员到`OWNERS`文件,`openeuler-ci-bot`将会给予这些仓库维护人员`合入`权限。 \ No newline at end of file diff --git a/zh/Gitee-Management/opening-request.md b/zh/Gitee-Management/opening-request.md new file mode 100644 index 0000000..cd9427b --- /dev/null +++ b/zh/Gitee-Management/opening-request.md @@ -0,0 +1,28 @@ +# 如何向Gitee求助 + +如果你需要了解和Gitee相关的以下内容,请向gitee管理团队求助 + +- 权限问题 +- Gitee内的组织角色关系 +- 第三方集成 +- Reopsitory的新建和迁移 +- Repository的归档 +- 其他repository配置相关的问题 + +请向[openEuler/sig-infrastructure]()提交你的issue。如果你的问题很紧急,请直接联系[Gitee管理团队的成员]()。 + +创建新团队,添加新成员或者重命名您的团队,请根据[团队指南]()向[openEuler/technical-committee]()提交PR申请。 + + + +## 社区biot/自动化问题 + +如果您需要以下方面的帮助: + +- biot配置 +- 自动合并 +- 问题标签 +- 自动化反馈和功能需求 + +请向[openEuler/sig-infrastructure]()提交你的issue。如果你的问题很紧急,请直接联系[Gitee管理团队的成员]()。 + diff --git a/zh/Gitee-Management/permissions.md b/zh/Gitee-Management/permissions.md new file mode 100644 index 0000000..bdf98f9 --- /dev/null +++ b/zh/Gitee-Management/permissions.md @@ -0,0 +1,2 @@ +# Gitee 权限说明 + diff --git a/zh/communication/IRCs.md b/zh/communication/IRCs.md new file mode 100644 index 0000000..6882905 --- /dev/null +++ b/zh/communication/IRCs.md @@ -0,0 +1,75 @@ +### IRC简介 + +Internet Relay Chat (IRC) 是一个网络实时聊天工具,主要用于组织成员通过频道的形式进行交流,但同时也支持一对一私有信息交流。在IRC上您可以和其他任何在线的人交流。 + +虽然一个频道会有很多人,但这些人并不是随时都在系统前,因此如果您的信息没有人效应,请稍等一会以获得响应。 + +### 如何使用IRC + +#### 选择客户端 + +以下是可以用于连接社区IRC频道的客户端列表。 + + - **[Empathy](https://help.ubuntu.com/community/Empathy)** - Unbuntu 默认的静态消息软件。 + - **[Smuxi](http://www.smuxi.org/)** - 一个跨平台且用户友好的GNOME客户端。 + - **[Pidgin](https://help.ubuntu.com/community/Pidgin)** - 一个流行的静态消息软件且同时支持IRC。 + - **[XChat](https://help.ubuntu.com/community/XChatHowto)** - GUI IRC软件。 + - **[HexChat](http://hexchat.org/)** - 一个完全开源的成功的IRC软件,功能丰富,问题修复迅速。 + - **[ChatZilla](https://help.ubuntu.com/community/ChatZilla)** - 一个firefox的插件版本的IRC。 + - **[freenode online](https://webchat.freenode.net/)** - 一个在线的IRC聊天工具。 + - **[LimeChat](http://limechat.net/mac/)** - 一个开源的macOS平台IRC软件。 + - **[Textual](https://www.codeux.com/textual/)** - macOS平台上非常流行的商业IRC软件。 + +#### 注册(可选) + +一些IRC频道允许使用没有注册的账号,但是我们不建议这么做,如果您想在IRC上使用一个固定的账号,建议您注册一个账号,这样您将拥有一个独一无二的标识去参与一些要求要注册后才能参与的频道。 + +请参照如下步骤注册: + +1. 选择一个您喜欢的昵称,使用如下命令进行配置 + +``` +/nick your_nickname +``` + +注意:如果这个昵称已经在使用了,您得尝试一个其它的昵称。 + +2. 设置一个密码,并配置一个有效的、真实的并有权限的邮件地址。 + +``` +/msg nickserv register your_password your@email.address +``` + +3. 检查您的邮箱,您将受到一封来自freenode的邮件,请按照提示将其中的命令复制到IRC上执行。 + +4. 现在,当您连接到freenode,您需要使用如下命令进行身份验证 + +``` +/msg nickserv identify your_nickname your_password +``` + +如果您不想这样做,也可以将密码设置成服务器密码,具体怎么设置依赖于您使用的IRC客户端。 + +#### 加入频道 + +在加入频道前,首先需要连接到服务器,社区使用freenode作为服务节点,加入频道只需要执行一个简单的命令: + +``` +/join #channel_name +``` + +请参考网站[https://openeuler.org/en/community/irc.html](https://openeuler.org/en/community/irc.html)了解IRC列表有哪些。 + +#### 命令 + +使用/help去获取可用命令,常用命令如下: + + - /nick IRC-NICK 将昵称修改为IRC-NICK。 + - /msg nick Hi. 向Hi发一个私有信息。 + - /join #channel-name. 加入channel-name频道。 + +更多命令请参照[https://kiwiirc.com/docs/client/commands](https://kiwiirc.com/docs/client/commands) + +### openEuler IRC频道 + +更多信息请参照 diff --git a/zh/communication/Mails.md b/zh/communication/Mails.md new file mode 100644 index 0000000..8a3244b --- /dev/null +++ b/zh/communication/Mails.md @@ -0,0 +1,53 @@ +# 邮件列表 + +### 加入邮件列表 + +访问该地址找到社区可用的邮件列表,请根据您的兴趣参照下面步骤去加入某个邮件列表。 + +这里有两种加入方式. + +#### 1. 网页 + +> 1) 点击中的列表名字进入订阅页面。 +> 2) 输入订阅邮箱并点击“订阅”按钮。 +> 3) 登录邮箱并回复从openeuler.org发来的确认邮件。 + +如果接收到从@openeuler.org发来的类似“Welcome”的邮件就意味着您已经订阅成功了。 +注意:如果没有收到“Welcome”邮件,请确保回复邮件时标题保持与原邮件一致再发一次。 + +#### 2. 邮箱 + +> 1) 发送一封以“subscribe”为标题的邮件到每个邮件列表的提供的订阅地址(订阅地址是列表地址+“-join”后缀组成)。 +> 2) 回复从openeuler.org发送的确认邮件。 + +以订阅Dev(dev@openeuler.org)作为例子,邮件如下: + +``` +receivers: dev-join@openeuler.org +subject: subscribe +content: NA +``` + +### 发送邮件 + +当前有Announce和Discussion两种列表类型,对于Discussion列表的发送方式,跟发送一般的邮箱到私有地址没有区别,按照平常的方式发送即可,用一对中括号加一个主题作为前缀添加到邮件主题里会是一种很好的实践,但是不是必须的,但是Announce类型的邮件列表只是用于宣布消息或者注意事项,不接受邮件发布。 + +注意:如果你不能在收件箱中接收到任何邮件信息,请优先检查是否将其归并到垃圾邮箱里了。 + +### 退订邮件 + +如果您想退订某个邮件列表,请参照如下步骤: + +> 1) 发送一封以unsubscribe为标题的邮件到该列表的退订地址(退订地址一般是列表地址+"-leave"为后缀组成)。 +> 2) 直接回复确认邮件。 + +当您收到一封退订确认邮件表示您已经退订成功。 + +### 获取帮助 + +如果过程中遇到问题,请联系基础设施团队: + +- 邮件: infra@openeuler.org +- IRC: #openEuler-infra + +如果您发现任何有关邮件列表相关的bug,请直接提交issue到[infrastructure](https://gitee.com/openeuler/infrastructure/issues) diff --git a/zh/communication/README.md b/zh/communication/README.md new file mode 100644 index 0000000..65917d3 --- /dev/null +++ b/zh/communication/README.md @@ -0,0 +1,15 @@ +# 社区沟通和交流 + +openEuler包含许多项目,这些项目被组织成社区团体。这些团体的沟通和交流渠道,包括邮件列表、IRC频道等,并且可以在这些团队的README上找到。 + + + +## IRC 聊天室 + +对于每个团队和信号,我们建议使用IRC频道作为基本的通讯聊天工具。在[IRC使用指南](IRCs.md)中可以找到如何使用ICR,以及[IRC频道列表](https://openeuler.org/zh/community/irc.html)。 + + + +## 邮件 + +如果要开始一个开放主题的讨论,将电子邮件发送到相关的邮件列表是另一个不错的选择。访问[邮件列表](Mails.md)获取详细信息。 diff --git a/zh/contributors/Gitee-workflow.md b/zh/contributors/Gitee-workflow.md new file mode 100644 index 0000000..38153c1 --- /dev/null +++ b/zh/contributors/Gitee-workflow.md @@ -0,0 +1,298 @@ +# Gitee 工作流说明 + +### 1、开展工作流前的准备 + +- 安装Git:请先确保您的电脑上已经安装了Git软件。如您需了解GIt,可以在Google、baidu或其他搜索引擎上求助相关内容。 +- 在开展Gitee的工作流之前,您需要先在openEuler的代码托管平台的上找到您感兴趣的Repository。如果您还未找到对应的Repository,请参考[此章节的内容](README.md/#找到您感兴趣的工作)。 + + + +### 2、从云上folk代码分支 + +2. 找到并打开对应的repository的首页 +2. 点击右上角的 `Fork` 按钮,按照指引,建立一个属于**“个人”**的云上folk分支。 + + + +### 2.把folk分支复制到本地 + +请按照以下的复制过程将repository内的代码下载到您的在计算机上。 + +1、**创建本地工作目录**: + +您需要创建本地工作目录,以便于本地代码的查找和管理 + +``` +mkdir /YOUR_PATH/src/gitee.com/${your_working_dir} +``` + +> 说明:如果你已经在openEuler上做过开发, `XXX`会成为您现有的`gitee.com` 目录的子目录. + + + +2、**完成git上用户名和邮箱的全局配置**(如果您之前已经完成过此项配置,请忽略) + +把git上的 `user` 设置成您gitee的个人名称: + +``` +git config --global user.name "your Gitee Name" +``` + +配置您的git邮箱 + +``` +git config --global user.mail "email@your_Gitee_email" +``` + + + +3、**完成SSH公钥注册(如果您没有完成此注册,每次)** + +- ① 生成ssh公钥 + + ``` + ssh-keygen -t rsa -C "email@your_Gitee_email" + cat ~/.ssh/id_rsa.pub + ``` + +- ② 登录您个人的远程仓库网站Gitee账户并添加您的ssh公钥 + + 请在Gitee网页点击右上角的“个人头像”进入个人Gitee账户,并点击个人头像下的“个人设置”,进入个人设置页面。在“个人设置->安全设置”下,点击“SSH公钥”,在“添加公钥”内把cat命令获取到的ssh公钥添加进去。 + + + + 在个人电脑上完成gitee在SSH上的登记 + + ``` + ssh -T git@gitee.com + ``` + + + +4、**复制远程仓库到本地** + +- ① **切换到本地路径*** + + ``` + mkdir -p $working_dir + cd $working_dir + ``` + +- ② **复制远程仓库到本地** + + - 请注意openEuler有几个组织,请确认您所下载的远程仓库的组织名称 + + - 您可以在repository内复制远程仓库的拷贝地址,得到`$remote_link`: + + Gitee-workflow-CopyLink + + - 在本地电脑执行拷贝命令: + +``` +# 把远程仓库复制到本地 +git clone https://gitee.com/openeuler/repository_name +# or : git clone https://gitee.com/src-openeuler/repository-name + +# 设置本地工作目录的upstream源 +git remote add upsteam https://gitee.com/openeuler/repository-name + +# 设置同步方式,此处 +git remote set-url --push upstream no_push +``` + + + +### 3.拉分支 + +更新您的本地分支 + +``` +git fetch upstream +git checkout master +git rebase upstream/master +``` + +从这里拉分支: + +``` +git checkout -b myfeature +``` + +然后在 `myfeature` 分支上编辑和修改代码。 + + + +### 4、本地构建和验证 + +本地构建的具体方法,请参考所在repository内提供的相关文档,获取方式请参考[此章节](README.md/#id2-2-3)内容。 + + + +### 5、保持您的分支和master的同步 + +``` +# While on your myfeature branch +git fetch upstream +git rebase upstream/master +``` + +执行merge的时候,请不要使用 `git pull` 替代上面的 `fetch` / `rebase`. `git pull` 。因为这种方式会使提交历史变得混乱,并使代码更难被理解。您也可以通过更改文件来达到目的, `.git/config` 文件通过 `git config branch.autoSetupRebase always` 去改变 `git pull`的行为。 + + + +### 6、在本地工作目录提交变更 + +提交您的变更 + +``` +git add . +git commit -m "提交原因" +``` + +您可能会在前次提交的基础上,继续编辑构建并测试更多内容,可以使用 `commit --amend` 继续添加提交。 + + + +### 7、 将变更推送到你的远端目录 + +准备进行审查(或只是建立工作的异地备份)时,将分支推到你在`gitee.com`的folk: + +``` +git push -f origin myfeature +``` + + + +### 8、在Gitee上创建一个 pull request + +1. 访问你在 `https://gitee.com/$user/openEuler`的页面 + +2. 把您的分支选到您提交使用的 `myfeature` 分支上,点击`+ Pull Request` .具体位置如下图所示: + + + +3. 在创建新PR界面,确认源分支和目标分支,选择创建。 + +4. 提交PR是对项目上的Master的一次合入,为保证合入的质量,这个动作是需要小心敬慎的,您可以查看[pull-request](pull-request.md),该文档有对提交PR的更加具体的指导和建议,以帮助您提交的PR正确和更加快速的获得相应和合入. + +*另外,如果您具有上游写访问权*,请不要使用Gitee UI创建PR,因为Gitee会在主存储库而不是您的fork中创建PR分支。 + + + +### 9、查看和回应代码审查意见 + +#### 查看代码检视意见 + +你提交PR申请后,PR被分配给一个或多个检视者。这些检视者将进行彻底的代码检视,以确保提交的正确性,不仅包括代码的正确,也包括注释和文档等。 + +您可以在PR列表内找到您提交的PR,并看到对该PR的评论和评审意见。 + +![](figure/Gitee-workflow-PR2.JPG) + +**小的PR很容易检视。量级较大的PR很难被正确的检视。** + + + +### 回退一个提交 + +如果你想回退提交,请采用下面的方式 + +*如果您具有上游写访问权限*,请不要使用`Revert`Gitee UI中的按钮创建PR,因为Gitee会在主存储库而不是您的fork中创建PR分支。 + +- 创建一个分支并用upstream进行同步 + + ``` + # create a branch + git checkout -b myrevert + + # sync the branch with upstream + git fetch upstream + git rebase upstream/master + ``` + +- 如果您希望还原的提交是: + + - **merge commit:** + + ``` + # SHA is the hash of the merge commit you wish to revert + git revert -m 1 SHA + ``` + + - **single commit:** + + ``` + # SHA is the hash of the single commit you wish to revert + git revert SHA + ``` + +- 这将创建一个新的提交以回退到更新前。 push这次提交到远程工作目录 + +``` +git push ${your_remote_name} myrevert +``` + +- 用这个分支创建一个PR. + + + +### 处理提交冲突 + +如果您发现提交的PR带有以下的标记,说明您提交的PR和您本地存在冲突,您需要处理冲突。 + +![](figure/Gitee-workflow-confict.JPG) + +1、先将分支切换到master上,并完成master的rebase + +``` +git checkout master +git fetch upstream +git rebase upstream/master +``` + +2、再将分支切换到您使用的分支上,并开始rebase + +``` +git checkout yourbranch +git rebase master +``` + +3、此时您可以在git上看到冲突的提示,你可以通过vi等工具查看冲突 + +4、解决冲突以后,再把修改提交上去 + +``` +git add . +git rebase --continue +git push -f origin yourbranch +``` + + + +# 合并提交 + +如果您提交了一个PR以后,根据检视意见完成修改并再次提交了PR,您不想让审阅者看到多次提交的PR,因为这不便于继续在检视中修改,那么您可以合并提交的PR。合并提交的PR是通过压缩Commit来实现的。 + +1、现在本地分支上查看日志 + +``` +git log +``` + +2、然后把顶部的n个提交记录聚合到一起进入,注意n是一个数字。 + +``` +git rebase -i HEAD~n +``` + +把需求压缩的日志前面的pick都改成s,s是squash的缩写。注意必须保留一个pick,如果将所有的pick都改成了s就没有合并的目标了,会发生错误。 + +3、修改完成以后,按ESC键,再输入`:wq`,会跳出一个界面,问你是否进入编辑提交备注的页面,输入e以后,进入合并提交备注的页面。请把需要合并的备注都删掉,只保留合并目标的备注,再按ESC键,输入`:wq`保存退出即可。 + +4、最后完成提交 + +``` +git push -f origin yourbranch +``` + +5、回到gitee上的PR提交页面查看,您就可以看到之前的提交已经合并了。 \ No newline at end of file diff --git a/zh/contributors/README.md b/zh/contributors/README.md new file mode 100644 index 0000000..97c5f0b --- /dev/null +++ b/zh/contributors/README.md @@ -0,0 +1,240 @@ +该文档指导大家参与openEuler社区。 + +# 欢迎 + +欢迎来到openEuler! + ++ [欢迎](#欢迎) ++ [开始之前](#开始之前) + + [签署CLA](#签署CLA) + + [行为准则](#社区行为守则) +- [开始您的贡献](#开始您的贡献) + - [找到您感兴趣的工作](#找到您感兴趣的工作) + - [了解SIG](#了解SIG) + - [找到您感兴趣的SIG、项目和Respository](#找到您感兴趣的SIG或项目) + - [开始您的贡献](#开始您的贡献) + - [给自己分配一个Issue](#给自己分配一个Issue) + - [提出问题或建议](#提出问题或建议) + - [搭建开发环境](#搭建开发环境) + - [开发环境准备](#开发环境准备) + - [下载和编译软件包](#下载和编译软件包) + - [参与编码贡献](#参与编码贡献) + - [了解SIG和项目内的开发注意事项](#了解SIG和项目内的开发注意事项) + - [下载代码和拉分支](#下载代码和拉分支) + - [修改、编译和本地验证](#修改编译和本地验证) + - [提交一个Pull Request(PR)](#提交一个Pull-Request) + - [检视代码](#检视代码) + - [测试](#测试) + - [选择社区组件打包](#选择社区组件打包) + - [参与非代码类贡献](#参与非代码类贡献) + - [社区安全问题反馈](#社区安全问题反馈) + - [参与社区活动](#参与社区活动) + - [社区内沟通方式说明](#社区内沟通方式说明) + - [社区新闻和大事件](#社区新闻和大事件) + - [社区聚会](#社区聚会) +- [问题反馈](#问题反馈) + + + +# 开始之前 + +欢迎来到openEuler! + + + +## 签署CLA + +您必须首先签署[“贡献者许可协议”(CLA)](./../CLA.md),然后才能参与社区贡献。 + + + +## 社区行为守则 + +openEuler是一个开源社区。它完全依赖于社区提供友好的开发和协作环境,所以在参与社区贡献之前,请先阅读并遵守openEuler社区的[行为守则](./../../code-of-conduct.md)。 + + + +# 开始您的贡献 + +**随时欢迎您的加入!** + +在社区上总是有可以改进的文档(比如您正在阅读的),需要检视的代码,可以重构或注释的函数或变量,可以持续补充和优化的测试用例。我们将帮助您了解openEuler SIG的组织方式,并引导您顺利的开始您的第一个贡献。所以如果您感兴趣,现在就行动吧。 + + + +## 找到您感兴趣的工作 + +### 了解SIG + +SIG就是Special Interest Group的缩写,openEuler社区按照不同的SIG来组织,以便于更好的管理和改善工作流程。 + +- SIG组是开放的,欢迎任何人加入并参与贡献。 +- SIG都是针对特定的一个或多个技术主题而成立的。SIG内的成员推动交付成果输出,并争取让交付成果成为openEuler社区发行的一部分。 +- SIG的核心成员主导SIG的治理。请查看[SIG的角色说明](./../../community-membership-cn.md)。您可以在贡献的同时积累经验和提升影响力。 +- 每一个SIG在Gitee上都会拥有一个或多个项目,这些项目会拥有一个或多个Repository。SIG的交付成果会保存在这些Repository内。 +- 可以在SIG对应的Repository内提交Issue、针对特定问题参与讨论,提交和解决问题,参与评审等。 +- 您也可以通过邮件列表、IRC或视频会议和SIG内的成员进行交流。 + + + +### 找到您感兴趣的SIG或项目 + +找到您感兴趣的SIG组,可以帮助您在正确的地方提出问题,并得到更快的社区响应。 + +- **方式一**:如果您不了解有哪些SIG或项目,您可以查看[SIG列表](https://openeuler.org/zh/sig.html),它包含当前openEuler社区成立的所有SIG团队的清单。您可以通过该列表快速的定位到您感兴趣的领域所对应SIG团队。同时还会您提供该SIG团队的如下信息: + + - SIG下的项目,以及项目的Repository地址 + - SIG内的交流方式,包括邮件列表、IRC会议频道等 + - Maintainer的联系方式 + +- **方式二**:如果您知道感兴趣的项目名称,可以在openEuler的Repository列表下进行模糊搜索,从而快速定位到对应项目的首页地址。通常情况下,在该项目首页地址的`README.md`文件中,可以找到该项目所属的SIG信息、交流方式、成员和联系方式等。 + + + + 如果上述两种方式都定位不到您感兴趣的SIG,您可以向community@openeuler.org发求助邮件。建议您在邮件列表内用“【开发过程疑问】”作为标题,在内容中写出你寻找的SIG或项目的特征,我们会为您提供帮助。 + + + +## 开始您的贡献 + +### 给自己分配一个Issue + +- **找到Issue列表**:在您感兴趣的项目的首页内(Gitee上的项目的Repository)的工具栏,点击捕获,您可以找到该SIG的Issue列表(如Community团队的Issue列表地址为) + +- **找到愿意处理的Issue**:如果您愿意处理其中的一个issue,可以将它分配给自己。只需要在评论框内输入 `/assign`或 `/assign @yourself`,机器人就会将问题分配给您,您的名字将显示在负责人列表里。 +- **参与Issue内的讨论**:每个Issue下面可能已经有参与者们的交流和讨论,如果您感兴趣,也可以在评论框中发表自己的意见。 + + + +### 提出问题或建议 + +- **提出问题**:如果您发现并想向社区上报问题或缺陷,问题提交的方式就是创建一个Issue。您只要将问题以Issue的方式提交到该项目Repository的Issue列表内,并查看[Issue提交指南](issue-submit.md)以获取更多的信息。提交问题时,**请尽量遵守**问题提交准则。 +- **提出建议**:如果您想对SIG领域内贡献出自己的意见或建议,也可以通过提交Issue的方式分享给大家。大家可以在该Issue上充分的交流和讨论。为了吸引更广泛的注意,您也可以把Issue的链接附在邮件内,通过邮件列表发送给所有人。 + + + +### 搭建开发环境 + +#### 开发环境准备 + +如果您想参与编码贡献,需要准备openEuler的开发环境,请参考[开发环境准备](prepare-environment.md) + + + +#### 下载和构建软件包 + +如果您想下载、修改、构建及验证openEuler提供的软件包,请参考[构建软件包](package-install.md) + + + +### 参与编码贡献 + +#### 了解SIG和项目内的开发注意事项 + +每个SIG内的项目使用的编码语言、开发环境、编码约定等都可能存在差异的。如果您想了解并参与到编码类贡献,可以先找到该项目给开发者提供的贡献者指南——这个指南一般是在该SIG的首页地址内,以`CONTRIBUTING.md`文件的形式提供,或者就直接在该项目的`README.md`内(如何找到项目的Repository,请参考[上一节](#找到您感兴趣的工作)的内容)。 + +除了这些文件外,SIG可能还会提供其他指南信息。这些信息位于SIG或其项目的特定社区目录中。如果您未找到相关信息,或者对相关信息有疑问,可以在该SIG内提交Issue,或者把问题或疑问发送到该项目所属SIG的邮件列表。如果您认为长时间没有得到回应,可以向community@openeuler.org求助。 + + + +#### 下载代码和拉分支 + +如果要参与代码贡献,您还需要了解如何在Gitee下载代码,通过PR合入代码等。openEuler使用过的是Gitee代码托管平台,向了解具体的指导,请参考[Gitee Workflow Guide](Gitee-workflow.md)。该托管平台的使用方法类似GitHub,如果您以前使用GitHub,本章的内容您可以大致了解甚至跳过。 + + + +#### 修改构建和本地验证 + +在本地分支上完成修改后,进行构建和本地验证,请参考[构建软件包](package-install.md)。 + + + +#### 提交一个Pull-Request + +当你提交一个PR的时候,就意味您已经开始给社区贡献代码了。请参考[openEuler社区PR提交指导](pull-requests.md)。 + + + +### 检视代码 + +openEuler是一个开放的社区,我们希望所有参与社区的人都能成为活跃的检视者。可以参考[社区成员](https://gitee.com/openeuler/community/blob/master/community-membership.md),该文档描述了不同贡献者的角色职责。 + +**对于贡献者**,为了使您的提交更容易被接受,您需要: + ++ 遵循SIG组的编码约定,如果有的话 ++ 准备完善的提交信息 ++ 如果一次提交的代码量较大,建议将大型的内容分解成一系列逻辑上较小的内容,分别进行提交会更便于检视者理解您的想法 ++ 使用适当的SIG组和监视者标签去标记PR:社区机器人会发送给您消息,以方便您更好的完成整个PR的过程 + + + +**对于检视者**,强烈建议本着[行为准则](/../code-of-conduct.md),超越自我,相互尊重和促进协作。在检视其他人的PR的时候,[补丁审核的柔和艺术](https://sage.thesharps.us/2014/09/01/the-gentle-art-of-patch-review/)提出了一系列检视的重点,旨在说明检视的活动也希望能够促进新的贡献者积极参与,而不会使贡献者一开始就被细微的错误淹没,所以检视的时候,可以重点关注包括: + ++ 贡献背后的想法是否合理 ++ 贡献的架构是否正确 ++ 贡献是否完善 + +注意:如果您的PR请求没有引起足够的关注,可以在SIG的邮件列表或dev@openeuler.org求助。 + + + +

测试

+测试——是所有贡献者的责任,对于社区版本来说,[sig-qa组](/../sig/sig-qa/)是负责测试活动的社区官方组织,他们的相关测试自动化工具在test-fra中。如果您希望在自己的基础架构上能运行XXX测试,可以考虑采用。sig-qa也会做很多的协调工作。有关的信息可以参考[《测试指南》](./../sig-test/testing.md) + +为了成功发行一个社区版本,需要完成多种测试活动。不同的测试活动,测试代码的位置也有所不同,成功运行测试所需的环境的细节也会有差异: + +*todo:待qa团队补充具体的测试活动内容* + + + +## 选择社区组件打包 + +您也可以参与社区组件打包,请参考:[如何打包](packaging.md) + + + +## 参与非代码类贡献 + +如果您的兴趣不在编写代码方面,可以在[非代码贡献指南](non-code-contributions.md)中找到感兴趣的工作。 + + + + + +# 安装openEuler + +请参考[下载安装openEuler](https://openeuler.org/zh/download.html) + + + +# 社区安全问题披露 + ++ [安全处理流程](https://gitee.com/openeuler/community/blob/master/zh/security-committee/security-process.md)——简要描述了处理安全问题的过程 ++ [安全披露信息](https://gitee.com/openeuler/community/blob/master/zh/security-committee/security-disclosure.md)——如果您希望报告安全漏洞,请参考此页面 + + + +# 参与社区活动 + +## 社区内沟通方式说明 + +openEuler社区的交流方式有邮件列表、IRC会议和视频会议等,使用方式请参考[社区交流方式指导](./communication) + + + +## 社区新闻和大事件 + +openEuler参加或举办的社区和技术交流会议,关于这些事件和其他社区事件信息均可以在[openEuler新闻](https://openeuler.org/zh/news.html)页面上找到 + + + + +## 社区聚会 + +社区每年会定期举办开发者大会,您可以通过[https://openeuler.org](https://openeuler.org)上的信息或通过电子邮件与我们联系。来加入我们把~ + + + +# 问题反馈 + +如果您在使用该贡献者指南或对开发过程有疑问,请随时告诉[我们](community@openeuler.org),并在邮件标题内用“【开发过程疑问】”作为邮件标题写出你的疑问和困惑,openEuler社区运营团队会并尽力确保您的问题得到解答。 \ No newline at end of file diff --git a/zh/contributors/figure/Gitee-workflow-CopyLink.JPG b/zh/contributors/figure/Gitee-workflow-CopyLink.JPG new file mode 100644 index 0000000000000000000000000000000000000000..59029b2621005e7d965563a199071778561cbc27 GIT binary patch literal 85143 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 literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/Gitee-workflow-PR1.JPG b/zh/contributors/figure/Gitee-workflow-PR1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..46135a459e9ad558f9a7e512f8801ec18d10103b GIT binary patch literal 125641 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≪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 E3ysC(EdT%j literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/Gitee-workflow-PR2.JPG b/zh/contributors/figure/Gitee-workflow-PR2.JPG new file mode 100644 index 0000000000000000000000000000000000000000..c10023b764d4642663e595d673061bbe42f21e5e GIT binary patch literal 150577 zcmeFY3p|u-+c$hkg-Qw~i77-olue2;Q>%n5&1$n!idmxUV%pG*jJb*mi3uxHtV|_I zlCnwJP4*;B_8Bo|M)u5%&A6D|d$ykYxu4Db{J!VCzwiCN-}nCBb?MUO+MVa|Kab-$ zkK=!wm;9@|4_a~XfYSj;K|ulf4g5fI&PvFhs{^Q|~tI#?KTJddU9i#-VF9Uxc1Us~D1pHF|arD>r7Xp7F z@D~DqA@COhe?uS*h2Z)5B&a$E&fl`qQ7MR3xU57_zQu*5cms$e?!20yZLsT?dCQ+EY|O^ zva#G{V_^;bSLYyTFXRmcLVi#X*e^rD&?U$d{3d|^e=s0R*ZT$sU$8MV3%YFT=}kCu z*3^p-Xh!n9V79|_yBUPWk}i091)L3Df99-@Uyz+Kzl34D-p||4*wxBqyUT@rXMOz~ zuU#D|F^yni9}PPg(=~ZkJ*mhyLX#yH#ajkHvxB;Tn-Hi_9U4ET{igJ z3-+JA>~+cSLa-kpX#I~DdY&PK1l#F{g!p;eobx@q*MEyo&I0d zCV=SgjsBPL0~x_RHv2A}^$b3{AMBVPLu|6$++>Hvv40(QQ%mz*XtV!xAKL5(82_%L z|7&~xKZO%+&HjDU z|A@t(XMpa3=l-s#;K}v>A8da$@=t;M7hHeA^-m%2Pu={NcKrp{KZU?Qb@N}^^}iWh z{}%0@4FVx95yZ0cZfGC0KtbWhzrSsYixhusix)0bT%@#EN$JO~tg=)^S$T=FlF|~@ zB}?^LEmKxf{&B}Yx5+<1E0q`U7p_rM(1#YRR8U;0 zAg_i{piH?4R5X7SHUG9LEKppyXff#0lBM8=!WE$Vii!(BXBRC5B}|2Ia2;B>a*_Im z9eWpR9QIVwzo=<`J>jvk!B1~0Rvl>;7+RdU6rr+YwbmN#wHu9$H*MZxX|>aO*KV7A z`|S@nI656XdhFNZt|v~qd3m2b=i}?=e>phh3Xv3gHS)&ITT#(5w-b|ozn4tA{~+Z_ z`qPYOna{IczAbw9zPPfgx~8_SzTsm_Yg>Cq=hrS4hs*2#J}@{mJR+Q&nw}BO zB6IUU577)R%xN_m54LcUA?>(&Kc~L{({JOH{ zPYI9TRHztO91*NKbE$dBYC}uTM&S?9{*>&0POymoTax`LNEi%P*-Nl;=<#TU971dg9FnSefJ+taxpGL$L1Kxol0)-)rJ$wAY`o0$n(e`@ zv2y5EECS1+eVvhVNDvYrhiaPtH|b}mQ`SiG{LY6~?VrA|SlyWqw&gW^e_}Qp`(^RX zRW)+x9})a7g#DuAXMYj?&lqC=aX=JUhfm}G0YmCPj0be(cULnGJyvgxFo)+hL^1pl z5?kLIR^|1)>Y~2!>_>w%yV0Z79{O(tuV@=ZSu}z(A0z zD2E~ZCR=;F9hQW0YltX&MmbO8MjZ(*xx-kvq zIDM_T+42wk+itGcCC&m_r-$Isy_})!C(>A#c9R($dV%yU*Eh)hyMr8hMsW};i)H<` z82FR4+_p=M1FuU$#YqD!M0%a0s5uK87zy>MWzOrS%ArNaVad6>z`hQaTP4XMgM47r zub6V^PG_oQb7^s_)za)#lD+3kbRaH1%QP z#fFPnl1*>&8m0F-v^|8ny_z>g7+LpLf7tzx-O>U^?t{Wr4-V0=9UEr>D!X?8h&Cf_ z*nukmokdpwSP$ip+9m{aaNiqn!>@EXq@5E;thCvL;4N)x;~wvOgb*vQdK8|;+Wt>5_s5bksL6SJ%q;`)L8_$MneQ{?BheTX-E7DD zVXr6ov$)-_vNA{1ho>5stZ504(cv%c#`xg;v1bY0pr>-EkY7uPO;Z;1(zpS-r~1kZ zg6;gn53-cUCkCe`9-ipO0mXSc0;7>!~tPc!isV^wB4aevJV(x2MNW&MHlu9)hgN4V)zEyjH@lN&O-VS z+a^I-!Ck!FoqTDQF~(b;)McLVz+y6#;xjS&fwE0v{ROiUh|&P(W24AskNq&(U#5Zb z6*11W7L-^Pd) zbFa&xAXJ16o?5E-!ZhP49%V!t&~qPnaOwV(iD~-ix`vX3#O*^v9@Y+UJnUzNY+n6F zU@h7$O{1)neU>Tp2)%f&kp*mIp9HHq>F-mK0)O?K97z2v?eBG4?Kt?(K2o|mH1on; z8z(+2IEY1znG)M5(a%K!tBwNJY_wIN(~R`Wz(Sz+@$`vLXC!t zXNh|Eo;K*RC&=$wMl1}tB%Tw>bb@bC8m}PUY){dnG@}ZAYOu>ePl_3kgy1Da)pbxT zI?#aUeonf@uC_irLj0mK^UYx+^T7Zbejn9O1S0!ME8L?bn#Q6Oq+2*DTO#D5u9vH| zVb(ikAjSu-`KF-+X4L_B$baqAsV+AUCc4wrNgwZ+&|tJa&SITk+0OG1`ypvk?hffQ ztUq3XQcqtxAf#2(HBKV9syE*@-hZFG+c<^mhv~n#Z!J2pp{l&Tx!$oy#@&rdMy)V` zgK#KHl^j|&-8de0;+@d?n#4Ybx?4;T~X)GPWJOeLq0 zlS}&2;9l26xWY-c2_cAn2l}y{yjkdaQ)WnZ6=vi{$~OAz>Ac67zmr3_;;`ov{Kv8{ zI{nV6C1Loyx`o1q?{h>Aa?C*J#cPyO(v;}AkbVx2fwHYO1c3(zay(PRbN6o84~oB`X41My?$-T(F(~H7>M2?6=JfC z1?PQ^%_W~euJ?)YF>KY48$w7Blp&?*e(NaG+gK=ey~}k}ALr#ohDFPqFeG&3TFv<+ znKD7>T4xhAt|~r3wiH@ZOMQ6biX7sdR+lfY$S%+2ke~kw2T{(Up2kmdsC15(SM>3s zo^&EQ&FeOl4yNTN0Ha(_)`hpR^EcGFik7I3-j!v$@DCLS6F zJvf~@@i4Ys4qe1tm73-@!e8Z3^>NB35T2(nd`IJ~e<^4);Rv?4q2Er`U0ip0kL4yK z>Sj4)Vvu4T_hm|_cDN$9#VooUnEcHsfwiq;ZD$<#}MR!h}vtZ|s$ z^OT9;p0agn2_GyK1o0(cHjV;VjqVZtG|FBevCwO#7o zkizP(?+m>thcX;NM{05N=XKW8WhWnfz5E@!60?Dn%JCV?=Qie?;xfip<+_tBMAXi5 ztznH*5_dUt!=F3ZKK|Pz>TsLs<20-(_6^*s%oCrUB;OmrF1E@=>}5Mh4wWLx7UVl8 z3?G|jlh+!ul&vCbcUxR|Vg6P++IRkrs5m64!II8S!Of(d_MIdH9eUe~mKI{vBwK{{ z2Cj2+V^OMPi`-!`ru~_Jno(YUY2;NUcR|DY;Ey)DcJ*Vfx?Y#nvIVY85TdR*%B4xR zsl~7tOU&euGNangwMwQVhi>2Qs1keakE|D)%kan1TZ2M-q$S+5>B^_M$( zv=9rapW}D6I9ce)p~06l7L zS|<97|J^kcW5G_Anb%DS6U{y9N{I@@GC2e*B^h+`e6C~GkbL@3bv-Oty0TltbGQYiUhW8ZC>N$7edN4>xtf^cco0FitR-3sMkg3L0fgj=rRH zfDlt=?#ED}Xdz5{q)|=JO`6INmw72VkWwq?`7Qn)`oeZP z)iTWer{3;gn+I==iVu7ib%d3CMZY6>J2)9k>4oK*RP#RVQG3boBp_SOsMzy(Es1sD zzP?*Yebj{#oXvygnQnSaN?^@*_SYjYdhavKi#^QmP0Dc~!>EeE3|cjkQe{hHo|AnM zrEsoV1OtM7n*x4qGfBg#`FFyq{q3dLF!ZJKr2eo|ZSb~Ig4P3_0qe%Gq;qw1*)nCO zV3vEOFhlkkyJ7>P#wDyK`BdyIes(>b^iXDe!p(OctyNsZ7RA3vv8D}{wOwpNtBINH zj8fPLxU<%4$hg=^;vZQ-FUSPbPZed(~uK1mfY{HK-xcDvu4}mKE zmc&+CTAa|1#&JUjTED-G{8>;N>u(z3;1F-$6>j`6P&M~HIx1yPB08+4%tB--%&k_7 zmP7fd2(rD<*|~Wdr5C`uI&w8FHG}2Os`$<5lHkLa9*S%??>f&Z5%+$3((6@1rE!q# z!RIJnJuKTP`hNKCwAFPt(EEb1d6*6wR&9E8(kj*vWRa)Y!qJyaXP>k84wig7QK}-Q zngS}R4_IBHaeTSvC~5&^4au3SB-s*(;toc8Fst=U--4_wWn+QH*UbC*bJ6RsW7;O2 zrXF8h%-msMt^`T-pD;A#kgwVuSe?f}8F zX7o{)d_h~UzSB0-o&Lb-s*gT544-waS;r>O;d!HaGIhhsA;sBOwg+J`Q_6G#`{fwC(Yj1EFiz;Gr0$`RWMl4ov@~ z6S0O3e7QeC%|lk3wiJ25J(aa&b~@58(I|lZ~!snmERY<@0C=3igso}adFW@ z{-fZB0NP*3NUuZECrEl1=@AAo`>ZSIt4X}$MWydrB&hVBQQ8-`EmqaZqA#T_+roM@ zK7EbSzMz7NBQwMpxWb2QE5`YkYhhL)TH>Ei59yh<9X(Va)FEv)Y+i4My*t$uqTBdn zuTB&QbUzqeMOsFy^>!f}#K&acPz!>}w~&7ZaScjUvZQ_H)Fw$l4jkx_!xXv1Mom4$ z;O3M+-*-u^ZQ@AY)r(-nn%~E$>6a#8)R9J+)@8Wzh0+N?JcfYjERc#FE&_yPJq~7J zc|57H99k#-U19zr-jwnU792K1ys#{-KC^3`7317}!m8?hd#$Tn#VC>4{I7TPt}r)N z1FAvHIETogb{-as(xEi53w)|gV3}UH2oOj}%QQ(z?2C9l>zMG?)7e2^5qhR^P!8F5 z^;gJpedY^f-$`qM)@#+|f(f(2RI-=b1iK1%mOUr$YnQcVjnJ6HP%Mp`s@(c11@}-6 zU5Ta(6!xIXG+jBw8YUH6kU7p4lPF)()CHIf;g+c*2=RIE5M^DnL_>I}vm*JbU13H~ z&r71~@uRY-!))WbQw{5)z1aDm_9repbf0`gn$GY;A)A!ON&pHq?A7RB1?=NUjG)Dt zuHMi$9;7{HrMxgjAU>}WfKJBxm%NEkF({^zBAnFs$Dx1U56v5MwIr)M@q!|WCaoH^ zWEyt^)#5>3>X9!wgjF#F zC+Tbbu?0-3i5Ie2=v9kfT5!tUrrTL>nLu+s`Az0X(g~Kk$Jdc0X;FQ|M2l0Jipddk zVL7q*ymYXZQKVGGyn}z!Ic^O&oz7_4x?XqE&MEHTwf-+?XD%M)*K#_5&nekjqT^FW zmz{8emBX@3GaXylgHzU>0T+20()(Dzv~>+~zR_1uww?S&Y3{UP$4M>{InpcD2WETC zu3Prl)~7W#78EDelE}?grG2^i~kT$pp;PLBX#{l+{ z^W>#MuMg!`g5Fr8lILAWGn~ zD(U4Kz4g*Na6TE!iL>DyZwHhDCvaF@n!-}|q9hfEWTLLHOPL*z-s0%`)Q*O}F z(U-qxPR!|-zXo~jMIP=JDnB=_bgy7`U%n7`r@(IQfE;pcF}?GhFc`OVOl1i=39ID2 zIln19VJ?9`r7>kJ0t0q~C|hkUQLmG&M2%Asdmwf}?ihZYZYJJ0c1mK~A1cE)49-zJ zq;%s4R0xo$WaqI!go$ikX^itEQ&3?>+a z%l2#7_?(4KORs}@60b&KQf@fc$Uj;ba!K)XcHyT@af#U43uF((+Hl1&nFZNFnu*c-L0t$O99s(c+6aZPs)3uUilo^&JGdC1 ztzzK~w})q`s~FzeW!*q*YydG-nShJabqqYp|N_9!L~frtObYpCDnl8?RsmE@}~&Ez%UArhHY2xj=xt z=}RS0Sv%iwq^I133_v;{_J!f*Egh}nIHTC$lpB){A(JRNOw%bHc2NYe@Z3 zGfE~%S(0XfT5PE~+?OLWr|v`UiI0*ZKNM;0KmZAZI9JmN!c%pFtP>e+v&Ub%h(@)| zN~3xEs}mhIK5LphkUV)+YkaR9+EPaO42yo5U`)f&&lRV$MWaBH$4IIOCw?I_`TEVyaceSV=xD&Btsa z!IdeC-*5xNevzhGGV+Ft-BWu#aQSt|6S1^~u&rzyOk?8@$pksHq_GAi$b~s4LHesB zwEf}9^ijS*>j^S#uPO#h4@VQ>Y{mPSvX)6SsHTY>8mA=8UijtQCdFx9HACR077h4U zLRD%FqQXfXKgtbcN8^8vU~^?uOtR&;UPmuCjFVMM^~;~7`HoCFd{5OHE%nl=#0oB? z3{fnQ>(3;I5Zh3W4k3!7nJ0Ar)T=8Dq22aw+fY{A`lxV{ToBRI;yB}IJf(hVr)wh( z9^_hAXJc$1$T$~3u>2lu5WognX#zC!E1B5y7# z%on(n)x{N_3N@K-i|B3rFzfa>64#1fd)n5UUcI_FZsw`pCA*BL8nrT?2OpG1?Ejm! z80$RVfM8FFLlbE?C#3Bz<) z5xU*Rr8uL)sDZF<_0uN>?7qtlwlSlA`mFUT06K6iP!&xdsE;Qa9{;`gp}xZ2p|=7y z8q3lPtAfhtS5NVi)CrU9#*e$|?wf|cu_s%L9VJJLkd=b$z3t^HNNgQuJGIVL>%hk; zXJK+Sw=vEmY>nx<6JN_dKYZn8;3T_?$ATg~6<0pIE)5?iF+g&Ju3Y@BQY((Ta}BFD zE1iDpYIz2c+vHGNJQ&GKRA&FQ`9%dqrdK$%OlMh)LF^N+5;~LaHI`NuYy1%PT)aqU z5%~+4@664XN^AjVxd@4QNxJ>Hb~FE#Ww^tk)I)8719w#(mA`E>YVH?%Rjj+r7cWD3 zr@6$GV*%IA_*x=*)lrCwz$#3GoZO6SXq~p}OYrDY!YY3n%f0>8o2x0dY&0`Z6a~eHEulL&cHC5bU zmitNyF8{7JYt2zvyk9L}Y$v%8D~d)=1#lZt%aPQo`JgOX9@XuZPFU#3W46x->2cfa&PfD#t93(DBvKz6@0JQNiMZYxa zw9tt5c;wQM>v4hq>W(5;zvW+-wN^}hbNq5LG=aJ9Zg>gP;ge>O;pKW0g^oGKg^3?wohB52LO*dgYRpK@^h$z8V->a20e$Qv`my%qb%g4#4DNg6 z3cE&HVm={<-nmPyxi=_2cPP5qWDtj`EThi{Fw(g`5-MsrJa#5k4!OA9Lup|9NeJ+m zUYhKA|F#!PZ2dRosz~2acAO+zA|Za6*xQm-9J>Gy`c4ZZsxE+IeP_@9TVZ~2g+3mx% zvlVG3h0O)XbbrhA!*jX^0np4C^)`1v z@msgks43FLSy_6&#Mf!Ow5PJvs!XJOwE#eL_Z@oRUU>0po#YSHEqKhM9jr*p{P|VO z(??HkZ-T(SV5fVP-jniuK>nIj7L?Cdm$x%%+)eHb!P=4Xa@Cgi>}d9KOZ;t*HSd~d zMwf;=I~VJmD|%qPm6~zU>$My@@z}=rVG8H$?Mj>)s^BGMzht%0HIlr$kD=Lx+_vp9 zooR&glx{aX72B0B%}jdheIRw*Z(+C5*EE+BiTGQFZB_XeL15jBmjure2N2JTn zE(Ym(A;|vqa;ceB@4g-t1^h0Vrz;Jt$Q)~p;!@l}Y2i?6A48+=`ACW?BRc)<&EAgB z1MbNTUzyguom3mZm8M|<%grBq+FBZ7Rmiv<*Y&O~7k&6_zf;J@`d+FiJ0L0r$1j=F z=80$K?|`1rBLYE04tmkY0{H>;2puu9uGo(4$H9`dy|8d(fVza&wp)`YCC57oOaqiJ zZAp-oI}E_rG23&mZ5uP;G>=b=C!6fSJD?}cL{Dj}le$g&Zdp%yI?QSCC9^uZXntaE zj4=D)muKZ+umUOQ^Qk7xWaaKLe#izp1}pH{4fD`WQ~G45_#yKfXLLGArkfzZ$!^SH z1p&Yv)n%~-WB7hnqM5-_Pj&bb{P5_Z z{L<1}^WO_~4-*WDH+>x6p1-XNVvDCv3_ed~b|;8(Gb3dxae`mu(5Ezz8d#OeAzm9? z^`?A@+FTM~nidx^Bv+qhE+5e7eG2E^eQ_Zu@F*_}HQFCKC|SvB?-Ye}7MY@%D?S0I zaIK?oOb#hByr@xdzE3q)my}&W(F;U*AP=6y{z%%8zm_$MMbmfcXXp9p8q7_c+jVFC zoa|mV*#^1zL}DVSDW^Uf7R?7eIJdKku*CCN_}0fJDdL}(qrQ6b_DglPR5YsIyrqZt zo}{j#)T5S5{KUT?1m5ZlPDe44#IaRs34Z7${%HjJhE;s%RocOZeyoK28AEE24tl7U zrdQ(y_RKC?4ZMa>8v2sFxuCt&IcxM1>6VB)d!jAKWP;2DjUwAA0VXBhBqR z&n3WA*Bd<1msI zy#tiXO;_-FjIl5QU!;$OhjZXt7!d8>2-w?JsMPLLU~{vH{UBIar&B)H>tudpO&z{3 z_c&M*hyb?W6rl6*Z43f~6ZOYR36Y0hA!Nu2k z;Zw`$mm5FNi|21clh}BCUR0zU3V?ViY=l z$@z}qcS%t&F__2}GRHv9yRf7U>ywLYb**U%>g2qoW>7xQ&sGhgH)a?x1BialWjv>N zl2M_bUMRXswPQ97+e;Dlus_WKUgr5DwYWe=UnD+{tfyPt>dIO4ys)%5V*J5O&vEDI z{y4+^D%LD={g;^jsg>&t@4Em-U3Ar997H<{*@&??fE4M{F5666&8%7bHpX9+Op6I8 zdS19&!k_FJe;U{C(l_S7e%)a7DU?co1lmd_2Y@HTr4K3kWL<&vwVB)~yuW}^MK40B z0Xra!B!DuawAj;ql~sb?F2zPN)hcW-ep|rOuwb4P382IebX9! z#!6>727!e@&bbA(!xu%lCJWFq&&2(`@e{gJ)2lQUrgAF@$i~?Z{0P)avnUK$tM~L#}bJSY@^3lVA4970A^ZtHA+At6JbL6#L%N`8pUiE z;wrmsnJY<&{k{IyJBweXdumPz%l9qQQqh~m+P=f}I=Zt>tLZO+oZ2+e8ssS<*H>F=Mc?I)S+{|4`&_X(K*6J_z{gnjbxPhPh}e2-GAR z&VUuoqI{qiD#ggQ_|vrr<%R)zTUtyD8rg4$%-xzUTh3l^cM37&huGGOId&AVH1grh z?2P6wN(14*9eCBzcAC5U(^r~=1fHs9qfE-Tk#4no1|H77Wm<|+;TM4=GEXVq0{my1 zg9^DSM;aSL zc_cz+@f&q*z3}*GYW{Ci8eyG7_cRrRz@dT^&nQQHLe|wm*@V2|5fC5@;yT94yjiZ3 zy75+riC5#KQP_B-)O_Kjq*|RnFySk6RNr4bt=63{S}tIYe;3qty0ixo&=x$k<=;T8 zMRKTN`E7ndI(7J`_@pX*&C7ZSkF7V&{+_vMcwNl&B29%!xSEd`CqEYZk{2Rg90pYm ztw0}sF(O-2bQ1k*CSo%;?XFmx6nfVw4=i>a*dOLyRo74E8%EzHIP!#y8+gIqRMbsC zvC+T+HEZh28M9mPGP3InQf`&r;;70PPt%8XtxxaHrTjs}`WAQVPhLOOHGIH%a}G~z@@hJ6L)>5* zVcW_i+h@~p2Jx7%KCnt&-L(qNV@fo#xyBXjD8AQ4EHAHcoGQx5MzDM%IpYf>O<0I1oK^WQt7!k?0l zAaKZ&fZ}KQk4I^)JLlhKdMA|DdlmQ6&n5;>VTqci+f$dpm&(D{5zrh{#F9o9z}?Os zNa%C-k+}3;#Q1P&{KSERM4lMGzs*Fi)wSi?RQe>PGiZqJr_&$V_$h4NKo(*qQ)%Yp zu9Q`lt07v#+X2`+YjHON9~In|@o=(+q_f%Y3MM5{Y{iPjjj;J{>-y`ngP)SHKZ8E6 zMQAb=3qh`kD5YVn{TK@=>%IiqI^~a9nij$8<*4clmoVG8&4x{SU@gPS zj}8od%dUPvqvP<%hPo0Cs;pco()(|3& zqDp^Dnhi666LzY#YysoLW;M!G7y_KAL%29KTXIBTLceVlsNOzqVx~SnQOVgrWPdN| zcG9U&t@ui1cqY2spF(XP2CX_Xt`~d63UXZ{E4IDGE}T&*#4oCo7C!fKC{7tR?Y}FN zLly(U4pLzM_49*6Ko_b)n27OUC02v%g+%fi*(%cX8kA3fUAR=c!rkR;qHbAr zQl+5Dx+~Fh;br=c{;7n8X)wQNj$N8Fj+Lnp1=h~ZlvTs8NgI>v`qCcn%K7;GmX#Zt`37gb&Vqe<+qjfpM3fT*IOPk(-Nb@VQPgmmCm)wL}E@OVaxCqJpU& zbz+LxTVPwxJVt!Tv(}ITGI`N{DGhBe4xm)Ztbz3gpUVJK?rk#gFAFP#oq!nd%Y`J4$gmJp`|*-3qOuaf=fvKH zt<#R%a$l)iPW3$YLo>}9oHPus;?|kQUtfZ;mS~DaC#26Afm9_@H-~yNs9eDhbc*~- zurT1_3+L<_u48FbQSoJiS}Fm!=wEiBjOX*P@#Xv{*D#8phTivkuQ?LQRr{Jlw&r4& zH9ezzay`Cdl;}pK`(4gH#VSvlVpYc2gvO_k>4xz;28{W;j7rR6K&lhxEV=<~=)SKU zS_@VOPE1wnEka;|53vucygxTUFX_brqLX2K)ZiVbB{+uEdt!Lq{fLfTgW@f>ApxVC zC)y&I9iI_f0J>I{yzc_*vi||wGPC2S94CyLbG^a^%(Ym_^4&W%i4jieQyP?cfs`Oq zi4j`x;1Afy@|8%Y_$ShnN&G@q&E?#tr^Bnka)*?sYKF4;t56_gX;)9r#;|NzWK!i*bYm67MS#qcw-;ECx!*p4R z)M0|mF9=P;Ph9N3cr2KWtZ$<%mi{g?A!`WOwFFH!i5(Ib;ss|67sp>e8)_64s#9GV6C;R|}(JV%@NYL~BdUlWsTt6jdGA7A#$P!7H zsb&z=WuH9OB3Bs&aP@nweQh3dIk~@y@wfCF55dirRJ%oBr9inHIyqRso8B*-ZJ5sj zfM1mmL9@=}{m4yWktjykaZ{*RG4H_;@^G!_?IGHhTa#1wf7xBwzU_#b9WS)MAQA@` zqGqV;h7wo=C*A)xx0MDuvVIS`;0Sg14t{?;cpug7t^HtT|?t^cZ}Bk|;Up@yMoL zH0@AJnhta2*QYB>x2HZZ^a`;ns}72>97?D+jt_m57nrw7XNHubNpSZlb;QJMYyb3%88Qr9sMp$?990rS3r z7L?)f(8%9>Aqz7n~?`%8ID@X`5ERxkXTZ;D=v{*ht52N{cr_wW7hZ>Bh zER1HgbJI70Pci?m_vQaU?z^TU{8RWP5-&k7_^99|&POlqgI9f}Lv zIFQAK-?-cLJ`{Bs7DkS}?q)uaM5l#MIZ<~TI3siPdhYn##0;cUepnOLQKjfuXMtglEgN;$!6yhGGt?SPs9+ zp?-fXhcv{P8swQt3`6j;11|gFaUX$nS|g)0(c`{PqVhz7>7YZ}{-iTkjU^hVM0UccG0(?M>7y*{bzTuz z9cJ>XPvjGd- z_Tvn8kXegIoctM*I2`L>hwUNW?KSD51af}_$K89|L0cb!bID$VuQJE$+XA}@vt$I%pr|nzSVUF z1SH^UZt|YUAtoJAfeG#K+*;bMvImTup(~Wl%|QjygDt)DpXZH>-o1Sn?X+x&7m%KQ zp+4O9c02gy_rKHOtZmr;Sa;yZ1EVtp5$@NjC-87b%X{n{hNdNmWXbDmvc(6Y8x0s2(;)wQMhy9_wEtl@1 zhZ6V+hKK%pLwuwbb5y2W_kwir^VBb`NgnI~AIDaVttot{;p z@A}fNVEqeA-`=v7L+B>79~HBUrDm~%FO~r}zLfDF9TrMZGX3uj?08zoe(^54u|Hej zLb!eYbq|;^HA`(T12$Ks0JA+&rwm(tWuBBO4zxNM_0`oq%p_X;(Ln^$&&Y&^aG~+H zs_Wn@V>4YX8Tn6ZkN=ys3!C9Tt=(}1So`54M-ui?jNp2qU{F@OnK9j-by#R2bD&0H zMLS%;XRJ8~--M{G&aH;mA$$CeW7e-6D*mIWGYRk8d3;Bm_M4JOzROwy!Q6Z9D7&Q) zW2W+wATiEz2nfF%@MP31Y=sLqUpd*onS@8T{9eJZ?`W z)mz9GolZcCJc@)SMNu6S;rsS#y&hic@)8?#$K)mL%U)vUC$3U(1gU?ya4r>11r7t4 z7yPGnCH}B3D(I*2-we>?hXKAQdm7V^cIFI@bqXyiWi|pm`U`ACA^4`jwsyWVE@-CP zc{JO$>0sa?RWGv2GqkzG5(mtyW9R07t^=;BT&yv&g$qK$|1f#{7Y^}(^ZiF1*#16= z#g76X@XZ-EXRq8FC^juF-;LB{j3n>0sb0PIP;9u5WfAMw_9(t_N=@_8&vDj5Md@c7 z*9=fY*ZkYQiq6$uyH$;ry>pY|PqzV+3a>UPSC;JPKs#OZdG3$z66JqR?&!$>7Mkd= zF!4Mw4pmPD2|C_*g7?a}7A|=E-t$GBT9jmW`e@R~iqQEh_bxxjp9r9-$Z|g=HcZck zoj^~MBy&CM!FM8Mt>Jz%SA53Rp8lvE&Xv@n3Y20?Red=1A!>_+)dm0j|+jbKl=HWimZ7ZLE=lz zvm2JNlkfRwcD)vX)t0YaH=K~I6F$tnZAD#ivOA;tGD0})Vm^8men~8h-~-8@QQTYL z{)2X@YQ9%770#!_HN&=xqVTT|gGXHpw7sK#`BkQ(klyu1yzj}A+gr`6zi#@v<=Gos zhs^rM;nO|Ge(ORHjf#N${hMBh&eMHEew3^){SWruGpwntT^nWDP!S@aq98;ef-VFs z6s068XkZ~`VV4#alx|c&0)%7<(nN@Wf`TL>RS_d4fRseKh#GncC4?Y7B%ve|Qap3L z=iU2U`+V2=-t+HV?>_qndKpYI<`{F1@jUl)-}kdUQef2bQDV$5oJsDVQBPaFRFt!$ z7msEd>XERcHV(YqgjrqGaA@!+U5CjC|9pHV6A3)4Vc5Q{+Qc_bP zi~&xv8cM|zVLY8_rASR;&u9ACKQJ zvDOVaVU4Z|!f2U!vm;vM3qz0E;Am)jCpuEtzlL0YeC#DT(0IO4BfTr1-EXk#X8-#D+`F9uaZxYXZL(S zj?$xySrA{k{0)pekYX)}qE!Sz9~)7)ZV0XdZ?4E5N3@`|O~X_?|xmr`MG1&IAb|&_dRmAX~-h9|%U4h*M zOy=DDOKxUkYrBZ_Yf}<@|W)8ewDXy4I0I}5%iXl(PrH}+2utczYRKOXF&hlhS zJ;i^B9BNA2ITbyx7j%hp$>FK>Yd_Y+-WLO?r!bNWU!1$0e7G3t!m-PkcEboL_Pr*Q z$PvR*z9dZ`LSlEIof^RqBw=&ypSd=;@pHO9Yjlh5WORfted5~!y z9RLSuj|Q)&W$Oe@lMiu_=>2}5EDfHa+0^?*_BAmDEW7j!Dd!6RP5@}Ry)w&6OFooUsNOFzs`UmH8dO~7W!2J?1h+~>JRE5Wg7<#L&Ll|MLsJK;c z6#&JHx~r?6;JPWk$6?r+_Q;-XuHKr!S4#Eu($V;^QTvTWVnYE01i-_QhszUn*!#rMwb#M$zcqg@4-KR$x*5jQ7Ln= zpexDqZrnBCk}q3ltjNrUKa!OPTm-XKJ%SJc@m?HknLvI(?OWpSdly2&-9^g35XctW z5+SReXw?6@`Dpc9yIN!!O~2$~5BlAKYuB!7wCO$ko8!DO?P-cRVT~nO zkB11+Xe}1niK|wTGG){%NNGp}AMSt7gO~8(93w`iCNb;-(~StYX=!C~ZxQa2-oxc; z%?l2wjcDf~U#EDGSRAq}pN=)zC1D)>vhYjpXXa3b4pHhFDr%-bS~ZFRMV^HYd|p)0 zhF%lMhFL*fu=m=b@T`%II)RzLO(7SbYpTI$`vf zyvDz*PM|M_oa~0l7<@mqRY-CQW5SmpI0CXNC8BPcJ$i{kA}kYXR%Qr;t|tCh&Q(P> zH1J)}-m5T?x>6o#TU8%LHY5hM9==u-N#qBefpsJtc@`EpAj_Ja#{93l%O0U;OnHvtVR>4?vCS_vs7n_vr^0WsZ36eLXhk0(3( zKNo`=IY2%NsEuakKc-UFIM1f0X~Fo?5AkCMG>wckYLBAg@!8k;PFBx;$=wG9Shjn} zgn6z`;4it$8Ssdr|G1#@*6imAGH)}Zysu<0t#7?xyrg>l&Hu>)`kM*#@A~uGYuvNW zLE<*m$}1VNPC^;w5m*35KdQ=qV(I>FV7lr~#yZCC^Fs|=R-a67Nl|dd9Ou{>YU-qT zgsc}Vzd8IYw@uajxz0JuMXUX}Ya>Oz6ZAMT-_c6`GjogiNCq3Bj2*07eKgjE6sX0R z&>^l@f#gZ|i9Qsvn?srywG2Rxw`@upQM-ub7|V1Bb@s-@DEuxyzGw_12UOS3a`e}R zd-_vmN$Tw%xSt86O?zv5vIxgjTZ3&NA5rSGzLB_!o_w9uYtPr$5DRuVwB#Nu*B{5I z5b7@D4v!km(YcgOzUuq?4(jwQ@wgCm?2+FHxAa!43xa2}aVq{Rns95h190JDWpAK{ zMO!UgY+qR&Z4vi=o~cXvK78^}>v(lbEu6hD+|Jp{dK=gNEGQ{=_bv01GQ}DFFM$-M zs7^hn;Rmgzm|9awbQl ze0!h~6fkQL0M;$$IV5v|VK&>bfTotun**4 zAvIpYk>SZ9;hs;xvQ9=l99C6a3?KvwO*=k5Kk(K&Ep*F+;B~JtNq49_bypx?f}3Aa zcFml-_S?*}EAbKq>01*B(cCj?SsxKa*jfgvPbudd&Ud+V&l{tQS5&Mg>$$ttAEmAR zw*Iaq$t*#9yrm3G*0zr$wj=xqF@y~@C-1qBIruEvJMZEaVV0qD@dHbl+TP<&PHWC* z?KblD-mCgqYzTYuh@^+m$!?dYIJzMO7lf@q2;Z|&Z3i6IOEIPvlbF4~sA}}%hlttvvzXr5W`;@**Jbpga>Np*Oc_f3ge3EBUu!SJ*91qv@3N_5s z&A;~noAPJJ`bUl}veE$NjB3>lvroY`PqYy~j>*S>b;yX#S`<5x zo9p_ZbHeHmc_KCpt&LpF8A(QtyE8^2MPa%R$0?qAAEDM;*1x8P$b*NU*aK%O%{OpQ zsUsQk=Zmntoh;2GikExC&sbc1dM2gSe>V|!xDq>b@F9%&!zM{51?Rhv#swqE_16WM z2)yBJIwWc-eB;1WaPl?dzBXfqMWa}=SmX5xXkvidIsaETN|^XAl{sSOn3C@2@osl# z4gCXt_~?0K3?@`k1)3Q(Nx)i`|zob7w?~~+Li(d*r zyjcwhUICBkze<-?zrlaWJ=aU`Spm@=NCNQom)r@~2EynTkgkwq_m7u~{(fmaSo>9M z`6UN)l+k}${S+Mn&(XRD`r-l_P(V0t@*^xyt*5tA+GdRaeO}Y|%Q6LLSDiZ1l`ASa zj!jzR`<;IUAiHNO9;r@5mV4niewGARO64siIVN2v5~jo>x(`ljfxB3{cczNT`A?5$!ZHDSz1aav}?UlyhnUUQlW zb$hG893B{MOc@+GHRH%h(ijg69DTcU&#TCkOJ}klbtmF3LH$p6&f`Pz-H1}|M77`^ zwFuz`!kIg9j=4S{*KuzcA`XPqS=e`MT|147hn&BuC}{rPJK{Y)u;s4L(V7yNa@@fu zQbK(gRBcFd83+dBL|&}noglK}pyWb1HNMd-fQ5YT#009(QKOq@W-#W{Itz}{JBdk-gY;QUg1iy)dB~B6R zEfX73(hJ9o21K9XhWsK@WFc0sKJ-IOUcaVp-?{3JQBvak%{mP|Q>;ub7o$;2j<1pN0A!bOLSyF2b zHlfI~{N-`G*Q7leP!UG6yM@=H8Qul%Rm$xgP+_VdNZ*xHleiP7@ouQlX}Hy2@1j5=@ShcW7S&dF{-q>m$?h^4>J3?L|$sHKv6} zoSF-!sVeI}RVu&U`2?lQpbc;>PqW*gJH6DHZf`w(3%sk|A8{IHx}GW>9IpSzGVV=k zAElf!7rmby+m`O>hJKg|&3FNjIf&0;Z)p}-B@NBBW2WT%0ig68wUZ-AdjiTbLnpE} z6yE?NQ!npncvi3wt%K|`sppvu+{Vt=JhRh6Cg1|bgm3vgwr8WJo|9nF3BVI}V$&K| zZ;@jWWt6Ona2^^$m&lS9ZB#F^Y`Qv z*$KI{BIPn#G<5U8nY5?8M2z9dpAx}J(i!ogGXMusmp*N2#fN-$Q{~t8M&f-d#Bj*wlF>InSiEEIL*z+`pbgtz@DhcN$sO_F!aFV6z&2@b6e&1UK zZHC0UskMWfdT{3<&sou$OGwrC)xYl>=y4wC*}d0+4i0~v7BThV$nvX3~s=C z^9h3VsTv2q>Sr39eqT>B4$Dg@+OY%f6moCnPz~M%@8aiZ`r9Me z=5zUnI2u}d;x#yB!69ife)BAXUkTq!@B}kJovdLHLk^EQDPt_qTGmR_2*O~d18n7gHU`sYtqojuGPU^44JIx|l_R@O;S`^|Cdb)y@d<-waX61DrjqN%}L zol%4)KyHL?G@-eMXrF?S zzlEU+y@{fC?%KrXAVG(T{7kbDn8m`k`l3~6T7a5E*&%0aPYv?jNlfs&Yv+=_o2L10 z1Nn?0!T`t-@%#xx<-IDX39EdB*i-i1NsX&_Ym5<1`b|JjD5CAbCXXGa*vls_$8!<& z4=%Ls7M&5H#Fzn&9rqe1qN`1dKwi*3xx1@QcopxP$;bR<3|*sXJ7unw@`m8=qcW2= z(frkdz*T5HJmK>FBjku@zuA|SfQKm;^KXWr_DD0~>Hwb6r0Sq2Iq0h2qP3G?bfLop z6Pqskn02f*vT5Px)IP6`i&`?!ATBbfZnLJj|Rj^<2Zf_ zg~Jz|YDrzrDp()cyw#LUhlXUq4uI!eoIhoizH&qM2Gs#V?DH{W&~09;!mKym!ReFH zvi88DGhy437tbEeYpsb>asy3Gko{)_i9N)8$y&Z)+Sssy3s|g)@?YjD^y{W%`y86y zy04e$Q81PI(XJGC$S>G6i7gjAdYkCAJ0@P%2-g;PtbR{T8=GaQ*cD!rXz{Hkvb_uK zEgUvvTg-yo*`(I5Ll!3@&JaeR25Y5tXcBAN(su+}T5Rdy{?0|3VOJ%1-mO+~>SD~7 z1WFDv{QH7#qs)u~2C2~mIZJu|;h^<=bc947#16TqpSb;!yD_~(xMnU-n$fsFLx{n7 z<}J>m)$pAlz{69+ipFH0C|LB>_NK(@kbR4%@rx(gEh)8qhqI&COYfl-TCTb2XqCfJj>guXt}%u#$V1JVh#-( z&@v~OZJUSejNj^f)3xz4M-0d&zpyj1aK`Q90&ZDod1SC>foYU(mRYnx(fl168+BO+O)dx*_@An;8{*ummvTr4P@(?>`?nXtTq%dd%USVG4sFG~3w%2g);vEWij^u2iK&0BKC0WWI^mnyxlwC=g#H8yjmcyAs6c9jfG61&( zRpL;65g$Ac+$6U;=%wntVTByWxn~JPs?dz}K?}VG z8;V>N6PLLa@FmlOFdD^yMh;koWC+9 z<(7ysT0GlIZwwP(Hj7<$Q0Y5WO=>w8y}xOtCNLSjoZPCt@xr{eA94jQ6Coc=Nfg=D z;cB4A+Jn;ei&G-?-XxIwaYjGd?7|;6QmLaoG3d`IE2JJCOu$rjn+%?1NVqh-49O34R388>6#%YwIZVe3a$jvOZ%ES zC;%dgc%YNEecHTYuC-vc(+RZyYqNW3bhCz9o>|l?_HhmeneG{1uL=L)jpytaTUM|Z ztIX*QLLg}@PNp@TiVu#%ncb$f%3&yme5#1_!W4=+5hy!%ivMcOe)c-dzib@cex!=&}~mNg|k zVXb%y>P!;n?I>aG3_+>JzQ8*aUt8$lYbm^k${(;t3~(ZPp}z}V7xe~iRAzj8DH%^2 zKXbZYfcXGzfooNC;xyQWu}h4(R-?TJM}~H(%<$$BH{M|J)W3jOP1#uPZs z>+S;u;BBD_T~8SG1BF1VCI``cB=qqHTgmqebu$T~de9@>JsAva5TZeo&~+x4#ygOWgc?m&EZ2Mg;8|LPQltwRzo`0snnr1$GsL zz&fq|`ZvbD{)yQY-WMrA=g%M4kXC^7vyyZ<>S@pL?DHUD%N{D(LXepunI=XnOU0l^ z6`0L(0)NZyeEdUvCKu#Ur6K@umy_HfmieF;r@;k#NCbVnr`DeNZ}A^&o^)Jed3Dn# zJHhK-3;iXR&>>8)mxUiB@DGDRv|%}~u_u><|Lf%Zmx()}ZhW(p*726W$R)})Ab!bd zWOLQiB&%0JWB{BjL6uxb)Ar2&@|n>8@_p?a68AU#i^Vv@^7&V*@vlaC?9IOz<^TNt zf4_?VGe7?`KmWU@{D1C`|G7W@KfON+23kW7OP3Bc)8|m2gu!F`|JC2)Kl*(9|Nd_Q zdNAW}nM(9c=?mO7j)rSkeJC{6SPBm*^Qt+;no6gR-?N;)8LJyL5|SNlb5eu1ZoZ#w z3iY9+BSyg@z;>JiKUjFMk7~4WO1&b^WVVod)S*1`9IdJ>2}TlbOqndLqE_o7J)%^4 zQHRG#hd(xZyvrA;S`irrs3vqS0RF>e+zT5v)%nS)LH3 zCw$LYoCcBgZbKUAE$%`7re(v^SeaTlk;)GNiGGqxz%-k%2H%Fzz`%D)ZVU8Uj5K{l zcF}7{vnT;A>0Su?>YlEg1WXo{n%=2!bYrHj&KGamhryZU4E9eij)bK3-N!~8vz$!W?0m|DJ^3m}d2%vI|J_B- z9n5Uj6D4~Pk%~yh-RZQ{aOc=!Onf!a1LAu4PQ-N@wW|BQ#2;Rf%hX{MeOCer%+#Lu z$$E|@o{1qUX51yrAY&}8o;+|xSOT_UVJHK6qR&SL8sy`s-Q6J7;jnJ`ol)`qYd;pH z&-bLvl{hh*Q{Rq*3`H2R4VmCWTcA;NCD~qY!aAIMK|gM1r;$mpV7E-G!puA> zw=q31Y}w!XH0>xuXsh!}4rwdYOVe%5RK<}J#Oe}#sx%996QMtLLP~V<8+QolJIKgX zRJ0Q+lKX>_?;W?kCyl(Xrzkgp`{o>5w6bwQ4O+dR*-5jpb zjG@$UFT7BDF}eka@ay*Ev-N}xn8V)>Mh+)moPG4)SO1Tsl^V&ugT`SaO0 z0cEajG~5HE+#BO`ZsdkPr@?UdA5XGl{+h5Gt*R{R)a%vDa1viCxrQ{q`sNf5#@M&? zG(0;rJmp&oT*Uc@ljvkKsAMBHQZ@qdr#hAh@z6D8d*$Oa>`|pNDl_IvWJ`6|B`)l6 zYk+s~?Tpby<*qN)Ny?&@T3yG-?R4A%T0z#$+HK5;Ci4?OLuUC#qupM32%sD^Mp0uq zUp*;oQ$$}ZqtQwhmn{a8u`&iG#6wV9vtT>cF#Z>Qv28UQC9S~g;IzRT=h76YYUaw+ zfLXBNQoBSgd#Ff833m_1ybDRS_3ZIjFoIQwVTCK5A#uAWzq`z#%x#Yk`;HoBAtWlN zP`j>4P6#e1_d$Ov(y8j?8cVlc8*ye%DNXyr7QA`E<7vskE#w7_xN<+1t6BphVr2g( z@H?%C>@Xao-PqQe)BIyhZ_+MbtK&u7i8LG3UW3y`uYxgpwjEj_N9h0yV(mS5E5ao%e%LlDI@8@1d7qIGyJAKZ(`BXjDX}G18ZpCQSji!2We`LK|DB*wb6Vise3<~b4xj})M0NME8TD2AD@hH$Ryp2?fjju&#UG2$ zble}=$%`z%@)422h|Mx{SqptFtefs@0JZC-X(p^~RCkLUvoBJzLY(R`{%NytyWG~_ zDCePk=4MRwx7b#_mwHOFI6hQ}=bLend@(1j4vRZkh@Gv6oA%M!rUGOmYE#XQs*}C* zyz|pbg^Ck*En^MdqYv!sTb;IS-9s?Yy4BX*ci}ys(nN_<6njbbcGOsm@e?Z(*)@;}po{rR6!(Zv!sfnNL)U8@1? zJP?EIeZPb%JH5UrzV+4~vB5KyGsGjPMNr?EL>x^9liKS>@gz;q25V6GL4b*;hM^%q zz)65T79U?Ne)1?T;I_P&2YaLqyIx)WX1|eRJGtBnZ#7FUAxpOZ;MBnl1Pz2r|| zaZI7`JEV!FeBGLl8 z2`a?Vf}7$NC#~miv10ZFS@+=>5n}a7?F#6(dNyNeYVx7x_`t@hRAj`=aj58~L!ztZ z`T^Gs`THoc0rWP>dVZnsGRUloY*KHD3Ph*^YR-KU>u~mLyhHG{zPU2G5_9Izj|HDp zH<#f1h)fzH6A>b-l}T`uPw1oI7P-wBG9VIW2;`&jd$1|zW9mXdqgeO4)#%!6FV3G` zqrIGnvA|3N|MT+qQ~c_X0}?0;t|JbTwJ|5>hQ%6K`Fiu-x9nm0v6hDFgqtIZMs*5X z(zHxFjr`obm*WfArlob5^-&2u&lW9J!HS2+3d_%?Fd)bb9e%&ePy|)R*+_h(m-7mQj% z{S@a}Q61Hu-J)%3t&>&f#wqf5Jh2-SE!zrQsH@sR%=H2ZS;CYY;6aFCS%!rsTqDf? z_h7s2;}3OC>S_)7PJi7l<5+`R6(u3xxPA%hYo3P8FN6>R z!Z6Lgo{dn*5>!?3>Wq_NN&x}mJ)1LgbE5e;q0Fx(Ll$o;5PuNbQjY3b$h4eL`1_Idh zx^TQJs*VMzQDs~G;RSCNr5nch<}(gzbV$mvj+-2&$a^{C+kHf%kcUBN#o16r#zTod zoH*uxayi`hT$*c)MOuVCuvZhuGG90QpJ=9Vi ze|VHuEl9+EG(vz;3iKs(h+uFuGvckp7&y#EM6B*!MMdI{vRRwF%>tzF!mQL#(apmX z{c#h1QGa6g$C?GzLr%IzfxT8w|9AfhfLjTu#0L825nuI3=8e4%Zs8g`%c^Vt;ELdk zWM+?6$nhJZt(?^96PkK2kuTBe-cbHUWDVfRC!Vh?OmSK&_^)^WGu) z^JHGl#{sLJR}<5k%UiNrXjV_*umGoE0{{H+T(C}m5LoTA=MM`DM|bhchL4~XMuveF z>+U<*oqM`(g8ugYS%>Rr1YOU&NzH;|N1i;Udum(dpgt5(p22m&C>&{E2^HvC$)kwu zkr+?iNMFi6Mk8g%FrdCLiV6z%Ij^B#WHl*e^;cBW7|Vju8=@Y1B%1H2Y0;7{dh8!$ zk5HQFm1$OVPTDh~(~Cqz?nGE0UF#y*y{psK?eLA739A<*#4EKm`Tbw;oqFAFx3q5I z{igozO0eCRP&^4XwfOGK1`ml+kZFH|FRXn#GqSB$ho6^pYv1q?)F*m+lz~ z80KJNd#77hyk+a>RKd`f-7V^JXIA9X;^qOKY%@Ct2xYk>GwMW45B&B{V=xPtbxMmh z$?!I|x6qih^`m!|p}FX#xbbwoL{)W6GeIk3 z&&{&YQGtY5Ct>dU2EO=gFM_?d15t6kjH;U5A}l&|GU(xt6~luy3{GMnkL(QW6Z=YR z1ct?hSac&<(Kyq+d1O=9Qr1{4w2riQk++mFJBzW}5?6rq_8#AcWF!#+r^Kq0puh%M z@-!fOhMr1HrJ>vDcTn3$u<=byY9DAKVh!%__57l;^e5?QF*i&rdOKYRUMpR#g)0!u zn(&uq&68~;{cfCPnCg3QA$+Ya)UB@XEu!E+PDb`%%e`BkUMa&~Dpt}S?sDyut!MUj zvs8>L^cP!84#k4>xf6?Xd``Rhh1NB8G(hcCSAZSTrM|Fic(@AFJ=wN7*ZA&d8Y(?YLY@@B;LlyXFmbt6!bO z?B43&lk8HHQiUv8cV8iIPJUb1ad~sA;Gfw)Dd|+OUy)WMXhz*YgAz{z3DTH%UQT&g z_Zj@YMmiJfRY7)0g#3;u#$X?~422MXRw5UE3mgF*N!95XE46xb38N9CiFJc2qkTw< z6}4rFKfsNus`31_nYesu)wY^)FCCHw!O&K7GNtViEK(GgZuKhiCG<3|3`bocH?n~J zXNs~UwqQDiWKR@Pu9Zjn7S;a9&%>sFU4WLkqM47v^!-6k_`_1NPE6(271H&Eh9|W_ zfA>`L-znQ8(FRR`D7(ChMl%r6=}-8+yM2y4i_kRhatx7V6zV&dH3p++zSB@?3u;Pb z|F~@N-6-!;F7wTpD@mt6NQ6;%v7pS$QgMt)c&iZ{YpjLpt|hc=Z0cQnoW8v2|rrpfSh z)93ju3NvsUm9zKc$#E@D#iA9@O~}%x0XoyDf2??gv=SEtiK2j^I?klm7@eTD;mb60 zeVg~96G|xR&LMtD)jY`|&!wi{TBI}eO2m$(EAVfgHpGf9@R3%$a800Fk(FOZf2=sB zxMmPVuk3W2JtekgjXA6smx zy>EM*fnV`j@dfv_fulmO^_&+vTI;u7DnxOn*LRGo)H^oo81qMMDK+w<>Dzz+`ILKF zOVs_GFST~M5vP)o6WJ?k@b(VUN{I`-)F`qh91;;278|6faI&_SXLM&-)AWZc@?vz~ z*Rsyh@?u(5t@LNNm#stWtppXjoW#I~V(@;47cK5z)MrCLS#}*dNK>E9i#NgS#$K`O zG%?U^X{=!CW_VRe%t&A>x#dyuLA#(FBy_&ZldNsale5!JA6aLY46zpEa|bvWIjlz0 z84g?bJxLevW^a_Zj$NS4RN;yFjN9(jD_ndN{Oz7}yMuRXDxu>xNY*hp`i1lrc%X$} zTj*HmYoV8sCELhu(ia$Nf>|R?6L83%9f9&+;eY@1kq$f)9`Si&x4g5r&z_YRl9u9E zf*K`?(i~eDEGxA-*5HLEGE`zc<`1o7BI@YdW=Ojt?Q7E~ZGa4TR*qHeEIO|tXh-UU zAz11GG1*A!`Z;`MMJqf7dIbLF4ebG$BWivI)cKDB_+662RiJ0~&)z%xBFFYErLG3r zS>A0<0cj^`him2*Lyqr!>f}mbtaUAaE)`c+1_&| zM$x2w6;ao#di)JMnLLlk9}Au-ZD*4g{7w)>8adJwx_72CrzoL^7>7GLhEc*so+C}` zq;l$+KTV{iDZi}lO?sSML1^uH%f9!wrpVq_wHi9F{ zacQ2hkt()&lpMQ+-ej`;p>}Me+UW{fS+&@5^@yvvbL(3j4AH=Qcd|=tr%i}uLhRJM zVyMZs-&VXwAsd0gQTk^nNX)p{iT@q@$q5o&;kLJA&^zDFCoZ261aj;UC#d3!sx1MQ z#C>0{<~0(`?e)WDPB>XiSm7+#9S1S`lDxadpPj+r`pb_!h$#S~mU-J|Qm=$IecSX# zL;qPa!@fMCb5mm|?vOT&_wywz+0RaaX(yDA1RE#t)&fVw^%a-#&{BKin(0Gcc#YJb z<5elv)I_t$Tg5L~tsy!XLpxPb%9}H=kTqvijhe{C#0J(btaFo-W^;T<{*>%k&qSYz z*cE!Uwo|8Pexl6&+6bZK`>vo=W9hi3=stp{sdcv1In2g=j`0F#$Kh=|EyjVc<|-T< zxdrcHeM=oWcZDC*u!E*u+(p|3Xtmi3E}H)78|tSH+mt_};0;R|TuH6Aj0sHkhT=hN zCLpEQRI5|x=gXDtqv2r}`Mf5~TG@9v1jx>joG;}=nS@n;`NFM(#doKZ|HRCTWAMj;m8iQdugB?{e6s@O*KEx0!5 z!U?suypwzeV3pWt+e%u?%|ntg&7k9wKVMY0Beat_6`ZCD#9!_T8n*wlJ17kNlU~)8 z6XClfbs;3DGBCm(`}K^+LJMPI>jH-I{)|Yi7<8=W=5rX)ps5O68{ads9Z33st!_*L zJW(BUG|({CNpL3j1C{i)VCssURrg(2Fn?Zwm@XP;NQf(*;+6!cehVDN|BwX2S~&oB zbT|OS8y*=6qxrSOs3qv`X|p3gl6_2_E@!!W=egBs{1CLt54deh#+vGU0R=lft!wGi zBUJHb91LuyxJj>3%v(Ec9z(oiqTqUVrVj;MKw9M%GV8Q;XkR2{_v-hr@7<;3c5L{d z1SL&??~+{V3kr93;pe_jr`6uea~<(9O;hb3k>;QCR!rzbt_8ou4hh)6pIM9kJz5#r!`u!EmhFPF=guadIl2g|DI1_vp~1U>P^ z2rE+9^hXe~tX@&sWLXL=kkvC0kAn!zY9TSBJ{0rBQlA4+@p4m$QmUm4`*dP8mlaj) z-%i%rPqMykC>X(Q3d%>(BWY?h!M+|!g#TsCHpZ>s03A11yM0f3 z54S2lOSKpW8OLGFmZLck&+!+k*Bv5^TRi!C!h8IfxsEJfb4=vYV4DVEtIy&rGh@W( ziqrGvtZ?%;_LeEbphq9?XWo73yIYRi=NKsxG{5Vrz)YenL?{mc;wGl08Fc-457oi& z$Dn;`7n(-?BYA#iV%}~pr#j?APCDv%XJD`)I!<#Oo-4i}Q4yTW6kGVD<4D@TOM#Cs zPZfJJ=;Ot%_d)yjMxu+8LF3o_x?AJ)v|7nDOzX-s=(k5YwZV7sb?9}ny8OBjej0ne zNSc<9oWWesqz+hcV?@{q|6Pn+Y??%$25f~qCtaekIp zwwWZ=$WTTS&^o)R5X_V8M+2{&ld_f)Tpu1 zJ5AF|!sEpOwvm7Cxb+p&uZtX@-}Kacu$jv58tr=|Q;U7)BID*bL}MGK98CvVOW^5HT7pm)B!?Qc&2U#ypFM@#*A{qK4PbgHtaA zrq3n-yA5PHl@qazAwStIt6xTH7r|`nH;KY1Ld(bP09b}&yQ(!Z*-w4co1&927(&5H z@+K(brH%@GMJ)_tNq_qxzR_trF_!C2r4>`V4LFt2TzAs?=PF*XM65@HpcZBmh%cCW zbbtQ@^uWr!H`v0{0%!yAaeR&h#NVTy_JVaZ_~AAaGIOb#Jojb1k2|73S=z6YB0Y{E zh`$Tyl49kS1t?0ITXWza#>b@??!LS!*}+nQXT8yuX*D>aJ(u5{opH1X?C!f$An37wh}L@&THz45E>&@}%&3y24g}%@g-pg;dYT(GxQ^`S!@Er zto7!GX$9CH{*Y6EI|XN1LGQ`x%rtQA6#nFpHp<%8G1e)+*)>`bg82EyL3pJR)z4$+ zHzg=I77O$qaZNV#OwcN;YQy37RwFBj z+@m|k7se}+R6|kbIy`YTh}SPcf6KHN%UgE_qPRt;T+d7T2ax{KtPowxwwL9os0&EF6?#=YDty4VpIes1yH7}K|H=R_)mH8=z@7`jCW_x0CN}sV;N_AjEf7sR9oKp^x3BNg}NL>^P+rr3c}%=d*4`Aee!UGp#BEBN9f;@~rEFod%!_w1KHcC2uqWnZ9vCWiM;@ zeTym`K2ayBw`2)25W}vB#39^srwI_8YToqUZ6Ed&mzK42uSaw_p6*X8c>Kct(OJkb z9H)2+-0Ai%YQ>9B0o4uk9k?4=5)*2bK<#s_58I>%h-81)@^=Bw&#Z>Ubl>=xXhIfy zk5@zVUaqlCRb|;tw!pTAtnISAmN$g}LA_gwW?DwZXS|j#m$$&x)+xcZ{me-4KK3J zKb8J`d?#wy4$eBU z5;=(;1tDueIbzKDGQs+1>hzc#(k=;i@16*7SNQp;lj)Y{h8k|ZySyx&oU`Z0oaYN4 z=FOnD;FKxW>;&CG>rU3Sj_cj?2j^b9KCPQPmnhy!sF=Zj0(}uI@N0&Ag{vvJU4Tc$ zj=OD`ZNBV`TNMX%nsn0s+LMUfu&sYSs!NoyQ3Wm*M&rMMZD(2ah*&VHV#xy_5oDtT z!EfTqjD3&hC0G`|!)6(j4Gvygw!f;P;krZ7vn{dr>$a8o2?z1;sDsQyy-T7`16`iC zNd-sd0pmu}hu#340#0Q0=0AX|jcvP8Y4s5+Wp|T>lH~ zm;jQ|Ncq(T2yv_5MOPv9B5D)pgASIx3l z{P=HFGCJVaEng0Z{}g&Qlglv;-|f!6rptu1hRTZ>-eZOgZ1?IRoQC+eJ+ZhJ$B_W#e|^>;z?m+4gr5M?*tiKXn1fX zEnx0M+=QLBnxD4zZ=^N9b-wk67NhGC3PbN#LHEyfpq3Qg$zgPqc^MB3b1??I>l){@4jv*!q4lDtczn&b3{|MMwG^Z=pX zxRu^w8E-rqRmPwlUO+HmjMbJ86^$dmwac_XG7WVyQeu=fHKIxFGg)LODA;wr@9gY! zwZ6#z5#{Z>SsOo(fX~mvjKr07DPhl6#wqVC?fK+}kwYCOMdo5Vsu&TgXWuqiv0-Fv zVp_#GdiDp=BktbL2#BG_Js83BQFeani?0Aid!_HQnA%_H+G*hJIqN?7v!9{Kw zU0$gOFR{by_am)BTgek1C^dV=33)4w9EY0%(;N-NI;;Zdti-Oh9*as%!(c`SDeJER z3vG>k3%)XaYA=S8;!r~E(KMU@W98|N$_lo!2=vl1qqs|n2%la-UsM@O1IuYtx5YeG zSIXizSYGvk-;NyRsyc)nb8Gg_>`)xS;N3#Ld7UNUFeMgOw}z{}mmu1~2HoLMw{ByH z-$gF`fl7Zp$MojoM#c;)Q-^We`+}9Y1$e#L6VJz!L6Ctowsaza<8O|T#}ZH#K+=|8 znV!FC>p{J~RF5Q>nd-?B;#PqbdIj=z@5CY zAv=F~Ckat@(irb?-|t@S{U=Jhm8hMLr%%5A?_aL`?^%w$A`kY#JQF3h!dYRqVN*GC z>53n+^7~y~O0`elHsoC|vl|Z%w23w&feQNiGs#-_9`p3S5PXf~E1rNI*aUwQ2@)+Y z>4G(UBi9H4!C?v+C)t!RLwo0(Bt_8W{%vYFy%0VA5lzib4-ii9Bi z6V*PV)=L`+Q`r)*>wbI6lpk?(mMTzmp5G}wpG+tmf6lHBP_}0>jJ~$L}t0Tlj7aj z4&>Zh@o~vP zm0E<*Cf*6mwttH4L6RYjC+gSY_~1gs{K0%#TPs&A*I40wkLOnvD}*hB|+ zuIc5j6{9sstLOPVnH_@Yxk~3{zDf{DcC0bTwGe=z;GQq_cqTMmEY>HYZg@yeBYgvzo}B%*jnd=5}O%BYvBH6fsIHEd@X zVHXf`u&iz6;PuWACfn35mzOKIsM~F#_9uZ=qq~+FFpb|SbHgE&YySstZyJ_V9{&wD z(_&@rm8B__q&1~hZlwrgT1aNJoBK3cE@WhGs4S)Bk}0W^rY2NwnHuAQmK&*rIi}>E z8wi*?3NCn*Wu7zt`@XLGS>8XFZ+Imf&f)i6KAWPGN)P@XI;y{x51bhDUs0webcwDMF`Z>WoaVePKJ~4Kk_z1Y3|g*5nQ6mdGr-Ib0sh%Ii3Qxg|&%jqnn4 zWd^md2-U_@bT|5WTYcmMgQdMjdBAPZfZfj9s zJT3$`$qE6Km{#E^!C|~psolGw+1-f2a2K~bx%oHOG_A2H4XBB4?4LUpp6hoWoXncp zO%i!#Erc3xS!aJ{sD*)qW=yTuBh~amnSHj@C2^tjbscJ`Q^j}^cWbG!-6$gsCHctN znanmCWcV?FBdxMyTwT0l7yj}XL=zWIioY@?0d>58PFqhj*a~Kjv#sy6OHGugGz{Vw z+BTf=oq>bHTDG!?%=A(PNtaImzcW=L7MbtcD6)zxT{#VAoR_!{9PB=}EcLYPo|!iP zRGK!AKIx?N$jDK0w{CE<$#6ARhyV=8tYPDg5=8tLw~W}=q-HyQVn(MfLK$!6t?Gq~ z5t^)QisRV4WLjE3qj=ntjyVddk`1G?G&XkrR(6jT28HzcJh_RR@*oSH&$B}yJKh~Cz$4Eixo#<5f=QXK7{}DtO!gCE(?m&ey z5@)fP;LUZ%sH%9RUQ^_*K}&myDcG@^Hgs(_yab0axr^F~iv4&aF-d3z2KohZ_rbM_ z$f{3hfi!*&N%JPheM-Cdy?^EOklQye#Ii$`)eVXpA!~k&a1K4%76$g5)VWxx*A#+j2N?re{%`ll>|diEWNHOyI#PU1(uzRVvo&#%GmjV@K`s@E--i5?UCubs<_TV) zU8rY-s|ZZ0_Eh5=CDcP`W*-WogG6j51H4o2=8~buS_HE1cWsAwU;hboHPUd|5vtZT zMXdpUr9l^2PQz?XFPx8)dsZnpy~wVLKnxqDZy3h?~G+ye%U-9f2dchft#>UBjKLPku!t-?1Y#3gW_DZc{(A)1f{L5oTqd)U+z&Jy7HUT!K&Xr1 z-nvwO5~*7sJ*vU9(m#vXLL9AyBq02<;QO8PW}SobfL$;wt)<93B6x~7_h+LsqBCSq zns6-Spy3vStxJ)=f^M4na!S1h--!#39;G@(aS9{6L)UPV+x5=Wh%xFO@GCQoE`s(S z*QPf*^qNmiIx5fyLzf`!9I}ohg}{MPH!jeFNH>7XJcKg1tia}j*$YZZ<^+T@*sX&z z#P}orgDy5OFi_*>W9J(Jfxg*^%gyOLQJcpmY?4XvIZy<-}>4a(NBVR=9f2(q2LHyZ?TALPgY3mY)Eyt~eksKG+P6tEAZvae{zYXST;mK%+#+5+hedg$Bx14B z@`FVFChkv3E#nz1xCorr6ej`ib3ioa77tWI5TT4-Q~X)Jn&$A#*4l@S^|=B?k4RqJ z5E=H zvtiECEx$VDRzqEN%7E|+62!A3)$<>>KvNUO(-0fMRP_URa5qvTKP6AE!*@wIiyDrNP-|897Dao$JjJ#zBkRj~60P5MH{iiB1? z;rS(gM7#l*9QaXoJ5SGxpoQw2TiMI?_(+-ATW|ZbwZbXsl&7rCs%}lnYJ-Pl91yBS z0U(E9^A-S9$)hXNR$2O5@g5(0LF1$<wFn{0Wq$- zDf7k$qvWy31tTPxkQ^QV8S#_?YXrN!gnBixL5r~;&EHQrL`pPw-zE@ECRVLJUwd$_ z+njp4jy&&-fu;z4b>uj5$0^tU!4zW^ItUhG`FElTX{@ycBCGj;lthC?>@hAHM2C=1 z>rp;q3yJGq@w`ZWjprEwh?Nb6uMfi(e+M5rc0pT&WIV+&Aj^x2y9 zg{>~r7Eu$+NL4a3zM7uErTg}aWJ+PikVzR~ht<}tTFoY9`=7V&Kk?~_)qxL5lJBAx zfGhD8ho^)c75>J(5o4qK$++Gkg1^m>o)(%ip>_Mtl^F+$63%lhG|fCUANj24rIFoC zus(Ql#3cADOy#);#eHB_$1TG*CA!{oL7D{Rt2NYXQrA==EF;=u^e){#BuuiYZqeXr z1lm?Z|6;t8oI%tc0m$Cn_vmO%|EQuTGK&y_-uVGHQ3fsFSv7UzT=v|dzS27ms@8_9 zvtRJ3qBWVb7$flzvtmKiofDX;Z`ud0bs4{auHrwqgO=boQ`<-@cJsV=x3G7z5fpS` z61m^XQ=)Zs31_X?Qnn3EUTRKKRg8jx2Z%&3%Wmuk+0hbIen&BG)@eHkrbUnHvm*1p z8)5RfffHRhC`c z*NRo%&wZ>;;VKRh!- zi6L#v>tpSigAzr)ICO6{?t(Qi!r&6SC0&Z-SU;QuA8ImI<}}k_AN1S-(L?;gWyh-Q9L5R*^F-* z6ISNkv<`mY%fY-3J9Fu%mh{N7=M|fnjHO88#bSx`%b1zH|8Brd|AjDIT7)E%{1A`5 zU?Rp`x(NHFKf}5@CvSS4^u!{7w#AffuaaCfSggp8k6 zhoN9{ocJsCfTmKrZdQons`F7vVXqp~R2d*KAL<&39Ev-BF(A-lIT!$rFQ zGFSU-QEg;o_NE9Q%Ud5w{^N zzgxB|-_p^ra1rbI?__8i%DnvbwKES^mejr|2Vo>{kmKwS5&tc*vu%T#Dlq~)Ph3lmYhSwLq!t8$iSuacXzDF z_y!3K5)EG$hmliY8!@V7ukCn)r9#*dzD7w~37lT+5zzmAp+1InYTP~H zG)HRb2q&KK-UW27UIJ{TrX6oFoc-c(2A{hFf25bF5vafQQ>FvK{&%rzx$4vG+sS|J zc1-iMgQ>Hv5m}*%vw7eqE;P-09oZW77h|97Y#}h~@OOQX72hjW)Z*4<4D}zrlF{G( z#gq_jFlmfq*xO2-W4<;4$FGB8i?HnoKaP2cpG+V{Wd4Uk6eP zYs!YXQ;OTwT=-s7A%gU)wE-K_ne~N`BRxfG^9AJKFYhN!k!P)P`&9N!lrWf~2@89V z)BU}st_QEpN9%Z4e11}D9#9GzrEUMTlvw{M#y0j3kI0-w!Oz)bP`jGZ!m{3+Qe41s zo6)&fwkhI9#Er^hlGXdQN+^S{ufCzDRYt&AR!}yVC%!qut(5&wM)lQ}#*<>dXY`wR z+cBxFAJX$;H`^r_>bQ`rKg2h8aw5?^ZQAtNCL9N_DSY*fcpw9&A@xga+y_LkC?;L* zXGL75T1Cg$$EsWJfcTqzniJj8<0&)$^tT_skn#6gN@~6M8A|$Xf274cBM7?*93!@g zH+s}0v9@znmJRsM-WM67#=JakSz&t(GS2wS9vItfE@JD;H7nMGv-m9OW}M+tGX&hL z+}Ue^exlG4U6;I}-Rz|77p=RM>YG)jH)YTDFMTsO7#s$nOrOfN+`EIUTZ?F$gH->~ zCI<(*x!9ZkZkQi*``G#td=64+ie7y~kzf2g3`N5q6&sRy%anE$y=S6tdD=p5f4Lq^ zwS1yEw3pKQHR2PRi^8XDcZB7>OkKcbO49n_I=yJv zzP+?F8hX})EF4mZpSLEh)iZ+?AJ8KM-yj-_%^bWwSO(ICUK&8O=wc6lOPy%I{`=L> z>re8hBi=Rfa}tYi{n1AWtCyP&qAHwRwc2A#A3+^J{CXp1=o_T6uz`f(LDKYw!f+^aU{9kSPh&^%>AW$ZK>&Q2X_u?@llqBi;2_|U21P+VAYL@1#9g<3quD;KihSW zwqLaKl4sy<3FnBYL$Jq}p+2~Xja8DJUok$C=2Sw{9o+-vmb9K!juiT(&!ydEXHM8HFt(byNFIZ- z1!zDNISI&bFdl`!BUSGZY7Vuk@n^&@n-9$((XbLTr2R1W~*l z`eM=hQKR7umF|*2w3t=ln?B24Z7HFtxa0h8GJ5bR5yz>&yoTT|^d5rDbpNBq9a+;v zQcv10MM`%Ny-RWZ-h2HKA~e_>+Fbc4qB3XO$q72n^B>paQ+m#J-xCU*L!jL&|l5yqd4+7$L`bzt|UrcRS%Kc<4=gu&q~J?EnP6ZcTTt7 za{{d?Il%#U4d^lRsK!2@kl?^uj+37AhHE<>D6#%o<4T^1CKF^D0%`)$q%Y5VU!Y=( z=n#eW!MRX&aR89fimx@5m^wXzn8`6Y5=8#FC)fr;JWiAT$y z!QlZ4HSxk@AjsQ(@C*v4!j)h3WV%jk+RXmg(|1?Nm-A6vxZn#C$-U zi2M`GF$%c|UN;%gwimZPseGw~-f)fM8A~ObBYGp%uqt&tDVY5}nrOrhG>~S~N z66lC_H^uS$xsb_Q$^rs7NNVCS;_ZlGQVZgbE`{dktTi#dYj{jj=HCeY(i3MC92!V8 zPa=ktml-zRC4r;ppd15Qq?crl@l498 z>TXyp-n2>{LMAjsuX0^pL zT9OK2#dXpLPPAV;Frw%dufyUkPq0w!MOZaM^q1#{SNCwgr*e^Z+2)Z;nxkEokx!c1 z)hDwSy!Oi*KfsO@;cP*gKVo;`0A1z0vf8eIb??}fq$!zkdXvzWso2Fc$d{6JH2SvbgJij2UBR{3gAEmR1 z0s67qVjOVuuOINBsp=PenfGt0-i$ZzaQ6m|VPjeoO%LSQS9+d2^#{(xg^!52uy7>J za~kSB{QJR!Tep8qZO?)n&iN&MgmfD_RB0zKt2ZhOCJ3-&dzX1-J2KN==>*CR@EUz6U9e&uTjhRP5cm?po~WX=MzGXRO`7 zX5P5MkR5VOx!V*jURZ-V?Uf)#xI)O^lB`0RYB%w?`z%)-Tvb^0;2noJMa6__09iDQ zEOK*0LAwLBU9KbusOW}gpK3wxXjcJOw+X7Q`7G%5)yWxxod=f*NpOQS({^~ya-jX@ zRJEya-OZhO#hgP01=Xt>g=>(lS>X;iLWBrb6{-meTq67HbYw(BUFQ!7$O#Mb}ZzOpSLS zJzi?sPT6aa^DPE#tBI4vfBW--QFo&mAQYSN$St{7uMaft9-Jla&z?|*s7w)622576 zEZmE0$jikOJwl(JvYv6%5W{5$t}NOh?Wabd4=z?R-VZ~Fb$=HT20pW&aYfH@ZUFHbz(4ic`vgP1&CkFli#1qIEk=MQ}!Hdld`QY zWM*Z7`e2AS(>PFyQco}R00L)QR>3T5OSJ=Z->Nw0ml1f>;s&$!*QB&Y6TG^(l}V1{ zYS&Zu;5|Ny>8;H;A^vLN{C87jiHPR5oN2)yxYsir?Y}y6-cffwIH3cJ( zBhL3I_Tp6r@K(~_1BixVqlYB_k|dhmRO7Ccf7W&7T5h=@Tjh=@HM5hvx`_HIPelYv ziUo~GhX}`UiCPL#y&rVJZaOZzKGxu)(1Ps6wR(#vB?UWsf>y9QJ<#vHK?C-2q-mz@ zz@X;2<1H54k>vd-D7Uu?S$qwIXMBkJYGf^>rTsX_zZ)|9X1&2K9z)$GyCBb6fE(Xy z?7|-?YI^UK%#F>^ckf6o^~O_ z#e|QVbU>S+Hh%RjYS%IefS_<}#dc@WDsS>(RWw@zN9E0D3IZ%tj4lk+AI4+;T%|xL zGZId>fFla5}IuMQf1OQ)V+^Hyw!yqhLf5egHFaoKFQ0l3OYppNB>JTT@ya7KC!CES>=uB<1iK1rO9W>kAeZgJ!&QQwNG!c$yr_%E$vy18EKZ2mwT9yOMw zGs~pxsqbdg@W2Nl^FoTs16#Pi5b6)jNgN~lrNRMx2j#-zzVf5s^jiqt4*RM)aILnU z@y6(h%oQU@vZOD9?AF&a8BuvjgGKJ>R3W}itWx%E6>=+O_N$W2s>%UU}M69mA--* zQdR<$jB+vZ8c>d=D*f z%8~)=D(;3|WG*)jG4@smkp$A;9P7h;cwpYZyFk`}RM&xerdK%G2k-ZdMjxUKSh*Wt z8W|-#GLa?lb9>kh$n-be|8Bs7lsUM;z;aI6Rc5w+F^{C;0kmGB_tzgPnbxw;|6OWW zw=E2_H+5r5V#B)F8!CgRGr7ANw;B8V;f5mNL{Ttb=>0{ZE80zyC(G0Cg?W0r^p=?v zNp}vtTIKi#cLdw4Wt?F9_+Z}^u7N>nlVMzX9GS-*uKTZ;9AynTuW+A)1(;{iP4xn9 zIkVniqw{{S&7(F6Lvw^zy4P;K$`5X3Xjva5(8ogtnUnxZn|N5U{Q!?V82ed7-G?jy zu>8%fk4*7*V5VVw-RpzFL3#|?dD)z72^|c5{#nf8qbo*sN^_15D0bsXBGXpwM))>y z(G&b1Lw~kPxO2{4D!;pCnpS>W^ps$K0Bq0r?#3|rC)p7JZ3|vgo@bE^Y4O_CSLLmZ zJ122!@V+7@Fr#vF|FT9r4;rI;p6I%j{AEP^`Cc__z^oCFtq#scc&UpgTWLFHDe6En zkGdU*XpWLlBoP%;aAWG#x?Y0_JBz$lc-B3GINXk|`qZ|G{iM-3JZj(KQJopE72i%8 z%lFa(s78q-b*eT$VzcqYqAd67T+WHjy=Dq=&tanT zU3xAYP9@6HSw$io$yZ_yw(17g5hxYpR{kL)3X89trFsDO**jc1V ze_t=^2$~!wwfkQ}={QOSsqiyUwG6A16RGprE<)#b5HKnM6tO43cgxO*$TCBn$F-hM zB*pMVi{jj4A57092E+D_Lq5@SAVyeLEjJ!)O1Q0x<3N0V+0&t#n6Mwq2y^xXp^}*C zgNL%%qhMK>@1P>q8`jn&YPm845yly?0>{E5b-f5b>LbPGhCcdinH4zN>6O+D&-p1@ zdy8zkLP0&4Qp`5N;YGrlhUE4y`tASkb=8IBFzY(CL`y61l%PYlkJyunFuN}+x8JTk zdvhh)J3Z`6$wnzN1-0p)vtYp6!YrgSeLS)EW&xkxWi(k z`k6Qs^ha#;t(~v-+aCRieY$&nKxi+$K1(qd!NQ|ri5==~`9MTl#ttB!c~wpkT<^gz zRIS}F`k|?Zz>A1{!a4p$ufC%V@&bhkE<#Wv(>ltJPr@6NxnVevfkyq=h}|v{S$>H` z_c`*^Ve!}P)~8fco`E7f^k0-egZvcRRd_atBv9_s8mBniwxuMWJ7f9)G)zJ2F*V)T zK047>|@uWUrJr_M#bt{~b!lqc zZJWYZ)wUNbpP-%^8Zlr&2X*Vtk)e)W4r@o59E6{|6sC0oD3>~$A$iV3vrzCssh&~a z82wf;e~QG@U*o0U@l9_hkoRrG6YsPckJ<&762E%W<33^e3yC!#SieHBckf?`Rc%VNd8Ynt~RF^I{XiXm$ zd*RaUy6&Xt4hF#^DjFJ76x$4*P7>RbZl1e3i4({dS0Sp5ySes)g(fg(Ae~2hlrP@$ zh9|E6r+eW`?Sabv`3>Ad?>PYj5p6r#^gE5Vnwi7qOr{qjgtG#w>Xdg?!D@UE{*t?W zI=WiC6BMxVH!nO7bLhi%JH**gcTHb96Limf`G{UUcHEJ=*y0;D%`I1YCNmXq2QdP} z20^mh>@^YN2|dC|=m_Lo?)Ry#s^}?Q(FofJwiGjsXPKH8=Aq@aOIA(Fvh+gDPufRd zinS?{CSt5eA2cBo2~hnX>dnOV=zfdY92<9Ir5hrXPd<^6AtyFXi%=57M+^1khF_T! zk2FK}X@hTVQ=l9x7|5~vST7Y zO{hi|i_~XTb+lc?@3o{P3))`1eL3&~{O#I{Zjd8D+hwpI@_|b+uvt-EeH4izma_SLgm)ml*I`g)Ly{1x|^lcoQk2-Rxaq zCk}1m9PL`BZlBEnmq>Sd3{skEM%v$5zDl%|pW6v$scv9J3>4va06YlGS8R^vF*I=K zYa$9*!N3rlcDIIqE(RIj>#K2N!|uiDepSV{aCp%?AF7n??}xb-09huXvraUjZpmqL2m0di1_THmSK0Ll>SrmCX|88pY9)6JPUa@1J7ix_#i^FMIUDum z59uw9hyE55V}0HSL}X;A&qQ2ZU0ZK^QhZ#^Z_W=vG?2bz{~?FygKIT&X4#U z6m8cXM5-FNYAIPSq*Op3V02tRk)`MUF?#SWeZ*DyrN+0^xk&Z3=l^afy)eKG3}L8& zE-R$?#zO!El2iyr6@DV&NI6V(U^J$kI#6zKQ4`jA57K78k5vD|aZm9) z3EYiSf0g|{5cF0Y1un^JzM~T@2-e`M^%OF(I>%&Ge-C}@A4@QH`N%<^aqix>U1MpW zHN%1s&BN}-yNepj{Yw0;i!;9V-wpl90*tj?x zR`|-XLbEqBUZ;REaeH&^y?DNJlz>H5uG0G@?rAk7;BTj5*;UBUd9P77*0erx>^YoJ zFVkaN(TAeu!G2FwY}$wU!`z;4JYs+1P6P;+x1Z$K;Y;+I?OR09pAgoc}% zFI28RaQV)ygfwGJpGEm48i>IoPIgwnRRM-w;#t)??36i~aj|Qsz`49UzFqO{6XghW z@m7EV#RiwR$i3qvTfFx6lcOY_5y;i*B!hM?itQM+6L`BfGudPHT4TfVIKoLa)Aqro zHR{k_Q^xpW^un4c{tD<8gWoN3P#hF*{xS|yTE3JOTY?f2k2dqAR_u;|O|kW-ts^@t&nD^)6Z_mqN#@+gAgK!pBCwm9tm0wlaL#tRr5F?;CYpRmdUhbCncwad zgL-@txuG`_nnocPUX{cBi*WeJiiT?|KJH&}%Mnt78c~6}WQUJ6UkijJ|p$ znvOEJJm2{>|9b!wiQ4G;a0jhM0;$+&d zf1vodFn9KLAjCesh0Qbe`Uitjv=AUK^_^y&l6;p8kNkQuaql9mMt8dTaC`PG9v1kG z-P91x%)Stz4-;L?ESUZNH8CWF9}TGrsC{f|L=A}E-j;B+oqXKWpbZOe)&GO*f3Hq$ z&|AV4VTE=g_$*7ZJ`lf*t7?y=>s|S>B0XA?{A=sCSHsTl_CQ1Fk;c5G+))RH!r<KLruUW*~z`znD^aBI|!k$ zgl-fp-cb?i{Pc3-hr*gKroiDF@gl2c;xDyg>XVfq?Q6iJA`WIZ=#f`m5O8H$^t)v8 zcF#=ajl-E|P4{zujf}He>M==OBhy4l5`_rMg2cHMfvMzFZHts78hF~+oD9g0kUZ2e{2_Az@#%P(X9@n0oEl_~Pz6S5bo3ULGcBHR{NP~P zjCKB{z}nXJC|rqC>Nw>tS`r}O5Zhp>^C?z~@^rddGE)BqU0er~c;M*NsA4vL8 zHopQ+rtqappixe6;V4>pG;qCSWb|!-9 zH;~D9J_NH8pK-Qo5xE)!UXt00cg~yMS%PM>9JSEk)?rM#W02IC*(PuCR7)V;NA<#J0i6&N2@6FGl(ir^rS0BV~7n+|7Q^<5$8X!`8u7vvYh#usyiot zR2pWw+aK)4Q!!u>*T!hOTy>5L9j-gI%+}zrF%dSiE+Xe0AY16q*wqMaP1GI-BuDf7 zzALH$FT&ISW9^n86X}JT9H;s;=kq>TWqX15mJS_w>jPik{)8u%4nUf7V*OjcZ=v>6 zBvr)NYmOd37cHY!39BKuX8xv06E)QoyFihO^% zg}q5DV6`T=fO%iN$wYrsMA|PC2W`GmRRLZ8jbiC_T)g1U-<*R$8x3z=E9$F>vq+L# zfo5al4H(^szQ#WJ8%5c%*K#>K6&eX53|7>?TYpL|i+J7|rgIk3-*J^!uqj^q`c03S zG#>D;ZB4j0S8rPi66==3|2`+4s=55{hIi7P_e3Lh8|35u;;-Vm-hZ~*zFE#_kOqJ< zK>E<&EJL$ijhB11EheJJLKvuGbcv42L**?A?|Gdb3(?J+OVwyC2w`jm+Xt!&@jFGm z-%zAC`B>)87wTT_bx~;KT79vs2-MCF%XlxLV$f*#s3s29@!V#_PWNJhf)E-N|E%7r zh}b=Zw+7u}!33aQ6i0ZVT#8Tzf0`qlgsCe>4~789vrJu`@JRL%9Eu>e@uE`tPxmy8oP$ z>Z{7%fn7afu+#hL6%t5r+}l%XYN2x3!r2;Up<*z1&Y>|T`qB%`fX74L@WP^? zPE93m;*)7IX~$jJ38^iyD{A#AwyK1kV%^&8UP9BRs@X^Ql91AhT6yB)m12mBVipn!6#kW5hW{fK$z-nk}nm z*w#Be*Gl&cLWV;C|t1-LpWe%&fX@hyD{!vCkke{~s4-x4zLX&i-Ix(`?>)85v zSOf+7J=9eYCvmrLn4@9y7%`6gPuvQAzs4edVIQf{tFjp(x}>MZ0;M)oodA#~xVxY* zAc~dydiZP+#%)WPVKLaQZO*@Mf9OMzxkfE2Y#XTxrK%ZfV6n&+PX9L&BB}}|@ z_zS?{%y`+M*E4@}a86%_uw)<5g&UNX>W1uySf><49V^3f9Gs08$b$y-hPZ%S7g|Di4Cr&&-%-OXmh$ zy1Ygl?-oVUV8H1`fs>=)Ec2h=n%HKu?+?E%xBNe06d$bkeqTT-vvwS>cjYKa)6;#_ zLpjVD(lW5#$C9VC93Qkde@Znnt-M1R@!iOVt0|aX5I{w0h6Cwnpwp2?fJCA3i8AXj zP!Nx8ST%=Sxj2oQqr-WC$PWx+sxVLtcb`d2hyWZE)I8x(-FDHV$V8LG^m0~edh z4iSy&8yXxM251zCa;SkelFI0~Ts3c!%%q zt=XZq?D(n$0O{Aiuwra$P(`YKxf~lk-lWL+733oNERa5)V!xFg04BjQo1$}%7Q$QY z-_~UsmrKGHPYu*M_vKG)_4^_6wBPserQZ{fvWYugX3HnEbec1MpwIRw%-n$?#4cQ| zlU(UcooL~4l_cJY>?DF}{iS~=^KSK-Q+_Gtj+e)mtXiZsOPZBo5WonYR5At8ESmsF z3?|Bgmc&vfY0pZlXf?CDFa2nE77q9R(b&ENOyZ+#HOPr%XL+OkbMk|C+kGX!ppyaU zYD+GP9&n()@jyUL4M)TK*Wr<&*-wgZT?ia?P-J%yrjHyP-Ouc5Q@lM5@;4X0)e_{& zlI@jr09hzQ^ui7Cm-_4X<~0=zPp{wYneIP%({FAVc@^yZ*lcnX}A$mrx&AYrHq zhh-sBa3}tj(Zd_cWMPSSBDkZw)kRma5M+0P9hB$HkrVfUMSbPdmaynWPa94C0F(Vx z2it6_@})S?QUR@vn+d*GoCkp4wA)8+`426Xzswwq7avG1{YF`sY`b}Vd(dO!D-aFx zirI?Y+LD1UY$0h5G%A#knwk9}H}($YjL`W zUk8CCWVeu?)~{!Y)tbp%Csa5pLS72*-SdsHI*FHdS;-bdmKxDO5J~CZ4c{UBNretu zi?rBS41`EVz_mCG9a5qpeJQNNuzA6m{&C6ug!@Qa5Oli6h8R)#5M+gb zUP7Gr2u+3N6hphp$QfgvMeQ_G__MdlSVv>@+MB7YQ9&z`qY}c0T27G z*aiGKU?<{`^8u1QsI?EWxlrlky?r{G7v1(8&Nd%gR2y zA#l_3!;J$b88Z^AR(j^2E!?MEcn}GGM`C#nK9QVi^zh#edJzy6M4≫nRWHnPiPE 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 EKh{TqmH+?% literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/Gitee-workflow-confict.JPG b/zh/contributors/figure/Gitee-workflow-confict.JPG new file mode 100644 index 0000000000000000000000000000000000000000..2017bee340a3503cbabbb7b8ae6caba01a31fa08 GIT binary patch literal 21337 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 literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/error-report.JPG b/zh/contributors/figure/error-report.JPG new file mode 100644 index 0000000000000000000000000000000000000000..d893b672e7c1892993b1e1381fbf84e6fb5a44a8 GIT binary patch literal 30860 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 N6~zC=wWQZG{{eFV13CZz literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/issue-process-bug.jpg b/zh/contributors/figure/issue-process-bug.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0962a3a659a3e556d7496e8530f2c38ce0ef629c GIT binary patch literal 90301 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 fTs7|ZWi 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 literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/issue-submit-tool.JPG b/zh/contributors/figure/issue-submit-tool.JPG new file mode 100644 index 0000000000000000000000000000000000000000..54b156a119eb6987a5f8bc2b8f085e00ded6026e GIT binary patch literal 15970 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 literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/issue-submit-viewall.JPG b/zh/contributors/figure/issue-submit-viewall.JPG new file mode 100644 index 0000000000000000000000000000000000000000..a3ec22ecfd0b465008f25563d2a0e42ef7611ff7 GIT binary patch literal 37062 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 Yo$}wg)Bk5+x_^>S`G3(D#ihRg0Ba7Ox&QzG literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/pull-request-autotest.JPG b/zh/contributors/figure/pull-request-autotest.JPG new file mode 100644 index 0000000000000000000000000000000000000000..5961558b6846e53f9fa5ee92b9838fd9ce9771a3 GIT binary patch literal 85073 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 X(B0z4{xE9v77a>wY7n8H@&8Q#dxH(T literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/pull-request-autotest2.JPG b/zh/contributors/figure/pull-request-autotest2.JPG new file mode 100644 index 0000000000000000000000000000000000000000..90b67041bd0c278819f4fa93a002b83cdc25421b GIT binary patch literal 168110 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%0A)wf;UR4~`DEmn&Qf$Do*+!xtW0QCiLM;$G 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 L{s~%$VBlW>RR1on literal 0 HcmV?d00001 diff --git a/zh/contributors/figure/pull-request-review2.JPG b/zh/contributors/figure/pull-request-review2.JPG new file mode 100644 index 0000000000000000000000000000000000000000..ee478759d93b6f69529754cb09cd521cf6b7947b GIT binary patch literal 59958 zcmeFZ2|Sc--#0#mB$ez%Od%>U$ri>;qHJl>LJ^aYorDaADY9jmP!us0l7wW%QOne(vkK{-5W*-{*Os=kvU8lOv~@^E{8^`2K#!@A&?fbJ+dt zQP4i4^M>a^+qP{3-2(oB*hGHNIh4~K5Xi&?bQ}Z%?F4ac6991lN85mZplw>9?ZEL~ z-~+R8ClKdv?}K*Qy-eNu6m$>-+V^wzAc!0Id^hm75zs&fXMz8AZXNx4{X*au0>2RW zg}^Taej)JxA_6*gZcgq_Uf%a?yglxLKwM8ae&Z8D0B`v8g!6C5jq!269doEFfk5%` ze?R^^x7hi13%_67;{Qc0`ZecY2>e3e7XrT!_=UjV5jb`7)Je^gr!J0O zRRaCldmxYw$PVNNass&n%?soWx(BiW{`UZWZ$&_O4>@{!-_?Xb+`SZS>^yGUE82Rv zK~Oe#AxerTAs{Fmb=St$#oqhSZF>hNcWt?)3cTDQCp&F9b5)a*CUMde82T=4HL} ze?0^EOIzx%WAXL%RrFO>^tk5$QPR-RfSf!9Idw__I77k9&)wSwrQq%*{ns1l*?ZaE zbGqy8xMSBJ$$^irF?vx>@@G#+)=%4XQ!%g+eX<=K}pHZM#08TSxLc8S=mlq zRq6DpJ4&~u{@T5r?caL8>vPZbx4!LcA@;8JZuaipUH}?O5GlxC2K}GaCjimkI{j1l zfjI)_XzJdxxAC^u0~%~g#0n=*DJUsl{a<2NR6nT>h5YV3C}azae>2ek+>!rNXu+U% zwwktEWB0iCm+r6Fd;Z6y?dk;k2U7i)X#(&5c{Pqr@d%$&n z(^TNfL;nS@U!D9*Ape5v7hL}m0{_ylaR|I*37wCjHuTz_Y~_U-`1^#!;r zdkCZp+P-bu*3VyG99$e*uN|D699-NxxVg95P99#KojZ5!J276^O};^gNNIIN_zL(tTQTgp@D z)Wf*fJEhMS)CgbhB+Dq@z8B21OGI@40kI>paz~FHS5Z|{Kdqsut9S0azJa09m8;jx z%&*_Du(h+lQ>MshKq4T-7FFwE z-gBAXeLkxU8-e%CCRvm|ZBV|BCC3^_ zh6h&~9?46{oVA8@t_lXgqgC4v$s}V!+}tj0u+Rhj>!!^gtDf2~LaUZ0$dPinC=9ZY z;vVIa?NoZ#*&^umZeO!fwH28s2;RKaIEkRm(@ol&tJxe^CekPJWWo2=!K+1;GN_x`- z{spuBnRSbuS9&A zvT0Zes|&e@2Da|WKf$mR4LclurQ0V}&9HOT_XnB{I;_&XSXndCd?5I=M6I6}?CZGE zOwe{#pMO&QuuEe}&|z}mdN`qG&?@mmW7m**Sy^Q;aVbn-a1K#a?u#f;=WmjGj&w$E z809-i`C&0{s{JV33?XpMCOq;45o<)5=zSqE-K82(Gn#r&L&b7NfV()%AnhwAe`O4T zpX5&KLPY(25`@U3^f>m}_-%NRD8<#Ler>ps_ zssv~V`4pMKBheOVVE#P9DJRV%o-l42({}9ZZmQkSvn}yY1N?HwmkCVEc~4d@8#I;m zlR5M~yE*6KOwY9d-qoJ@v1G{Fy=#x3?4sdVymb`w2JlX}9el5|wID^diWq2w*>7pl z?33Xv(BC0*zGWlYo@9SJG>+%8=d&yQ=0n0{1mhr}XR=p_7`ns)d^O}!zMOVK?Dm{k zD%_A96r=gmA?b3i@X_+eGdWr5!`gh&LA+>LW(gbQhz#@hh=xj#u#YwIVQX0R`6LYa zV*@^QqJ@laRv?wt$CXW-_l$d@llLm9i47uO;%9@DJRT!y_lRuJ_$+;hwX?jR4GMNd ztFl35S*%nK`9atbhHEEGbar1|j%-P_L*iviE0N_{fiA-WLG-0^4~Gpk2h6uhbZzzh zSmV&^MyQwP{2Gjo;RB3|aBkQ>R8}LSZyV0`-b;}iAuk<&WM5QImy><1E*x;xuq3g> z5NU^PfzWK1Xh(seJTGm4Ff^X9LCZd1aub1k>F{5N=LH;$&oVVWF>_UJwj?Jek#g0X zAl8HJh;UVPdXPEV1H1_XM*P9b2puXz{~D~1iNZTqN!N<{zwFZt%4A|QP<~JyKR+c) zv*=do%;HaVYE3H{%WpT3cbW`(CUCKs>3Sl#*?%>Mb#nH^L%U&Cm@SN z+;hx74CpU-!HHP>=&KuS(39T=es^o&L9b{KY9Tp17HXR9)sOB)w|{K2>Dj zY<|2(pEcULHHa8MWM9GLOGm)VqO?plDEt(dbuoht3WEbOd+_le$B}``q6Qa|ry{(W zryM8fW_ieYa+8B>x&VCy4hb0%8wbvM4ZEN>QTM=J?y z;Op^U2TQRBm`4L{OrR8zn=25OMbH^Gs1A&&IfI{8pa8(^wSzNKZ6oTSgCD7TS=ibkK;`J9w<|-ra4g^l+pC8&u;2pAZ8J z;1@;Npe#$x>8862$4~n|OE=3L6X~lgm#1ng3Q)S0+LhZxZbY=+bryc#oh2uB%H-HL zB{y}`oPindAL|#!;G-b~VYDd)L)D{5W|9a3F07+HuPCAIMZOl*uN77)^(Q`DKQC!^ zXV-zBq1*@VXtxLEBRPTIE0D|fu%m2H!N?LDWT3K1AFTQid-3|Ni!{H;<2k{wKFQbCUZ*B4!_o!wlP)Xbr9+zt^GWnyS7# zoPaQ}f!V}+sxQ{+7q%T?O}0_<-aiJ>_-X-BdsH80)nm9B2)@TqUn2D*a{IJJU}gFF z*tkY);A@%g!OC8Q@5BZ<16P^Q8gHzJQ8a*7v0hNvpi$Wvayl_QG*4BFd8M(hT7rTI z!xQ(1&D9Nh5geZkIhQ01>u1)z9ngg{P=jBW^~Kv0j*dwOAVDC8(MWR>aOWsKxfm`r^$o9Nm8#;LG$bz!2Zf0s_Nr>W5ceBa0%P zV8>9(HR>Zr$j?eLbJ(C-z8so=$E7YJfBLZ1#V3x`PuDBON8lq+mj0m3MwgzU{HoaF z?x9l}e4z{<)!wp^Q)J}BZc^xa4f5a(ix}Vfla2`l{Z}$+cD~4g?FM!gKiHt6v1pGp z&eTKk3rpx`#yZbx);!*0)JmTC*oh6=12yM|>0lef(#lZ5 za31N3M%n&QY5vBvtg=fMSub-Aiehb1Ycmqn;}I$HtwH;&Oi0?cH+$Fk77Uh(`J_|| zKX*-i#3G6j%3rZlh%`j%h@mtvX+Jr}%JST_HbTF&_t1c+B%rjf%zUyQxGKCQ(AU`@ zdxF&aRODUk9ZAr`vG3d5<2Af@k$fofJ$oz zz%SPc?$xC$0)0lsiS#Q)XZvH9Pv43)l;;2X!m!2FkY8i?0Xm7bv$TmJs87siHo#Zs z{E(N7ceOa*EwVRP$mC+gF_KB>=0Y)SUSw)ICmG?Ec$=u@7~`5BG0>uMeAaAJ zJyLA_s^IJsE9Lg=4NF_Y*JtD2MKzDV@jFUaf3F>Q{OVb}@3;lWI3xXChs0bs(>hB- ze@0zI5bUS=2(g7rHvZWoo}Gd}xO5f&Lnmi~EDp$u{IRP<|F{#bZ|6}ej%9AP6C zoENHD+{7^UUZKCGJ1ioe6~i#fQyZJ;XLFL!;&|j9CF_FJcB^eSafmA>&qS`bl&Ve> z@0DGuYl%KW@xqKZNw|8y{}FRTpEv;=x6CVVS5CY5PsFo zRGRhN?VE349e5S^Tz4~_4O-~?PS`8;#QA$ExiMC_2D)d<}w@fDc?fO`k6Pi>O8v;DpdsR&fi6( z57OwJytHER?PPp+ z+z55XWtG|f27drU{D>KSglEz69CiWLyULjsw5~4|M{jD1;5-+74I- z1VB^Ow%Fbt@SF+X#u~6>w;?CN6vfYY=58{Qrio;{VM+46!gA zV2_S$kcA_r<2{bHiw!!-21WX`vq94i!9e$2Y|w=M{10JT>!0KBCxEev0PV$HgOi0> zHUOiYOJRe)cL0J20YuY+9e6KK0S591*}(rOL8jAdHVF0}Gb+!hV;$*JXM@T&P3AdNr3@h6~dcI&bNud+d3%s0Xr#(5rWkS_N9843J7!Ds#_H0v^dVorp1=+UPMknFQ-~ z$+ZJr129L~~IPSrR){FW#u((R;W<>Z}OYH;+;&* zpq|uub`ek5)&3G)@mRFIyeBf z=LWft6~4p`%!)){gC1{rzaMDM@W~)DhP4-PDQWM=FvOqW9f0971y=TsJ{;pdmgdV{ zgWnVatYA&?6dNRwKIn;IYyx(3)Caz?k9rfhJKPgYSKm&5D}@hK9!mPweSbqX;LxA(1%uPV%LIl<0?YI@MV>{(Z2A=DziG$( zbio886SSZJ*72qCY|zJK@aBCvfN%VX!~2^?-p2zP35d(Kiokl}w6C=ZQA1izQ}JxX+OnVhaLZ*S&M< z8;tH#yZdE@MKZqrgFE$LWGPby_n9HA&XAYzU_F+LhLc5&fYo?>(`#dO;b#_^qT&J(!gdOK+kY|pve1qI-e zp^eT+HMtkg%dRFg@t>;<`8R(U?iqP)0@cO zBLM$BmY2Al&Us?~AfNxh;GX?Scs6J0RWEwm7-UzI`eRi$e}Z)n*d$roNd7wGm4dt6 z-ZVWW2B8dyrgP*!g^!Yu8>eu*Y*7D_6C0Ev7K++ngBVe>o8T;z^44MlB##sw@3;(X zihwz5QGxy4DO@{(1{9AIIOFNRiO|j(O}Aiv0^BVa9uGwdz{hjj;q$V1R_YVebHdYL z5x@ZeZ8bl5WB!mXF@K(re`6*{m7-^{XJT9u&8z)#`A9A1<8%t#Vm646VMiu3L3Zep z_;$@I;l|9p#wgi(!L`OGEGuZbsj_8$4;>2HZnSpQ)vc<~m$2awsdKYgfV@3yYJ%FvAil z9ekUt0Sl3;JhcgC2<6vM2+d9;#4g5l^2lqS5AB)L1%~9l`ogCCH?`}gRizB$c$3Ky z4M_uQm3Z}%vZfciWR|^w?r`;(aAlhQHCiAk#^t(ZM}!K%Xyy5K&G`EFMXr8j)Qvk+ zsU?>Xp44e9_b3qLKn4CZZf3gLlf`HHYMJMIX28tW@_>$nZ}J z&v$p92;)($7?_`|2r+mW9y_vgaU45OAy~hvs1n3K**1e00k*kU$=o&VSL%~28l!S8 zY492xUpj^QId{0y-!5@-*6(n4QQ7=rvPSzt-$4HPX3ikX22O`lh)2G)VA?T{8bTCC z5NbjUKt>|>^wLczLYjMnKhjDX{h+2({R1~;df$N|boyt7v$Bk4cgFZU;sDuvzSKTH z2*@P}79+w~$2yC7Dz9bH;3U2BzQ+P{4Q68X%ScrEeBP6qKxZr`e=c@l$9k|(L8&*k zLoZd+V_H(DCw=no={*=G{U2zh@*HyiG7ab_Zv_ z+>H(n#EO5thn;BL=34_MUx$RSj!NU1YW`apRn**P$JXe%zZk z152Q3DS2pn3U@u2XS!ONrtCrPBk6~)>6{KcKi3$4eIP-6o>|{pqTUQ&60i%p(yBBz zr7=J$4a2)4J_QZHG<)#G9K0RPVx^{9tcdj^K_BoP1J{!R^5FwSB+UTRS2M*U!yIEI zT|&n(H(=#77rH4;b8eJ#l%)FmOWd&xPi9q+GD94|hOm8rAwcHCRv$(^?hQ2J+e339S=Ei)nE5`{)}v@w z-gPK=u&<3-3+KXL!2;tx}$X7TrQm9MnR4>)${R{U~`;UYLsV5R7}L`aFWO- zGbTUW`#E=<_Y1)qF2a!QhD4V}b=OP7$z2;R)F%|7G$Cg8S`LFpi9>;cnYY{=}KG?0GC>fN@^U56Vquf-n-lB1>6vP6qA|&(W|YJz^4w@X;VYuN5Cn&w*Wi-DS=&iy1w}vsg?g@&=whB&Oz5>wOQ|A zet-(P5D5`tU@9xd9-aJDjSX@wD;~I8&@5IxEwP_?v^r5icTU9!Ecn(kHS(5k+9I z^_&>@5Uf)z#op;i&PHG1PsPUgiTyB_(u!Q6Da(U8pNhB>lkLV1fY`%^1upg z#T3Gsf=EW050Yh=&N^612lzxMkjQNfzXs6PWU}MvO3T$TBf%`kj6}Ku{3$bBjfCA< zc*4iENid|5Zq)sB!oft*skwO|z)E=N`!azRku;jc1Y$uzl*tm{r_E0>^?GtTrItWP({H{=jU=VrlmX^ML!R*T)7aN|*yqh>M3U4%5+s!2;25 zKQ?GEZ4cn|Nvbbp0b@e|Bqt&=Xcy*t{#JO4s|3t=q0i7WCSPHNVt|O9!bf22Eo+cJ z+!P=@zwh|(y@3CjJ`Bl-f4PsOf)0EdZVce_;nb`U%qn*beFkt%yIV0NDP%BiRemdC zSmOpbezNA#z>yBH`4(=`Jr}+K-Ub36L+cf7v-Nr(tBLAYEH7`caHY8_m{?lmt5_#5 zxGfYK_uUSg2mg0v*;2v>&AE6rOY?rb(^6sg21553Aj(faeGWG5*%GC4^q8+no};0m zRe;sCt}Rijy8x+(1~64?7zjY`!2PDxT0vV{oxl+EAritj!PFfw0qD)AfRo}{R!+Fv z*(45|8Sb~2ioSIa{khRlt~x*9L~RFOXeiGh#jM+wvb67X2wxgS1fpJh-Zaa?-So1d zp}azu8?y7`o5%8Hv{4`*_1}^x-3sLa^F>$!^Odmz<{N}V7GB#5UG7-GG|!>ZS@ltP zCZv0AQaOKP|1Boq-gpAE{?w7>tXVGg`} zHwcJh6a)ZT-IaQ(!f4ASbdEM}^M^2mxoiAO7YK6m>+mp!$6M5_){ESRhI%zQgm-L< zaZgH{aTbsf-KWV1X_LIot+!E7!vMDW;19FOq6^Ong@gyyU_%mLq;dWX^?Q5vth_^p z@muYuVxd2m)S&&7vD~TKIiCbAwMp8NelT4|OBsS#BIFB3sDWext~K+9?IfIpXUVAv5m{eZ@iPV(o6CscE6P#88qpo)4 zKNDEduehoo;P=BghAtCRCtZ0@Cazh$@}4w4Ca4EjunHGs9h-)!b)iq9O-M124karB z!;B&t3c$x1cWxV9=)TgoxQ*rm0)9?=nUx!9wtderH86~QPQKVQau4eSs_twxz@>s$ zYBcT0w1OZ7TGZuUACoyQLY$AoDgEu1UneF}oL##3@#S$uTCBlx)IwS$1;^U;a1;}a z-_JNVI&5rGnR1oxZu8GQR7{G(?2ZRMJp>wa}Ue9ouq?H2qDTbghjvL zgexum(g$XOq+Ft`j=S08KjnGn3w=ElJKHtf*Zh46lC`2fa^4RsE^xl%>)J}k!ZC{6 z)z6gtXjLR%9R-dkuA~t&t~>gV#HN9ZN_*BgL(X+Bjux|e*dU{T2v)=UGgx<=Lqc1s ztZ(TG1Am731gb>B3o|a$a)}5bOGZ%HcXz1qIMUi#vnkxW?_=ufg1YHSUcPtaXphBc z(!N6v#~&(K_wI>^E7#AG@iUlwF`K3ZXwVzRF*0}Ls+F`EG9s}&?DIQ|nQTth_CAI2 zVB?H(`eCJZ=U5gxF+o@CJXZQEY_dMC`w9up5aO=E?P2WRWHu&^aTQ0ImUc_{RB5sH zt;i%~d`q*O>&ViDZzi?qN`F1Qp@j{F2?YV6M1f*Li00WjFfYT)Qw{IIEX>ot-{&Oz zI@{`opJ?foblONCQwlXzW+-WVT?RGWIfh*{cd-X{w!*FWn7;LoB6+MRL$w!uIE#ii z`y7lEqCM`TYq)vjXA}kZT?n~KKkgStLTFEwNBcP%A^nz42Q@zNYNH15(G*1M0?p`G zO2dsRV^*6(E8Ep$(Biw@>HIY@IE(FeL&xtJl)fd;;FKh|e_;43om?p5H5PIaCy2*f za{Dc3Pv#Ha!reyfkAtBk4eW^3jC)WAnnaV_G6zYt2~Io1;-eK*s#EsO_?pg?hc3LC zLGHr@PzRu`;i>%4K%Z(qxp;upVs8wOW7fQwP0T>DT(E1k1nP2!e)mMLY+>OEsX+6q z6+L+buceJe_tdF`M0nu0)7HUni){C01-->Ahy#1V`d9~Dw3v^1B)-B32>mz`Hq`Nw znEtAFn3)sL2F-RfiPAMN%~do$R>J~7{0wdLy2|hatt^wJFBmEWuos)g5}x>yrMiHQ z$ArQkjaUbw*O;rz;GVT_4_S}l#U~bgQh0O95QC|Q&^5aWGOPIo}7q2-=!e7bg8OK_xd?l?zr`UAKbY(Wxk+!yd6Avm~b!!ydGSFx5p2q6CD;_ zs-}}W8szGm>Z}peNLE{U(K2*N8L*|u-2p4(&FjkR^2B^#s}o-Z5BO5^nW+pz%3c$P z+H!Cx+K=Lh{7IPZ>trOA<{$Y$&X1c!a7G5~Xg)*$F98Kxi{k@xc=82IY?=r&1LJ`i ztZS_1{Q)mwDChC*6xZtbgm9bO@OP_+EMJIV7>Z**Tee^;+H5u`(E!(_mvdi7cTZnfcVTVcD(dx_r4o6 zsEG`R+Dj%-IBKhbt$xH^EE8hCebu3!TFWVZ@(7{J@(IaPtod0~Ay7|fR6x0(jrk#{aUoVTt6kFXu z$4k$sl@zk*ww3dpf>p2P~m z{#l$u&xu1g<6^(VD9k6tba6R-J=A#XmnVKH|4@MH?7(FVxNw+v=h;+r=Z%(s#uuM^>^Qvs6`O^?zXHq2Eb%Pk zV$jm0J-jTQv9V{xJ=cGt5X7uVD44=)RQWj}aHN3i>2j()e<^FzZ!jQt@kw)_$A>yE z<;nfF?)b6TO!8zab%t`Ap+kwyCZ=Sgd5J%|PN?MXpVd@+od>6eRZO1a%ELju2py>r zagFhY)g}=y68O*sq8h9Ek6^0PLGonTTvFIe$8wQSOin*xcs4eXGQ6dEy0C=5 ztvhLHKyPM)%!BC~92K??kzxQe&#;ezL{Y7zrr2VvfJ>S%&4YxLoKv$F>~7J0Td#mV zhw-Im6BW4@mW`d4INGIjci0Xb^lEg#d_pevUOslvyuM>Y5_S*>L^i0il8cW6wF0cY zN4Clg$arQf6}PGL&b%Ki2p>n$ynxhz5Mk4~CkG(De<*5E#Qe3Wh4l|bE%?zW3{c$= zhF=GGRd?=0pdk{V`Za(*29*5m!7LuzD*0>Kj4wZhTNi_mV#l$f_1F!0F9e+jAY55? zTXhTE4WUA&XSn`vXn&fhU?%?=RaHvGe68c2gD{I&!Q?EKK`fBk$oGb8X3eP;ut9R% zL>#b(V3^0c<%{y*jjUZg#fW`Qn~m6a12db6DIVHy#9L)69ui-S`oZ*2g!?q}izl7)SZj(+2_D|*>Nx-A4y*&pMsS0h=Cn4vH$wOoC2&o>1 zEns+RU?+NBhs?)~xL641GAKG#gjVwx2Oo_rE$@YSU1jjo!3;T?8!1QIs}8<9NRsAp zvwJ--<#HE8-QK}>$M{j!&A3-SEn2T7>f*Xe@E>7^G2c5!2@F|9{DzG_mAf9YDFy{L z*GCP2!+GM^iUALircJbTVS{!L>ku(~`ktd@7Tt9#im5vTw~Iud?Hoko%5=qK>}~ti zb_ZNWC5-~<0I0*OIWe=(MBLulK}1AW?3`I)bvLoB#*&{`iwF!>RWFf{!cAi{sA1T9WiM61($U(Hz{ z!&zXI^qDS(3EzNffHqvWxTy5UX#dQ_x42h=vduE$G97za#jlwUDZH#OERf42D)|7u z@-Fy4P9Bkb#sd{qmneCX%%mp0zcJ{nc_(*wVrgR1r4Q8gyX8Wt@$+Bpyid#j^vQip z!u;dKe?$(nG^h?RjV2rw;tbw2K63xrBuk1GFb3H_Z9aH0mxSDdv7hZ-wm|0M!l%MW z26iUciLdMNQm|S-KtqjIAAkq+4J zgPx5Msr>xhnQmwmW@5ECdOwA;92ZgzM1gAkpMDRFHEtI@TiiXBxM!MW2|fDg?Kt8I zWqDWCKcNV64e$q&T(og2oScG!)K;H#Q?jFrQb*!;ygJbqsy;6$Jx?f5j;-JV)ePG)K_{x{kv+jEdf|*q2v^n zAckgyCz>;~fwh=KH>O+CZCU&|kOjVyr4?A;lwSY?s0f%Mq|!Iq{q6sKLjpoy0E!C6 zh#k!6E0~#_%lSa~=nvVmKp&@34}Rw~sZI}uPM+iDBh7?)Ol}`-r+UV+{MG z?+S5=|2i#4_ft<%MXQxAqUUw&Z13WTT^etMm2O7FT;2J(&W#S&zR`7{DB*ev^)o=H z-lHzkNx>GVWsDHwUB`RbV%MZg)&|K|LrvA92uLf|F37@ld2D%XU|oLAcvR;j^CiXu zCx8|v4;Q!NgNr-3v+5<_7wMM+v30(Pcg-$7Tp3!*2L&r5;YpKzo?qi#5hME^fUlTZ zi&OY6;Auqq1#6TTavv&6hg|xIp>F$OHnIE&eP$hYDCJUlMeKmZqD0dD0-&zZz75EV zugKx3Rako2uq=@wOzF_4nU20KpjmlP1WAe&B%DMOvBC}9xcN5QMm92lnIy5=EVEhZ z;m7s}?cyN_pvrPY+?9dMwnC4|oxgZiGLGhn8-$5|; z)(^RiDAZ@BdP=wN)ML_GZURQmi~cPa?;L3S1$Lww8JQ+gM822^Rn4YVcai$c0xetu zwJruAi{HObH~9)J|r28Bj_D*(7J)I8d%Q_#|@WBd@Qa68wGdp;OL*TRwN@I zFCe{-R)gAWZI_?{mP7ri6{C)~cKPce>v%qx?+h0+S z+g~)NrEs~s&L38crY0uGw>x2AiR-3qhsv+kCoUU0vu?7G9pdR5j)q3sFGHTM^Ce;v zt34^$g&a~o2p%PVopz@ePY#(@q77LzMchi5_uq|k>Bq@91m&_qeOOVFbOaCwZDNDI zJ?lZAWxj@9%V79>aMARM8x#ksS}0#c@!UZ1S8sw8&s3VYi>017;Fo=Mg9I5$?i6e_ zS;>07OY)meTfjNtaeRU7=Xa=l>M5Fj&a7`za$0USN?E_Ms)v z(NNKUvdTH*)qht|^q=kb&lqXpHNbSUz7h6foDl=?#y)E)8iqVaN__aiy1zPAwTW?9 zaM+{NNjfgUmHI7RLCE2d!$jj<1GrrMHHi~uVtD!ZsD%6G7&}%x8P2i0H5?Uk^x8~U zwzZJ0=;fOQRkH+3b^G4tMeOwUf3{TB#pBa{dQrstu#shQ_C3!kGu zlf~fo04g7WdQcK>)2A{&TOO!-r^#R*7URPRWQ0ffCM2RL@XDFq6ZoQ_PMd5CLl>VN z3q~`2=zE~nXZAL6UvK&IBMr=Z?43Rc12Kw3csv}3*2~`Y^4g1@x7|_oW=^?RE@ph_ zo_!7!QvF2VH9aQ;0@}8XAtHt*Rh>;&X7!ds8X&>d3g2BvyVuSytMCcVtPJa<4tgx2QIK0!AKLk3{PSiVn0d zCE8hDw=FS8jmGZ8-Il>@?x;t2zj*+S8UxQ4XE3hQQeM%%HCa;R9-_To4RzRXM^wV7 zIeuRDvglUvr=P=6a-}OfUkDfwTI02+FC`J;a#{78u+PN(3+`z1u?WVc>LVcyV~rx~ ziM^Xm)C{xc+X=3*oP|Tw{S7&FRHT%F@lwq2a7Vc*BJB(cAGTEz%6o=}%tPIuvZmZG zen-PuBLxYxs7pNpffr58G+rh5&cN?0bk9%r_ULcdp#~<#r8mx0YLE#19lF&Y$v~M7 zg*zI};X`h^7$|E|emFm6+&>jID>!axNT&_gCw7+I^};#6iS^r7hteXR zfC*84Og)zUQJiXS(X%Q6(Wxq{JjqwobbCEsU&+8WhO;! z-5SC!74d-FTLTR6^7+U1$;wBX5;8k7594@%(#~0ZEwv!>;hCqf*XIs?LC@mI2;APE zDBnw+c~Gmdocz6|!E1={@{4iOGb}{7O4N_yn6YB-BEgEr#7i%lE`UtrlyOJa zvzo!peSv%t_)pBFdXFeFt);I)@-#Uw+cO=@H%pneNVXiBqw=UEWC(`GwB0-3bx|PT z3RgYG8D}@VD}YPr^Emfmasbf>SA%_2ElPGzQtcV^c(j^hCDvm3)-2iJR_NiFjN^h+ z{V$(z=NJ2|ni_2XSIXx9C!Y(rUJ)?$?rJfbxCKR|;BK!bEZiQJ{?5t|AvZ7@3T>9@ z$7$IJ;hspQ?(r7xVCay~r&8p<4EBZlMBT6MTx&hHx^T9~h{Als13Xo$J+qQ$8qvbv z_wE&66FeAR0z6ViJ66gN@;&pt*h3PC;SxI@G4vodAx30}2$_#`PBp6X&+{o8hT|)O zQ>kOjDLT(YBQ66|s9vw_MGSA+<1nfpRcTOt;)lwfy?p#M7YkgQW?FVSblGCQ=VHf+ zVasN*MhCu>NAc?Y2Mv)x9v#CF%ppxN1OX?5mxvUxM#XnXy*AsT56*6hk zHD;1BiE|Bu+C9`26Cc=nT=nO$&226oVouG~x(A=HNB|F9*o-S;ToEEbQ5-%Dtu}Iu zW=r-0GSR_kZ4z%FcjKmA-(c}b`g=s6c>h`4pvaLC;7cU5)2x{*z+)LZ{RuJfkJvE0 z6EY@9o+27`BG(9sayi#kshu;k=*G|?rp$>CUz}N-&qG%Z8CK7Bc6NSS*&(ruFD);G zh>RVPpkdWx6e}U*B+EV^hPTskQ>561FRGZA*TBQoeeH(C=(iWjl>$c??)+a-Et)|q zOxu~)a)v;iZTDt)4Ib?1?-u(E_zI9j^4nZePM!4F+3t)Uw-W+Rsi#Y@_CJP~aF9ht zs>sGknBPKoW3?jf1qnZBY)$qEUhCkXd6;~Ms%E%cY0pL7nKMsYbQ#LMC=k-zqj2`P zY+9=CRNJa>-20%~a=r$_L9{MV0CIfc0&*@0Qr*3zIN7zR3Pr+H z=x>&-ngR~SA4WGFic@c|k9FkcreFZ|p-2yLqVqNZs`(%w`Txxoed z?gekZwUjyLu|X8@w4PIEX8kevx6lz${U>&tQwvzSi3^US5(q6AlH1dsy>pgSqy(ip z^{L7ju^ z(HK{_C~5~^1deAFD5a=yu>ryiOhseh!KC~8#sxhNWuf>YTi}_w$WHKlY#bApO7q{m zT&Z3g#7|2ikBue8F0L~9YQ#!I(LN+gliS8~Sb^ceSxxk@Os5jTSH&hUgKg$x0vRzV(HC1Jp?eN%`XlJzT(8=F>%b3@lLqT%A9a>} z24o`f;_%qlIZtD(bg3gWmn^5bcUCT%4JEjD&ipgw*H){=dlLKV1r2wv)JdkQ$4$&i z`dc(lh+mOQeQv5=N#@bY4+jf*W1`AA2NOe8#{v^E1y+{MBI+WdiOOyq8?Z7Lp|3=3KU2@H6Z8apdN151$7$J>-D&N2e+U!Gec}OmWaeY zxfxjAqRcSe-~uAVS?3lXMx_T42t1WHUiHt4nMXoYjjisCXsm`7b*dg%R9%y=0xEA` z8SGB#0*baEJkIgjdEy=W=2d~`9hmPK9OUw*T3_|S^`X9|5SV!J_xZ)*oGLd?S(0Jy z>jJ~fWTB9~c6v&$>{_u(@(D~F{tj~A)>B@ghnZP^nJq9ehDtg4&O3#-@rWYpW@gk% zO}SDvA1$$?bsm!jPsnTI<7KrI1giI<^hXt%!YpfmXaTvY#$zzT`+TnI&O0R^ zA=2wA?F6JFAs~$cJXo<9Le?Z zd0Tg+>H{0({$p|JQj>T^rLBES(0s+bhRM={sh;C<6frI#2cbJp{+gOg{_7J#(ck}T zpDq3`dX`yd<{Wn>NasYF*{O_0mB0sJ{Sb~mKU@`Db28G~K zUd*AhHsGIu11lIx9a6`_8SKPcG}U(CGVDb@gzu$|=l=I)$CWE*?yW#5E`sfKleC-X zkLT@*Uedf-*;;z4(l|X+Xn52YoN7B=-Zq%}GXAF1x&=DTmGZ$H!tW=dVXcy|?hZWH z9q~qQDyT`k6MR(LIPF>I$Gw`DF8cRrQ8=3XJ?an~EiG&PUCy>{_Ky5!quDb5KNqTcE%nfK&V$#V4)a!s4izQJo<))qqq zE2nRx!u8bBQx@NFY8r;GM2dBel)^c$D5QV8kbtEMqp^y3wW5 za+Ua$GIz}zc}j3G)@h)_VjQ*)eeM&jhMZqFBHumsISN5hOLcocq)_|*LL5TCAf+}T zynpNg3VN*-A>rhk2E~&Z>Ss-CFMKNQQFJRQU3~R9;8Ey$U`Ogg)(zp%=`ci50EqP1_n=}Kw1mv)Nw%m&Eo3eXTH<*_7VtjKJalbWoInZcy7ctsbo6J4R9 z!P?MSo$cFmBm2BwZH9fp5uv?Db9sU9_<8VuRda2gJlo0~J*OGc_5ZQ==0Q!ZUz;fB zI3OxUL`9jRfS?B<$|w*L5fl+Iq8p$OU8d%tVF>sin9tmsuqI&j-M z3Y)h|7d0ni!w^Wc*Qn$r`i;2J9W5zS<}t(9mVa1ODmlckfUvd--M^3LHy_VG01>$7 zWmjBnHhKi4L%TKTgBg)jn%WPB%pFy9Z)M=V-qbB3rk-)XQFvkYHCCZOt=*<(Tp*q} zF_8D5^R+J-@rTIXJi!T)Vh`y5HZkzf(@8g7!TmAFKaV>m-q7ms6a3RSEjbz^vAXox2xrXY;7eBpD7Y24DPU92VQ5VBU={1OOf&><6^a+yz(lM`wP00wD4;Dk zJ6G0iG?$yFnvbl^u)hd@i6zPXoY=6qino9~G6Ja19Wb= z(ZN2_^zCXLHTAciTd`5OzxVMTnL1++t{|Hnt3E(y*+w;lO;p``8IVmaD5IR6UA8aR>;-jk36##@?WIIO zXV>SRoFVLexQMsK!v0#iOX=1jFDN+ib%z;nEv_-aZT_+2MT@;I%=+fQ)s-4bq|^r=N@xJy{XTsi-!r5gE7tw8kNijutlo@0`Ba1ZplsPrSGd*ZI{d;^ zup(~9Md;p0s@&<0yw;fb_XD+AGu&b4=5dqlo6Uay5(Buy&O(*3?73^pU%s9Nn_eJO z0Lq3p$T&@(_22`*w}>W)WcxK>BymMd?g_{<4R8kb=~h*;=wS&3?`O3jz~*x7J=AOU z)|^rrcqPu2cNwWyFl8kwoU(eWS7ehR>OgNh%Usal+~J>Ldv-$nI_9o-&uRjMAHtQ8 zhDC#Om%qw>GM^ZrkEfjHH6vZzLbZ9n@ei}ap>xJ3J5!1crt2$Wdq3D-L z`OeTfEfMHsUjjZw8KIUeA!^&m1VV7WAv9R0xUaoHx%+dzO)9ke&ZH zrPQr{qN~wcC*Hx{+}m4ziua^&f;pa70Nnu$WVyO36?Q?*klz*dy_oP31#zpcBXMm9 zR+&;46O$|G3f=6QcoibeC;mqB&L&=!-*CVBTnim`!`;RXpQ!hwxH*%~%{iBF#EfU1#B-U0<^NMGs{phxA7&fhJq?73KKb3Hl0U#&?JxFGBbg^x?h zP4KGJg4>u<1UGC13e|n6Z`Eo0bWvT^0rqNgR+y${K`yIoc{1fnvA4fO>D$@O^YJZ! zl~XkDVl^Gx^h@kUP^uGjP4VY zhJT4USSsFa`D4B@OJ{ognjDP%GP#Sdoh(ne_X9DXd9>k;t@k+;Phh|~9((|L#wk8c z>&4rqLy?pvF{t1)+mWnN?qOe5=;=8ssX1lc=WJ%Ccy_kh^YCfKQ+w*U7U6Lf1hK|6 zNS#{)Mfv6dT9!1cR~NHqpfrwqUGY%R*2#l9R)&Lk(wS5Pj@HEw7Qe)LUT=Bv;0!9` z)h;lR)RgI{>rSqaNuT2jCfb7|{`Vld4|=_$!h;At6cU3m%}N!yi6aC2fP zfAdp3#178$W(Db+a~wi@J`~;`ZS!{qv<(~{`Woi?Vfp@-r>aAhR}5nH(_U8#<4}8N znJ|jebGy9W!~(lnk_zPOkB&xQ&6a$Fa>P4+Y`UE6JZa&j$nOqSJs6E#Jsq*#riasz z)0MTH;mXsLTg^ikzh5ve0K5t=VO`q%jX5I_3qmHiBFpGVHhMmjT?B_g;UhQ7An&nO zSVQuzGCXs)ZnU}8*B3@9OY^DM4Ibt{Ochj`(#!o^A6jRf@AOPzt#lfoxX1V`05JaX z_{_&s@Fy7ycDGJEsx?ng9SHvYlwEKeyf-rVS@?yc;yO0Br~iLJ+5C63QyV!>muL?W zy5e{eY;e_nfNx!Vz|7-s5@H0;k>PyA#?sI)vAh9M@wf;m=6+jQYQRG3FMM;IHcqx$e3a!{^R`CfeWOFN=M~!SXbFrS-g|RQm9ho7%Z}zyV#7U%o_o`GeH^208dSqF>S!4ha z>lJrGT`Z55N{>1_nc8fZuG}qcq1Y^p+^oLLuzBpKsEoL=`IY7)FLxWi5RaZL_aD{) zVjaY1sBa7l$|LHg5jtcG8zDgFDa;6%?%D_PEkNZ4euxytIoK`5Pp!nZ=%C45;3& zpr9;=g=t%o>s>6TmWKng1rg&<#SZ{d z^V{gsJWzDR2W44`T7bZHGKgLpRJCZO~rk5+^ zhmSF3W@QMwQ92&M2i%Snx1&prztN2j@JH2hGfGPM4l9F7giK^?Mk4&nU%`vp*ND4t z#4+(`{5>|kdZRCbf(^GxZg@7DBfMQzn>jouUG4nI?Xz2P(q4?S)r zx;NQBlTG{kq1xZnSmnm?!zW2{Txa1sfm?x{=tq@GPt^%Gls33v9k+G!3s{`Y8Mb|+ zilG_rio=Z(@dXJTnf+B~+x^vuKPvF%9{ewz{-$sFn`*0+KXbyv=Y6d-m%FUHbX}dx ziz_HeE@c&=?S>X|`KHS6n;wqE+8-!*8qW>qh}Sp)L2j)*eM?!4CennxGP0OBntHDB zTv^B9`P~YqO$3Dy87);z+?_1;q15ro>QpP<;#0+;FpHlVjTUoCiKp|0jG&Cek(Ux-LbH@U`;*H zsKx&4YGACJ|6c9fINKl2F`jY1eMcwiU`v2@;{9|@)othq-x30Ps(Jnx4358E#o3=e zLV!WoOMSUilRR3ua|LHhSB41x#3FOZxL{ynz?pk3&Q!S>H#2o!?*Vel2wgF_#n7cT zRjr<+#nGD9x@k|(pWWCgdyUHokMwo8Zh^R6WxGIKEhKGlw|NFvZ?`x=A{dXE#h4i! z@P=b>fewWn!2P;K`FyD;&1!R;iH`pz{fvm|nH~js#j_9YRH6S@7rHOG zxNJdVl)eva?l2K>lb))RH)oTVB0P5$fTDgr1t8rTz9|*o_A%#fb$_IapN;Qg1b>f&K_tnj;_SScjh)JdnO`*{ZP)wEu=TbHpQ)2?~yL z45wOV1WA#7O|Q?+D(l;%9R~kdSfwZqo zm@csVAh^|u*P?Bv>`>1`)OO93?lJL~Pe!HS63SZDmKbss;mO;O;UOj}@kA}cP@}}W z>EHZK7y5F2Q-l|W+m?G5gA~W@hR^PtQ%Q(FFqU%nFJP3>Dz|{HR#J>nck;w%`;83% z+i-e}Y*6%6RG#4MC^53s?tT1>u zo7X973f~J1_(&%wD7`^(XP<^h6^gIzYWDQZun0!g-y5|&KlNp3OML-DP@xg$51-~Q zX7#^a#uvXbpi?*{mxFIR!Gl|!6j8_VcZBIkQ?FEK8+I^xtTnJ!_O;iCaK&e=Aym^% zQ!%SVjT}_QO10~vi^K6<~z+*XE=O}vbI$flJ_wZ!2G1v-Xtv|oL)KzbU!TZa%M+QF72Hoy*A zWX&-YX?e2&nZv~NmQS!^Oj_gSC;181)r$0z)|KYXgPs2E0+HD(n?8b@71lx+TBR~) zHM-*(hxdGyC>yObGxnFmu;d=@@^_=DXD$hgJM{_-&etj4{UtWrp|B^$+8cgpe(!^Q z%W4fy5zKwTQm`naU?qYpp{9T>50^SEs-_V6m$;Y(Cn(Ve<@g$11U8`p9uu^%h#(ow zqBI2OIQw(>c5{w$6euqPuit@(jo4#lnmsk5K^hzcX>|NCCV;1g>&n~n9eq+m5Dpw= z!K*)tE*O};<ol+_uYf)R+3t8bh zHx?D=n!+qp;@rq`<8c-W!{+?#%AcK)r148z&n zfMT7;H3VeDv7V{FE~X%c9W2 zON1~MId=bNM)tFMN0`%YHxWL}FZnLTc7b~n8Q(PNIZoDksIAJG8_3uN^TND^$q4@j zJnL=266R@6?!(Hxc&E`Iy;|!KhYQQwG?Wv9u3C#ayQj|IHk05+6)5u_I<>@f?!72& z)Y?Bo78AhI;d}GQAp$k`D*Y8$q^yF{Ho!AD#GJ&+;4rJvlWxV6*rr&37kYfrc%f~6 z0&W!C=TwLX+g=d-4yISJG2sgZtHgPA;a!}Tv1xtm07fO!cS}N+%Am%TK>w_8k@5Jl zU>zPe=F-mc&$|Dz^YNy(N#R?R+>kw#JXEC!sag_be;(Smc^C=2GH4XoTd4vg7?;`&$(&Y?GIusq!c<% z`9(|2IE3Ne$+wFezr%^2X7_hqN=chBByhKq7?<8^YBY$W-5qVK4E!oTsySP=_4Xvra5@mcmTnH9y{Yd^Dl(A}^^uk`cjopFTR<)%_1 zFYqT!!*G7zoNciajGAwX!`H2RF z&K=S5hs-gg6VKlcpC6y6z@H88>qV*DfWEKPq7=$G_hVrL$9=O)rk$=7KZEf$#}-2Ri_IhFKZcrgk0q zM8_7f#!2SdSe5m7uO$6w;s9+#*!T_md;=R+;5%2a&)w3?@8c|^vM2XRr@LQYnYP2w z#lyt$F#RtihuD|vZiQOVkYjYR_6vi*#=&ul_Wrlyl>dJ`PUUapVpuI9?1|rXkpkp5 zLWY?TygdB8_ouvLFpm7_E%NUr9*RL4Rjbi~gseq>;)F+s_BprT+I~Wt&Qv7u+d6a- zWfR_GKMi3&zl>^WLK0PHpcXoO;N8IC^{%EUxYx;AH$oBl`6B8F6kqRnxLsg08h!N| zN5@g6W3syhm-U4`K9l8^;PfTVY62ddBtLvN&|u(~7?MY}Z{7P_BlJHlKWptl186a< zys>sjznVve;bFck1=X>I>jCl%$=u|i*ZuKRF~5`SEcgScN9YNFli~Z`-+$RIo-zj< zVxH+@;Gk-%9bj)sxoYP1va;KiX++u?l~oR{JZq?_K|c_B>dO z>Ei+w|F!g6B!^!DpF_2HPysC?R?)lgq;6jgMq>8K zReL(P&s(v6``>#Yueh~Sy{m)NQi9|{{?4o;Q~2BYTk_D`-+^e|vX0Hno|)*xu)mtbchcs1yzUX(7S-X965jKcs$e zJJIOj;^wiv8tbt{ciHxx9%KOEdy zbp)V9TT4J~UE7NN){=gF$3tH0G1;dCZGS6{+RuIxEw~Vr?dbl5K5j*EJ7F|PE!#^G8TG>flZMhe923_PMRq%k0GGPU%kK+|(I7{3&oU9tmi)3`z zDs4LsZW~{3d=Ao=1(sYIH0($9dogfk@5BofU_D&I^{#aHi%f z{l^e5WgJgXpxCjzt;_Z&vrIhi?TSar;?;J|h?N&5b^VC_^XJm~_jB-LJCCL)bFm$n z5LnvVK2p0GwW2*hPWL1I`^woqZXdUSzJ^;Cbu9ZZ0SvDAOKjL?AW;6=r#3v31z~cy zr5RPw|;prw8& z57T{Nsrici2Mw%>hNv3Fiq^7cqs+!Us?XU~l*KE+7_a>O!`tHNg_$jFknHr}7Cllx_ z;`tzk)|ao!4o=CQnL)kxxLD|+mTiup-$_ zuwY=gTMwTNSXNv7(O{q!J&sc}e}-Q+RI(`S#L9~rWS#1aZ5o%Ipq%=4H-PSDlv2NR z&3_2#(HZ35m>+v~nUZ|!>~{>j-*ZU+;>?%F;gsGmL(89{$^pW+?d?DA$(e#yY#AZJ zktf>Xyu(^ZL0XIiB4q8LXRKyoouf3By-|NV!-K;#$+dUqrL`TrmFzllOzC3c(JQ#o zi#25GHhx#Y6!#@Zmt05N0jXbO_dPG6?e>t;82bJb_vr@fYj|5qfLlzj$(qDS2wV^M z{q*6Lck4~@0cBv6gbo!K5_Gj5rNdFBj9QtS^=Pg+TnYp!v{N%~wvBP>c9;?F_DcE_ z-X4|u%cbNiN-``}^@f-AXsnaqH5!#J=Ik)EYr zhMRu!QW$m9)+DUIOV(_a8RG*b$9=bLwdeO-qlG+$$rE&~^we`bL()=hq(pYs*jCCY zF~W`+inn+-V~5InH(efF{AeTi6R&qUsv`B=-spoPPm3a*{QVAIF$|%87ru@S zmUG{aQleJG12IL^J5FhVao!kR^k(b(Ekl$~7W%^>dnqN9rt`eotxwL-m*)iL!sO$k zLxRgr`x#J5{qVtV)vj|<*_zS#&-QaqEYuB6Px(A1$~EgX=l#&mA|JBdiu1~P@v^c& zWGTdlL?iFsTcD-P19hpBFq@Ub$K8amXE;vvJ6d*Rm#hODA${9IHs3?4-UI8OJv{s9 zlX2bP;YiEMB8$i0@UNDt2TCiAScHYz5vD9&zekrYg-iKXC0Ek1Muf~KyOlUP`T-iP z1Enzw`+K=2FfuLD9u~_N~`<99@)plCNB! zyW9NpEns0y_**b^@_^l`FLWlzzm#m!u9({g%^8*$VMQ|dloL);1P>3VO*mqmT|!ja z5U%Qg4^6`I4kP%>PFbp9Ri58H*g)*y{HIy8|CG2B5(&mC$)0M4`uLY|bG7JA!J77| za%TV)s}8max{M1Mn5QImKTs+o8D+*03_VV@Sji3iq{XohFz+6sEx}t>mt;k4vIrve z&+IvwMA;G>yLatoB+JInzr^mkYq{_LxfdPmmUNfS4r&cYfbGmcfhqL&Fw$}^`pQt% zVVpZ+J2T}8k+;7?SOMELjs|;EOiGe|R@2){6^lMzag!5?YfA*~hc}<0b??WPz#?Z! z)IEha=9}Q=oc^&x-1dCym5I?l|0}}K<1-a3}U$N;eu+vCm)R55E}Ip1qo3wvd7LM zqN*ELYje=o)&QGY^j~a&5eM}?e+U;NTN8>H8Ffm+$!*=cYjj1f4)TGx0Nx`|j; z9`y4;3`&2=Z%ni|xHeg>hPW5!IEvnnmfxLfUWCXbnaLcJ$3A{>$7opJ3^r4>MVQ?f zMTN1kb`Fx@Mhg9MNAYweQ}||bMkas^E9Uj{!2|=8NHn+$Q;Y6*F@v0Pp)(%neYjD+ zC41jmJu_SVk!HQ=@u3Xi+RcYfJ>aL6EmF~9N5IpJ(=+^HfhgAc6(#vn5YUa z>Zilx8xa3=bgSTCybhPy3w&;cr4;fOJgf(Glu!fz@Dti5air56*A2jbJhELEidusjC z9UM|z7h^RFRCY(wytEeOq@Fcu-HPB*0@3{lD+**4G$K7#5D|~lO+Ps!>+CeRPLlH} zx6iTF(Cq!que@i>1eS`7_!yh6JX&eaD*KCq`5k&RQ#O3O4{56oR_@Rhxuc6pS7fA~ zdhV2ZeZcrKtu6TBTShd}g+iU+5-K=y)?s&Y93S%xz+=KVO}SNYkADT1euXnxkdD`9 zUrHLAK91DQ!jU9Rs2D}EN08(oQ^|BM>Ed7pp-A~0bJoG}%(7`Aa-RGWUB-=O_l+>0 zp$@%cj~mLo&><|W+{=R^bt>=JW0ejHDvSu4W)P!e6fWC=G}9YfMn!WL@ZSxsMC&36NTSQK`smHPgz^dp5BuXO(wP+th2 zBlSm_;(DQJb0k$Z>WvrcBOXrJ`sPUGw{D-eS6oL*z5RF2hv|IzvOYF&c%_XO6j^*Q zD4-MMpFu*(#?Lk|!=D-qotxw%<+=|m%c+WM~F3YDbK-31N!1MRps`^a}nZ=r`X%gWd{ zI(Ts=!y^wf&z5-qGFB8fTZ2V;LNO1{AseN06Pcr-BaB??G=7HHf6yeziG7i8^0fD*7YN6RDna zquIO2_~G8tm;p`I{*Pyyp6*2XsA^4LLxIBRr)h^QuE6cbFEK!H2ZeLB-pi9DW)k3~ zfT#_OA^d@nDtaU>fzkL>aNEy01M;p%9b$j(OfM~D6JOl!SrwiOx-^kHzfd)(a$;MC z{&svThou}VFZ0v-0mS3Z^on59PP<_*k(;ntv%%tBK7sw6^twmQ&YxPchi@{z?Vr3G z-uzT??}}>b?hp4-_A0I`9#8>S|JgOR3o)e*^#>F>=4n&M@O^y}vvVUj<&#}is!rea zbKfm-p3WAXvv;Of6jHcYqu=u3EWi1Je7qwK%GR$tiuX#J5gjk?@M)1-uyg>QeityK4R0|m(Qn61_`uC=piD52jVv9>>NSP#71q0jBBSM4{%vyake}GI zCd3jH*9ikD*7x35TLcQ@h7@=5i{KxzIAAKQdd)q z#NjV7t}3NTPR*fh5DsVEbzhwV!P!_01Y<8VYXkml$ntW*`UeK&5qx-86Tg;|W@>*h zjRY&7nX0@~>qE>bRYj88p!c8u7OhWodlBrW3fKUjUq%ZHhhtt}K9yE!%J|Ps<;^FI z!lGA~!m76RQqShz)Qus&AHaN^m2te<%*7qXXj$l~{ln)U7tb<1t+2H{(E5eoDx}PJ z#e;bzAt{7vb05ha*Evf>kvxQ{JHtJoQ?L~mVhQ_figh-wbECZ`VNRm_!SqJLXVOi# z4RgLW-n0*O0RN~rcr&h|E^4&(>go0o4m^yKEvU_&P1dF#$!|5AUvBN8#^&CCwEo3H zIp}HK>)%!{ojiS@Kn2R;-@+M<&?4@C=4@6x6?6WfhNomtR)}uJoPp{WpYzHwvpZ}; z%>7kkPDG5a6N{GwZ(0QhgkO;8F{6rB#LY^+Vug6r8gXZ{#)mfn8-Jz`ddNJ{yUx>p zuh_ezIX$L(UF%}pdEVuDlc{e+$F|dfi`QS~;b-`NiWtSgZJ@1@H}7M=;Dwj@XIid2 z^z>HO;-s)sKQ?Q?zrCTOhIch`e1-XAckPFtU`XUTXEk7HfzAdL_ZXr_wufv(YPQD{ zZTA*{wGW*eUb@uvp4=42-H`bUMRrvgTd=uv;KV`R{1sR3W3?p3o);%?!e59CU4wUV z7RjuX551aem6z+B%eqP|7cA$ko7EEH9gK4|6FxV!9J0{d=|zjxlV5-QV1+&)&Fy3_ zEl9Elzj@zu^mkO{+<)d4WMuEk`|P^nRQUJ@Lm*VYYKJHs^F)`A6`o7@2c`Zr?pW8>}sycFF}lD707 zFoVd)f11dB^|P8Pex*nOA6A|wzq(Cy6cql4b;>C*U!RTZPKF10-2RA;pIX-|D>|d` z&}EtTHAX`5bgb2K@a&m4pm>HwlqWV21`5F2ywp9lps|MCkMq9Ni&dhWv&2n)p~SeD z4Skv4IljyL>Ceth9VgB0R>-?W9U#AzMHf)fe%TI#^o+q~?@vqxtywEIv*<(otHQF& z=S9tKho0?uK)M?gcMhtHq`hYQ3HC~}&@m-e*sFyc-SO)pIJ-}vYGe6v+At>7OEap- zT+|UF7vUT?x%2S)h=swiUt-46h`7^%F-Pk`??j+)Uc=mwwHJYu*rc^2LW1$eqAZaK zdJU*Di0}=pO_d5TGZ2GJ$JX)s1s<)=d9}`4bBxPxIAFLMC>IjC>{3U=jAWX{W|D7r z=;3E4*V{;U1KVtWo4t{~Z(N^1k$H|c2dj~)AI@yh19fYSTB#AYppqiD9j z?t&UWcwlu}t@|C(@@J$l(@SR?htV%$6EZK&h%?vO#PIov&o|dTsW+pL!R;pmM>ts_ zNL0Mtzz{BZ6l|a`)2d#W7q^!xim%pxZnn;i*Q>Ccbt1RY1E4yrz zn83ikuww#HnR8z^NNWzTFeA+r&k4Zqq>FIrUn+ z6fleU9lAQ!idqap*Y$mFbje^qp$(bu-DU3*GwDYob&qz=Zq~XHK53cpV|Nx^xq)o# zOV|g90qD&F$-!ykjS8`iyRwjV4G>hP@(h3UUa6BHnmVnD;Q_a^f3wkxLc zDVHpMn}+_ms?1WS+98=5*(a2se8(HL*&c8<(Ztg~!*Os{?FwIgNF#m#iFUV)JY=eJ zf_i&u<(5>qcJ1W#MD8@??UC!$-;(Rz?3ccd9y~fM-%S`zvB-N@9^+}wJJ7{C@uOhU zVck^^lc;DWvgbbDG{8Bh{)~febbwW(jJohfxuu29{yFRDyHwBpt8T$}=@a!knCq&Y z2E&+GrMPQ;{>rD5V)aK{38m(>Lw*g2w3&^GiSFJF>ab#Yxs@W1Z-nV~E|2RTzyyv9 z6Xc#5ZtFa#Vjkc2>=pq9JNfuL%)b6Wt3N%00N8aBkbOhnFdTRrFHCiMj(_dJ#w7Ww z#;2Wo6_hO+{HQ{>Tk^^zQV*krYF5VIF&oB93)88}eDmq3YzT9uqMUM~)+cs&CeiL* zU1`?`NHb3E?O2?p{}Xhgp<1G9^X~@ztKbdK4O)EO4)s+NN@eO1#6HxiUV&U5UYiYk z1PGF~qj}q%4&pql2mPFNhYLKg-oC!vL4xWqZZ)HFPY{{+$Vt`uNATTbKc`atD7-Dl zsTL)N-HSg78GM3(1s0sMrRv#Oke0`S-I8^WT2=J?Va&pgJxiMywTg5^@H$Y5Ki8j6 zLQZdt0p1Sq0t{b3f5gji7Q;UbxLq#?uA0BQ5C1{c($mo}v^v*Wt(w#ob$7tmFL0{m z^|Fus_&2$!GNc;-^CC&=!VJpNRtRyE4LS`&;A2+Y@ZXjn<^m{h|({C|K

关于本文档

+

目标

+ openEuler是一个致力于创建开放操作系统的合作组织。我们希望openEuler + + + +- 尽可能集成多的软件组件 + +- 鼓励所有人使用openEuler,并可以在openEuler上开发软件 + +- 使能任何人,在不违反license,进出口管制或其他相关法律的前提下,可以容易的制作安装介质 + + + +openEuler遵从 [Open Source Definition](https://opensource.org/docs/osd) ,满足这一定义的软件,被openEuler社区认同为开源软件。 + + + +提供适度,高质量的开源软件是openEuler主要目标之一。openEuler努力为其所提供的开源软件在生命周期内提供高质量的支持服务。开源软件自由众多,质量不一。本着提供高质量开源软件的宗旨,特别拟定本规则指南。本规则的中**必须**,**必须不能**,**应该**,**应该不能**的含义参考rfc2119。 + + + +

范围

+ 本文档定义了openEuler软件包所需要遵从的策略要求。所以提交到openEuler的软件包需要满足本手册中定义的技术要求。 + + + +

本文的改进和修订说明

+ +- 本文档由openEuler技术委员会 (Technical Committee)主导起草和维护。本文档的最新版本总可以在 XXXXXX [URL] 上找到。 + +- **所有对本文档的修改意见可以通过邮件列表 XXXXX 反馈和讨论。 任何对于本文中涉及的规则的增加,修改,删除都**必须**被追踪,[请进入该追踪系统](https://gitee.com/openeuler/community/issues) 。** +- 最终规则的经过充分的讨论后,由技术委员会定稿。 + + + + + +

软件选型、选型规则及引入原则

+

什么是软件选型

+ + 一个软件的选型指的是一个软件(项目)从用户库被申请引入到官方库,依照本文件描述的规则讨论,进而满足规则要求,最终引入官方库的过程。 + +整个引入的过程都**必须**可被追踪。目前 [https://gitee.com/src-openeuler/openEuler-repos/issues](https://gitee.com/src-openeuler/openEuler-repos/issues) 是这个过程的追踪系统。 + + + +

软件选型规则的适用范围

+ + 选型规则约束一个软件(项目)是否可以被引入到src-openeuler.yaml文件中,并在src-openeuler中作为一个目录维护。 + +**注意**:升级一个官方库中已存在的软件包不是软件选型,所以不在本规则的覆盖范围内。 + + + +

软件包进入选型的两个基本前置条件

+ +凡是需要引入到openEuler的开源软件(项目),**必须**有唯一的ID。这个ID是openEuler中管理开源项目的元数据库中的唯一标识。 + +- 第一步:在元数据库中创建一个item。 + +- 第二步:以元数据库的ID做为标识来讨论的软件(项目)。 + + + +

openEuler软件包引入原则

+ +为实现对软件生命周期的维护和管理,基于证据的可信贯穿于选型的整个过程。在一个软件包被引入的每一步都需要有记录,这些记录被作为可信过程的存证。 + +* 一次**必须**只能引入一个软件。 + +* 软件**应该**有明确的引入理由。 + +* 软件**应该**是开源软件,开源软件的定义参考[https://opensource.org/osd.html](https://opensource.org/osd.html) 。如果非开源软件,经由technical committ讨论后决定。 + +* 软件**应该**是源码包,原则上二进制**不应该**被引入。如果需要引入二进制,经由Technical Committ讨论后决定。 + +* 原则上,该软件**应该**在openEuler上可以被正确构建。当软件有尚未被引入的依赖关系,或者软件的运行或者构建依赖一个绝不可能引入openEuler的组件,此等例外,经由Technical Committ讨论后决定。 + +* 原则上,openEuler不引入**rootkit**或者其他类似存在可信问题的软件。 + +* 存在于**黑名单**的软件**必须不能**引入。 + +* 每一个软件的引入决定,都作为案例,作为后续类似软件引入决策的参考。Technical Committ对软件引入原则的一致性负责。 + + + +

黑名单机制

+ +Technical Committ讨论后,可以将被拒绝引入的软件被记录到一个软件黑名单,作为证据减少重复劳动。 + +https://gitee.com/src-openeuler/openEuler-repos/software-blacklist.md + + + + + +

元数据

+

元数据的存储

+ +鉴于目前openEuler采用RPM作为包管理系统,同时考虑到对元数据的需求,本规则定义的元数据需要考虑兼容RPM SPEC的前提下作为单独的一份文件存储于RPM SRC包中。所有的软件包都应提供其元数据信息,该信息需符合以下openEuler软件包元数据定义的模板要求。 + +**注意**:该独立的文件名字是meta.json,并采用json的数据格式。 + + + +

元数据库中的 Identification

+ +#### 目的 + + + + 唯一识别该软件 + + + +#### 强制性 + + + +* **必须** + + + +#### 作用 + + + +引入的软件**必须**有唯一的ID。ID可以用来描述不同软件包之间的关系,所以ID的唯一性很重要。 + + + +#### 格式 + + + +##### RPM SPEC + + + +```SPEC + +Name: openssl + +``` + + + +RPM 包的名字,在整个REPO具有唯一性,可以作为ID。 + + + +##### Json ORG style + + + +org id, 代表该软件包项目的组织ID,类似namespace的作用。 + +art id, 代表该项目的ID + + + +json的表达格式实例 + +```json + +"id": { + + "org": "org.openssl", + + "art": "openssl" + +} + +``` + + + +推荐,如果同时提供RPM SPEC的方式和Json ORG style两种,**应该**考虑名字的一致性。 + + + +

元数据库中的 主页地址

+ +#### 目的 + + + +一个开源项目的真正的实质。它和ID在一起作为元数据库中跟实际项目的binding。 + +不同的ID的项目**应该不能**一样。一个项目只能由一个官方主页。 + + + +#### 强制性 + + + +* **必须** + + + +#### 格式 + + + +##### RPM SPEC + + + +```SPEC + +URL: https://www.openssl.org/ + +``` + + + +##### JSON style + + + + 软件包的 主页地址,任何一个开源软件都需要有一个主页,如果没有正式的官方主页,那可以认为软件的发布页为主页,比如github的项目主页。 + + + +json的表达格式的实例 + +```json + +"official": "https://www.openssl.org/" + +``` + + + +

元数据库中的 REPO地址

+ +#### 目的 + + + +保存该开源项目的repo地址。可以有多个。 + + + +#### 强制性 + + + +* **可选** + + + +#### 格式 + + + +##### JSON style + + + +```JSON style + +"repo": [ + +​ "git://git.openssl.org/openssl.git", + +​ "https://github.com/openssl/openssl.git" + +] + +``` + + + +

元数据库中的 LANG

+ +#### 目的 + + + +说明该项目使用的主要编程语言。 + + + +#### 强制性 + + + +* **可选** + + + +#### 格式 + + + +##### JSON style + + + +```JSON style + +"lang": [ + + "c" + +] + +``` + + + +

元数据库中的 TAG

+ +#### 目的 + + + +说明该项目主要的应用领域的其它属性。 + + + +#### 强制性 + + + +* **可选** + + + +#### 格式 + + + +##### JSON style + + +```JSON style + +"tag": [ + + "protocol", + + "tls" + +] + +``` + + + +

元数据库中的 LISENCE

+ +#### 目的 + + + +说明该项目用来描述该项目使用的LISENCE,LISENCE需要使用SPDX定义的ID。 + + + +#### 强制性 + + + +* **必须** + + + +#### 格式 + + + +##### JSON style + + + +为兼容SPDX,使用来自SPDX标准的命名。 + +```JSON style + +"lisence": [ + + "SPDX-License-Identifier: OpenSSL" + +] + +``` + + + +

元数据库中的 项目关系

+ +#### 目的 + + + +说明该项目用来描述该项目之间关系。这个关系可用分析项目直接的关系,其中requires的关系可以直接推导出运行时的依赖关系。 + + + +#### 强制性 + + + +* **可选** + + + +#### 格式 + + + +##### RPM SPEC + + + +```SPEC + +Requires: coreutils perl ca-certificates crypto-policies + +``` + + + +##### JSON style + + + +为兼容SPDX,使用来自SPDX标准的命名。 + +```JSON style + +"related": { + + "HAS_PREREQUISITE": ["org.gnu.coreutils", "org.perl.perl", "ca-certificates", "crypto-policies"] + +} + +``` + + + +##### 软件(项目)关系的定义列表见附件 + + + +

选型过程 request

+ +每次选型如果的请求都应该被记录,都应该可追溯。 + + + +```text + +https://gitee.com/organizations/src-openeuler/issues + +``` + + + +#### requester + + + +提出该次选型入库申请的申请人。该申请人**应该**是被申请包的作者。 + + + +#### reason + + + +申请的理由,描述这个软件(项目)为什么应该存在于官方的repo中。 + + + +#### result + + + +描述这次选型入库的申请是否通过。 + + + +##### 取值 + + + +* accepted **应该**有reason。 + +* rejected **应该**有reason。 + + + +

附带软件的选型入库

+ +引入一个软件有可能附带引入其它软件(项目),根据一次引入一个软件的原则,分别为每个软件提交请求,并且附带软件的引入原因需要体现被附带引入这个情况。 + + + +

软件是否存在于公开的语言库 TODO

+ + 比如 Marven,PIP,Python,NPM,Ruby等等, + + 如果有**应该**提供在所在语言库的链接。 + + + +

项目关系列表

+ +为兼容SPDX,使用来自SPDX标准的命名。 + + + +| relation | description | + +| -------- | ------------| + +| HAS_PREREQUISITE | 该软件需要其它的软件支持其运行,所有的被依赖软件都**应该**被列举。 相当于 RPM SPEC中 Requires | + +| PREREQUISITE_FOR | 该软件支撑了其它软件的运行,不能被完全列举。 | + +| HEEDS_BUILD_TOOL | 该软件构建时需要那些软件的支持。相当于 RPM SPEC 中 BuildRequires | \ No newline at end of file diff --git a/zh/governance/README.md b/zh/governance/README.md new file mode 100644 index 0000000..ed0cfb8 --- /dev/null +++ b/zh/governance/README.md @@ -0,0 +1,58 @@ +# openEuler社区 + + +欢迎来到openEuler社区! + + + +## 社区愿景 + +openEuler的愿景是:**通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统openEuler,推动软硬件生态繁荣发展**。 + + + +这里加入openEuler社区并为之贡献的起点。 + + + +## 沟通交流 + + +openEuler社区有多种沟通渠道,请参考[社区交流](/zh/communication/)。 + + + +## 社区治理 + + +openEuler有以下受官方支持的组织类型: + ++ **委员会**:被授予承担一些敏感的主题的一组人。虽然社区鼓励尽可能开放,但是由于这组人所承担的主题的敏感性,允许进行私人的交流。比如安全委员会、财务委员会等 + ++ **SIG**:专注于**一个领域**的持久和开放的团队,该团队通过定期的任务和活动实现特定的交付目标。SIG具有公开透明的程序,要遵循openEuler的行为准则。任何人都可以参与并作出贡献。所有的SIG都存在于。 + + + **子项目**:子项目是SIG内为实现**特定交付目标或成果**而成立的,可以独立工作。子项目有一个或多个仓库,是openEuler社区内主要交付成果的输出组织,所有的子项目都在其所属的SIG内。项目的交付件要进入社区发行范围,可以向技术委员会提交申请,请参考相关[申请指导](/zh/technical-committee/governance/README.md)。 + + + **子项目有两个阶段:孵化阶段和成熟阶段**。成熟项目的软件包可以进入社区发行光盘。孵化项目可以申请软件包进入社区发行的`/extra`(不在光盘内的额外的软件包)目录或`/experimental`(探索、实验性质的软件包)目录 + ++ **工作组**:为了解决跨SIG边界的问题而临时成立的小组。工作组不拥有任何代码或长期交付件。可以通过相关的SIG进行报告。比如社区安全编码工作组等。 + + 有关这些组织的更多详细信息,可以参看[完整的管理文档](/zh/governance/)。SIG可以由自己的贡献策略(在本SIG/项目组的repo中的”README“或”CONTRIBUTING“文件中描述)(例如sig-qa/CONTRIBUTING.md),以及自己的邮件列表、IRC频道等。 + +如果您需要了解SIG/项目结构和组织的更多信息,请参阅[SIG治理](/zh/technical-committee/governance/)信息。 + + + +## 贡献 + + +做出贡献的第一步是从[openEuler的SIG/项目列表中选择](https://openeuler.org/zh/sig.html)。开始参加SIG/项目会议,加入IRC频道并订阅邮件列表。SIG/项目通常会由一系列`help-wanted`的ISSUE,这些ISSUE可以帮助新的贡献者参与进来。 + +贡献指南提供了如何让你的想法和bug修复被看到和接受的方法,其中包括详细的说明: + +1、如何提出问题 + +2、如何找到可以工作的内容 + +3、如何提交一个PR + diff --git a/zh/secretariat/README.md b/zh/secretariat/README.md new file mode 100644 index 0000000..8e7f6d0 --- /dev/null +++ b/zh/secretariat/README.md @@ -0,0 +1,25 @@ +# 秘书处 + +openEuler社区尚处在筹备阶段,在筹备阶段,秘书处来负责openEuler社区的运作、openEuler社区筹备工作。现阶段,openEuler社区秘书处的主要职责如下: + +- 制定社区运营规划 +- 制定费用预算,请获得社区创始人批准 +- 执行社区创始人筹备社区的工作 +- openEuler社区其他未明确分配到责任人的工作 + +# 成员 + +1. 李永乐(@zerodefect),从2019年12月开始 +2. freesky-edward(@freesky-edward),从2019年12月开始 + + + +## 联系方式 + +Mail: council@openeuler.org + +## 会议 + +会议时间尚未确定,确定后会更新。 + + diff --git a/zh/security-committee/OWNERS.yaml b/zh/security-committee/OWNERS.yaml new file mode 100644 index 0000000..29530c9 --- /dev/null +++ b/zh/security-committee/OWNERS.yaml @@ -0,0 +1,5 @@ +maintainers: + - liujingang09 + - yangli69393 + - yanxiaobing2020 + - zhujianwei001 \ No newline at end of file diff --git a/zh/security-committee/README.md b/zh/security-committee/README.md new file mode 100644 index 0000000..f1d6a33 --- /dev/null +++ b/zh/security-committee/README.md @@ -0,0 +1,71 @@ +# 安全委员会 + +本文档主要介绍安全委员会的职责、组织构成和运作方式,以及负责的相关流程。 + + + +## 安全委员会(SC)使命 + +openEuler安全委员会(SC)是负责接收和响应openEuler产品安全问题报告、提供社区安全指导,开展安全治理的组织。它的使命是:为openEuler用户提供最安全的产品和开发环境。 + + + +## 工作职责 + ++ 协助漏洞修复:确保及时修复已知漏洞。通过为软件包Maintainer们提供补丁帮助,帮助用户系统在成为攻击受害者之前进行漏洞修复,包括提供相关漏洞检测和修复工具。 ++ 响应安全问题:响应上报的安全问题,跟踪安全问题的处理进展,并遵循安全问题披露策略对安全问题在社区内进行披露和公告。 ++ 安全编码规则:普及安全编码知识是安全团队的目标。安全团队会努力创建文档或开发工具来帮助开发团队避免软件开发过程中的常见陷阱。安全团队还会尝试回答在开发和使用过程中遇到的任何问题。 ++ 参与代码审核:安全团队希望能够通过代码审核帮助团队提前发现代码中的漏洞。 + + + +## 成员 + +产品安全委员会(SC)负责对openEuler安全问题进行分类和处理,以下是产品安全委员会现任成员: + ++ 刘金刚[@liujingang09](https://gitee.com/liujingang09),`liujingang09@huawei.com`,[GPG秘钥] ++ 杨丽[[@yangli69393](https://gitee.com/yangli69393)],` ` ++ 颜小兵[[@yanxiaobing2020](https://gitee.com/yanxiaobin2020)],`yanxiaobing@huawei.com` ++ 朱健伟[@zhujianwei001](https://gitee.com/zhujianwei001),`zhujianwei7@huawei.com`,[GPG秘钥] + +准成员: + +- + + + +## 会议时间 + +- 每周三上午10:00~12:00,通过weLink视频会议召开 + + + +### 联系SC + +SC和产品发布相关,所以和发布经理有很多工作关联,SC会负责让产品安全的发布。请参考使用正确的联系方式以获得最佳和最快的响应。 + +| 清单或群组 | 类型 | 用途 | +| -------------------------------------- | ------- | ------------------------------------------------------------ | +| security@openeuler.org | Private | openEuler安全披露邮箱。此列表由PSC密切监控和分类。详细信息请参考[安全披露指南](security-disclosure.md) | +| release-managers-private@openeuler.org | Private | 发布经理的私人交流邮件,所有成员都应订阅security@openeuler.org。发布经理在发布过程中讨论安全问题的处理应使用该邮箱 | +| security-discuss-private@openeuler.org | Private | SC的私有内部讨论邮件,所有成员都需订阅security@openeuler.org | + + + +### 安全发布流程 + +关于如何上报安全问题,如何获取安全补丁等安全相关事宜,请参考[安全披露指南](security-disclosure.md) + +了解openEuler社区的安全处理流程和安全策略,请参考[安全处理流程](security-process.md) + + + +## 社区讨论和支持 + +在[社区页面](https://openEuler.org)上了解如何和openEuler社区做安全互动 + + + +## 行为规范 + +接受[openEuler行为规范]()的约束。 \ No newline at end of file diff --git a/zh/security-committee/private-distributors-list.md b/zh/security-committee/private-distributors-list.md new file mode 100644 index 0000000..45b981a --- /dev/null +++ b/zh/security-committee/private-distributors-list.md @@ -0,0 +1,41 @@ +# 发行商名单 + +该列表用于向多个发行商提供可操作性的信息。不提供个人查找安全问题。 + + + + + +## 名单管理 + +openEuler通过用户组来管理发行商身份,请参考: + + + + + + + +## 进入发行商名单标准 + +为了能够进入distirbutors-announce@openeuler.org的邮件列表,您的发行应支持: + +1、为我们的项目拥有一个受监控的安全电子邮箱别名 + +2、积极维护或获得openEuler的发行伙伴身份 + +3、加入用户群组 + +4、对已知收到的安全问题,都有可公开验证的记录 + +5、成为社区的积极参与者和贡献者 + +6、有代表参与openEuler的分发过程 + +说明:如果您不满足以上的条件,将为取消订阅。 + + + +## 如何申请加入 + +可以[在此处]()提交申请。 \ No newline at end of file diff --git a/zh/security-committee/security-committee.md b/zh/security-committee/security-committee.md new file mode 100644 index 0000000..e7c3961 --- /dev/null +++ b/zh/security-committee/security-committee.md @@ -0,0 +1,32 @@ +# 新建委员会申请 + +[English](https://gitee.com/openeuler/community/blob/master/sig/sig-template/sig-template.md) | 简体中文 + +说明:本SIG的Charter内容遵循openEuler章程 [README](https://gitee.com/openeuler/community/blob/master/zh/governance/README.md)中描述的约定,使用[SIG-governance](https://gitee.com/openeuler/community/blob/master/zh/technical-committee/governance/SIG-governance.md)中概述的角色和组织管理。 + +## SIG组工作目标和范围 + +openEuler安全委员会(SC)是负责接收和响应openEuler产品安全问题报告、提供社区安全指导,开展安全治理的组织。它的使命是:为openEuler用户提供最安全的产品和开发环境。 + ++ 协助漏洞修复:确保及时修复已知漏洞。通过为软件包Maintainer们提供补丁帮助,帮助用户系统在成为攻击受害者之前进行漏洞修复,包括提供相关漏洞检测和修复工具。 ++ 响应安全问题:响应上报的安全问题,跟踪安全问题的处理进展,并遵循安全问题披露策略对安全问题在社区内进行披露和公告。 ++ 安全编码规则:防止漏洞被写入是安全团队的目标。安全团队会努力创建文档或开发工具来帮助开发团队避免软件开发过程中的常见陷阱。安全团队还会尝试回答在开发和使用过程中遇到的任何问题。 ++ 参与代码审核:安全团队希望能够通过代码审核帮助团队提前发现代码中的漏洞。 + + + +### 该SIG管理的repository及描述 + +- 项目名称:安全 + - 交付件形式: + - repository名称:security + + + + + +### 跨领域和面向全社区的流程 + +1、开发者:openEuler社区的安全问题处理和披露流程 + +2、消费者:关于如何上报安全问题,如何获取安全补丁等安全相关事宜 \ No newline at end of file diff --git a/zh/security-committee/security-disclosure.md b/zh/security-committee/security-disclosure.md new file mode 100644 index 0000000..805eb4d --- /dev/null +++ b/zh/security-committee/security-disclosure.md @@ -0,0 +1,52 @@ +# openEuler安全和披露说明 + + + +# 安全公告 + +您可以从openEuler的[安全公告和披露页面](https://openeuler.org/)获取openEuler产品安全公告和安全披露的电子邮件。 + + + +## 上报漏洞 + +我们感谢所有向openEuler开源社区上报安全漏洞的安全研究人员和用户。安全委员会内会有社区志愿者对您上报的安全漏洞进行全面彻底的调查。 + +您可以通过电子邮件将您发现的安全问题的详细信息以及错误报告发送到私有的security@openeuler.org邮箱列表。请你采用[安全问题模板](template-security-bug.md)。 + +您可以使用[openEuler安全委员会](README.md)成员的GPG秘钥将电子邮件加密到此列表。 + + + +### 我应该合适上报漏洞 + +- 您认为你在openEuler中发现了潜在的安全漏洞 +- 您不确定漏洞可能会怎样影响openEuler +- 您在其他项目中发现了openEuler依赖的漏洞,您可以附上已经上报给上游社区的链接 + + + +### 什么时候不应该上报漏洞 + +- 您想帮助提升openEuler的安全能力 +- 您需要得到安全相关的帮助 +- 您的问题与安全性无关 + + + +## 安全漏洞响应 + +- openEuler安全委员会成员会在3个工作日内确认并分析上报的安全问题,并同时启动安全处理流程。 + +- 安全委员会确认安全问题后会对问题进行分发和跟进 +- 在安全问题从分类、确定到修复和发布的权过程中,我们会通过邮件及时更新报告 + + + +## 公开披露时间 + +- 公开披露的日期由openEuler安全委员会和错误提交者协商确定。对于安全问题,一旦有用户缓解或规避措施,我们就会尽快将漏洞完全披露出来。 +- 在尚未完全理解和修改错误、解决方案未经过充分测试、或者未完成和发行商的协调时,延迟披露是不可避免的,也是合理的。 +- 在公开披露前,对部分问题我们会先向发行商披露,并在不影响发行商利益的前提下,尽量协同多个发行商间的发布时间。 +- 披露的时间从确认安全问题起,大概需要几周。对于具有明确的缓解或规避措施的漏洞,我们会尽量缩短披露时间在两周以内。 +- openEuler安全委员会对设定的披露日期有最终决定权。 \ No newline at end of file diff --git a/zh/security-committee/security-evaluation.md b/zh/security-committee/security-evaluation.md new file mode 100644 index 0000000..62f48a2 --- /dev/null +++ b/zh/security-committee/security-evaluation.md @@ -0,0 +1,77 @@ +# 严重性评估——我们如何进行漏洞评分 + +本文主要介绍openEuler对安全问题采用的严重性评估方案和典型案例。 + + + +### 安全问题的定义 + +安全问题是一类漏洞,是指系统在设计、实现、操作和管理中的缺陷或弱点,可被外部威胁所利用来违反系统的安全策略,并对系统的机密性、完整性、可用性造成影响。攻击者可以利用这些漏洞拒绝用户使用计算资源,或者在用户的计算机上执行任意的代码。由于病毒和蠕虫可以利用这些漏洞在计算机之间传播,所以安全问题会给用户带来极大的风险。安全问题可以分成两个基本类型: + ++ 拒绝服务 ++ 允许执行任意代码 + +#### 拒绝服务 + +拒绝用户使用计算资源的问题属于拒绝服务类安全问题,比如此类问题导致所运行的程序崩溃,或消耗大量内存,磁盘空间或CPU时间等。但是需要注意,程序包含各种问题,有时这些问题也会导致程序崩溃,但崩溃的现象不能以一个一致的方式重现,那么这些问题也不会被视为拒绝服务的安全问题。拒绝服务的安全问题是可以“一致”和“可靠”重现的问题,攻击者可以使用它故意使正在运行的程序崩溃。 + +##### 拒绝服务的安全类问题的典型案例 + ++ 使客户端崩溃的特制电子邮件 ++ 使看护程序崩溃的特定网络数据 ++ 使游览器崩溃的特定HTML + +##### 非拒绝服务的安全类问题的典型案例 + ++ 通过执行非常复杂的用户输入操作使文本编辑器崩溃 ++ 通过物理访问的操作或动作使计算机崩溃 + + +#### 允许任意代码执行 + +一般而言,允许任意代码执行带来的安全问题比拒绝服务带来的问题更加严重。允许任意代码执行可能会允许恶意用户获取对计算机的控制,或者允许病毒或蠕虫传播。在程序的正常执行过程中,会有可预期的执行流程,然而恶意的输入程序可能会改变执行流程并运行攻击者选择的代码。 + ++ 远程执行代码:每当计算机连接到网络时,远程攻击者就有可能远程利用任意代码执行问题来执行恶意代码。这意味着攻击者不必靠近或登录被攻击的计算机。比如蠕虫病毒通过Internet感染到无数连接到Internet的计算机。恶意的破解程序通常还会利用远程代码执行问题来获取对计算机系统的未授权访问。 ++ 本地代码执行:本地代码执行问题时一种可能导致攻击者在用户执行特定命令时运行的代码,或者利用SUID程序提升特权的问题。 + +通常来说,在各种命令中都会发现这类问题,但是如果需要要求用户执行某些特定命令,那么这些错误不会被认为是安全性问题。比如某个本地命令执行需要提升特权才能运行代码。 + + + +### openEuler 安全问题等级 + + openEuler的产品安全问题等级使用常见的漏洞评分系统(CVSS)来评估在openEuler 中发现的安全问题的影响。按照优先级的风险评估,可以帮助您了解和升级系统,从而针对这些问题做出适合您运行环境的明智决策。 + + + +### 通用漏洞评分(CVSS) + +通用漏洞评分系统(CVSS)为漏洞的基本评分提供了指导,并通过对漏洞的各个方面进行评分来描述详细的严重程度,包括:访问量、访问复杂性、机密性、完整性和可用性。CVSS等级作为一个准则来识别缺陷的关键指标,但openEuler不仅仅会直接使用CVSS等级来确定修复缺陷的优先级。对于那些已经修复的缺陷的优先级,openEuler会参考四点量表综合考虑全局影响给出评分。 + +CVSS v3基础指标涵盖了对漏洞影响性评估的各个方面 + ++ 攻击向量(AV):攻击的 “远程能力”以及在该能力下漏洞会被如何利用 ++ 攻击复杂度(AC):攻击的难度以及成功进行攻击所需要的因素的获取难度 ++ 用户交互(UI):确定攻击是否是自动进行的,或者需要人参与 ++ 所需权限(PR):成功进行攻击所需要的用户身份验证级别 ++ 范围(S):确定攻击者是否可以影响具有不同权限级别的组件 ++ 机密性(C):确定是否可以将数据公开给非授权方;如果可以,公开到什么级别 ++ 完整性(I):衡量数据的可信度以及未经授权的用户不会修改数据的可信度 ++ 可用性(A)::获得授权的用户在需要访问数据或服务时是否可获得 + 公式将这些度量转换成单个数字评分,范围从0.0(无风险)到10.0(最高风险)。有关基础指标的详细说明,请参考[通用漏洞评分系统v3.0:用户指南]( https://www.first.org/cvss/user-guide ) + + + +### NVD和openEuler分数之间的差异 + +由于软件包是由多个供应商提供的,而CVSS基础评分与这些供应商提供的版本号,提供的方式,平台以及软件的编译方式相关,所以对openEuler来说,直接采用第三方漏洞库(例如NVD)的评分有时候是比较困难的,因为这些评分只为每一个漏洞提供了单个CVSS的基础分数,适用到openEuler可能会出现较大差异。 + +比如,由于Firefox应用程序也可用于Microsoft Windows(用户通常以管理员权限运行Firefox),因此NVD将Firefox的漏洞评为具有最高影响力。但openEuler 的版本会采用低影响度评分,因为Firefox一般以非特权用户的方式运行。出于以上这些原因,我们建议您尽量采用openEuler提供的CVSS基础分数。 + +如果您认为特定的漏洞CVSS v3基础分数不正确,请告诉[我们](),我们很高兴就此问题进行讨论并在需要的时候更新分数。 + + + +## 典型案例说明 + +待补充 \ No newline at end of file diff --git a/zh/security-committee/security-process.md b/zh/security-committee/security-process.md new file mode 100644 index 0000000..585095e --- /dev/null +++ b/zh/security-committee/security-process.md @@ -0,0 +1,271 @@ +# 安全问题处理和发布流程 + +openEuler已经采用本文中描述的安全披露和响应策略,以确保我们及时负责的处理安全问题。 + +目录 + ++ [产品安全委员会](#安全委员会) ++ [使命和工作职责](#使命和工作职责) + + [成员管理方式](#成员管理方式) + + [成员的角色说明](#成员的角色说明) ++ [安全问题处理和披露流程](#安全问题处理和披露流程) + + [安全问题收集](#安全问题收集) + + [安全问题确认](#安全问题确认) + + [成立修复团队](#成立修复团队) + + [制定修复计划](#制定修复计划) + + [安全问题影响性评估](#安全问题影响性评估) + + [安全问题响应说明](#安全问题响应说明) + + [组织补丁开发](#组织补丁开发) + + [修复披露](#修复披露) + + [修复流程回顾](#修复流程回顾) + ++ [安全问题处理和披露流程示意图](#安全问题处理和披露流程示意图) + ++ [发行商名单](#发行商名单) + + + +## 安全委员会(SC) + +安全委员会(SC)负责整个社区对安全问题的响应,包括内部沟通和外部披露,但整个过程需要在相关开发人员和发布经理的协助下完成。SC将由订阅了[openEuler安全邮件列表(私有)](security@openeuler.org)的志愿者组成。 + + + +### 使命和工作职责 + +SC的工作职责请参考[README](README.md) + + + +### 成员管理方式 + +- 成员应保持积极主动的态度 + +- 延长休假1个月或更长时间的成员应与其他成员进行协调,以确保在休假期间为该角色配备足够的人员 + +- 休假1~3个月的成员可以确定一个临时的替补 + +- 角色成员可以罢免其他未请假,但无法联系超过1个月或者未履行其书面职责超过1个月的成员。这个罢免也通过“[多数共识](https://en.wikipeedia.org/wiki/Supermajority#Two-third_vote)“完成 + + + +#### 加入 + +- SC一般由7个成员组成 + +- 新成员通常从技术指导委员会、发行经理或补丁发行经理、以及SIG内负责安全工作的核心成员中提名。 + +- 提名的新成员通过“[懒惰的共识](https://openoffice.apache.org/docs/governance/lazyConsensus.html)”完成投票 + +- 为了让新加入的成员熟悉安全委员会的工作职责和流程,新加入SC成员将首先担任至少三个月的准成员 + + + +#### 退出 + +成员随时可以退出,并从合格的准成员中提议替代成员。如成员退出需要投票,将按照[“多数共识”](https://en.wikipeedia.org/wiki/Supermajority#Two-third_vote)完成 + + + +### 成员角色说明 + +由于安全处理流程涉及到多个环节和对应的职责,SC的成员会被赋予一些特定的角色,以更加明确的承担这些环节的职责。以下是各个角色的定义,这些角色会定期进行轮换,以保证每一个人都有机会了解openEuler的安全处理机制 + + + +**修复责任人** + +跟踪协调每一个安全问题的从“生”到“死” + + + +**问题分发员** + +- 确保应该处理问题的人员都已经收到通知 + +- 响应还未被确认为安全问题的问题 + +- 协助确认安全问题在openEuler产品的评分 + +- 如果开发者在处理安全问题的时候有分歧,也可以视需要上升到问题分发员。 + + 在线的SC成员都会负责该工作,他们会按照上报的顺序响应安全请求的原则。 + + + +**基础设施保障员** + +这个角色确保漏洞扫描、代码安全合规扫描等配套的安全工具正常工作,包括: + +- 确认工具的正常运行 +- 分发和处理工具扫描的结果。包括确保漏洞扫描发现的问题的正确分发,完成新软件包的合规扫描入库等 +- 分析和提出安全领域工具的优化需求 + + + +**披露员** + +- 按照规则收集披露问题; +- 向安全委员会提交披露申请,包括安全公告和安全问题; +- 提供符合披露原则的披露相关公共消息发布。包括相关的披露信息、升级文档、日志变更、向公众解释严重性,将错误通知发送到邮件列表,请求CVE等。 + + + +**安全联络员** + +该角色不是SC的成员,每一个SIG团队内都应该指定参与安全活动的SIG成员,这个角色应该由希望后继加入SC的成员承担。他们将负责: + ++ 优先处理分发给本SIG团队内的安全问题 ++ 提供本SIG内项目的安全问题披露内容 ++ 协助开展安全流程改进,激励管理、审核代码或其他不公开的安全活动 + + + +**发布团队** + +安全补丁发布团队属于[发布团队](sig-release)的一部分,他们在安全流程里会负责: + +- 刷新[发行商列表](private-distributors-list.md)——管理发行商列表 + ++ 组织和发布补丁——在必须提供安全修复程序时,组织涉及到的SIG内的Maintainer,管理构建和发布补丁 + +**发布经理**有责任在整个生命周期内组织相关活动的开展,遵守安全问题处理和披露的流程要求。 + + + + + +## 安全问题处理和披露流程 + +### 1、安全问题收集 + +#### CVE例行扫描 + +- openEuler社区会采用XXX漏洞扫描工具,对社区上使用的上游社区软件包公开披露的漏洞进行例行扫描和同步。 +- 扫描出的漏洞会按照[安全问题模板](template-security-bug.md)的格式向对应的SIG推送带有“CVE”标签的Issue + + + +#### 内部上报 + +SIG内的bug被团队成员确认为安全漏洞,团队成员将对应的Issue调整成“私有”,同时添加“安全问题”标签,并根据实际情况添加“优先级”标签。安全问题分发员会定期查看此类问题的更新情况。 + + + +#### 外部上报 + +如果您知道一个安全漏洞,不在openEuler安全团队已经处理的公开安全漏洞的列表之内,烦请立即发送电子邮件至security@openeuler.org通知SC,以便于他们可以启动补丁、发布和公告过程。 + +请采用[安全流程电子邮件模板](email-templates.md),同时您可以使用[openEuler安全委员会](README.md)成员的GPG秘钥将电子邮件加密到此邮件。收到上报邮件后,安全问题分发员会在其repository内新建一个安全Issue。 + +如果有需要,SC将询问您是否可以通过负责人的方式秘密披露此问题。如果您反对,我们将采用公开披露的方式。 + + + +### 2、安全问题确认 + +安全问题分发员会完成对新问题的确认,包括: + +- 对于外部上报的安全问题,确定受影响的项目和软件包。 +- (包括外部上报问题和CVE问题)联系相关工程师(会优先从项目的Maintainer和Committer中选择),推动尽快确认是否是新的安全问题。确认后将Issue(私有)分发到对应的repo +- 对于外部上报的安全问题,确认后通知问题上报人。 + +确认结果记录在Issue的进展内,并调整Issue的状态进入解决阶段。 + + + +### 3、成立修复团队 + +修复负责人将组织修复团队,修复团队包括: + +- 对应的版本或补丁发布经理 + +- 受影响项目的SIG成员,优先选择前期已经参与问题分发阶段的团队成员(定义在其对应的*OWNERS*文件内) + + + +### 4、制定修复计划 + +对于每一个漏洞,修复责任人会与修复团队,发布经理进行协调,并负责向社区相关成员发送电子邮件。修复责任人会根据问题的严重性,开发需要的时间和发布经理反馈的版本计划,综合自己最佳的判断来制定问题的修复计划。 + + + +#### 安全问题影响性评估 + +修复负责人和修复团队将使用[CVSS计算器](https://www.first.org/cvss/specification-document#i5)创建一个CVSS。他们会将使用“[严重性评估——我们如何进行漏洞评分]()”来确定错误的影响和严重性。修复负责人对计算出的风险进行最终评估。 + +- 如果评估分数低于4.0(严重性分数较低)或评估的风险较低,则修复责任人可以选择半公开进行修复。这意味着PR是直接在公开的openEuler存储库上进行的,同时可以在公开渠道讨论。同时修复团队可以在特定情况下(比如假期等)放慢发布过程。这些决策必须在安全会议上讨论。 + +- 如果评估分数低于6(严重程度中等),高于4.0,则修复责任人也可以选择半公开进行修复。修复责任人将确定公开处理该修复程序是否会对用户造成伤害,以决定是否将对问题安全性方面的讨论限定在私有渠道。 + +注意:修复责任人有权对漏洞的严重程度进行分类。 + + + +#### 安全问题响应说明 + +- 如果处理的是openEuler社区开发项目的安全问题,则所有的计划时间表会尽快形成。 +- 如果不是,则修复程序依赖于上游社区的披露时间表。修复责任人会通过与上游社区的合作,尽量做到在适应上游社区时间表的同时,最大程度的保护openEuler社区的用户。 + + + +### 5、组织补丁开发 + ++ 如需要在私有安全库进行开发,修复负责人将使修复团队可以访问openEulerXXXXXX中的私有安全存储库,以开发修复程序。 ++ 修复负责人将向[openEuler CVE编号颁发机构申请CVE](cve-request.md),**上游社区公开披露的CVE不需要此过程**。 ++ 发布经理发布经理根据发布计划组织补丁开发 ++ 私有ropo上相关修复文件已经提交到对应版本的软件包库,或者公开修复的软件包已经提交到对应的软件包库。发布经理将通知修复责任人——修复工作已经完成。 + +注意:openEuler私有安全存储库由SC拥有。组织管理由sig-infrastructure完成。 + + + +### 6、修复披露 + +随着修复的开展,修复负责人需要针对更广泛的社区范围提交总体沟通计划。总体沟通启动应该在修复团队制定了修复或缓解措施以后开始,以便可以将可达成的计划传递给用户。 + + + +**发行商披露(可选)** (在问题确认后1~14天内完成) + ++ 如果问题严重到需要尽早通知发行商,修复负责人将在修复团队的帮助下做出此决定。比如影响严重的“可远程利用”或“特权升级”等问题。否则可以跳过此过程。 ++ 修复负责人将补丁程序通过电子邮件发送给distributors-announce@openEuler.org,以便发行商可以提前准备,并在发行版发布之日向用户提供版本。发行商应订阅[发行商披露邮件列表](distributors-announce@openEuler.org),阅读[发行商披露须知](private-distributors-list.md)信息,以了解添加到该列表的要求。 + + + +**修复发布日**(在问题确认后1~21天内完成) + ++ 在即将发布前,至少提前24小时通过电子邮件通知[发行商](private-distributors-list.md),通知信息应包含公共消息,公告的日期。 ++ 修复负责人会将补丁推送到master分支和相关的发行版本分支。修复团队会使用/lgtm和/approve通过 ++ 版本的发行经理会尽快merge这些PR。此时不应更改提交内容,以防止与发送给发行商的补丁程序产生不应有的冲突,以及在分支选择patch时发生冲突。 ++ 发行经理应确保所有的二进制文件通过build,可公开使用且正常运行。 ++ 修复负责人将提供新版本号、CVE编号(如有需要)、严重性和影响以及二进制文件的位置的信息给披露负责人,以支撑更广泛的分发和用户操作。此披露负责人将尽早将公告更新到社区页面,并应包括用户在升级到固定版本之前可以采用的任何缓解措施。公告将通过以下渠道发送 + + security@openeuler.org + + distributors-announce@openeuler.org + + [社区安全页面](https://openeuler.org/zh/security.html) + + 在https://gitee.com/openeuler/issues 中打开问题,并标记成`area/security`,并以相关CVE ID为前缀 + ++ 如涉及,修复负责人将从私人安全存储库中删除修复团队 + + + +### 7、修复流程回顾 + +这些步骤应该在发布日期后的1~3天完成。回顾过程是改进的动力。 + ++ 修复负责人将该问题的回顾过程发送到security-discuss-private@openeuler.org,包括有关每个人的详细信息,过程时间表的执行情况,与引入该问题相关的PR链接,以及对响应和发布的任何处理或建议。 ++ 鼓励发行经理和修复团队将自己的反馈意见发送到security-discuss-private@openeuler.org。诚实的批判是我们改善社区的唯一途径。 + + + +## 安全问题处理和披露流程图示 + +![](安全问题处理流程.jpg) + + + +## 发行商名单 + +该列表用于向openEuler的发行商提供安全相关可操作的信息,请参考[发行商列表](private-distributors-list.md) + + diff --git a/zh/security-committee/security-rating.md b/zh/security-committee/security-rating.md new file mode 100644 index 0000000..61520bf --- /dev/null +++ b/zh/security-committee/security-rating.md @@ -0,0 +1,44 @@ +# 严重性评估--我们如何进行漏洞评分 +业界普遍使用CVSS标准评估漏洞的严重性,openEuler在使用CVSSv3进行漏洞评估时,需要设定漏洞攻击场景,基于在该攻击场景下的实际影响进行评估。漏洞严重等级评估是指针对漏洞利用难易程度,以及利用后对机密性、完整性、可用性的影响进行评估,并生成一个评分值。 +## CVSSv3基本指标 +CVSS v3基本指标组涵盖了漏洞的各个方面: +- 攻击向量(AV)-表示攻击的“远程性”以及如何利用此漏洞。 +- 攻击复杂性(AC)-讲述攻击执行的难度以及成功进行攻击需要哪些因素。 +- 用户交互(UI)-确定攻击是否需要用户参与。 +- 所需的权限(PR)-记录成功进行攻击所需的用户身份验证级别。 +- 范围(S)-确定攻击者是否可以影响具有不同权限级别的组件。 +- 机密性(C)-衡量信息泄露给非授权方后导致的影响程度。 +- 完整性(I)-衡量信息被篡改后导致的影响程度。 +- 可用性(A)-衡量用户在需要访问数据或服务时受影响的程度。 +## 严重等级评估 +基于CVSSv3评估标准,主要使用基础度量指标进行漏洞严重等级的评估,基础度量指标包含可利用性指标及影响指标。 +可利用性指标反映漏洞组件的特征。每个可利用性指标根据漏洞组件打分,反映能导致成功攻击的漏洞属性。 +影响指标指的是受影响组件的属性,根据成功攻击后影响最严重的组件进行打分,分析者应该将影响限制在合理的最终结果,确信攻击者能够达成这一结果。 +### 评估原则 +- 评估漏洞的严重等级,不是评估风险。 +- 评估时必须基于攻击场景,且保证在该场景下,攻击者成功攻击后能对系统造成机密性、完整性、可用性影响。 +- 当安全漏洞有多个攻击场景时,应以造成最大的影响,即CVSS评分最高的攻击场景为依据。 +- 被嵌入调用的库存在漏洞,要根据该库在产品中的使用方式,确定漏洞的攻击场景后进行评估。 +- 安全缺陷不能被触发或不影响CIA(机密性/完整性/可用性),CVSS评分为0分。 +### 评估步骤 +对漏洞进行评估时,可根据下述步骤进行操作: +1. 设定可能的攻击场景,基于攻击场景评分; +2. 确定漏洞组件(Vulnerable Component)和受影响组件(Impact Component); +3. 选择基础指标的值: +- 可利用指标(攻击向量/攻击复杂度/所需权限/用户交互/范围)根据漏洞组件选择指标值。 +- 影响指标(机密性/完整性/可用性)要么反映对漏洞组件的影响,要么反映对受影响组件影响,以结果最严重的为准。 +### 评估结果 +在评估漏洞严重级别时,评估人员需要输出以下内容 +1. 漏洞原理 +2. 该漏洞的攻击场景及产生的危害 +3. 评估指标值判定说明,确保每个CVSS指标值的判定有对应的依据 +### 严重等级划分 +|严重等级(Severity Rating) | CVSS评分(Score)| +| ----------------- | -------------- | +| 致命(Critical) | 9.0 - 10.0 | +| 高(High) | 7.0 - 8.9 | +| 中(Medium) | 4.0 - 6.9 | +| 低(Low) | 0.1 - 3.9 | +| 无(None) | 0.0 | +## 和NVD评估分数差异说明 +CVSS基础评分与受影响组件的版本号,提供和使用的方式,平台以及软件的编译方式相关,NVD评分考虑了漏洞被利用的所有场景,而openEuler是基于上游社区自己构建的,主要应用于服务器场景,所以对于openEuler开源产品来说,直接采用NVD评分是不合适的,因此openEuler对所有受影响的CVE有自己的评分,并且多数打分可能和NVD不同。 \ No newline at end of file diff --git a/zh/security-committee/template-security-bug.md b/zh/security-committee/template-security-bug.md new file mode 100644 index 0000000..0ecc11b --- /dev/null +++ b/zh/security-committee/template-security-bug.md @@ -0,0 +1,28 @@ +# openEuler 安全流程电子邮件模板 + +这是电子邮件模板的集合,用于处理PSC需要处理的各种安全问题。 + + + +## 安全问题上报模板 + +主题:[最新公告] + + + +你好,openEuler社区。 + +在$COMPONENT版本的$OLDVERSION或更早版本发现了一个安全问题。严重等级是$SEVERITY,希望能够升级到$COMPONENT解决此问题。 + + + +- 是漏洞吗?: + + 描述问题发生需要的场景(包括软硬件和交互场景等) + + 问题所造成的影响和影响的范围(包括版本范围) + + 如何确认使用的版本是否包含该问题 + ++ 如何缓解漏洞造成的影响 + + 短期缓解方案 + + 长期缓解方案:比如patch的安装地址、安装方式等 + ++ 漏洞的详情(如果是公开的CVE,请提供CVE编号) \ No newline at end of file diff --git "a/zh/security-committee/\345\256\211\345\205\250\351\227\256\351\242\230\345\244\204\347\220\206\346\265\201\347\250\213.jpg" "b/zh/security-committee/\345\256\211\345\205\250\351\227\256\351\242\230\345\244\204\347\220\206\346\265\201\347\250\213.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..64441b7390854d704904a51fb648effbcf9f6b28 GIT binary patch literal 151041 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 literal 0 HcmV?d00001 diff --git a/zh/sig-infrastructure/README.md b/zh/sig-infrastructure/README.md new file mode 100644 index 0000000..afd2241 --- /dev/null +++ b/zh/sig-infrastructure/README.md @@ -0,0 +1,39 @@ +# 基础设施SIG +*todo*:基础设施团队的领域范围和目标 + +## 组内会议 + + + +## 团队成员 + + + +## 沟通联系方式 +- [邮件列表]() +- [IRC]() +- [Gitee Issue/PRs]() + + + + + + + +## 子项目 + +*todo*:子项目介绍和[repo链接]() + +对于基础设施团队来说,肯定有一个关于gitee管理的子项目 + + + + + + + + + + + +## 目标 \ No newline at end of file diff --git a/zh/sig-infrastructure/Repository.md b/zh/sig-infrastructure/Repository.md new file mode 100644 index 0000000..2e20848 --- /dev/null +++ b/zh/sig-infrastructure/Repository.md @@ -0,0 +1,168 @@ +# 仓库 + +## 维护 + +### 背景 + +在openEuler社区有成百上个仓库。 +这是非常困难的去维护在每一个仓库中的所有成员。 +我们需要一个自动化的工具去解决这些问题从而节约团队的工作量。 + +### 解决方案 + +基础设施团队构建了一种机制去简化仓库的维护工作。 +所有openEuler的仓库和仓库成员都放在 +[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml)文件中, +而所有src-openEuler的仓库和仓库成员都放在 +[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)文件中。 +如果这些yaml文件被一个pull request所修改,`openeuler-ci-bot`将会检测到这些改变 +然后自动化地完成一些操作,例如`创建一个仓库`,`为一个仓库添加成员`, +`从一个仓库移除成员`,`保护一个分支`,`移除一个保护分支`等基于Gitee API的操作。 + +### 如何创建一个仓库 + +``` yaml +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private +``` + +如果你想要在openEuler社区里面新增一个仓库, +你可以基于上面的示例提交一个pull request修改 +[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)。 + +* `abattis-cantarell-fonts`: 你想创建的新仓库名字。 +* `fonts repo`: 新仓库描述。 +* `private`: 表示仓库的类型。 + + `private`意味着新仓库只对某些特定的人群可见。 + + `public`意味着新仓库对所有人可见。 + +一旦你的pull request被合入,```openeuler-ci-bot```将会立即创建一个新仓库。 + +### 如何创建或者删除一个成员 + +``` yaml +community: + name: openeuler + managers: + - zhuchunyi + - overweight + developers: + - igorkorkin + viewers: + - jianminw +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + type: private + managers: + - dogsheng + developers: + - igorkorkin + viewers: + - jianminw +``` + +如果你想要添加或者删除一个仓库的成员, +你可以基于上面的示例提交一个pull request +修改[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)。 + +* `openeuler`: openEuler组织名称, 另外还有一个组织`src-openeuler`,实际上不需要做修改。 +* `managers`: 你想在`community`或者`repositories`下指定的管理员。 + 这里需要Gitee账号,例如 `zhuchunyi`。 +* `developers`:你想在`community`或者`repositories`下指定的开发者。 + 这里需要Gitee账号,例如`igorkorkin`。 +* `viewers`: 你想在`community`或者`repositories`下指定的观察者。 + 这里需要Gitee账号,例如`jianminw`。 + +***注意***:你可能已经发现`managers`,`developers`和`viewers`是同时存在于`community`和`repositories`。 +让我们来看看它们的不同之处: + +* 通常情况下你想要为所有仓库添加或删除一个管理员,开发者或者观察者, + 你可以修改`community`下的`managers`,`developers`或者`viewers`。 +* 特定的情况下你想要为一个指定的仓库添加或删除一个管理员,开发者或者观察者, + 你可以修改指定的仓库例如`accountsservice`下的`community`下的`managers`,`developers`或者`viewers`。 +* 如果一个仓库没有指定任何成员(包括`managers`,`developers`和`viewers`),例如`abattis-cantarell-fonts`仓库, + `openeuler-ci-bot`将会使用`community`下的`managers`,`developers`和`viewers` + 来为这个仓库例如`abattis-cantarell-fonts`仓库创建成员。 +* 如果一个仓库指定了一些成员(包括`managers`,`developers`和`viewers`),例如`accountsservice`仓库, + `openeuler-ci-bot`将会使用这个仓库下的`managers`,`developers`和`viewers` + 来为这个仓库例如`accountsservice`仓库创建成员。 +* 如果一个Gitee账号是存在于`managers`,`developers`和`viewers`之中, + 这个Gitee账号将会是一个管理员,因为从Gitee的权限来讲,`managers` > `developers` > `viewers`。 + +### 如何创建或者删除一个保护分支 + +```yaml +community: + name: openeuler + protected_branches: + - master +repositories: + - name: abattis-cantarell-fonts + description: "fonts repo" + type: private + - name: accountsservice + description: "account repo" + protected_branches: + - master + - dev + type: private +``` + +如果你想要在一个仓库上创建或者删除一个保护分支, +你可以基于上面的示例提交一个pull request +修改[openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/openeuler.yaml) +或者[src-openeuler.yaml](https://gitee.com/openeuler/infrastructure/blob/master/repository/src-openeuler.yaml)。 + +* `openeuler`:openEuler组织名称, 另外还有一个组织`src-openeuler`,实际上不需要做修改。 +* `protected_branches`:你想要在`community`或`repositories`创建的保护分支。 + +***注意***:你可能已经发现`protected_branches`是同时存在于`community`和`repositories`。 +让我们来看看它们的不同之处: + +* 通常情况下你想要为所有仓库创建或删除一个保护分支, + 你可以修改`community`下的`protected_branches`。 +* 特定的情况下你想要为一个指定的仓库添加或删除一个保护分支, + 你可以修改指定的仓库例如`accountsservice`下的`community`下的`protected_branches`。 +* 如果一个仓库没有指定任何保护分支,例如`abattis-cantarell-fonts`仓库, + `openeuler-ci-bot`将会使用`community`下的`protected_branches` + 来为这个仓库例如`abattis-cantarell-fonts`仓库创建保护分支。 +* 如果一个仓库指定了一些保护分支,例如`accountsservice`仓库, + `openeuler-ci-bot`将会使用这个仓库下的`protected_branches` + 来为这个仓库例如`accountsservice`仓库创建保护分支。 +* 如果指定的`protected_branches`不存在,`openeuler-ci-bot`将会做任何动作。 + +### 如何创建或者删除一个在Gitee之外的维护人员 + +Gitee提供管理员、开发者和观察者等权限管理。 +`openeuler-ci-bot`支持另一种为每一个仓库添加维护人员的方式。 +`openeuler-ci-bot`将会扫描 `OWNERS`文件在每一个仓库下去发现额外的仓库维护人员。 + +以`ci-bot`仓库下的 为例。 +文件内容如下: + +``` yaml +maintainers: + - edisontest + - freesky-edward + - TommyLike + - xiangxinyong + - zerodefect +``` + +这意味着所有这5个用户具备在`ci-bot`仓库下合入pull request的权限。 +这些用户能使用`/lgtm`和`/approve`命令去触发`openeuler-ci-bot`何如pull request。 +你可以发现更多的命令说明 。 +顺便说下,所有的Gitee管理员和开发者也能使用`/lgtm`和`/approve`命令。 + +如果你想要维护Gitee之外的仓库维护人员,请在你的仓库下添加`OWNERS`文件, +然后添加仓库维护人员到`OWNERS`文件,`openeuler-ci-bot`将会给予这些仓库维护人员`合入`权限。 diff --git a/zh/sig-infrastructure/command.md b/zh/sig-infrastructure/command.md new file mode 100644 index 0000000..a302f61 --- /dev/null +++ b/zh/sig-infrastructure/command.md @@ -0,0 +1,196 @@ +## OpenEuler社区命令参考文档 + +openEuler社区的所有项目都由Bot维护。 +这意味着开发人员可以在每个Pull Request或Issue下面进行回复来触发Bot命令。 +这些命令包括: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令示例描述谁能使用
+ /check-cla + + /check-cla + + 强制重新检查一个Pull Request的CLA状态。 + 如果Pull Request的作者已经签署CLA, + 这个Pull Request将会新增一个名为`openeuler-cla/yes`的标签, + 反之将会新增一个名为`openeuler-cla/no`的标签。 + + 任何人 +
+ /lgtm [cancel] + + /lgtm +
+ /lgtm cancel +
+ 为一个Pull Request添加或者删除`lgtm`标签,这个标签将用于Pull Request合入判断。 + + 这个仓库的协作者。Pull Request能使用`/lgtm cancel`命令,但是不能使用`/lgtm`命令。 +
+ /approve [cancel] + + /approve +
+ /approve cancel +
+ 为一个Pull Request添加或者删除`approved`标签,这个标签将用于Pull Request合入判断。 + + 这个仓库的协作者。 +
+ /[remove-]kind + + /kind bug +
+ /remove-kind bug +
+ 添加或者删除这种kind类型的标签。 + 例如:`kind/bug`标签。 + + 任何人都能在一个Pull Request或者Issue上触发这种命令。 +
+ /[remove-]priority + + /priority high +
+ /remove-priority high +
+ 添加或者删除这种priority类型的标签。 + 例如:`priority/high`标签。 + + 任何人都能在一个Pull Request或者Issue上触发这种命令。 +
+ /[remove-]sig + + /sig kernel +
+ /remove-sig kernel +
+ 添加或者删除这种sig类型的标签。 + 例如:`sig/kernel`标签。 + + 任何人都能在一个Pull Request或者Issue上触发这种命令。 +
+ /close + + /close + + 关闭一个Pull Request或者Issue。 + + 作者和仓库的协作者能触发这种命令。 +
+ /reopen + + /reopen + + 重新打开一个Issue。 + + 作者和仓库的协作者能触发这种命令。 +
+ /retest + + /retest + + 重跑测试用例任务。 + + 任何人都能在一个Pull Request上触发这种命令。 +
+ /assign [[@]...] + + /assign +
+ /assign @openeuler-ci-bot +
+ 分配一个Issue给负责人。 + + 任何人都能在一个Issue上触发这种命令, + 但是目标负责人必须是这个组织的一个成员。 + 如果没有指定目标负责人,这表明这个Issue会分配给自己。 +
+ /unassign [[@]...] + + /unassign +
+ /unassign @openeuler-ci-bot +
+ 取消分配一个Issue给负责人。 + + 任何人都能在一个Issue上触发这种命令, + 但是目标负责人必须是这个组织的一个成员。 + 如果没有指定目标负责人,这表明这个Issue会取消分配给自己。 +
diff --git a/zh/sig-infrastructure/label.md b/zh/sig-infrastructure/label.md new file mode 100644 index 0000000..114d12b --- /dev/null +++ b/zh/sig-infrastructure/label.md @@ -0,0 +1,49 @@ +## openEuler社区标签 + +openEuler社区所有的项目都有很多标签。 +这些标签给予了Issue和Pull Request某些特定的含义。 +这些标签包括: + +### CLA + +* openeuler-cla/yes +* openeuler-cla/no + +### Kind + +* kind/api-change +* kind/bug +* kind/cleanup +* kind/design +* kind/documentation +* kind/failing-test +* kind/feature +* kind/enhancement + +### Priority + +* priority/high +* priority/medium +* priority/low + +### Sig + +* sig/kernel +* sig/driver +* sig/testing +* sig/release +* sig/doc +* sig/api + +### CI + +* lgtm +* approved + +### Others + +* duplicate +* help-wanted +* invalid +* question +* wontfix diff --git a/zh/technical-committee/README.md b/zh/technical-committee/README.md new file mode 100644 index 0000000..e6fc1fd --- /dev/null +++ b/zh/technical-committee/README.md @@ -0,0 +1,43 @@ +# 技术委员会 + +openEuler技术委员会(Technical Committee,以下和TC互换使用)是openEuler社区的技术决策机构,负责社区技术决策和技术资源的协调。 +TC委员(含主席)名额不得超过9名。主席及委员由理事会任命,任期一年。 + +# 技术委员会的主要职责如下: + +- 负责回答理事会提出的技术问题,支撑理事会对战略蓝图的技术发展方向做出判断; +- 以远程协作的方式运行,每半年召开一次面对面沟通的正式会议,正式会议间定期召开例行线上公开会议; +- 对社区技术路线、接口定义、架构设计、构建发布等进行指导,并逐步构建社区规则; +- 协调跨项目合作,对社区跨项目技术问题进行指导,并逐步构建社区规则; +- 制定、指导项目孵化、开发、退出流程,支撑社区技术生态健康发展; +- 制定、指导软件包接纳、退出openEuler的流程,支撑openEuler开源版本的可信和可靠; +- 接受用户委员会的反馈(需求和问题),牵引社区资源将其落地至项目; +- 建立社区认证标准和平台,为社区认证(OS商业发行版认证、硬件兼容性认证等)提供技术支撑; + +# 组织会议 + +- 公开的会议时间:当前TC在北京时间,每双周周三的上午10:00召开公开的例行线上讨论会议。 +- 具体会议参会方式,会提前一天在邮件列表中讨论确定。目前主要采用华为公司提供的welink语音会议系统。 +- TC会议的例行议题包括: + + 对新的SIG申请进行评审 + + 对openEuler新增软件进行评审 + + 通报用户反馈,并讨论如何响应 + + 审视原创项目运作情况(一次会议审视一个项目) + + 其他议题由TC成员在会前邮件发起 + + 议题收集和整理通过 https://gitee.com/openeuler/community/tree/master/zh/technical-committee/next-meeting-topics.md 公开 +- 欢迎任何感兴趣的开发者参加旁听 + +# 目前TC成员 (2020年) + +- 熊伟[[@myeuler](https://gitee.com/myeuler)] +- 谢红[[@cynthia_xh](https://gitee.com/cynthia_xh)] +- 胡欣蔚[[@Shinwell_Hu](https://gitee.com/Shinwell_Hu)] +- 王勋[[@dream0819](https://gitee.com/dream0819)] +- 郭寒军[[@hanjun-guo](https://gitee.com/hanjun-guo)] +- 谢秀奇[[@xiexiuqi](https://gitee.com/xiexiuqi)] +- 张海亮[[@zhanghai_lucky](https://gitee.com/zhanghailiang_lucky)] + +# 联系方式 + +- TC使用[邮件列表 tc@openeuler.org](tc@openeuler.org) 做日常讨论 +- 历史讨论的记录以及历次TC会议的纪要,可以访问[邮件列表归档](https://mailweb.openeuler.org/hyperkitty/list/tc@openeuler.org/) \ No newline at end of file diff --git a/zh/technical-committee/governance/README.md b/zh/technical-committee/governance/README.md new file mode 100644 index 0000000..735fd62 --- /dev/null +++ b/zh/technical-committee/governance/README.md @@ -0,0 +1,320 @@ +# SIG 管理指南 + + 目录 + +- [申请新SIG流程](#id1) +- [SIG变更批准流程](#id2) + - [增删新项目或repository申请流程](#id2-1) + - [修改SIG章程申请流程](#id2-2) + - [变更团队成员申请流程](#id2-3) + + + +

申请新SIG流程

+ +说明: + +所有openEuler社区的SIG都必须有一个章程(Charter)来明确SIG的范围和治理规则。 + ++ 范围必须明确定义SIG负责指导和维护的领域 ++ 治理规则必须说明SIG中的职责,以及拥有这些职责的角色和工作开展方式 + + + +具体的申请流程如下: + +**1、使用SIG模板创建自己的新SIG** + +将 gitee.com/openeuler/community Fork到你的Gitee下。并在sig目录下创建你的sig文件夹,以及把SIG申请模板拷贝到该文件夹下。 + + +``` +git clone https://gitee.com/YOURGITEE/community + +cd ./community/sig + +cp -r sig-template sig-YOURSIGNAME + +cd sig-YOURSIGNAME + +``` + +**2、完成新SIG章程的填写** + +为便于更好的理解和填写[SIG申请模板](./../../../sig/sig-template/sig-template_cn.md)里的内容,建议先阅读[建议书和要求](./SIG-governance-requirements.md),完成新SIG的申请填写。 + +``` +mv sig-template_cn.md sig-YOURSIGNAME_cn.md + +mv sig-template.md sig-YOURSIGNAME.md + +vi sig-YOURSIGNAME_cn.md + +vi sig-YOURSIGNAME.md + +``` + +**3、完成新SIG成员的配置** + +请在OWNERS文件中完成对SIG成员的配置 + +``` +vi OWNERS + +``` + +**4、完成新SIG的Repository的配置** + +请参考[openEuler的Repository说明](/zh/Gitee-Management/Gitee-management-guide.md),完成SIG所拥有的Repository的配置。 + +- 如果您的项目在openEuler社区只维护软件包,请点击[src-openeuler.yaml](/repository/src-openeuler.yaml),在其中按照格式把你的项目添加进来。 + +``` +vi ../../repository/src-openeuler.yaml + +``` + +- 如果不是以上的情况,请单击[openeuler.yaml](/repository/openeuler.yaml),并按照内部的格式在文件的最后把您的SIG添加进来 + +``` +vi ../../repository/openeuler.yaml + +``` + +**5、在sig文件夹的sig.yaml内添加新SIG的相关信息** + +根据以上的信息,打开sig文件夹下[sigs.yaml](/sig/sigs.yaml)文件,在末尾添加新sig的相关信息并提交PR。 + +``` +vi ../sigs.yaml + +- name: sig-YOURSIGNAME + repositories: + - openeuler/aaa + - src-openeuler/bbb +``` + +**6、完成SIG的README初稿信息** + +一个sig的README是这个团队给贡献者们了解本团队的第一手资料。所以每一个sig团队都应该提供README里的相关信息。请按照README模板完成对sig团队的介绍 + +``` +vi README.md +``` + +**7、提交PR** + +将以上修改提交到Gitee上,并在Gitee上创建一个Pull Request。 + +**8、向TC发送邮件申请** + +给技术委员会发邮件(邮箱),并在正文中包含主题“[*新SIG提案]*”和PR的链接 + +**9、TC评审并反馈意见** + +技术委员会通常会在发送申请后的一周内反馈。如果遇到假期或重要会议等因素,可能会需要更长时间。在此期间,您可以进行任何有需要的更改 + +**10.TC评审通过并合入** + +技术委员会将通过合并Pull Request的方式来批准您的申请 + + + + + +

SIG变更申请流程

+ +如果您要修改SIG章程(charter.md)、团队成员(OWNERS)、增删Repository(Repository)等,您需要提交SIG变更批准流程。 + +

增删新项目或repository申请流程

+ +**1、完成新项目的Repository的配置或删除相关配置** + +请参考[openEuler的Repository说明](/zh/Gitee-Management/Gitee-management-guide.md),完成SIG所拥有的Repository的配置。 + +- 如果您的项目在openEuler社区只维护软件包,请点击[src-openeuler.yaml](/repository/src-openeuler.yaml),在其中按照格式对你的项目的repository进行添加/删除。 + +``` +vi ../../repository/src-openeuler.yaml + +``` + +- 如果不是以上的情况,请单击[openeuler.yaml](/repository/openeuler.yaml),在其中按照格式对你的项目的repository进行添加/删除。。 + +``` +vi ../../repository/openeuler.yaml + +``` + +**2、在sig文件夹的sig.yaml内添加新项目的repository信息或删除相关信息** + +根据以上的信息,打开sig文件夹下[sigs.yaml](/sig/sigs.yaml)文件,在`name`字段下面找到项目所属的sig,可以在该sig的`repositories`的末尾添加项目的repository,或者找到待删除的repository进行删除。 + +``` +vi ../sigs.yaml + +- name: sig-YOURSIGNAME + repositories: + - openeuler/aaa + - src-openeuler/bbb +``` + +**3、刷新README** + +根据新增的项目和其repository,请同步刷新README内的“项目清单”下内容,便于大家查找 + +``` +vi README.md +``` + +**4、提交PR** + +将以上修改提交到Gitee上,并在Gitee上创建一个Pull Request。 + +**5、向TC发送邮件申请** + +给技术委员会发邮件(邮箱),并在正文中包含主题“[*增删repository提案]*”和PR的链接 + +**6、TC评审并反馈意见** + +技术委员会通常会在发送申请后的一周内反馈。如果遇到假期或重要会议等因素,可能会需要更长时间。在此期间,您可以进行任何有需要的更改 + +**7.TC评审通过并合入** + +技术委员会将通过合并Pull Request的方式来批准您的申请 + + + +

修改SIG章程申请流程

+ +#### 重大变更申请流程 + +待修改的sig章程涉及到**重大的变更**,或可能影响到其他sig,需要提交给技术委员会审核,请采用以下流程: + +**1、修改SIG章程** + +请在`/community/sig`文件夹下找到您的sig文件夹,完成sig文件夹的修改 + +``` +vi sig-YOURSIGNAME_cn.md + +vi sig-YOURSIGNAME.md + +``` + +**2、刷新README** + +请视需要,根据修改的章程同步刷新README内的“项目清单”下内容,便于大家了解 + +``` +vi README.md +``` + +**3、提交PR** + +将以上修改提交到Gitee上,并在Gitee上创建一个Pull Request。 + +**4、向TC发送邮件申请** + +给技术委员会发邮件(邮箱),并在正文中包含主题“[*修改SIG章程提案]*”和PR的链接 + +**5、TC评审并反馈意见** + +技术委员会通常会在发送申请后的一周内反馈。如果遇到假期或重要会议等因素,可能会需要更长时间。在此期间,您可以进行任何有需要的更改 + +**6.TC评审通过并合入** + +技术委员会将通过合并Pull Request的方式来批准您的申请。并会通知收影响的其他SIG。 + + + +**对于重大变更的操作说明**,为了加快重大变更的申请审批速度,可以采取以下方式: + ++ 从SIG组中确定推动变更的负责人,最常见的就是SIG的Mainatiner作为负责人 ++ 变更所有者组织SIG组成员一起制定变更内容,并与技术委员会讨论(为便于信息同步,可以在与指导委员会的沟通中键入SIG组的邮件列表) + + + + + +#### 内部变更申请流程 + +**只影响本SIG范围内的变更**,只需要SIG内的Maintainer达成一致,请走以下流程 + +**1、修改SIG章程** + +请在`/community/sig`文件夹下找到您的sig文件夹,完成sig文件夹内SIG章程的修改 + +``` +vi sig-YOURSIGNAME_cn.md + +vi sig-YOURSIGNAME.md + +``` + +**2、刷新README** + +请视需要,根据修改的章程同步刷新README内的“项目清单”下内容,便于大家了解 + +``` +vi README.md +``` + +**3、提交PR** + +将以上修改提交到Gitee上,并在Gitee上创建一个Pull Request。 + +**4、在SIG内部发送邮件申请** + +给您所对应的sig团队的邮箱列表发邮件申请,可以在正文中包含主题“[*修改SIG章程提案]*”和PR的链接。如果之前在SIG团队内对此变更已经有讨论,可以省略该步骤 + +**5、SIG内部评审并给出意见** + +如果您的SIG内部已经有评审意见,可以省略该步骤。 + +**6.TC评审通过并合入** + +SIG的Maintainer合并Pull Request来批准申请。 + + + +

变更团队成员申请流程

+ +团队成员的刷新由SIG内部自己维护 + +**1.完成新SIG成员的配置** + +请在`/community/sig`文件夹下找到您的sig文件夹,完成sig文件夹内SIG章程的修改,在OWNERS文件中完成对SIG成员的配置 + +``` +vi OWNERS + +``` + +**2、刷新README** + +请视需要,根据修改的章程同步刷新README内的“项目清单”下内容,便于大家了解 + +``` +vi README.md +``` + +**3、提交PR** + +将以上修改提交到Gitee上,并在Gitee上创建一个Pull Request。 + +**4、在SIG内部发送邮件申请** + +给您所对应的sig团队的邮箱列表发邮件申请,可以在正文中包含主题“[*修改SIG章程提案]*”和PR的链接。如果之前在SIG团队内对此变更已经有讨论,可以省略该步骤 + +**5、SIG内部评审并给出意见** + +如果您的SIG内部已经有评审意见,可以省略该步骤。 + +**6.TC评审通过并合入** + +SIG的Maintainer合并Pull Request来批准申请。 + + + + diff --git a/zh/technical-committee/governance/SIG-governance-requirements.md b/zh/technical-committee/governance/SIG-governance-requirements.md new file mode 100644 index 0000000..eea0469 --- /dev/null +++ b/zh/technical-committee/governance/SIG-governance-requirements.md @@ -0,0 +1,72 @@ +# SIG治理要求 + + + +## 目标 + + +本文简要描述了对SIG的治理要求和建议。本文档使用[rfc2119](https://www.ietf.org/rfc/rfc2119.txt)表示关键字要求级别。 + + + +## 检查清单 + + +以下是在定义openEuler SIG治理规则时需要考虑的清单 + + + +### 角色 + ++ *必须*枚举SIG中的任何角色以及每一个角色的职责 ++ *必须*定义更改角色的过程 + + 何时以及如何向每一个角色添加新成员 + + 现有成员何时以及如何从各个角色退休 ++ *应该*定义角色成员的限制/要求 ++ *可以*定义角色的目标人数 + + + +### 组织管理 + ++ *必须*定义何时以及如何组织SIG组成员之间的协作 + + *应该*定义定期会议的安排和运作方式 + + *应该*定义如何安排会议 + + *可以*定义大家都比较闲暇的定期办公时间 ++ *可以*定义新的社区成员为该SIG做出贡献的过程,例如阅读贡献指南,参加SIG组会议等 ++ *必须*定义子项目的管理方式 + + 何时以及如何创建新的子项目 + + *必须*在子项目中定义角色(和成员资格) + + + +### SIG管理 + ++ *必须*定义里程碑/版本的设置方式,包括 + + 如何建议和接受里程碑/发布的目标日期 + + 里程碑的目标 + + 发布版本的过程 ++ *应该*定义如何管理事务和计划 + + 如何确定优先级 + + 如何安排优先级 + + + +### 技术流程 + +社区上没有代码的SIG可以简化甚至忽略 + ++ *必须*定义如何在SIG组内传递和制定技术决策 + + 提案流程,在何处已经核实发布和讨论,何时以及如何做成决定 + + 谁是提案的决策者 + + 如何解决SIG内的分歧(例如:讨论后投票) + + 分歧如何以及及时上升 + + *应该*为提案流程定义期望和建议(例如:如果在两周内无法解决问题,则逐级上升) + + *应该*为通过正式流程的决策定义后期跟踪处理方式(例如:何时重新审视或撤销决策) + ++ *必须*定义SIG的技术资产的健康标准和发布标准 + + 发布用于确定代码是否健康且可以发布的明确公开的标准 + + *仅*在标准满足时,才能发布 + + 确保技术资产处于可发布状态,以实现跨多个SIG的里程碑/发布(如openEuler的LTS版本) + + *应该*为健康的标准定义明确的目标和指标(例如:在N提案修复破坏构建的bug) + + *应该*定义满足目标和指标的过程(例如:所有测试启动前的预验证等) \ No newline at end of file diff --git a/zh/technical-committee/governance/SIG-governance.md b/zh/technical-committee/governance/SIG-governance.md new file mode 100644 index 0000000..30beb4f --- /dev/null +++ b/zh/technical-committee/governance/SIG-governance.md @@ -0,0 +1,138 @@ +# SIG角色和组织治理 + +​ 该Charter内容遵循openEuler宪章 [README](README.md)中描述的约定,本文会根据需要进行更新,以满足openEuler SIG的需求。 + +​ 为了使SIG的工作标准化,提高社区透明度,并将贡献者合理的到入到对应的SIG组内,SIG应该遵循以下准则: + +- 创建章程并根据[README](README.md)进行申请 +- 定期开会,建议每周至少30分钟 +- 持续保存最新的会议备忘录,并保存在对应的文件夹 +- 每季度至少在社区每周一次的会议中报告一次SIG的活动,集成类SIG可以调整成一年。 +- 根据需要参与发行计划会议、回顾会议和燃尽会议等 +- 确保在SIG拥有的Gitee组织和存储库内开展相关工作,以支撑社区内的编码和测试,包括问题分类、PR审核、问题响应、错误修复等。 +- 采用[社区提供的邮件列表、IRC等主要方式](/../../communication)用于社区工作、沟通和合作,而不是私人邮件和会议。 + + + +## 社区角色 + + +### 角色说明 + +本节中的“成员”是指 + +- 初始成员是在SIG或子项目成立时定义的,是接受该SIG或其子项目的一部分 +- 成员*应*保持活跃并积极响应自己的角色职责 +- 成员*必须*是社区成员,才有资格在SIG组中担任领导角色 +- 休假超过1个月或更长时间的*成员*应该协调其他成员,以确保在休假期间为该角色配备足够的人员 +- 休假1-3个月的会议*可以*与其他会员合作,以确定临时的替补成员 +- 成员*应*删除未告知休假但超过一个月无法联系或超过一个月未履行其职责的任何其他成员。删除过程可以通过[超级多数](https://en.wikipedia.org/wiki/Supermajority#Two-thirds_vote)投票来完成;如果没有足够的*活跃*成员来获得超级多数的投票,则可以通过Maintainer,Committer和SIG所有者之间的超级多数来投票罢免。 +- 如果对于成员有资格分歧,可以上升到Maintainer。如果对于SIG的Maintainer的资格的分歧可以上升到技术委员会。 +- 成员*可以*决定随时退出并提议候选人,候选人应得到大多数SIG组成员的支持。 +- 成员*可以*通过成员之间的[多数](https://en.wikipedia.org/wiki/Supermajority#Two-thirds_vote)投票选择其他成员。 + + + +### Maintainer: + +> 人数:1~3人 +> 工作职责:SIG组的管理者,软件包的维护者。直接参与和技术委员会以及上游或周边的协调,但无汇报关系。初始由SIG创建时指定,后继人选从Committer中选出。如SIG组内暂无Committer或人数较少,Committer的职责可以由Maintainer兼任。 +> +> - **确定SIG的技术路线**:包括规划和决策SIG技术方向、路标规划、架构演进。 +> - **制定SIG的项目发布计划**:确定SIG的关键需求和发布计划;参与社区的PM活动,并协调SIG计划和社区版本的里程碑时间表匹配 +> - **参与社区协调活动**:作为SIG的代表参与openEuler技术委员会或理事会组织的活动和特定会议等 +> - **召集SIG组会议**:定期召集SIG组会议,决策SIG组内上升的争议 +> +> 角色配置:openeuler.yaml内的*developer*标签 + + + +### Committer + +>可选角色 +>人数:2~8人 +>工作职责:特性设计方案审核和批准,代码审核及主干代码合入。Committer由Maintainer/Committer提名并由当前的Contributor全体投票表决产生。 +> +>+ **评审PR**:对Contributor提交的PR完成评审,评审可以参考社区的[编程建议]()和[安全编程规范]()。 +>+ **分发处理问题**,请参考“[问题处理流程]()“。 +>+ **跟踪依赖性问题**:在开发分支中,其他SIG组的软件包的更新可能会到导致破坏本SIG内软件包的依赖关系。此时Committer会受到告警公告,Committer应尽力重建软件包。依赖关系出错可能会使最终用户无法更新系统,打包团队也会介入并重建存在依赖性问题的软件包,但Maintainer 不应依赖这些重建。 +>+ **如有接口变更,通知可能会影响到的SIG**:其他SIG或团队会依赖本SIG,对软件包接口的变更可能会对他们造成影响。Maintainer应了解并评审&决策变更造成的依赖影响,并公告和发送API或ABI变更的告警邮件。这类公告应在变更发生至少一周前完成,并应通知到所有可能受影响的SIG。具体请参考[接口变更通知流程]()。 +> + **更新和维护软件包版本**:遵守社区的[软件包更新质量控制策略](/group-pm/)完成软件包的更新。 +> + **和上游社区合作**,包括: +> + 将所有变更推送到上游社区 +> + 参与上游社区邮件列表 +> + 获取上游社区的bug跟踪器的账户,并跟踪上游社区的重要bug +> + 将严重的错误转发给上游社区以寻求帮助 +> 更多信息,请参考“[上游社区软件包管理建议]()” +> + **和测试团队合作**,包括: +> + 在提交软件包时,向质量检查人员提供如何调试/分类软件包的信息,以供问题的分类 +> + 提供基本功能的测试用例,用于测试回归 +> + 提交软件包更新时,提供有关更新中已经修复问题的测试用例,以供质量检查人员使用。 +> +>角色配置:openeuler.yaml内的*developer*标签 + + + +### 安全联络员 + +>在committer中指定安全联络员 +>人数:1人 +>工作职责: +> +>+ 成为产品安全团队的对口SIG组联络人,对本SIG内的安全问题进行分类和处理。 +>+ 参与安全团队的安全问题 +>+ 维护SIG组内的安全规范和要求 + + + +## 组织管理 + + +### 会议管理 + +- SIG组应至少每个月召集一次会议,会议由Maintainer主持(除非委托给特定成员),固定议程可以由SIG组内成员讨论确定 +- 深入讨论技术委员会指定给本SIG组的——建议的技术和需求等,应由Maintainer组织(除非委托给特定成员) +- 定期更新社区会议 + + + +### SIG组管理 + ++ 确定本SIG组内的年度技术路线图和路标,并向社区PM发布 ++ 提供SIG组内版本的功能或需求清单 ++ 根据要求参加社区内的版本会议,提供和执行SIG计划 + + + +### 子项目管理 + +子项目可以由SIG的Maintainer或Committer提案创建,子项目可以通过SIG组内的Maintainer和Committer通过“懒惰的共识”(沉默即同意)评审接受,结果*应*得到大多数SIG组成员的支持。 + ++ 提案创建者*必须*是子项目所有者 ++ openeuler.yaml*必须*更新为包含子SIG所有者的子项目信息和相关*OWNER*文件 ++ 所有子项目的治理和流程原则上与SIG相同,如有不同,*必须*在提案时说明。 ++ 如子项目发布的执行方式和里程碑的设置与SIG有差异,*必须*明确说明 ++ 子项目的组织管理可以和SIG合并,也可以单独运作。 + + + +### 技术流程 + +- 提出方案和决策请遵循决策流程 +- 保证SIG组持续健康的测试 + - 规范代码发布要求,如果可能可以合入到SIG组的构建中检查 + - 通过构建保证引入的问题会通过测试自动检测并发送告警 + - SIG组成员负责响应测试告警。如未能在24小时内修复,应该将破坏测试的PR回退 + - 每次的SIG组会议应检查测试结果,成员应处理发现的错误,并在下次会议上反馈进展、 +- 影响多个子项目的问题建议通过以下任意一种方式解决: + - 方式一:SIG的Maintainer指定SIG的技术Leader仲裁或决策 + - 方式二:组织子项目的Maintainer联合会议 + + + +### SIG退出 + +- 如果SIG无法定期组织一定的人数或无法履行组织管理职责 + - 6个月以上的,*应*启动退出 + - 12个月或更长时间的,*必须*退出 + diff --git a/zh/technical-committee/governance/template-release.md b/zh/technical-committee/governance/template-release.md new file mode 100644 index 0000000..19f30ec --- /dev/null +++ b/zh/technical-committee/governance/template-release.md @@ -0,0 +1,38 @@ +# SIG 交付件进入社区发行申请模板 + +(还待补充或细化) + +## 软件包可以给openEuler带来的价值 + + + + + + + +## 当前软件包的成功实践说明 + + + + + + + + + +## 软件包在openEuler中的位置和依赖关系 + + + + + + + + + + + +## 软件包申请进入的范围 + +该SIG/项目申请进入openEuler发行的那个范围?(光盘范围、`extra`或者`experimental`) + diff --git a/zh/technical-committee/next-meeting-topics.md b/zh/technical-committee/next-meeting-topics.md new file mode 100644 index 0000000..7b0fb6a --- /dev/null +++ b/zh/technical-committee/next-meeting-topics.md @@ -0,0 +1 @@ +- TO BE Added -- Gitee

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 literal 0 HcmV?d00001 diff --git a/zh/contributors/icon/icon-danger.gif b/zh/contributors/icon/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/zh/contributors/icon/icon-note.gif b/zh/contributors/icon/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/zh/contributors/icon/icon-notice.gif b/zh/contributors/icon/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/zh/contributors/issue-submit.md b/zh/contributors/issue-submit.md new file mode 100644 index 0000000..d8e98f1 --- /dev/null +++ b/zh/contributors/issue-submit.md @@ -0,0 +1,218 @@ +# Issue提交指南 + +目录: + +- Issue简介 +- Issue的基本功能 +- Issue的全局视图 +- 需求类Issue提交和处理指导 +- bug类Issue提交和处理指导 +- 安全类Issue提交和处理指导 + + + + + +## Issue简介 + +- **名词解释**:Issue是指一项待完成的工作,这个工作可以试试“问题”、“事务”、“需求“和”建议“等。每一个Issue都包含该工作的所有信息和历史,便于后来的人了解该项工作的所有方面和过程。 + +- **来源和作用**:Issue的概念起源于客服部门,用户打电话反馈问题,客服就创建一个工单(ticket),后继每一个处理步骤、每一次和用户的交流都要更新到工单内,记录全部的过程信息,这就是Issue的前身。随着后来的不断扩展,逐步演变成制定和实施软件开发计划的全功能项目管理工具。 + +- openEuler社区直接使用Gitee提供的Issue跟踪和管理系统。 + + + +## Issue的基本功能 + +- Gitee的每一个Repository内都有一个Issue面板 + +![](figure/issue-submit-tool.JPG) + +- 进入该面板,点击“+新建Issue”,就可以新建一个Issue,如下图所示。 + +![](figure/issue-submit-new.JPG) + +- 左侧填入Issue的标题和内容,右侧是几个配置项。下面简单介绍这些配置项的用法。 + - 负责人:用于从当前repository的所有成员内指派对该Issue的处理人员,包括负责人和协作者。 + - 标签:可以给该Issue贴上标签,便于对Issue进行分类管理和过滤筛选。 + - 项目:可以给该Issue关联项目。只有SIG成员才有新增项目权限 + - 里程碑:相关的Issue可以放到一个里程碑里。里程碑通常可以理解为不同的版本或不同的迭代。 + - 关联分支:可以指明Issue针对的是哪个分支 + - 计划开始/截止日期:可以给该Issue指明期望的计划开始和截止日期,便于领取任务的人参考。 + - 置顶选项:可以选择是否让该Issue放置到Issue列表的顶部,以便于吸引大家的关注。 + - 优先级:可以给Issue置顶优先级。 + + + +## Issue的全局视图 + +Issue面板只能查看和操作当前的repository,Gitee还提供了Issue的全局视图。 + +- **组织的全局视图**:您可以在openEuler组织下直接点击Issue面板看到该组织下的所有Issue。 + + ![](figure/issue-submit-viewall.JPG) + +- **个人的全局视图**:点击组织的全局视图内的任何一个Issue,您就进入了**“个人工作台“**界面。点击左侧的”任务“,您就可以查看和操作所有和您相关的Issue。您可以选择两种显示模式,也可以在工具栏按不同的条件进行筛选、过滤和排序。 + + ![](figure/issue-submit-viewOne.JPG) + + + + + +## 需求类Issue提交和处理指导 + +完整的需求类Issue处理流程,请参考下面的流程图 + +![](figure/issue-process-requirement.jpg) + +**step1:新建需求类Issue**(Issue状态:待办的) + +- 请进入需求对应的团队或项目的repository内(如何找到对应的repository请参考[此章节内容](README.md/#id2-1-2)),进入Issue面板,点击“新建Issue”。 + +- 如果您不确定该需求对应的团队或项目,请在[community-issue](https://gitee.com/openeuler/community-issue)中创建,会有社区的开发者帮助进行归属等信息的确认。 + +- 请在标题栏的单选下拉框将Issue类型设置成“需求”,系统会自动为您调出需求模板 + +- 请在标题栏**简要描述需求的要点** + +- 请在详细说明框内说明需求的场景和价值。 + +*请注意:清晰完整的描述有助于团队成员理解,并被更快的接受和排入开发计划。* + +**step2:团队成员审核Issue**(Issue状态——通过:进行中 *或者* 补充信息: 待办的 *或者* 拒绝:已拒绝 ) + +- **step2.1**:审核后接纳 + + 团队成员(maintainer或者committer)审核后认为可以接纳该需求,则由审核人补充接纳需求的相关信息,并包含: + + - 检查并设置该需求所属的项目 + - 设置该需求建议合入的里程碑信息(规划版本信息) + - 设置该需求的优先级标签,请在标签栏选择“feature:High”、“feature:Medium”或者"feature:Low" + - 完成以上的信息以后,请将该Issue的“当前状态”调整成“进行中”(**进入step3**) + +- **step2.2**:描述不清晰挂起 + + 团队成员审核后认为描述的信息不清晰,可以在该Issue的评论区留言或在邮件列表中讨论,让提交人继续补充相关信息。 + +- **step2.2.1**:如果在一个月内提交人未及时补充相关信息,则系统会自动关闭该问题(**跳到step4**) + - **step2.2.2**:Issue提交人补充信息后,可以通过评论让团队成员审核(**跳到step2**)。 + + **step2.3**:审核后不接纳 + + 团队成员审核后,由于需求价值不高等原因认为暂不接纳,可以在评论区留言或在邮件列表中讨论说明原因。确认后将Issue的“当前状态”调整成“已拒绝”(**跳到step4**) + +**step3:认领或分派Issue**(Issue状态:开启的) + +已经进入开发阶段的需求,可以主动认领,也可以由团队成员分配。您可以在评论框内输入`/assign`来把Issue分配给自己,或分配给其他人。 + +**step4:关闭Issue**,关闭Issue有三种情况: + +- 需求完成后关闭,可以由认领人手工修改状态,也可以通过关联PR后,由PR审核通过后系统自动关闭。 +- 需求被拒接关闭,由审核人手工修改状态 +- 需求超期后关闭,由系统自动根据需求停滞的时间进行超期关闭的操作。 + + + + + + + +## bug类Issue提交和处理指导 + +发现并提交问题,也是对社区良好的贡献方式。本文详细描述如何提交一个良好的问题。 + +![](figure/issue-process-bug.jpg) + +**step1:新建问题类Issue:** + +- 请进入问题所属团队或项目的repository内(如何找到对应的repository请参考[此章节内容](README.md/#id2-1-2)),进入Issue面板,点击“新建Issue”。 +- 如果您不确定该问题对应的团队或项目,请在[community-issue](https://gitee.com/openeuler/community-issue)中创建,会有社区的开发者帮助进行归属等信息的确认。 +- 请在标题栏的单选下拉框将Issue类型设置成“问题”,系统会自动为您调出模板。 +- 请在标题栏**简要描述问题的要点** +- 请在详细说明框内按照问题模板的要求描述问题,请参考下面的模板:*请注意:清晰完整的描述有助于团队成员理解,并被更快的接受和排入开发计划。* + +``` +**【环境信息】** +硬件信息 +- 裸机场景请提供问题的硬件信息 +- 虚拟机场景请提供虚拟机的XML文件或配置信息 +软件信息 +- OS版本及分支信息 +- 内核信息 +- 发现问题的组件版本信息 +网络信息 +- 如果有特殊组网,请提供网络拓扑信息 + +**【问题复现步骤】**,请描述具体的操作步骤 +**【实际结果】**,请描述出问题的结果和影响 +**【其他相关附件信息】** +比如系统message日志/组件日志、dump信息、图片等 +``` + +**step2:审核问题** + +- **step2.1**:审核后认可该问题需解决(**进入step3**) +- **step2.2**:审核后认为该问题的信息不全,可以在该Issue的评论区留言或在邮件列表中讨论,让提交人继续补充相关信息。 + - **step2.2.1**:如果在一个月内提交人未及时补充相关信息,则系统会自动关闭该问题(**跳到step8.3**) + - **step2.2.2**:Issue提交人补充信息后,可以通过评论让团队成员继续审核(**跳到step2**) +- **step2.3**:审核后确认是问题,但由于各种原因暂时不解决挂起(**跳到step8.7**)。这种情况通常包括: + - 情况一:该问题是一个bug,它将在下一个受支持的发行版中修复,但不计划在针对该错误提交的发行版本中解决。这种情况最好复制一个Issue到下一个版本 + - 情况二:Maintainer希望最终由上游开发修复并更新过程中解决该问题。此种情况请添加注释并附上上游社区此问题的错误报告链接 +- **step2.4**:审核后发现问题是重复的,附上重复问题的链接(**跳到step8.4**) +- **step2.5**:审核后认为是非问题,说明认为是非问题的原因(**跳到step8.6**) + - 情况一:现象是正常的,不是问题 + - 情况二:该问题所在的版本已经不再维护,且后继的版本没有该问题 +- **step2.6**:审核后认为是确实存在问题,但不进行解决(**跳到step8.5**) + - 情况一:问题解决代价大但影响很小,所以解决价值不大,不解决。 + - 情况二:是问题,但不是openEuler的问题 + +**step3:认领或分配问题**。可以主动认领,也可以由团队成员分配。您可以在评论框内输入`/assign`来把Issue分配给自己,或分配给其他人。 + +**step4:完成修改并提交PR**。完成修改和本地验证后,在提交PR的时候需附上本Issue的链接,请参考Gitee的相关帮助文档:[Commit关联Issue](https://gitee.com/help/articles/4141)。提交PR的具体的方法请参考[提交PR指导](pull-request.md)内容。 + +**step5:项目内验证**。项目内对修改的PR进行验证。如果验证不通过(**回到step4**)。如果验证通过,同时该问题不是版本的问题,此问题以**项目组问题关闭**。 + +**step6:提交或发布patch**。项目组的Maintainer决定该问题的解决方式,可以是更新软件包或发布patch。如果该问题属于版本类关键问题,需要QA团队验证。 + +**step7:QA组验证**:QA组会对此类问题从版本层面进行验证。验证通过后, + +**step8:问题关闭**:问题关闭有以下几种类型,那哪种类型关闭问题,请在描述框中说明: + +- step8.1:项目内问题解决关闭 +- step8.2:版本问题解决关闭 +- step8.3:问题信息长期得不到解决关闭 +- step8.4:重复问题关闭 +- step8.5:问题不解决关闭 +- step8.6:非问题关闭 +- step8.7:问题暂不解决挂起 + + + +### 提交并配合问题处理 + +您提交问题以后,如果问题的描述和复现步骤清晰明确和可定位,会有人直接定位和解决该问题。但也有可能会出现,负责跟进该问题的开发者需要您提供更加详细的信息的情况,也感谢您的配合。 + + + + + +## 安全类Issue提交和处理指导 + +安全类问题处理流程请参考[此文档]()中的描述. + + + +参考: + +1、http://www.ruanyifeng.com/blog/2017/08/issue.html,阮一峰 + + + + + + + + + diff --git a/zh/contributors/non-code-contributions.md b/zh/contributors/non-code-contributions.md new file mode 100644 index 0000000..d3f5455 --- /dev/null +++ b/zh/contributors/non-code-contributions.md @@ -0,0 +1,49 @@ +# 非代码类贡献 + +下面的列表旨在帮助非代码贡献者找到openEuler社区项目中可以利用其专业知识的最佳领域。这样不仅是为希望参与贡献的任何人提供了入门指南,而不必限于编码,还可以满足项目组当前可能无法由专注于代码贡献者完成的任何需求。您对以下的项目或角色感兴趣,都可以联系我们! + + + +## 外向型社区工作 +- 参与[社区交流](/../communication/),包括帮助引导社区新人贡献社区,回答社区上的疑问等, +- 运维社区通信工具,包括联系主持社区会议等 +- 共同组织社区聚会,包括openEuler开发者大会等, +- 管理社区“大事件”等,包括查看管理讨论中的事件 +- 参与社区非产品文件的写作,包括社区推广、安装手册、博客和视频等 + + + +## 内向型社区工作 + +- 参与社区文档写作 +- 参与社区版本测试验证,请加入sig-test,参考该SIG的[README]()和贡献者相关的指导。 +- 参与社区基础设施建设,请加入sig-infrastructure +- 参与社区视觉设计,请加入sig-ucd + + + +## SIG内的特定角色 + +以下的角色对于openEuler中的每一个SIG都很重要。如果您对项目中的特定主体感兴趣,可以通过多种不同的方式为特定的项目组做出贡献。 + +- 文献资料 + - 项目/SIG专业知识领域的通用文档 + - 更新,审查和记录文档 + - 翻译 + +- UX/UI设计 +- 打包发布 +- 项目管理 + - 确认任务、问题等的所有权 + - 管理PR,管理项目组分类和标签,编辑PR相关文本 + - 为SIG等组织和帮助召开会议 + + + +### 具备基本代码能力的非代码任务 + +以下角色不写代码,但需要具有基本的编码知识或编码相关特定领域知识。 + +- 产品文档 +- 管理发行说明 +- 项目内Github管理(存储库管理) \ No newline at end of file diff --git a/zh/contributors/package-install.md b/zh/contributors/package-install.md new file mode 100644 index 0000000..f9c8e2f --- /dev/null +++ b/zh/contributors/package-install.md @@ -0,0 +1,132 @@ +# 构建软件包 + + + +## rpm-build本地构建 + +通过rpm-build本地构建软件包的基本过程如下: + +1. 从openEuler社区下载源码。 +2. 使用rpm-build进行本地构建。 +3. 获取并安装已构建的软件包。 + +rpm-build本地构建软件包的具体操作步骤如下: + +1. 配置repo源,具体请参考[开发环境准备](https://gitee.com/openeuler/community/blob/master/zh/contributors/prepare-environment.md)中的配置repo源内容。 +2. 使用rpm-build进行本地构建。 + 1. 查找需要操作的源码。以openssl为例,请根据实际修改。 + + ``` + # dnf list | grep openssl + ``` + + 查看打印信息中是否有包含zziplib软件名的.src的文件,若有则继续下面的操作,若无则在社区上留言。 + + 2. 下载源码文件。 + + ``` + # yumdownloader --source openssl.src + ``` + + 3. 安装zzliplib软件包。 + + ``` + # rpm -ivh openssl-1.1.1d-5.src.rpm + ``` + + 命令执行完成后,会在/root目录下生成rpmbuild目录。rpmbuild目录下有如下目录: + + - SOURCES:源代码目录,保存源码包(如 .tar 包)和所有 patch 补丁。 + - SPECS:Spec 文件目录,保存 RPM 包配置(.spec)文件。 + + 4. 切换目录到/root/rpmbuild/SPECS,然后执行rpmbuild命令构建软件包。 + + ``` + # cd ~/rpmbuild/SPECS + # rpmbuild -ba openssl.spec + ``` + + 命令执行后,可能会有一些报错信息,且构建不同的软件包报错信息不同。请根据具体的报错信息进行解决。 + + - 缺少依赖包报错信息。 + + 命令执行后,若有缺少依赖的软件包报错信息,则根据提示安装依赖软件包。 如下所示: + + error: Failed build dependencies: + + lksctp-tools-devel is needed by openssl-1:1.1.1d-5.aarch64 + + ``` + # dnf install lksctp-tools-devel -y + ``` + + - 自检失败报错信息。 + + 有些软件包,如coreutils,augeas,diffutils,在rpmbuild命令执行后,有提示“FAIL test-localeconv \(exit status: 134\)”报错信息。该报错信息是由于Aarch64和x86\_64在char类型上定义不一致导致的,请在Makefile文件中增加--fsigned-char编译选项以解决。 + + 解决了所有报错信息后再次执行**rpmbuild -ba openssl.spec**构建软件包。编译完成后,在rpmbuild目录会新增如下目录: + + - BUILD:构建目录,源码包被解压至此,并在该目录的子目录完成构建。 + - RPMS:标准 RPM 包目录,生成/保存二进制 RPM 包。 + - SRPMS:源代码 RPM 包目录,生成/保存源码 RPM 包\(SRPM\)。 + + 5. 查看构建结果。 + + ``` + # tree ~/rpmbuild/*RPMS + ``` + + 命令执行后,打印信息如下: + + /root/rpmbuild/RPMS + + ├── aarch64 + + │ ├── openssl-1.1.1d-5.aarch64.rpm + + │ ├── openssl-debuginfo-1.1.1d-5.aarch64.rpm + + │ ├── openssl-debugsource-1.1.1d-5.aarch64.rpm + + │ └── openssl-devel-1.1.1d-5.aarch64.rpm + + └── noarch + + └── openssl-help-1.1.1d-5.noarch.rpm + + /root/rpmbuild/SRPMS + + └── openssl-1.1.1d-5.src.rpm + + >![](icon/icon-note.gif) **说明:** + >若命令执行提示“tree: command not found”,请执行**dnf install tree**安装tree软件包。 + + +3. 安装构建后的软件包。 + 1. 切换到已构建的软件包的目录,以openssl-devel-1.1.1d-5.aarch64.rpm软件包的安装为例。 + + ``` + # cd ~/rpmbuild/RPMS/aarch64 + ``` + + 2. 执行rpm -ivh命令安装软件包。 + + ``` + # rpm -ivh openssl-devel-1.1.1d-5.aarch64.rpm + ``` + + 命令执行后,若有提示缺少依赖的软件包,则根据提示安装依赖软件包。 如下所示: + + error: Failed dependencies: + + krb5-devel is needed by openssl-devel-1:1.1.1d-5.aarch64 + + ``` + # dnf install krb5-devel -y + ``` + + 依赖软件包安装完成后再次执行**rpm -ivh openssl-devel-1.1.1d-5.aarch64.rpm**安装软件包。出现如下提示时表示安装成功。 + + Updating / installing... + + 1:openssl-devel-1:1.1.1d-5 \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# \[100%\] \ No newline at end of file diff --git a/zh/contributors/packaging.md b/zh/contributors/packaging.md new file mode 100644 index 0000000..672a7cc --- /dev/null +++ b/zh/contributors/packaging.md @@ -0,0 +1,271 @@ +# openEuler软件打包指南 + +目录 + +- [软件打包基础说明](#软件打包基础说明) + - [打包规则](#打包规则) + - [打包基础知识](#打包基础知识) +- [openEuler打包规则](#openEuler打包规则) + - [软件包拆分/合并规则](#软件包拆分/合并规则) +- [SPEC编写规范](#SPEC编写规范) + - [SPEC文件说明](#SPEC文件说明) + - [openEuler custom amcros](#openEuler custom amcros) + - [软件打包验证](#软件打包验证) + +- [范例说明](#范例说明) + - [范例一](#范例一) + - [范例二](#范例二) + - [范例三](#范例三) + - [范例四](#范例四) + - [范例五](#范例五) + + + +## 软件打包基础 + +**打包**是指编译并捆绑软件与元数据,例如软件全名、描述、正常运行所需要的依赖列表等的动作。这是为了让软件使用者可以使用类似RPM等软件包管理器,方便舒服的对其所使用的软件进行安全、升级或者删除。 + + + +### 打包规则 + +openEuler社区综合了多个开源项目的软件包,并把他们集成到一个系统中。所以规范化多种多样的开源项目到一个连贯的系统中是非常有必要的。此处简要描述openEuler社区的打包规则: + +- 我们遵守一般的[Linux基础标准(LSB)]()。该标准致力于减少各个发现版之间的差异; + +- 我们遵守[Linux文件系统层级标准(FHS)]()。该标准主要是关于如何管理Linux文件系统层级的参考; + +- 除了遵守以上Linux发行版通常都会默认遵守的规则,本指南还规范化了为openEuler社区的软件包打包的的规则要求。 + + + +### 打包基础知识 + +一个软件包(假设软件包名为*pgname*)通常会拆分成多个RPM包: + +- **与软件包同名的主包**:包括命令、配置、动态库(简单的软件无需对外提供libs时会使用)等 + +- **libs包**:提供动态库,供二次开发和使用,通常命名为*pgname*-libs + +- **开发用devel包**:提供动态库、编译使用的头文件,两者命名方式和拆分原则一致,通常命名为*pgname*-devel + +- **开发用static包** :提供.a等静态编译需要的组件,通常命名为devel-static + +- **文档doc包**:提供二次开发文档、接口函数说明手册、范例和man、info等手册 + +- **本地化支持lang包**:提供语言和时区等本地化支持,通常命名为*pgname*-local; + +- **其他包**:如server、utils、tools、plugins等,和包的功能紧密相关的软件包,比如部分网络软件单独提供一个server或client包。 + + 大部分软件包遵循以上拆分原则,openEuler在次基础上定义了自己的打包规则,以指导软件包的拆分、依赖关系建立,从而形成自己的软件包体系。 + + + +## openEuler打包规则 + +### 软件包拆分/合并规则 + +openEuler将软件包拆分成3个主要的二进制RPM包:主包、devel包和help包,其规则如下: + + - **主包** + - 包名:*pgname* + - 包含内容:命令、配置、本软件包包含的命令运行所需的so,以及本软件对外提供的动态库、license、copyright、Author、readme(如果包含版权信息) + - 主要变化:主包中的man、info、readme等功能、版权、license无关的文档信息拆分到help包中 + - 关键点:通过Provides、Obsoletes声明实现与前向版本的兼容 + - 动态库.so,RPM构建会到处动态库的内容,无需单独提供Provides声明 + - libs包合并到主包后,Provides的内容RPM无法自动导出,需要在主包对原来libs包中的内容追加Provides声明 + - 原本libs包提供的功能已经由主包提供,可以添加Obsoletes来指明主包已经替换了libs包(请参见[范例一]()) + - **devel包** + - 包名:*pgname*-devel + - 包含内容:静态库.a、头文件、example范例、test用例、其他开发使用的内容 + - 主要变化: + - 合并devel包和static包 + - 所有开发使用的内容都收编到devel包中 + - 关键点: + - 所有属于开发范围的内容,统一打包成devel包。如果devel的内容包含了原来static等包提供的功能,需要应用Provides和Obsoletes来保持和前向版本的兼容 + - 动态库打包到主包后,devel包一般需要Requires主包,否则部分动态库会找不到 + - **help**包 + - 包名:*pgname*-help + - 包含内容:二次开发文档、接口函数说明手册和man、info手册等相关文档和手册 + - 主要变化:主包中的man、info等手册和文档拆分到help包中 + - 关键点: + - 通常help包只依赖man、info等手册查询工具,不需要任何其他编译依赖和安装依赖。 + - 外部大部分软件包以doc包命名,修改时需要将其改成help包(请参考[范例二]()) + +如果是复杂软件包,在上面3个分类的基础上,特殊场景还需考虑: + +- **for-language包** + - 包名:如python2-*pgname*、python3-*pgname*、perl-*pgname* + - 包含内容:针对perl、python2、python3等语言的支持的分拆 + - 主要变化:NA + - 关键点:NA + +- **本地化支持包** + - 包名:*pgname*-lang + - 包含内容:本地化、语言支持、时区相关等国际化相关内容。这里是针对复杂的、国际化的相关软件,简单的包不需要单独拆分出lang + - 主要变化:所有lang合并成一个,不针对国家、地区进行拆分 + - 关键点:NA +- **其他复杂和特殊包** + - 包名:例如openssh-server、openssh-client等 + - 包含内容:NA + - 主要变化:建议尽可能将原有内容按照上面分类拆分,减少此类包 + - 关键点:单独评审是否有此类包 + + + +## SPEC编写规范 + +### SPEC文件说明 + +**spec中的缩进统一格式,使用空格,保持对齐** + +**文件头** + +> *Name*:#软件包名字,**保持** +> +> *Version*:#软件版本号,**保持** +> +> *Release*:#软件包发行号,**变更**。例如:`RElease:4%{?dist}->5` +> +> *Summary*:#概要,**变更**。一句话概括该软件包信息,打开URL查看软件包主页信息 +> +> *License*:#变更:软件授权方式,多个License之间用and隔开。错误格式:LGPLv2 BSD,正确格式:LGPLv2 and BSD +> +> *Group*:#组信息,**删除** +> +> *URL*:#一般**保持**,需尝试登陆能否登上,无效的要替换成有效的 +> +> *Source*:#**保持**,源码包的名字/下载地址,按顺序表示 +> +> *Patch*:#补丁,需标明补丁来源,以保证补丁可溯性,**保持** +> +> *Description*:软件包具体描述 + +说明: + +1.基础字段全部使用空格保证对齐,且各项关键字顺序需与上述一致 + +2.openEuler会自动匹配当前芯片架构,`%{?_isa}`可去除,比如`%{name}%{?_isa}`可以替换成`%{name}` + +3.spec中version、release比较复杂的场景,如果没有特殊要求,尽量简化为单个数字,且保持递增,h和`%{?dist}`的后缀要去除 + + + +**软件包依赖** + +> - *BuildRequires*:定义build时所依赖的软件包,在构建编译软件包时需要的辅助工具。**尽量写到一行,用空格隔开,gcc建议去掉,因为一般环境中已经存在,无需特意说明。且写包名即可**,例如`%{bindir}/man`替换成`man` +> - *Requires*:定义安全时的依赖包,指二进制软件包在其他机器上的安装时,所需要依赖的其他软件包,**尽量写成一行,用空格隔开**。RreReq、Requires(pre)、Requires(post)、Requires(preun)、Requires(postun)等都是针对不同阶段的依赖指定的,**策略相同**。 + +说明: +1.该部分的依赖关系定义了一个软件包正常工作需要依赖其他软件包,在RPM包升级、安装和删除的时候需要确保依赖关系得到满足 +2.多个编译依赖或安装依赖可以汇总成1~3行,这样看起来简洁 + + + +**预处理阶段(%prep)** + +该阶段描述了解压源码包的方法 + +`%setup -q# ` 解压源文件程序 + +`patch #` 应用对应补丁 + +推荐更改成`%autosetup`命令,自动解压源码包和打补丁(请参考[范例三]()) + + + +**编译阶段**(%build) + +`%configure`:#configer文件默认不编译静态库,参数`--disable-static`可以去掉。#配置参数尽量**合并**一行(请参考[范例四]()) + +`make`:#替换成`%nake build`(请参考[范例五]()) + +说明:configure、make等编译命令,选项如果没有宏控制,可以汇总到1行。 + + + +**安装阶段**(%install) + +需替换的指令: + +1.清空安装目录在安装时会自动清除,`rm -rf %{buildroot}`和`rm -rf $RPM_BUILD_ROOT`命令可以删除 + +2.删除*.la和.a文件命令: + +`rm %{buildroot}%{_libdir}/*.la` + +或者 + +``` +find $RPM_BUILD_ROOT -type f -name "*.la" -delete \ +find $RPM_BUILD_ROOT -type f -name "*.a" -delete \ +``` + +可以用宏`%delete_la_and_a`调换 + +3.删除*.la文件: + +`find $RPM_BUILD_ROOT -type f -name "*.la" -delete ` + +可以用宏`%delete_la`调换 + + + +**%file阶段%** + +%file对软件打包时,**打包的顺序要和前面定义package的顺序保持一致** + + + +### openEuelr custom amcros + +``` +%disable_rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool \ +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%delete_la_and_a +find $RPM_BUILD_ROOT -type f -name "*.la" -delete \ +find $RPM_BUILD_ROOT -type f -name "*.a" -delete + +%delete_la +find $RPM_BUILD_ROOT -type f -name "*.la" -delete + +%chrpath_delete +find $RPM_BUILD_ROOT/ -type f -exec file {} ';' | grep "\" | awk -F ':' '{print $1}' | xargs –i chrpath --delete {} + +%package_help +%package help \ +Summary: Documents for %{name} \ +Buildarch: noarch \ +Requires: man info \ +\ +%description help \ +Man pages and other related documents for %{name}. + +%install_info() +/sbin/install-info %1 %{_infodir}/dir || : + +%install_info_rm() +/sbin/install-info --remove %1 %{_infodir}/dir || : +``` + + + +### 软件打包验证 + +建议从下面三个角度验证。 + +- 不同的软件列表,软件选型 +- 独立的软件拆分规则 +- 基于不同分拆规则的软件依赖关系树。 +- 确认软件是否重新选型,重新选型后,是否有接口、功能、使用方式上的差异,软件升级后,是否导致依赖此软件的上层软件功能异常。 +- 如果软件未做选型升级,确认拆分前后,所有二进制RPM包含的内容是否有变化、遗漏,可以通过`rpm –qpl`查询对比。 +- 拆分前后生成二进制RPM的Provides、Requires是否有变化,可以通过命令`rpm --provides` 或`rpm --requires`查看。特别是主包收编libs包的场景,要查看主包是否包含原libs包Provides、Requires内容。 +- 将软件拆分前编译的二进制全部安装到系统,查看软件选型打包后的二进制包是否可以使用`rpm –Uvh`进行正确升级。 +- 安装升级后,验证:① 服务类的,验证`start/ stop /restart/reload`;② 命令类的,至少要验证基本功能可用。 +- 软件选型升级后,对其他软件包的影响,很难独立判断,需要做集成测试。 + + + +## 范例 \ No newline at end of file diff --git a/zh/contributors/prepare-environment.md b/zh/contributors/prepare-environment.md new file mode 100644 index 0000000..8e5289e --- /dev/null +++ b/zh/contributors/prepare-environment.md @@ -0,0 +1,224 @@ +# 开发环境准备 + + + +## 前提条件 + +硬件:Arm64位或x86\_64位架构的物理机或虚拟机。 + +## 登录开发环境 + +- 自有环境 + 1. 下载openEuler操作系统并进行安装。具体安装操作系统方法请参考[openEuler 20.03 LTS 安装指南](https://openeuler.org/zh/docs/20.03_LTS/docs/Installation/installation.html)。 + + >![](icon/icon-note.gif) **说明:** + >仅在未安装openEuler操作系统时才需要执行本步骤。 + + 2. 使用安装时设置的用户名和密码登录操作系统。 + +- 鹏城生态开发环境 + 1. 在[community-issue](https://gitee.com/openeuler/community-issue/issues)创建申请VM的issue。 + 2. 登录[鹏城生态开发者云](https://dw.pcl.ac.cn/cloud/login)网站,按照提示正式申请VM。 + + 详细信息请参考博客文章[Apply for VMs from Peng Cheng Laboratory](http://blog.openeuler.org/post/fred_li/2020-03-25-apply-for-vm-from-pcl/#2)。 + + + + +## 配置repo源 + +可以通过直接获取repo源文件的方式配置repo源或通过挂载ISO的方式配置repo源。 + +**方式一:通过直接获取repo源文件的方式配置repo源。** + +>![](icon/icon-note.gif) **说明:** +>openEuler提供了多种repo源文件,本操作以AArch64架构的OS repo源文件、源码repo 源文件和全量repo源文件为例。 + +1. 进入到yum源目录。 + + ``` + # cd /etc/yum.repos.d + ``` + +2. 新建local.repo文件并编辑local.repo,将repo源文件配置为yum源。 + + ``` + # vi local.repo + ``` + + 编辑local.repo文件的内容如下: + + \[basiclocal\] + + name=basiclocal + + baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/ + + enabled=1 + + gpgcheck=0 + + \[srclocal\] + + name=srclocal + + baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/source/aarch64/ + + enabled=1 + + gpgcheck=0 + + \[everythinglocal\] + + name=everythinglocal + + baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/ + + enabled=1 + + gpgcheck=0 + +**方式二:通过挂载ISO的方式配置repo源。** + +>![](icon/icon-note.gif) **说明:** +>openEuler提供了多种ISO,可分别下载到开发环境。本操作以下载AArch64架构的基础ISO、全量ISO和源码ISO为例。 + +1. 下载ISO。 + 1. 创建存放ISO的目录。 + + ``` + # mkdir /home/basiciso + # mkdir /home/everythingiso + # mkdir /home/srciso + ``` + + 2. 登录openEuler社区,网址为:[https://openeuler.org](https://openeuler.org)。 + 3. 单击“下载”,进入下载页面。 + 4. 单击“获取ISO:”后面的“Link”,显示版本列表。 + 5. 选择需要下载的版本,如openEuler 20.03 LTS,则单击“openEuler-20.03-LTS”,进入下载列表。 + 6. 单击“ISO”,进入ISO下载列表。 + - aarch64:AArch64架构的ISO。 + - x86\_64:x86\_64架构的ISO。 + - source:openEuler源码ISO。 + + 7. 单击“aarch64”,进入AArch64架构的ISO下载列表。 + 8. 右键单击“openEuler-20.03-LTS-aarch64-dvd.iso”,单击“复制链接地址”,将openEuler基础ISO地址记录好。 + 9. 右键单击“openEuler-20.03-LTS-everything-aarch64-dvd.iso”,单击“复制链接地址”,将openEuler全量ISO地址记录好。 + 10. 返回到“ISO”,单击“source”。 + 11. 右键单击“openEuler-20.03-LTS-source-dvd.iso”,单击“复制链接地址”,将openEuler源码ISO地址记录好。 + 12. 使用**wget**命令远程下载ISO文件到开发环境,命令中的 _ipaddriso\_ basiceverything_ 、 _ipaddriso\_everything_ 和 _ipaddriso\_source_ 分别为[1.h](#li45321952115717)、[1.i](#li98171862002)和[1.k](#li121355504292)中记录的地址。 + + ``` + # cd /home/basiciso + # wget ipaddriso_basic + # cd /home/everythingiso + # wget ipaddriso_everything + # cd /home/srciso + # wget ipaddriso_source + ``` + +2. 挂载ISO。 + 1. 创建挂载点。 + + ``` + # mkdir /mnt/basicdvd + # mkdir /mnt/everythingdvd + # mkdir /mnt/srcdvd + ``` + + 2. 执行**mount**命令,将iso分别挂载到挂载点。 + + ``` + # mount /home/basiciso /mnt/basicdvd + # mount /home/everythingiso /mnt/everythingdvd + # mount /home/srciso /mnt/srcdvd + ``` + + 3. 执行**df -h**命令,查看挂载是否成功。 + + 若打印信息中包含/mnt/basicdvd,/mnt/everythingdvd,/mnt/srcdvd,则表示已挂载成功。若挂载点未出现在打印信息中,则表示该挂载点挂载失败,需要执行**mount**命令,重新刷新该挂载点。 + + ``` + # df -h + ``` + +3. repo源配置为yum源 + 1. 进入到yum源目录。 + + ``` + # cd /etc/yum.repos.d + ``` + + 2. 新建local.repo文件并编辑local.repo,将挂载的3个ISO配置为yum源。 + + ``` + # vi local.repo + ``` + + 编辑local.repo文件的内容如下: + + \[basicisolocal\] + + name=basicisolocal + + baseurl=file:///mnt/basicdvd + + enabled=1 + + gpgcheck=0 + + \[everythingisolocal\] + + name=everythingisolocal + + baseurl=file:///mnt/everythingdvd + + enabled=1 + + gpgcheck=0 + + \[srcisolocal\] + + name=srcisolocal + + baseurl=file:///mnt/srcdvd + + enabled=1 + + gpgcheck=0 + +## 安装软件包 + +安装开发过程中需要用到的软件。不同的开发需要的软件不一样,但安装方法相同,本章以安装rpm-build软件为例。 + +1. 执行**dnf list installed | grep **_rpm-build_ 查询rpm-build软件是否已安装。 + + ``` + # dnf list installed | grep rpm-build + ``` + + 查看命令打印信息,若打印信息中包含“rpm-build”,表示该软件已经安装了,则不需要再安装。若无任何打印信息,则表示该软件未安装。 + +2. 清除缓存。 + + ``` + # dnf clean all + ``` + +3. 创建缓存。 + + ``` + # dnf makecache + ``` + +4. 安装rpm-build软件包。 + + ``` + # dnf install rpm-build + ``` + +5. 查询rpm-build软件版本。 + + ``` + # rpmbuild --version + ``` \ No newline at end of file diff --git a/zh/contributors/pull-request.md b/zh/contributors/pull-request.md new file mode 100644 index 0000000..867bf7e --- /dev/null +++ b/zh/contributors/pull-request.md @@ -0,0 +1,105 @@ +# PR提交指南 + +本指南确保您的PR请求符合我们的最佳实践。 + + + +## 在提交PR请求之前 + +提交PR是对项目上的master主干的一次合入申请,为保证合入的质量,这个动作是需要小心谨慎的。在您提交PR之前,请先完成本地验证,以便在一定程度上保证在提交PR后的持续集成测试的通过。由于不同的项目的本地验证方法不同,您可以参考[此章节内容](README.md/#参与编码贡献)以获取帮助。 + + + +## 提交PR + +### 1、提交PR请求 + +如何在Gitee上提交PR的具体操作,请参考[Gitee工作流指导文档](Gitee-workflow.md)。为了更快的得到响应,您可以给PR添加标签,或提供更详细的信息,这里需要特别提示您的是: + +- **关联Issue**:如果您提交的PR是针对某个Issue的,请您在提交的描述框内添加“#”字符,此时机器人会自动关联出当前存在的Issue,你可以通过此种方式快速的链接到关联的Issue。具体的操作指导请参考[此文档](https://gitee.com/help/articles/4142)。 +- **标注优先级**:您可以在创建PR的时候,选择PR的优先级。或者在评论区通过`/priority high`给PR添加高优先级标签 +- **标注是解决bug的合入**:您可以在描述框通过输入`/kind bug`来标注该PR是合入解决问题的代码,以便于大家更快的回应您的PR请求 +- **标注所属sig**:为了方便查找,您也可以在描述框通过输入`sig sig-name`来标识该PR所属的sig。 + + + +### 2、分配评审人 + +您提交PR以后,社区机器人会自动给您分配评审人,您也可以指定评审人。制定评审人有两种方式,您可以在创建PR的时候,在右侧的下拉框中选择评审人。也可以在评论框中输入`/assign @reviewer`,从而把该PR分配给对应的人。如果您想把PR提交给项目的核心成员评审,以便于更快的获得批准,可以有两种方式获取到核心成员的信息: + +- **方式一**:该Repository的`owners`文件(该文件通常在该repository的根目录下)中查看,此文件保存的是所有该Repository的评审人列表 +- **方式二**:可以到该项目所属的SIG的首页内查看`README.md`文件,此文件会列出该sig的负责人,所有项目以及项目的负责人 + + + +## 自动化测试 + +- 如果您提交成功以后,看到PR上有`openeuler-cla/no`的标签,说明您还未和社区签署贡献者协议,请您先按照社区机器人的提示,完成贡献者协议的签署。 + + ![](figure/pull-request-autotest2.JPG) + +- 提交成功以后,社区机器人会启动自动化测试,**为了避免浪费评审人时间,通常只有自动化测试通过的PR,评审人才会参与评审**。您可以在PR的下方看到自动化测试的结果。 + +- 如果自动化测试失败,您可以通过“Build Details”查看失败的原因。 + +![](figure/pull-request-autotest.JPG) + +点击“Build Details”,可以看到具体的log信息。然后您可以在里面搜索“Error”,快速的定位到错误的信息。 + +![](figure/error-report.JPG) + +- 修改后,您可以在评论框输入`/retest`命令,让社区机器人重新发起一次自动化测试。 + + + + + +## 审核PR + +- 如果审核人通过您的审核,会在评论区添加`/lgtm`或者`/approve`,以表示对本次PR提交的认同 + +- 审核人可以在评论区发表意见,也可以在审核文件的时候,在发现问题处添加审核意见。无论哪种方式,都会在评论区显示出来。区别是,后者的评论会显示出“代码评论”,您可以通过“详情”查看评论具体指向的出处。![](figure/pull-request-review.JPG) + +- 为了表示对评审人意见的尊重,如果对意见有异议,请您通过回复该意见来说明原因;如果接纳评审人意见,也请您做出简单的回应,便于确认后继的提交是否已按照所有接纳意见完成修改。 + +- 您也可以点击“文件”,直接在文件区查看具体的代码评审意见和对比结果。在此处,您也可以直接回复评审意见。 + + ![](figure/pull-request-review2.JPG) + +- 如果项目组的核心成员拒接了您的PR,会给出拒接意见。请不要气馁,您可以根据意见调整后继续和项目组成员沟通,相信在持之以恒的沟通调整后,您的能力和意见都会得到大家的认同。 + +- 请注意,在使用`/approve`前至少要有一个`/lgtm` + + + + + +## 标记未完成的PR请求 + +如果您想在PR请求完成之前先征求大家的意见,有两种方法可以实现此目的: + +1、您可以在评论区添加`hold`或`hold-cancel`标签 + +2、您可以在PR请求的标题中添加`WIP`或`[WIP]`前缀 + +当存在这两个标签时,将不会考虑合并你的PR请求。 + + + + + +## PR请求和发布周期 + +如果您的PR请求已经通过审核,但是一直未合入,则可能是由于当前出去版本的发布周期处于特定阶段造成的。有时版本致力于解决特定的问题或达成特定的目标,可能会冻结代码库的合入。**如果您认为此种状态不合理,可以联系对应的SIG/项目负责人或直接联系[sig-pm]()进行澄清**。 + + + +### 关于`Test-Ready` + +组织成员可以将`test-ready`标签应用到贡献者提交的PR,以表明可以对该PR进行测试 + + + +## 命令参考 + +openEuler的机器人会将结构化标签运用于PR中。该机器人可以为您的PR过程提供一些有用的建议。为了方便查看,可以在注释中输入XXXXXXX选项,以触发自动标记和通知功能。请参阅[社区命令参考文档](./../sig-infrastructure/command.md)。 diff --git a/zh/contributors/pull-requests.md b/zh/contributors/pull-requests.md new file mode 100644 index 0000000..3aaf8ae --- /dev/null +++ b/zh/contributors/pull-requests.md @@ -0,0 +1,71 @@ +# PR提交指南 + +本指南确保您的PR请求符合我们的最佳实践。 + + + +## 在提交PR请求之前 + +请您在提交PR之前完成本地验证,以便在一定程度上保证在提交PR后的持续集成测试的通过。 + +XXXXXXXXXXXX(todo:此处需提供在本地完成测试的方法) + + + + + +## 提交PR + +### PR提交工作流 + +1、提交PR请求 + +2、机器人分配评审人 + +3、运行自动化测试。 + +- 如果测试成功 +- 如果测试失败,则XXXXXXXXXXX + +4、审核人对提交进行审核 + +5、将审核意见推送给您的PR分支 + +6、根据需要重复前两个步骤。直到评审者添加``标签。该标签说明,该评审者已经认为本次的PR提交内容,已经通过该评审人的审核。 + +7、机器人分配的审批者会根据评审人意见,以及自己的评审意见添加``标签,表示本次PR提交通过最终审核,并准备自动合并。 + + + +### 关于`Test-Ready` + +- 组织成员可以将`test-ready`标签应用到贡献者提交的PR,以表明可以对该PR进行测试 + + + +### 标记未完成的PR请求 + +如果您想在PR请求完成之前先征求大家的意见,有两种方法可以实现此目的: + +1、您可以添加`hold`或`hold-cancel`注释 + +2、您可以在PR请求的标题中添加或删除`WIP`或`[WIP]`前缀 + +当存在这两个标签时,将不会考虑合并你的PR请求。 + + + +### PR请求和发布周期 + +如果您的PR请求已经通过审核,但是一直未合入,则可能是由于当前出去版本的发布周期处于特定阶段造成的。有时版本致力于解决特定的问题或达成特定的目标,可能会冻结代码库的合入。 + +如果您认为此种状态不合理,可以联系对应的SIG/项目或[sig-pm]()进行澄清。 + + + +### 注释命令参考 + +请参考[命令行文档](/zh/sig-infrastructure/command.md) + + + diff --git a/zh/contributors/rule-introduce-package.md b/zh/contributors/rule-introduce-package.md new file mode 100644 index 0000000..02fd681 --- /dev/null +++ b/zh/contributors/rule-introduce-package.md @@ -0,0 +1,571 @@ +# openEuler 软件引入策略原则 + + + +## 版本 + + + +- 2020-01-11 Initial Draft by Xinwei Hu + +- 2020-01-21 Integrate input from Liang Chengye, Wang Lingzhuo, Guodong Xu and Yang Li + + + + **目录** + +- [关于本文档](#id1) + - [目标](#id1-1) + - [范围](#id1-2) + + - [本文的改进和修订说明](#id1-3) +- [软件选型及引入](#id2) + - [什么是软件选型](#id2-1) + - [软件选型规则的适用范围](#id2-2) + - [软件包进入选型的两个基本前置条件](#id2-3) + - [openEuler软件包引入原则](#id2-4) + - [黑名单机制](#id2-5) +- [软件包的元数据](#id3) + - [元数据的存储](#id3-1) + - [元数据库中的 Identification](#id3-2) + - [元数据库中的 主页地址 ](#id3-3) + - [元数据库中的 REPO地址](#id3-4) + - [元数据库中的 LANG](#id3-5) + - [元数据库中的 TAG](#id3-6) + - [元数据库中的 LISENCE](#id3-7) + - [元数据库中的 项目关系](#id3-8) + - [选型过程 request](#id3-9) + - [附带软件的选型入库](#id3-10) + - [软件是否存在于公开的语言库 **TODO**](#id3-11) + - [项目关系列表](#id3-12) + + + + + +