Skip to content
ᴀɴᴛᴏɴ ɴᴏᴠᴏᴊɪʟᴏᴠ edited this page Jun 23, 2024 · 28 revisions

List of all supported perfecto checks:

  • PF1 Checks all spec data for useless spaces;
  • PF2 Checks descriptions and changelog for lines longer than 80 symbols;
  • PF3 Checks release tag for using %{?dist} macro;
  • PF4 Checks all scriptlets for using paths instead of macroses;
  • PF5 Checks build, install and clean scriptlets for using variables instead of macroses;
  • PF6 Checks all scriptlets for dissimilar redirect to /dev/null;
  • PF7 Checks changelog for misformatted records;
  • PF8 Checks build, install and check scriptlets for using make which can be simplified;
  • PF9 Checks header for required tags;
  • PF10 Checks all spec data for an unescaped percentage symbol;
  • PF11 Checks position of %global and %define keywords;
  • PF12 Checks the length of separator comments;
  • PF13 Checks files section for %defattr;
  • PF14 Checks all spec data for useless binaries macroses;
  • PF15 Checks all spec data for empty sections;
  • PF16 Checks files section for indentations;
  • PF17 Checks setup section options;
  • PF18 Checks all spec data for empty lines at the end;
  • PF19 Checks bash loops formatting;
  • PF20 Checks sources URLs for HTTPS support;
  • PF21 Checks %check scriptlet for using %{_without_check} and %{_with_check} macroses;
  • PF22 Checks for single equals symbol in %if clause;
  • PF23 Checks for useless slash between %{buildroot} and path macro;
  • PF24 Checks for empty evaluated shell if clauses;
  • PF25 Checks for a useless period (full stop) at the end of the package summary;
  • PF26 Checks for chmod and chown commands usage in scriptlets;
  • PF27 Checks for unclosed if conditions in scriptlets.
  • PF28 Checks length of summary tag.
  • LNT0 Generic check from rpmlint

If you want to ignore alert use directives or CLI options.

Clone this wiki locally