aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts/lint.scm
Commit message (Collapse)AuthorAge
* lint: Honor 'cpe-name' and 'cpe-version' package properties.Ludovic Courtès2016-05-17
| | | | | | | | | | * guix/scripts/lint.scm (package-name->cpe-name): Remove. (package-vulnerabilities): Honor 'cpe-name' and 'cpe-version' properties. * gnu/packages/grub.scm (grub)[properties]: New field. * gnu/packages/gnuzilla.scm (icecat)[properties]: Add 'cpe-name' and 'cpe-version'. * doc/guix.texi (Invoking guix lint): Mention 'cpe-name'.
* utils: Move combinators to (guix combinators).Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | * guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
* lint: 'check-vulnerabilities' follows package replacements.Ludovic Courtès2016-04-28
| | | | | | * guix/scripts/lint.scm (check-vulnerabilities): Check the replacement of PACKAGE. * tests/lint.scm ("cve: patched vulnerability in replacement"): New test.
* lint: Report synopses/descriptions that are not strings.Ludovic Courtès2016-04-27
| | | | | | | | | | | Suggested by John Darrington. * guix/scripts/lint.scm (check-description-style): Emit a warning when DESCRIPTION is not a string. (check-synopsis-style): Likewise. (check-gnu-synopsis+description): Likewise. * tests/lint.scm ("description: not a string", "synopsis: not a string"): New tests.
* lint: Emit an ANSI erase-in-line sequence.Danny Milosavljevic2016-04-14
| | | | | | | * guix/scripts/lint.scm (run-checkers): Add '\x1b[K' to progress messages and after 'for-each'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* lint: Do not leak file descriptors for TLS connections.Ludovic Courtès2016-03-17
| | | | | | | Partially fixes <http://bugs.gnu.org/20145>. * guix/scripts/lint.scm (probe-uri): Use 'close-connection' instead of 'close-port'.
* lint: cve: Gracefully handle HTTP errors.Ludovic Courtès2016-03-04
| | | | | * guix/scripts/lint.scm (current-vulnerabilities*): New procedure. (package-vulnerabilities): Use it.
* lint: derivation: Disable grafts, but check replacements.Ludovic Courtès2016-03-03
| | | | | * guix/scripts/lint.scm (check-derivation): Pass #:graft? #f. When 'package-replacement' exists, compute its derivation.
* lint: Rewrite 'check-patch-file-names'.Mathieu Lirzin2016-01-28
| | | | | * guix/scripts/lint.scm (check-patch-file-names): Improve clarity by reversing the logic.
* lint: Remove an unneeded clause in 'check-patch-file-names'.Mathieu Lirzin2016-01-28
| | | | | | * guix/scripts/lint.scm (check-patch-file-names): Don't check if patches start with the package full name since matching the package name (which is a prefix of the full name) is sufficient.
* lint: cve: Catch host name lookup errors.Ludovic Courtès2016-01-06
| | | | | * guix/scripts/lint.scm (package-vulnerabilities): Catch 'getaddrinfo-error'.
* lint: The CPE name of GRUB is "grub2".Ludovic Courtès2015-12-20
| | | | | | Reported by Leo Famulari. * guix/scripts/lint.scm (package-name->cpe-name): Add "grub".
* lint: Do not report already-patched vulnerabilities.Ludovic Courtès2015-11-28
| | | | | | * guix/scripts/lint.scm (patch-file-name): New procedure. (check-vulnerabilities): Use it to filter out patched vulnerabilities. * tests/lint.scm ("cve: one patched vulnerability"): New test.
* lint: Add "cve" checker.Ludovic Courtès2015-11-26
| | | | | | | | | | Fixes <http://bugs.gnu.org/21289>. * guix/scripts/lint.scm (package-name->cpe-name, package-vulnerabilities) (check-vulnerabilities): New procedures. * guix/scripts/lint.scm (%checkers): Add "cve" checker. * tests/lint.scm ("cve", "cve: one vulnerability"): New tests. * doc/guix.texi (Invoking guix lint): Mention it.
* ftp-client: Default port for 'ftp-open' is now "ftp".Ludovic Courtès2015-11-22
| | | | | | * guix/ftp-client.scm (ftp-open): Change default #:port to "ftp". * guix/scripts/lint.scm (probe-uri): Remove 'port' parameter to 'ftp-open'.
* lint: Have connections time out after 3 seconds.Ludovic Courtès2015-11-12
| | | | | | * guix/scripts/lint.scm (probe-uri): Add #:timeout parameter. Pass it to 'open-connection-for-uri' and 'ftp-open'. (validate-uri): Pass #:timeout 3 to 'probe-uri'.
* lint: Export 'run-checkers'.Alex Kost2015-10-09
| | | | | * guix/scripts/lint.scm (run-checkers): Export. Make 'checkers' argument optional.
* lint: Fix 'check-texinfo-markup'.Mathieu Lirzin2015-09-28
| | | | | | | Fixes a regression introduced in 5d8d8f3. * guix/scripts/lint.scm (check-description-style): When no exception is thrown in 'check-texinfo-markup', return the rendered description.
* lint: Improve 'check-texinfo-markup'.Mathieu Lirzin2015-09-26
| | | | | | | * guix/scripts/lint.scm (check-description-style): Set 'field' parameter when emitting a warning in 'check-texinfo-markup'. Catch any error that may occur in during the 'texi->plain-text' conversion. This is a followup to commit 2748ee3.
* lint: Accept '`' character.Mathieu Lirzin2015-09-24
| | | | | * guix/scripts/lint.scm (properly-starts-sentence?): Match Texinfo highlighting commands as a sentence start.
* lint: Check non-translated package descriptions.Mathieu Lirzin2015-09-24
| | | | | | * guix/ui.scm (texi->plain-text): Export. * guix/scripts/lint.scm (check-description-style): Use it instead of 'package-description-string'.
* lint: Report lonely parentheses.Ludovic Courtès2015-09-18
| | | | | | | * guix/scripts/lint.scm (%hanging-paren-rx): New variable. (report-lone-parentheses): New procedure. (%formatting-reporters): Use it. * tests/lint.scm ("formatting: lonely parentheses"): New test.
* Add (guix scripts).Alex Kost2015-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ui.scm: Add missing copyright lines. (args-fold*, environment-build-options, %default-argument-handler, parse-command-line): Move to ... * guix/scripts.scm: ...here. New file. * guix/scripts/archive.scm: Use it. * guix/scripts/build.scm: Likewise. * guix/scripts/download.scm: Likewise. * guix/scripts/edit.scm: Likewise. * guix/scripts/environment.scm: Likewise. * guix/scripts/gc.scm: Likewise. * guix/scripts/graph.scm: Likewise. * guix/scripts/hash.scm: Likewise. * guix/scripts/import/cpan.scm: Likewise. * guix/scripts/import/cran.scm: Likewise. * guix/scripts/import/elpa.scm: Likewise. * guix/scripts/import/gem.scm: Likewise. * guix/scripts/import/gnu.scm: Likewise. * guix/scripts/import/hackage.scm: Likewise. * guix/scripts/import/nix.scm: Likewise. * guix/scripts/import/pypi.scm: Likewise. * guix/scripts/lint.scm: Likewise. * guix/scripts/package.scm: Likewise. * guix/scripts/publish.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/scripts/refresh.scm: Likewise. * guix/scripts/size.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/ui.scm (with-environment-variable, "parse-command-line", "parse-command-line and --no options"): Move to ... * tests/scripts.scm: ...here. New file. * Makefile.am (MODULES): Add guix/scripts.scm. (SCM_TESTS): Add tests/scripts.scm. * po/guix/POTFILES.in: Add guix/scripts.scm.
* lint: Add 'check-texinfo-markup' checker.Mathieu Lirzin2015-09-15
| | | | | | * guix/script/lint.scm (check-description-style): Check for invalid Texinfo markup. * tests/lint.scm: Test it.
* guix: lint: Check for meaningful origin file names.Eric Bavier2015-09-14
| | | | | | | | | * guix/scripts/lint.scm (check-source-file-name): New procedure. (%checkers): Add 'source-file-name' checker. * tests/lint.scm ("source-file-name", "source-file-name: v prefix") ("source-file-name: valid", "source-file-name: bad checkout") ("source-file-name: good checkout"): New tests. * doc/guix.texi (Invoking guix lint): Mention file name check.
* lint: Add 'license' checker.Ludovic Courtès2015-09-06
| | | | | | * guix/scripts/lint.scm (check-license): New procedure. (%checkers): Add 'license' checker. * tests/lint.scm ("license: invalid license"): New test.
* guix lint: Export checkers and <lint-checker> accessors.Alex Kost2015-08-30
| | | | | | * guix/scripts/lint.scm (%checkers, lint-checker, lint-checker?, lint-checker-name, lint-checker-description, lint-checker-check): Export.
* lint: Add 'formatting' checker.Ludovic Courtès2015-08-19
| | | | | | | | | | | * guix/scripts/lint.scm (report-tabulations, report-trailing-white-space, report-long-line, report-formatting-issues, check-formatting): New procedures. (%formatting-reporters): New variable. (%checkers): Add 'formatting' checker. * tests/lint.scm ("formatting: tabulation", "formatting: trailing white space", "formatting: long line", "formatting: alright"): New tests. * doc/guix.texi (Invoking guix lint): Mention the 'formatting' checker.
* Fix typos in translatable strings.Ludovic Courtès2015-07-23
| | | | | | | | | Reported by Anders Jonsson <anders.jonsson@norsjovallen.se>. * gnu/packages/backup.scm, gnu/packages/databases.scm, gnu/packages/linux.scm, gnu/packages/perl.scm, gnu/packages/web.scm, guix/scripts/lint.scm, guix/scripts/publish.scm: Fix typos in translatable strings.
* guix lint: Remove duplicated module lines.Alex Kost2015-07-13
| | | | | | * guix/scripts/lint.scm (guix): Remove duplicated lines for using 'srfi-34' and 'srfi-35' modules. These lines were introduced twice by commits b210b35 and 002c57c.
* guix: Clean up --help messages.Alex Kost2015-06-08
| | | | | | | | | | * guix/scripts/import.scm (show-help): Add newline before a list of importers. * guix/scripts/lint.scm (show-help): Split a long description line. * guix/scripts/package.scm (show-help): Improve docstrings for --install and --remove options. * guix/scripts/system.scm (show-help): Format actions the same way as guix commands and importers are formatted.
* lint: source: Warn only when all the URIs are unreachable.Ludovic Courtès2015-05-31
| | | | | | | * guix/scripts/lint.scm (call-with-accumulated-warnings): New procedure. (with-accumulated-warnings): New macro. (check-source): Add 'try-uris' and use it. Emit warnings only upon failure.
* lint: 'validate-uri' really returns #f on failure.Ludovic Courtès2015-05-31
| | | | * guix/scripts/lint.scm (validate-uri): Always return #f on failure.
* lint: Add a 'derivation' checker.Ludovic Courtès2015-04-13
| | | | | | * guix/scripts/lint.scm (check-derivation): New procedure. (%checkers): Add 'derivation' checker. * tests/lint.scm ("derivation: invalid arguments"): New test.
* lint: Report patches that cannot be found.Ludovic Courtès2015-04-10
| | | | | * guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'. * tests/lint.scm ("patches: not found"): New test.
* lint: Rename 'check-patches' to 'check-patch-file-names'.Ludovic Courtès2015-04-10
| | | | | | | * guix/scripts/lint.scm (check-patches): Rename to... (check-patch-file-names): ... this. Rename 'filename' to 'file'. (%checkers): Adjust accordingly. * tests/lint.scm ("patches: file names"): Likewise.
* lint: Report details about FTP errors.Ludovic Courtès2015-03-19
| | | | | | | * guix/scripts/lint.scm (probe-uri) <'ftp>: Pass more information about failures alongside 'ftp-response. (validate-uri) <ftp-response>: Handle it, and adjust "not reachable" message accordingly.
* lint: Change misleading variable name.Ludovic Courtès2015-03-19
| | | | * guix/scripts/lint.scm (probe-uri) <'ftp>: Rename 'port' to 'conn'.
* lint: Add tests for the 'source' checker.Ludovic Courtès2015-03-05
| | | | | | * guix/scripts/lint.scm (check-source): Export. * tests/lint.scm (%null-sha256): New procedure. ("source: 200", "source: 404"): New tests.
* lint: handle FTP URIs.Cyril Roelandt2015-02-10
| | | | * guix/scripts/lint.scm (probe-uri): handle FTP URIs.
* lint: Fix argument parsing when several packages are specified.Ludovic Courtès2015-01-28
| | | | | | | | * guix/scripts/lint.scm (%options) <--checkers>: Remove 'arg-handler' parameter, and return a single value. (guix-lint)[parse-options]: Remove 'arg-handler' parameter from handlers. Remove second seed to 'args-fold*'. * tests/guix-lint.sh: Add test.
* guix lint: Make the 'source' checker happy if at least one URI is valid.Ludovic Courtès2015-01-26
| | | | | | | | Before that it would check all the URIs of each package. * guix/scripts/lint.scm (validate-uri): Really return #f on failure and #t otherwise. (check-source): Replace 'for-each' with 'any'.
* lint: add 'source' checker.Cyril Roelandt2015-01-25
| | | | | * guix/scripts/lint.scm (validate-uri?): New procedure. (%checkers): Add 'source' checker
* lint: Add tests for the 'home-page' checker.Ludovic Courtès2014-12-29
| | | | | | | | | | | | | Suggested by Cyril Roelandt <tipecaml@gmail.com>. * tests/lint.scm (%http-server-port, %http-server-socket, %local-url, stub-http-server): New variables. (http-write, call-with-http-server): New procedures. (with-http-server): New macro. ("home-page: wrong home-page", "home-page: invalid URI", "home-page: host not found", "home-page: Connection refused", "home-page: 200", "home-page: 404"): New tests. * guix/scripts/lint.scm (check-home-page): Export.
* lint: Report on the package being checked.Ludovic Courtès2014-12-28
| | | | | | * guix/scripts/lint.scm (run-checkers): Check whether (current-error-port) is a tty, and print the package being checked and the checker currently running when it is.
* lint: Add 'home-page' checker.Ludovic Courtès2014-12-28
| | | | | | * guix/build/download.scm (open-connection-for-uri): Export. * guix/scripts/lint.scm (probe-uri, check-home-page): New procedures. (%checkers): Add 'home-page' checker.
* lint: Fix typos in checker descriptions.Ludovic Courtès2014-11-19
| | | | | * guix/scripts/lint.scm (%checkers): "file names" (two words), and "synopses" (plural).
* lint: Use localized checker descriptions.Ludovic Courtès2014-11-19
| | | | | * guix/scripts/lint.scm (list-checkers-and-exit): Wrap 'lint-checker-description' call in (_ ...).
* lint: Correctly internationalize warning messages.Ludovic Courtès2014-11-19
| | | | | | | | * guix/scripts/lint.scm (emit-warning): Remove '_' call for format string. (check-description-style, check-inputs-should-be-native, check-synopsis-style, check-patches, check-gnu-synopsis+description): Wrap message in (_ ...).
* lint: Change checker names to be symbols.Ludovic Courtès2014-11-19
| | | | | | * guix/scripts/lint.scm (%checkers): Change 'name' fields to be symbols. (%options): Adjust "-c" option handler accordingly.