This topic primarily synchronizes and records the progress of openEuler package auto-upgrade, along with the latest plans and schedules. We welcome your feedback and discussions to help us optimize and improve the tool’s usability.
Feedback issues may include, but are not limited to:
- Changelog accuracy: e.g., issues with accurate extraction of changelog, or inability to extract changelog at all.
- Suggestions and any other areas for improvement.
We will analyze each repository individually, extract common IT solutions from reported issues, and iteratively optimize the tool.
[center]================================Progress Updates================================[/center]
At the May 28, 2025 TC meeting, stakeholders raised the following requirement: How can developers more easily participate in auto-upgrade PRs and modify PR content more conveniently?
/chatrepair officially launched — developers can now directly comment /chatrepair in auto-upgrade PRs and follow specific commands to modify the PR.
Example PR: rubygem-puma update 5.6.5->6.0.0 · Pull Request !62 · src-openEuler/rubygem-puma - Gitee.com
Latest PR links:
- Python repository: autoupgrade_pr_list.md · zwjsec/autoupgrade - Gitee.com
- Rubygem repository: autoupgrade_pr_list_rubygem.md · zwjsec/autoupgrade - Gitee.com
Source0 Specification Compliance:
- Python repository list: autoupgrade _python_tar_fail.md · zwjsec/autoupgrade - Gitee.com
- Rubygem repository list: autoupgrade _rubygem_tar_fail.md · zwjsec/autoupgrade - Gitee.com
- Perl repository list: autoupgrade _perl_tar_fail.md · zwjsec/autoupgrade - Gitee.com
Issue List:
- A large number of Python repositories lack changelog.
- A small number of upgrade PRs have upgraded to alpha or dev versions.
- Automation of closing CI failures and automated repair handling.
[center]================================Project Introduction=================================[/center]
The openEuler package auto-upgrade tool is an efficient maintenance solution tailored for the open-source operating system ecosystem. It focuses on software packages with simple compilation dependencies and low upgrade risks, such as language packages and toolsets. Through intelligent workflows, it enables full lifecycle automation. The tool aims to solve time-consuming, labor-intensive manual maintenance and version lag issues, providing lightweight, reliable upgrade support for community developers and system operations teams.
How to Use:
Refer to autoupgrade/readme.md · openEuler/infrastructure - Gitee.com, configure as required, and the tool will automatically create upgrade PRs in your repository.
Usage Example:
[left]1. Add configuration for perl-Authen-SASL in https://gitee.com/openeuler/infrastructure/blob/master/autoupgrade/software.yaml[/left]
- After the tool detects upstream version changes, it triggers an upgrade PR. Oops, the PR seems to have failed.
- Let’s try
/repair(repair can be manually triggered or wait for script auto-trigger).
- Repair also failed — the bot detected that additional dependencies are required for the upgrade.
- The bot automatically created a dependency issue for you.
[center]===========================CALL FOR HELP===============================[/center]
SPEC Specification Issues
We’ve found that many repositories fail to upgrade due to non-compliant SPEC file formatting.
Example of problematic SPEC:
- Hardcoded version in Source0: This prevents the tool from automatically replacing the version, leading to tar file download failures.
- Invalid Source0: The current Source0 URL cannot fetch the upgraded version 1.1.0. Please ensure the Source0 field supports downloading all versions.
Upstream Version Monitoring
Our monitoring service still has gaps. When introducing new packages, please include the upstream source URL for the new package. Refer to this PR for guidance:
https://gitee.com/openeuler/community/pulls/6377
Changelog Missing Issues
When upgrading Python, Rubygem, and other packages, we find that many lack a changelog URL. Unlike Perl, which has a unified hosting location, each repository stores changelogs at different locations. We kindly request that you provide the actual changelog path for your repository so our tool can automatically generate changelogs during upgrades.
Repository Gatekeeper Base Engineering Configuration Issues
We observed inconsistencies between repairbot results and gatekeeper logs. This occurs because the base engineering used by repairbot differs from that configured in the repository’s CI gatekeeper. Please ensure the correct base engineering is set in the CI gatekeeper to guarantee consistent execution results.
Example:
https://gitee.com/src-openeuler/perl-Geo-Ellipsoids/pulls/15
The gatekeeper for perl-Geo-Ellipsoids is configured to use openEuler-master:factory. However, the required packages (perl(Geo::Constants) and perl(Geo::Functions)) are not yet in the official release. A release-management PR must be submitted to move them into the correct engineering. As a result, repairbot did not include factory, causing log mismatches.
Upstream URL Specification Issues
During upstream changelog retrieval, we found that a few repositories use variables in the upstream URL. Please avoid using variable syntax in upstream URLs.


















