Checks • Installing • Usage • CI Status • License
perfecto is tool for checking perfectly written RPM specs. Currently, perfecto used by default for checking specs for EK Public Repository.
You can find additional information about every perfecto check in project wiki.
Make sure you have a working Go 1.23+ workspace (instructions), then:
go install github.com/essentialkaos/perfecto@latestsudo dnf install -y https://pkgs.kaos.st/kaos-repo-latest.el$(grep 'CPE_NAME' /etc/os-release | tr -d '"' | cut -d':' -f5).noarch.rpm
# EL8 (OracleLinux/Alma/Rocky 8)
sudo dnf install perfecto
# Alma/Rocky 9
sudo dnf --enablerepo=crb install perfecto
# OracleLinux 9
sudo dnf --enablerepo=ol9_codeready_builder install perfectoYou can download prebuilt binaries for Linux and macOS from EK Apps Repository:
bash <(curl -fsSL https://apps.kaos.st/get) perfectoOfficial perfecto images available on GitHub Container Registry and Docker Hub. Install the latest version of Podman or Docker, then:
curl -#L -o perfecto-container https://kaos.sh/perfecto/perfecto-container
chmod +x perfecto-container
sudo mv perfecto-container /usr/bin/perfecto
perfecto your.specOfficial container images with perfecto:
ghcr.io/essentialkaos/perfecto:micro(withoutrpmlint)ghcr.io/essentialkaos/perfecto:ol8(withrpmlint)ghcr.io/essentialkaos/perfecto:ol9(withrpmlint)essentialkaos/perfecto:micro(withoutrpmlint)essentialkaos/perfecto:ol8(withrpmlint)essentialkaos/perfecto:ol9(withrpmlint)
For using latest stable version perfecto with Github Actions use this perfecto.yml file or add it to your workflow:
name: Perfecto
on:
push:
branches: [master, develop]
pull_request:
branches: [master]
jobs:
Perfecto:
name: Perfecto
runs-on: ubuntu-latest
steps:
- name: Code checkout
uses: actions/checkout@v3
- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Check specs with Perfecto
uses: essentialkaos/perfecto-action@v1
with:
files: myapp.specAdditional information about action configuration can be found on the official GitHub action page.
| Branch | Status |
|---|---|
master |
|
develop |
Before contributing to this project please read our Contributing Guidelines.

