pkgcheck

September 21, 2018 ยท View on GitHub

=============================== pkgcheck

This is a bashate fork for Arch Linux's PKGBUILDs.

  • Free software: Apache license

Install

pip install -u pkgcheck-arch

Use

pkgcheck path/to/PKGBUILD

Currently Supported Checks

Errors


Basic white space errors, for consistent indenting

- E001: check that lines do not end with trailing whitespace
- E002: ensure that indents are only spaces, and not hard tabs
- E003: ensure all indents are a multiple of 4 spaces
- E004: file did not end with a newline
- E005: unquoted $srcdir or $pkgdir

Structure Errors

A set of rules that help keep things consistent in control blocks. These are ignored on long lines that have a continuation, because unrolling that is kind of "interesting"

  • E010: do not on the same line as for
  • E011: then not on the same line as if or elif
  • E012: heredoc didn't end before EOF
  • E020: Function declaration not in format ^function name {$

Obsolete, deprecated or unsafe syntax


Rules to identify obsolete, deprecated or unsafe syntax that should
not be used

- E040: Syntax errors reported by `bash -n`
- E041: Usage of $[ for arithmetic is deprecated for $((
- W042: Local declaration hides errors
- W043: Arithmetic compound has inconsistent return semantics
- E044: Use [[ for =~,<,> comparisions

Style enforcer
~~~~~~~~~~~~~~

- E060: Last line isn't a newline
- E061: Multiple final newlines
- W062: Unsafe quotes