continuwuity/docs/deploying/fedora.md
Tom Foster c129696464 feat(ci): Add Fedora RPM package build workflow
Building on the Fedora packaging files from #950, this adds a CI workflow
to automatically build RPM packages for Fedora distributions.

The workflow:
- Builds both binary and debug RPMs using rpkg
- Tests package installation in the CI environment
- Publishes packages to Forgejo's RPM registry
- Uploads artifacts for easy download

Thanks to ginger for providing the initial Fedora build files that made
this CI pipeline possible.
2025-08-29 13:34:05 +01:00

4 KiB

RPM Installation Guide

Continuwuity is available as RPM packages for Fedora, RHEL, and compatible distributions.

Quick install (stable)

For the latest stable version from release tags:

# Add the Continuwuity repository
sudo dnf config-manager addrepo --from-repofile=https://forgejo.ellis.link/api/packages/continuwuation/rpm/stable/continuwuation.repo

# Install Continuwuity
sudo dnf install continuwuity

# Enable automatic updates (optional)
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer

Development builds

For development builds from the main branch:

# Add the dev repository
sudo dnf config-manager addrepo --from-repofile=https://forgejo.ellis.link/api/packages/continuwuation/rpm/dev/continuwuation.repo

# Install Continuwuity
sudo dnf install continuwuity

Feature branch builds

Feature branches are published to their own groups. For example, for branch tom/new-feature:

# Add the branch-specific repository (replace branch name)
sudo dnf config-manager addrepo --from-repofile=https://forgejo.ellis.link/api/packages/continuwuation/rpm/tom-new-feature/continuwuation.repo

# Install Continuwuity
sudo dnf install continuwuity

Note: Branch names are sanitized (slashes become hyphens, lowercase only).

Direct package installation

To install a specific version without adding the repository:

# Latest stable release
sudo dnf install https://forgejo.ellis.link/api/packages/continuwuation/rpm/stable/continuwuity

# Latest development build (main branch)
sudo dnf install https://forgejo.ellis.link/api/packages/continuwuation/rpm/dev/continuwuity

# Specific feature branch (replace branch-name)
sudo dnf install https://forgejo.ellis.link/api/packages/continuwuation/rpm/branch-name/continuwuity

Managing automatic updates

# Install dnf-automatic
sudo dnf install dnf-automatic

# Configure update policy
sudo nano /etc/dnf/automatic.conf
# Set: apply_updates = yes

# Enable the service
sudo systemctl enable --now dnf-automatic.timer

Option 2: Manual updates

# Check for updates
sudo dnf check-update continuwuity

# Update to latest version
sudo dnf update continuwuity

Switching between channels

# List enabled repositories
dnf repolist | grep continuwuation

# Disable current repository (use actual repo name from above)
sudo dnf config-manager --set-disabled continuwuation-stable
# or
sudo dnf config-manager --set-disabled continuwuation-dev
# or for feature branches
sudo dnf config-manager --set-disabled continuwuation-branch-name

# Enable desired repository
sudo dnf config-manager --set-enabled continuwuation-stable
# or
sudo dnf config-manager --set-enabled continuwuation-dev

# Update to the new channel's version
sudo dnf update continuwuity

Verifying installation

# Check installed version
rpm -q continuwuity

# View package information
rpm -qi continuwuity

# List installed files
rpm -ql continuwuity

# Verify package integrity
rpm -V continuwuity

Systemd service management

Continuwuity includes a systemd service file:

# Start the service
sudo systemctl start conduwuit

# Enable on boot
sudo systemctl enable conduwuit

# Check status
sudo systemctl status conduwuit

# View logs
sudo journalctl -u conduwuit -f

Uninstallation

# Stop and disable the service
sudo systemctl stop conduwuit
sudo systemctl disable conduwuit

# Remove the package
sudo dnf remove continuwuity

# Remove the repository (optional)
sudo rm /etc/yum.repos.d/continuwuation-*.repo

Troubleshooting

GPG key issues

If you encounter GPG key errors, you can temporarily disable GPG checking:

sudo dnf --nogpgcheck install continuwuity

Repository metadata issues

Clear and rebuild the cache:

sudo dnf clean all
sudo dnf makecache

Finding specific versions

List all available versions:

dnf --showduplicates list continuwuity

Install a specific version:

sudo dnf install continuwuity-<version>