Skip to main content

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โ€‹

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 %pre and %post.

  • Font Packaging Guidelines: Guidelines for font package naming, licensing, installation paths, and subpackage splitting.

Package Structure and Other Featuresโ€‹

  • Package Splitting: Properly divide -devel packages, 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.

๐Ÿ“š Language-Specific Guidelines and Build Systemsโ€‹

Review practical recommendations for specific programming languages and toolchains.

CategoryDetailed GuideDeclarative Build System
C/C++autotools / meson
PythonPython Packaging Guidelines
PerlPerl Packaging Guidelines
GolangGolang Packaging GuidelinesGolang

๐Ÿค 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.