Test repo for the Atomic Desktops
Find a file
2024-06-11 10:36:44 +02:00
ci ci/validate: Ignore correctly indented lines starting with [ 2024-06-11 10:36:44 +02:00
.gitignore gitignore: Add more paths to ignore 2024-02-11 12:50:08 +01:00
.gitlab-ci.yml Fedora Kinoite Mobile: Add initial manifests 2024-06-04 22:45:21 +02:00
.zuul.yaml zuul: Fix YAML indentation 2024-03-01 19:32:37 +01:00
bootupd.yaml bootupd: Drop unnecessary / 2024-02-09 18:41:05 +01:00
budgie-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
cinnamon-desktop-pkgs.yaml comps-sync f40 2023-09-26 2023-09-26 16:43:56 +02:00
comps-sync-exclude-list.yml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
comps-sync.py Fedora Kinoite Mobile: Add initial manifests 2024-06-04 22:45:21 +02:00
deepin-desktop-pkgs.yaml comps-sync f39 2023-07-22 2023-07-22 10:42:56 -07:00
fedora-41-updates.repo Rawhide is now f41 2024-02-13 19:01:33 +00:00
fedora-41.repo Rawhide is now f41 2024-02-13 19:01:33 +00:00
fedora-base.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-cinnamon.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-common-ostree-pkgs.yaml comps-sync f41 2024-06-10 2024-06-10 15:07:42 -04:00
fedora-common-ostree.yaml common: Setup read only sysroot via ostree config 2024-06-11 10:36:44 +02:00
fedora-deepin.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-kinoite-mobile.yaml Fedora Kinoite Mobile: Add initial manifests 2024-06-04 22:45:21 +02:00
fedora-kinoite.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-lazurite.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-mate.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-onyx.yaml Budgie: Exclude gnome-software-fedora-langpacks 2024-02-28 11:20:31 +00:00
fedora-rawhide.repo repo: Remove unused baseurl, explicitely set enabled & gpgpcheck 2022-02-16 18:45:56 +01:00
fedora-sericea.yaml Sericea: update fedora-release subpackage name 2024-02-26 19:38:57 +01:00
fedora-silverblue.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-vauxite.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
gnome-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
group group: Fix tape & input GIDs 2022-11-10 17:01:09 +00:00
initramfs.yaml initramfs: Add tpm2-tss & systemd-pcrphase for LUKS unlocking 2024-06-11 10:36:44 +02:00
justfile Fedora Kinoite Mobile: Add initial manifests 2024-06-04 22:45:21 +02:00
kde-desktop-pkgs.yaml comps-sync f41 2024-06-10 2024-06-10 15:07:42 -04:00
kde-mobile-desktop-pkgs.yaml Fedora Kinoite Mobile: Add initial manifests 2024-06-04 22:45:21 +02:00
LICENSE LICENSE: Add MIT license text 2021-12-16 11:39:31 +01:00
lxqt-desktop-pkgs.yaml Use new base-graphical comps group for Wayland only desktops 2023-12-11 18:14:23 +01:00
mate-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
passwd passwd: Fix (no)login shell paths 2022-11-10 17:01:09 +00:00
postprocess.sh common: Setup read only sysroot via ostree config 2024-06-11 10:36:44 +02:00
README.md README: add instructions for using comps-sync.py 2024-06-11 08:35:52 +00:00
sway-desktop-pkgs.yaml comps-sync f41 2024-02-26 2024-02-26 23:51:22 +01:00
sysroot-ro.yaml common: Setup read only sysroot via ostree config 2024-06-11 10:36:44 +02:00
xfce-desktop-pkgs.yaml xfce: Add packages from xfce-extra-plugins comps group 2023-11-23 17:13:11 +01:00

Manifests for Fedora Atomic Desktops variants

This is the configuration needed to create rpm-ostree based, desktop variants of Fedora, also known as Fedora Atomic Desktops.

This repo is managed by the Fedora Atomic Desktops SIG.

The currently official Fedora Atomic Desktop variants are:

  • Fedora Silverblue
  • Fedora Kinoite
  • Fedora Sway Atomic
  • Fedora Budgie Atomic

Reach out to the SIG if you are interested in creating and maintaining a new Atomic variant.

Repository content

Each variant is described in a YAML treefile which is then used by rpm-ostree to compose an ostree commit with the package requested.

In the Fedora infrastructure, composes are made via pungi with the configuration from:

Installer ISOs are built using Lorax and additional templates: pagure.io/fedora-lorax-templates.

Website

The sources for the Silverblue, Kinoite, Sway Atomic and Budgie Atomic websites are in gitlab.com/fedora/fedora-websites-3.0.

Issue trackers

Issues common to all Fedora Atomic Desktops are tracked in gitlab.com/fedora/ostree/sig.

Desktop specific issues should be filed in their respective issue trackers:

Documentation

The documentation for Fedora Atomic variants is currently duplicated for each variant at Atomic Desktops.

There are plans to unify the documentation: ostree/sig#10

Documentation sources:

Building

All commonly used commands are listed as recipes in the justfile (see Just).

Example to do a local build of Fedora Silverblue:

# Clone the config
$ git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config

# Build the classic ostree commits (currently the default in Fedora)
$ just compose-legacy variant=silverblue

# Or build the new ostree native container (not default yet, still in development)
$ just compose-image variant=silverblue

Testing

Instructions to test the resulting build for classic ostree commits:

simple-http-server --index --ip 192.168.122.1 --port 8000
  • Then, on an already installed Silverblue system:
# Add an ostree remote
sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify

# Pin the currently deployed (and probably working) version
sudo ostree admin pin 0

# List refs from variant remote
sudo ostree remote refs testremote

# Switch to your variant
sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue

# Reboot and test!

Instructions to test the resulting build for ostree native containers:

  • Push the OCI archive to a container registry
  • Rebase to it:
$ rpm-ostree rebase ostree-unverified-image:registry:<oci image>

See URL format for ostree native containers for details.

Syncing with Fedora Comps

Fedora Comps are "XML files used by various Fedora tools to perform grouping of packages into functional groups."

Changes to the comps files need to be regularly propagated to the repo so that the Fedora Atomic variants are kept updated with the other desktop variants.

To update packages included in the Fedora Atomic variants, you need to have an up-to-date git checkout of https://pagure.io/fedora-comps and a git checkout of this repository.

Using the comps-sync.py script, provide the updated input XML file to examine the changes as a dry-run:

$ ./comps-sync.py /path/to/fedora-comps/comps-f41.xml.in

Examine the changes and cross-reference them with PRs made to the fedora-comps repo. When you are satisfied that the changes are accurate and appear safe, re-run the script with the --save option:

$ ./comps-sync.py --save /path/to/fedora-comps/comps-f41.xml.in

Create a pull request with the changes and note any PRs from fedora-comps in the commit message that are relevant to the changes you have generated.

Branching instructions for new Fedora releases

Follow those steps during the Fedora branch process in Fedora:

Fedora Ansible

Make a PR similar to ansible#1318 in fedora-infra/ansible.

On Rawhide / main branch

sed -i "s/41/42/g" *.repo comps-sync.py
sed -i "s/releasever: 41/releasever: 42/" fedora-common-ostree.yaml
sed -i "s/# - fedora-41/# - fedora-42/" fedora-*.yaml
mv fedora-41.repo fedora-42.repo
mv fedora-41-updates.repo fedora-42-updates.repo
sed -i "s/42/42/g" README.md
sed -i "s/41/42/g" README.md

On the new branch (f41)

rm fedora-rawhide.repo
sed -i "/- fedora-rawhide/d" fedora-*.yaml
sed -i "s/# - fedora-41/- fedora-41/" fedora-*.yaml
sed -i "s/ref: fedora\/rawhide/ref: fedora\/41/" fedora-*.yaml

Historical references

Building and testing instructions:

For some background, see:

Note also this repo obsoletes https://pagure.io/atomic-ws