Package repository for Structured World Foundation software. Hosts signed RPM and DEB packages for modern Linux distributions.
Site: repo.sw.foundation
Source projects provide a manifest.json describing their packages, platforms, and documentation. CI uploads these as a repo-meta-<project> artifact; the publish workflow copies them into packages/meta/<project>/ where build-docs.py discovers and renders them.
source-repo/ repo (during publish)
packaging/ packages/meta/<project>/
manifest.json ──CI artifact──→ manifest.json
docs/ docs/
setup-guide.md setup-guide.md
See manifests/strongswan/manifest.json for an example (also used as committed fallback).
sudo dnf config-manager --add-repo \
https://repo.sw.foundation/rpm/fc$(rpm -E %fedora)/sw.repo
sudo dnf install <package-name># Add GPG key
curl -fsSL https://repo.sw.foundation/keys/sw.gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/sw.gpg
# Add repository
echo "deb [signed-by=/etc/apt/keyrings/sw.gpg] \
https://repo.sw.foundation/deb $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/sw.list
sudo apt update
sudo apt install <package-name>All packages are signed with our GPG key.
| Property | Value |
|---|---|
| Key ID | A187D55B5A043632 |
| Fingerprint | 4AC4 06DA 15C9 BE4D C1A0 2343 A187 D55B 5A04 3632 |
| Algorithm | Ed25519 |
curl -fsSL https://repo.sw.foundation/keys/sw.gpg | gpg --import- Create
packaging/manifest.jsonin your source repo (see manifests/strongswan/manifest.json for the format) - Add optional
packaging/docs/*.mdfor documentation pages - Upload
manifest.jsonanddocs/as arepo-meta-<project>artifact in your CI workflow (the artifact root should containmanifest.jsondirectly, not apackaging/subdirectory) - Add a new workflow input and download step in
publish.ymlfor the project - Trigger the publish workflow —
build-docs.pyauto-discovers all manifests inpackages/meta/*/
Dmitry Prudnikov mail@polaz.com