Tool for checking perfectly written RPM specs
10K+
Checks • Installing • Using with Github Actions • Using with Docker • Usage • Build 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.17+ workspace (instructions), then:
go install github.com/essentialkaos/perfecto@latest
sudo yum install -y https://yum.kaos.st/get/$(uname -r).rpm
sudo yum install perfecto
You can download prebuilt binaries for Linux and macOS from EK Apps Repository:
bash <(curl -fsSL https://apps.kaos.st/get) perfecto
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@v2
- name: Login to DockerHub
uses: docker/login-action@v1
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
if: ${{ env.DOCKERHUB_USERNAME != '' }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Check specs with Perfecto
uses: essentialkaos/perfecto-action@v1
with:
files: myapp.spec
Additional information about action configuration can be found on the official GitHub action page.
Install latest version of Docker, then:
curl -fL# -o perfecto-docker https://kaos.sh/perfecto/perfecto-docker
chmod +x perfecto-docker
sudo mv perfecto-docker /usr/bin/
perfecto-docker PATH_TO_YOUR_SPEC_HERE
Usage: perfecto {options} file…
Options
--absolve, -A id… Disable some checks by their ID
--format, -f format Output format (summary|tiny|short|github|json|xml)
--lint-config, -c file Path to RPMLint configuration file
--error-level, -e level Return non-zero exit code if alert level greater than given (notice|warning|error|critical)
--quiet, -q Suppress all normal output
--no-lint, -nl Disable RPMLint checks
--no-color, -nc Disable colors in output
--help, -h Show this help message
--version, -v Show version
Examples
perfecto app.spec
Check spec and print extended report
perfecto --no-lint app.spec
Check spec without rpmlint and print extended report
perfecto --format tiny app.spec
Check spec and print tiny report
perfecto --format summary app.spec
Check spec and print summary
perfecto --format json app.spec 1> report.json
Check spec, generate report in JSON format and save as report.json
Content type
Image
Digest
sha256:97d853f85…
Size
171.8 MB
Last updated
4 days ago
docker pull essentialkaos/perfecto