Package Organization
Azure Linux packages are organized into two main directories:SPECS
Production-ready packages with full support and timely CVE maintenance
SPECS-EXTENDED
Experimental packages for proof-of-concept and staging purposes
Package Directory Structure
Each package lives in its own subdirectory to avoid naming conflicts:Key Components
SPEC Files
SPEC files contain all the metadata and instructions needed to build an RPM package:- Package metadata (name, version, license, description)
- Build dependencies and runtime requirements
- Source file locations and patches
- Build, installation, and testing instructions
- File lists for the resulting packages
- Changelog entries
Signature Files
Each SPEC file is accompanied by a*.signatures.json file that records SHA-256 hashes of all source files. This ensures source integrity and prevents unauthorized modifications.
Build System Workflow
The Azure Linux build system follows this workflow:Package Support Levels
| Directory | Published | Supported | Requirements |
|---|---|---|---|
| SPECS | Yes | Yes | - Viable upstream source with active CVE management - No project-specific code - Value for multiple use cases |
| SPECS-EXTENDED | Yes | No | - Viable upstream source with active CVE management - No project-specific code - Can be used for staging packages |
Packages in SPECS-EXTENDED can be graduated to SPECS after demonstrating their value and completing additional quality requirements.
Common Package Operations
Installing Packages
Azure Linux usestdnf (Tiny DNF) as its package manager:
Querying Package Information
Userpm commands to query package details:
Source Management
Package sources can be hosted in two locations:- Azure Linux Source Server:
https://azurelinuxsrcstorage.blob.core.windows.net/sources/core/ - Local SPECS Directory:
SPECS/<package>/for small patches and configuration files
Next Steps
SPECS vs SPECS-EXTENDED
Understand the differences between package directories
Creating SPEC Files
Learn how to write RPM SPEC files
Package Repository
Explore the repository structure and organization