diff options
author | Cyril Roelandt <tipecaml@gmail.com> | 2014-09-01 02:13:21 +0200 |
---|---|---|
committer | Cyril Roelandt <tipecaml@gmail.com> | 2014-09-03 02:07:07 +0200 |
commit | b4f5e0e87c112bd4b8425be0c17524ce9c2a85ca (patch) | |
tree | 1d31ffa5366fa8e4bf3037dd2ff7ed6bf8d926a9 /doc | |
parent | 5e3b388b51780373e68c19a46a279a809e82d461 (diff) |
scripts: add guix lint
* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages.
* tests/lint.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/Makevars: Update appropriately.
* po/guix/POTFILES.in: Update appropriately.
* doc/guix.texi: Document "guix lint".
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 46f2c70b85..384e2a9ced 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1459,7 +1459,10 @@ definitions like the one above may be automatically converted from the Nixpkgs distribution using the @command{guix import} command.}, the package may actually be built using the @code{guix build} command-line tool (@pxref{Invoking guix build}). @xref{Packaging Guidelines}, for -more information on how to test package definitions. +more information on how to test package definitions, and +@ref{Invoking guix lint}, for information on how to check a definition +for style conformance. + Eventually, updating the package definition to a new upstream version can be partly automated by the @command{guix refresh} command @@ -2328,6 +2331,7 @@ programming interface of Guix in a convenient way. * Invoking guix download:: Downloading a file and printing its hash. * Invoking guix hash:: Computing the cryptographic hash of a file. * Invoking guix refresh:: Updating package definitions. +* Invoking guix lint:: Finding errors in package definitions. @end menu @node Invoking guix build @@ -2705,6 +2709,29 @@ for in @code{$PATH}. @end table +@node Invoking guix lint +@section Invoking @command{guix lint} +The @command{guix lint} is meant to help package developers avoid common +errors and use a consistent style. It runs a few checks on a given set of +packages in order to find common mistakes in their definitions. + +The general syntax is: + +@example +guix lint @var{options} @var{package}@dots{} +@end example + +If no package is given on the command line, then all packages are checked. +The @var{options} may be zero or more of the following: + +@table @code + +@item --list-checkers +@itemx -l +List and describe all the available checkers that will be run on packages +and exit. + +@end table @c ********************************************************************* @node GNU Distribution |