lintian/private/TODO

100 lines
3.7 KiB
Plaintext

This is a collection of work to do in Lintian that isn't a bug fix or a
simple requested new check. Use the BTS for those since they're more
public and so that other people know things have already been requested.
This is intended for more internal use to track code restructurings,
infrastructure work, needed cleanups, or larger tasks.
Tasks here are sorted roughly by the directory structure of Lintian where
that makes sense so that we don't just have one long list. Patches for
any of this is welcome, but please discuss on the mailing list first
before you do lots of work since the maintainers may have specific ways
they want it to be done.
If someone is actively working on something, note their name in square
brackets at the beginning. If someone is noted, coordinate with them
before working on this.
checks:
- Move all static keyword lists into files in data.
- Separate doc-base checks out of checks/menus (or, probably easier,
rename checks/menus to checks/doc-base and separate out the few bits
that are actually about menus).
- Go through all tags and make sure that any that should have Policy
references have them, and more generally that appropriate references are
present. (Need some way to track this sort of regular tag maintenance.)
- Check current tag severities against the results from lintian.d.o and
adjust.
doc:
- Either update doc/CREDITS based on the changelog file or archive it
somewhere and say that it's not going to be updated.
- Update the Lintian manual:
+ document visibility
+ document other output formats
+ document the reporting framework
+ developer documentation of the test suite, submitting patches, etc.
frontend:
- Nearly everything in frontend/lintian that isn't command-line parsing is
really begging to be a module. Move code out of here and into modules
as part of rewriting the non-namespace modules in lib, such as Lab.pm
which should acquire more the laboratory handling from frontend/lintian,
and Checker.pm, which should acquire most of the smarts of the main
frontend/lintian checking loop.
lib:
- Finish documentation of Lintian::Output*.
- Add collect function to return the sort of symlink information that's
currently gathered by checks/menus; we'll find other uses for it.
- Provide a utility function to check a command as currently done in
checks/menu-format, after which we could split desktop checking and menu
checking into two separate check scripts.
private:
- Provide a general framework for updating metadata about the archive and
modify all of the private/refresh-* scripts to use it. Also set up
something in debian/rules that will run all of them and update data
accordingly which can be done routinely before every release.
reporting:
- Replace the template framework with template-toolkit.
t:
- Write new-style test cases for everything tested by the legacy test suite
and retire the "legacy" tests.
- Go through t/tests/legacy-libbaz/debian/debian/rules and make sure
all TODO's are lintian-detected.
- udebs are generally undertested right now and could use some general
tests, particularly for things that we don't care about with udebs but
do care about with regular packages.
General:
- Write a real parser for shell scripts that can at least tokenize them
half-way decently, do some basic analysis of whether code is conditional
or not, and provide reasonable answers to questions like "is this
command called in the script" without heinous regex matches. Replace
all the ugly, ad hoc script parsing code elsewhere in Lintian with that
parser. This is #629247.
External:
- Set up system for automatically filing bugs based on specific lintian
tags (the most reliable ones), with usertags to ensure the bugs aren't
repeatedly filed.