From a080a2efef7d0ec1c5bec04248d59f6c8ae27d32 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Apr 13 2022 15:46:24 +0000 Subject: [PATCH 1/2] Add spin policy and guidelines --- diff --git a/docs/index.md b/docs/index.md index 8a04945..8c8ddb8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,4 +11,5 @@ You'll find on this (always involving) website best practices for each step in t * How to start [building](cbs.md) RPM packages or other artifacts * How to [test](ci.md) your packages * How to [push to mirror](delivery.md) network + * How to create a CentOS [spin](spin.md) * Rules for [dns entries](dns.md) under sig.centos.org diff --git a/docs/spin.md b/docs/spin.md new file mode 100644 index 0000000..ffae21f --- /dev/null +++ b/docs/spin.md @@ -0,0 +1,23 @@ +# CentOS SIG spin policy and guidelines + +CentOS SIGs can create spins of the distribution if they so desire. A spin in this context is defined as an alternative distribution deliverable (e.g. ISO install image, LiveDVD image, cloud image, etc.) with SIG specific customizations that deviate from the stock CentOS deliverables. For example, the [Hyperscale SIG ](https://wiki.centos.org/SpecialInterestGroup/Hyperscale) is currently producing a [Workstation spin](https://lists.centos.org/pipermail/centos-devel/2021-July/077156.html) delivered as a LiveDVD. + +## Making a spin +To create a new spin, you will need a few dedicated packages to properly identify the spin: +- add a `centos-spin-$name-release` subpackage to your SIG release package ([example](https://git.centos.org/rpms/centos-release-hyperscale/blob/c8s-sig-hyperscale/f/SPECS/centos-release-hyperscale.spec)) +- branch [`centos-stream-release`](`https://git.centos.org/rpms/centos-stream-release) and add a `centos-stream-spin-$name-release` subpackage to it; make sure to set `VARIANT` and `VARIANT_ID` in [os-release](https://www.freedesktop.org/software/systemd/man/os-release.htmll#VARIANT=) to properly identify the spin and to add a `Requires` for the spin release package ([example](https://git.centos.org/rpms/centos-stream-release/blob/c8s-sig-hyperscale-spin/f/SPECS/centos-stream-hyperscale-spin-release.spec)) + +Within these packages, `$name` should either be the name of the SIG (if producing only one spin), or the name of the SIG followed by the name of the spin. + +We recommend using a dedicated destination tag in CBS for spin-specific packages. This is especially important if the spin includes packages that will only work properly within the spin itself (i.e. they are not suitable for installation on stock CentOS systems). + +Spins produced by a SIG should be documented on its wiki page as deliverables. + +## Branding +CentOS spins are part of the CentOS Project, in the same way that other SIG deliverables are. Spins should strive to comply with all project policies, guidelines and best practices. SIGs are required to clearly identify spins as such, but are otherwise allowed to use the CentOS logo and name as part of spins they may produce like for any other deliverables. + +## Distribution +Spin deliverables should be build in CBS and distributed via the mirror network. This isn't a requirement for experimental and work-in-progress deliverables, as long as they're clearly marked as such. + +## Discontinued spins +SIGs should review the content they produce during their quarterly review. If the SIG has announced their intention to no longer maintain a spin, it will be removed from the mirrors. diff --git a/mkdocs.yml b/mkdocs.yml index 64ef3d0..938dfab 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -13,6 +13,7 @@ nav: - ci.md - delivery.md - dns.md + - spin.md theme: name: material From 370c72d9bf9c95e59d3636d17cae7afbe35542a8 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Apr 13 2022 15:46:24 +0000 Subject: [PATCH 2/2] Correct spin release package name and clarify its usage --- diff --git a/docs/spin.md b/docs/spin.md index ffae21f..fbf60d8 100644 --- a/docs/spin.md +++ b/docs/spin.md @@ -4,12 +4,12 @@ CentOS SIGs can create spins of the distribution if they so desire. A spin in th ## Making a spin To create a new spin, you will need a few dedicated packages to properly identify the spin: -- add a `centos-spin-$name-release` subpackage to your SIG release package ([example](https://git.centos.org/rpms/centos-release-hyperscale/blob/c8s-sig-hyperscale/f/SPECS/centos-release-hyperscale.spec)) +- add a `centos-release-$name-spin` subpackage to your SIG release package ([example](https://git.centos.org/rpms/centos-release-hyperscale/blob/c8s-sig-hyperscale/f/SPECS/centos-release-hyperscale.spec)); this subpackage should either require or include any repository definitions that are needed for the spin to work - branch [`centos-stream-release`](`https://git.centos.org/rpms/centos-stream-release) and add a `centos-stream-spin-$name-release` subpackage to it; make sure to set `VARIANT` and `VARIANT_ID` in [os-release](https://www.freedesktop.org/software/systemd/man/os-release.htmll#VARIANT=) to properly identify the spin and to add a `Requires` for the spin release package ([example](https://git.centos.org/rpms/centos-stream-release/blob/c8s-sig-hyperscale-spin/f/SPECS/centos-stream-hyperscale-spin-release.spec)) Within these packages, `$name` should either be the name of the SIG (if producing only one spin), or the name of the SIG followed by the name of the spin. -We recommend using a dedicated destination tag in CBS for spin-specific packages. This is especially important if the spin includes packages that will only work properly within the spin itself (i.e. they are not suitable for installation on stock CentOS systems). +We recommend using a dedicated destination tag in CBS for spin-specific packages, and including the corresponding repository definition in your `centos-release-$name-spin` subpackage. This is especially important if the spin includes packages that will only work properly within the spin itself (i.e. they are not suitable for installation on stock CentOS systems). Spins produced by a SIG should be documented on its wiki page as deliverables.