Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sage Official Recipe Repository

This repository contains the declarative package recipes (recipe.toml Schema v1) for Sage.


1. Directory Structure

recipes/
├── <category>/                               # Standard category (8 primary categories)
│   └── <pkgname>/                            # Package name (e.g. gcc, binutils, zlib)
│       ├── amd64/                            # x86-64 architecture tree
│       │   └── <pkgname>-<version>-<release>/# Specific version directory (e.g. gcc-16.2.0-1)
│       │       ├── recipe.toml               # amd64 recipe specification
│       │       └── patches/                  # Optional architecture-specific patches
│       ├── aarch64/                          # ARM64 architecture tree
│       │   └── <pkgname>-<version>-<release>/
│       │       ├── recipe.toml
│       │       └── patches/
│       └── any/                              # Architecture-independent packages (noarch/pure Python/docs)
│           └── <pkgname>-<version>-<release>/
│               └── recipe.toml

2. Standard Taxonomy (Categories)

Category Description Examples
devel Compilers, linkers, interpreters, build systems, debuggers gcc, clang, llvm, cmake, ninja, python, binutils, m4
lib Core shared libraries, compression, FFI, runtime libs zlib, zstd, libarchive, libffi, libcap, ncurses, gmp
net Network stacks, clients, daemons, management utilities openssh, curl, dhcpcd, iproute2, wget, bind-utils
security Cryptography, authentication, credentials, access control openssl, ca-certificates, shadow, sudo, pam, libxcrypt
system Core OS foundations, Init systems, C runtime, device managers glibc, musl, systemd, loom, kmod, coreutils
text Text stream processors, line editors, parsers, doc tools gawk, sed, grep, diffutils, less, vim, ripgrep
tools Disk & filesystem utilities, hardware diagnostics, archivers e2fsprogs, btrfs-progs, tar, xz, gzip, pciutils
utils Process management, system monitors, terminal tools procps-ng, util-linux, findutils, which, psmisc

3. Core Guidelines

  • Strict Per-Architecture Independence: Each architecture directory (amd64, aarch64, any) is self-contained with independent release revisions, compilation flags, and patches.
  • Single-Recipe Multi-Subpackages: Use [[subpackages]] with declarative Glob patterns to split -libs, -dev, and -doc from a single build without repeated compilation.
  • Pure Declarative Lifecycle: Interactive lifecycle scripts (preinst, postinst, prerm, postrm) are forbidden. Use [[sysusers]], service.toml, and triggers.toml instead.
  • Init-Agnostic Services: Daemons declare their behavior in service.toml; rclass/init-*.toml files are system-side renderers used by sage rebuild, including the optional systemd renderer.
  • SPDX Metadata: Every license field uses a strict SPDX expression accepted by Sage 0.4.0 and is validated before repository indexing or package publication.

About

SCLinux package recipes

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors