openRuyi Docs
Welcome to the openRuyi Documentation Center. This repository provides developers and package maintainers with comprehensive technical guidance to ensure package quality and consistency.
๐ Getting Startedโ
If you are contributing to openRuyi development or packaging for the first time, please read the following guides first:
-
openRuyi Developer Contribution Guide: Learn how to submit code and participate in community contributions.
-
Quick Start: Get your first package up and running in just a few minutes.
-
Pre-commit Usage Guide: Ensure that your package complies with submission requirements.
๐ Packaging Style Guideโ
These are the core principles of packaging. All packages should follow the openRuyi Packaging Specification. You should also refer to the more detailed guidelines below when constructing packages.
Metadataโ
-
Naming Guidelines & Version Numbers: Establish clear and unique package names and versions.
-
Licenses & SPDX License Expressions: Review detailed guidance on the licensing mechanism.
-
Macro Tags: Standardize variable definitions in RPM spec files.
Build & Filesโ
-
Source Packages: Follow the guidelines for declaring upstream source code in RPM spec files.
-
Patches: Learn how to manage and apply patches.
-
Scripts: Regulate the behavior of installation and removal scriptlets such as
%preand%post. -
Font Packaging Guidelines: Guidelines for font package naming, licensing, installation paths, and subpackage splitting.
Package Structure and Other Featuresโ
-
Package Splitting: Properly divide
-develpackages, runtime libraries, and related components. -
Language Packs: Apply placement conventions to enable multilingual support.
๐งช Quality Gates and Reviewโ
Learn about the automated checks and manual review policies that packages must pass before the review team merges them.
-
Package Review Guidelines: Understand the CI/CD gate checks, acceptance criteria, and common reasons for rejection in detail.
-
Using pkgconfig(xxx): Standardize dependency tracking and avoid hard-coded dependencies.
๐ Language-Specific Guidelines and Build Systemsโ
Review practical recommendations for specific programming languages and toolchains.
| Category | Detailed Guide | Declarative Build System |
|---|---|---|
| C/C++ | autotools / meson | |
| Python | Python Packaging Guidelines | |
| Perl | Perl Packaging Guidelines | |
| Golang | Golang Packaging Guidelines | Golang |
๐ค Contributeโ
If you find anything missing in these guidelines or believe the community needs to update a specific section, please open an Issue and let us know.