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.