On Thu, Mar 3, 2016 at 9:43 PM, Adrien Vergé wrote: > yamllint - A linter for YAML files
Since I am interested in more static analysis and linting tools for check-all-the-things I'm willing to sponsor this, but only in return for a patch for check-all-the-things adding support for any one of the tools with TODO comments or checks flagged todo. https://anonscm.debian.org/cgit/collab-maint/check-all-the-things.git/tree/data/ In addition, you may want to submit pull requests to the linters and git-lint repos to advertise yamllint more widely and get it supported by git-lint. https://github.com/mcandre/linters https://github.com/sk-/git-lint Some thoughts about yamllint while you consider my offer: The package fails to build in a clean chroot, see below for the log. Since you are upstream, you may want to read our guide for upstreams: https://wiki.debian.org/UpstreamGuide Please sign your tags, commits and releases using OpenPGP and have uscan verify them tarball signatures. http://mikegerwitz.com/papers/git-horror-story https://wiki.debian.org/debian/watch#Cryptographic_signature_verification https://wiki.debian.org/Creating%20signed%20GitHub%20releases https://help.riseup.net/en/security/message-security/openpgp/best-practices debian/copyright has unknown@unknown as your email address. Did you really mean for the license for debian/ to be different to the rest of the code? debian/copyright says GPL-2+ for it but GPL-3+ for the rest. The Standards-Version in debian/control is out of date, please read the upgrading guide and bump it: https://www.debian.org/doc/debian-policy/upgrading-checklist Please uncomment the Vcs-* fields and point them at the VCS for the Debian packaging. It seems that is at github too: https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-VCS-fields https://github.com/adrienverge/yamllint/tree/packaging/packaging/debian/ You may want to wrap-and-sort the debian meta-data for easier to read diffs. My favourite command is: wrap-and-sort --short-indent --wrap-always --sort-binary-packages --trailing-comma --verbose Please add some upstream metadata: https://wiki.debian.org/UpstreamMetadata You may want to add some DEP-8 tests: http://dep.debian.net/deps/dep8/ Automatic checks: build warning: build_py: byte-compiling is disabled, skipping. dh_auto_test -O--buildsystem=pybuild I: pybuild base:184: cd /build/yamllint-1.0.3/.pybuild/pythonX.Y_3.5/build; python3.5 -m nose tests .....................................................................................................................................E..... ====================================================================== ERROR: Failure: FileNotFoundError ([Errno 2] No such file or directory: 'tests/yaml-1.2-spec-examples') ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python3/dist-packages/nose/failure.py", line 39, in runTest raise self.exc_val.with_traceback(self.tb) File "/usr/lib/python3/dist-packages/nose/loader.py", line 418, in loadTestsFromName addr.filename, addr.module) File "/usr/lib/python3/dist-packages/nose/importer.py", line 47, in importFromPath return self.importFromDir(dir_path, fqname) File "/usr/lib/python3/dist-packages/nose/importer.py", line 94, in importFromDir mod = load_module(part_fqname, fh, filename, desc) File "/usr/lib/python3.5/imp.py", line 234, in load_module return load_source(name, filename, file) File "/usr/lib/python3.5/imp.py", line 172, in load_source module = _load(spec) File "<frozen importlib._bootstrap>", line 693, in _load File "<frozen importlib._bootstrap>", line 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 662, in exec_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed File "/build/yamllint-1.0.3/.pybuild/pythonX.Y_3.5/build/tests/test_spec_examples.py", line 124, in <module> files = os.listdir('tests/yaml-1.2-spec-examples') FileNotFoundError: [Errno 2] No such file or directory: 'tests/yaml-1.2-spec-examples' ---------------------------------------------------------------------- Ran 139 tests in 7.107s FAILED (errors=1) E: pybuild pybuild:274: test: plugin distutils failed with: exit code=1: cd /build/yamllint-1.0.3/.pybuild/pythonX.Y_3.5/build; python3.5 -m nose tests dh_auto_test: pybuild --test --test-nose -i python{version} -p 3.5 --dir . returned exit code 13 debian/rules:4: recipe for target 'build' failed ... /build/yamllint-1.0.3# find -iname *1.2* ./tests/yaml-1.2-spec-examples lintian W: yamllint source: out-of-date-standards-version 3.9.6 (current is 3.9.7) P: yamllint source: debian-watch-may-check-gpg-signature check-all-the-things: $ duck E: debian/copyright:6: Email: unknown@unknown: ERROR (Certainty:possible) unknown@unknown: No MX entry found. unknown@unknown: No A entry found. unknown@unknown: No AAAA entry found. $ fdupes -q -r . | grep -vE '/(\.(git|svn|bzr|hg|sgdrawer)|_(darcs|FOSSIL_)|CVS)(/|$)' | cat -s ./tests/rules/__init__.py ./tests/__init__.py ./.pc/applied-patches ./tests/yaml-1.2-spec-examples/example-5.5 ./tests/yaml-1.2-spec-examples/example-5.1 ./tests/yaml-1.2-spec-examples/example-8.11 ./tests/yaml-1.2-spec-examples/example-8.10 ./PKG-INFO ./yamllint.egg-info/PKG-INFO # check if these can be switched to https:// $ grep -rF http: . ./tests/test_linter.py:# along with this program. If not, see <http://www.gnu.org/licenses/>. ./tests/test_config.py:# along with this program. If not, see <http://www.gnu.org/licenses/>. <lots> $ find -type d \( -iname .bzr -o -iname .git -o -iname .hg -o -iname .svn -o -iname CVS -o -iname RCS -o -iname SCCS -o -iname _MTN -o -iname _darcs -o -iname .pc -o -iname .cabal-sandbox -o -iname .cdv -o -iname .metadata -o -iname CMakeFiles -o -iname _build -o -iname _sgbak -o -iname autom4te.cache -o -iname blib -o -iname cover_db -o -iname node_modules -o -iname '~.dep' -o -iname '~.dot' -o -iname '~.nib' -o -iname '~.plst' \) -prune -o -type f ! \( -iname '*.bak' -o -iname '*.swp' -o -iname '#.*' -o -iname '#*#' -o -iname 'core.*' -o -iname '*~' -o -iname '*.gif' -o -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' -o -iname '*.min.js' -o -iname '*.js.map' -o -iname '*.js.min' -o -iname '*.min.css' -o -iname '*.css.map' -o -iname '*.css.min' \) -exec spellintian --picky {} + ./tests/yaml-1.2-spec-examples/example-2.3: american -> American ./catt: python -> Python ./docs/quickstart.rst: python -> Python ./docs/Makefile: latex -> LaTeX ./yamllint/rules/line_length.py: splitted -> split ./yamllint/rules/empty_lines.py: serie -> series $ grep -riE 'fixme|todo|hack|xxx|broken' . ./yamllint/cli.py: # TODO: read from stdin when no filename? -- bye, pabs https://wiki.debian.org/PaulWise

