-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Wed, 21 Apr 2004 22:39:58 +1000 Source: linda Binary: linda Architecture: source all Version: 0.3.0 Distribution: unstable Urgency: low Maintainer: Steve Kowalik <stevenk@debian.org> Changed-By: Steve Kowalik <stevenk@debian.org> Description: linda - Debian package checker, not unlike lintian Closes: 196121 196968 200424 202433 206461 218839 223021 224422 224671 226519 226713 226927 227162 229899 230589 231189 231244 232503 234607 244773 Changes: linda (0.3.0) unstable; urgency=low . * Rethink, and redesign the core of Linda. - Have 4 objects as the core. + Linda object, which initizalies, and calls everything else. + CLParser object, which parses the command line. + Checker object, which unpacks and checks the files. + Output object, which spits out the errors and warnings. - Use gettext to look up from tags to descriptions. This has the benefit that I no longer care about $LANG, and as such, can just let Linda worry about the Gettext binddomain. This also means the .desc format has changed, which will be warned about. - The above also means I have renamed .desc files to .data files, and have also made them install underneath /usr/share/linda/data instead. * Documentation: - Document the (previously undocumented) quiet (-q) option. + Specifying it will stop Linda crying about checks or output methods failing. * Control file: - Build-Depend and Depend on python (>> 2.3.1), python (<< 2.4); I use some features only found in 2.3.1. - Conflict against file 4.04, since it incorrectly identifies scripts as 'ASCII English text'. - Remove po-debconf from the Build-Depends, I don't use it in the build process any longer. - Remove fixincludes from Depends. * Option parsing: - No longer use opt{ik,parse}. - Added a config file (in ~/.linda/config), so you can specify long options in there instead of always on the command line. - Drop -I, --information. - Move --show-tag away from -t, to -s. Actually document it. - Add -t, --types, which allows you to specify which types to show. * Remove the common module. Its continued existance was really getting to me. * Move around some code, or create afresh: - Checker: Is now responsible for unpacking and running the checks, rather than the main linda script. - Collector: Mainly ripped out of Unpack, it runs file, ldd and objdump. Has also been rewritten. - ErrPrint: Ripped out of Checks, since running the checks, and printing what you found are two seperate problems. - Debug: Contains some debug functions. Moved from common. - Funcs: Contains useful functions. Moved from common. - Libchecks: Rename from checks. - MyGettext: Builds on the gettext module, so I can fall back to en.po with very little fuss. - Parsers: + parser.arch - Parses out the supported arches from dpkg-architecture. + parser.changes - .changes file parser + parser.clparser - Command line parser. + parser.config - Config file parser. + parser.control - Debian control file parser. + parser.data - .data file parser. + parser.datavalidator - Replaces the badly named aps_not_valid function provided by common. + parser.dsc - .dsc file parser. + parser.makefile - Makefile parser. (Closes: #202433) + parser.rfc822parser - Generalized RFC822 file parser. + parser.template - Templates file parser. + parser.unixperm - Moved from convert_perms in common, parses unix permissions into an object so checks can call is_* methods on them. * Add automated testing to Linda. - It has been a long time coming, but it should hopefully allow me to stop introducing stupid bugs. (BEING DONE) * DpkgVer: - Fix a bug where it thought that DpkgVersion objects with the same version were equal, and didn't bother comparing the revisions. * All Checks: - Reorganised to call functions of themselves, rather than doing all the work in the main functions, and apply a layer of "polish". - Added support for a hook in the initialzation of a checks class. Adding an init() method to a check class will enable it to do some setup that is normally required in __init__(). * Output Formats: - Add support for a initialzation hook, like for checks. * XML Output Format: - Remove; it never really worked anyway. * Binary Check: - Greatly reorganise code flow, and group like checks together. - Drop binary-in-usr-share-doc, it's handled by binary-in-doc-dir. - Actually check if a file is considered to be for debugging before bitching in binary-libc6, static-binary and shared-binary. (Closes: #230589) * CDBS Check: - New; check how a package uses CDBS. (Closes: #196968, #200424, #229899) * Changelog Check: - Make use of the DataValidator object. - Drop native-changelog-not-compressed, it's handled by non-compressed-changelog. - Stop duplicating code when setting the changelog. - Deal with NMU versions. (Closes: #223021) * Changes Check: - Use init() to create variables. - Make use of ChangesParser, rather than doing it all by hand. - Also use DataValidator. - Rename obselete-dist to obsolete-dist. * Control Check: - Also use DataValidator. - Don't check Build-Depends in a binary check. - Drop description-ends-with-fullstop, the check is not mandated by Policy. (thanks, Manoj Srivastava) - Also drop build-dep-with-no-dep-pkgs. Build-Depends are needed for the clean target. (Closes: #224422) - Reference Policy, section 3.4 for ex-desc-contains-desc. (Closes: #244773) * ControlFiles Check: - Act more like a class, use init() to create variables. - Stop chdir'ing into ./control, and just use self.information['dir'] like normal checks do. - Use run_external_cmd, instead of commands.getstatusoutput(). - Rewrite the things_found part to dynamically look for things in maintainer scripts, rather than using 8 if constructs. - Drop some checks to just using some regexs, rather than 2 or 3 string.find() methods. - Only look for strings in the maintainer scripts if they are a script. - Shift the update-rc.d checking to things_found, so that the maintainer scripts are only parsed once. * Copyright Check: - New; pulled out of Files Check, and rewritten into shape. * Debconf Check: - Stop parsing templates manually, and use DebconfTemplateParser. - Rename unsufficent-version-multi to debconf-insufficient-version. - Generalize the check for multiselect, and extend it to work with checking for a recent enough dependancy on debconf for the title field. Also accept that Title is a valid field. (Closes: #226927, #234607) - Only complain about not purging answers from the debconf database if control/templates exists. (Closes: #226519, #226713) * Debhelper Check: - Substantially rewrite. - Use the new MakefileParser. - Use Sets, rather than comparing arrays. - Use a class-level hash, rather than local variables everywhere. * Documentation Check: - Call lexgrog instead of groff. - Handle 'groff-symlinks'. (Closes: #231189) - Add two new checks, for doc-base files. (Closes: #196121) + Verify that the file exists for the Index field. + Verify that the shell pattern for the Files field expands to a non-empty list. + Complain if the Format is HTML, and there is no Files field. (thanks, Angus Lees) * Dpkg Check: - Use run_external_cmd. * Files Check: - Also use run_external_cmd. - Drop interp-minus-n-fails and script-not-executable, I really don't see what benefit running dash -n, or checking whether or not a script is executable gains us. (Closes: #206461) - Check that the permissions of .ali files are -r--r--r--. (Closes: #227162) - Deal with symlinks for zero-length-file. (Closes: #224671) - Drop upstream install documentation check. (Closes: #231244) * Includes Check: - Remove. Any case to reinstate this check should explain why, and also give some actual examples that cause it to bitch. * Library Check: - Substantially rewrite to not act completly and utterly brain-dead. - When I get enough testcases for package-notlike-soname, it's type will be raised to Warning. * Perl Check: - Rewrite to be a class-y check, and to use an object-wide self.info. - Drop arch-indep-no-dep, and rename arch-dep-no-dep to module-pkg-no-perl-dep. - Rename perl-dep-no-great-enough to perl-dep-not-great-enough. - Correct spelling of arch-dep-should-be-u-l-p. (Closes: #218839) - Deal with (and warn about) unversioned dependancies on perl{,-base}. (Closes: #232503) * Shebang Check: - Rewrite to actually look sane. - Rewrite code around script-depends to look and act sane. - Correct spelling of 'detrimental' in csh-harmful. * StandardsVersion Check: - Rewrite to work dynamically around a self.standards_versions dict which contains the 3 border values. - Use Sets to check for the existance of the Build-{Depends,Conflicts} fields. * UDebBinary Check: - Add a doc-string. - Rewrite the directory tests to be dynamic. * UDebControl Check: - Implement invalid-control-header and invalid-control-file from #231292. This doesn't close the bug, since it requires knowing if a field in the control file uses a pipe symbol, which the parser can't currently handle. Files: a2a6eafb9ec6b798c0d37cd96ca40a1c 528 devel optional linda_0.3.0.dsc d6bcb6bd20e38c80387a97e411f1f183 608235 devel optional linda_0.3.0.tar.gz d9459b4e46db2ece26dcbff0c6266bf2 124450 devel optional linda_0.3.0_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAhm2uCfB0CMh//C8RAqt1AJ0dN8BrUjcD5a2H1REPeWVYhO0UmwCfahfR NlGC4SeWtOu+qkDl0A6ijuc= =49Hz -----END PGP SIGNATURE----- Accepted: linda_0.3.0.dsc to pool/main/l/linda/linda_0.3.0.dsc linda_0.3.0.tar.gz to pool/main/l/linda/linda_0.3.0.tar.gz linda_0.3.0_all.deb to pool/main/l/linda/linda_0.3.0_all.deb -- To UNSUBSCRIBE, email to debian-devel-changes-REQUEST@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org