Hi all, I've been working on pkglint(1) for a while, and think it's probably time the code got some more exposure - I'd appreciate a code review if anyone has a chance?
It's probably worth reading the man page first, http://cr.opensolaris.org/~timf/pkglint-webrev-1/raw_files/new/src/man/pkglint.1.txt I've got a webrev of the changes at http://cr.opensolaris.org/~timf/pkglint-webrev-1/ along with a sample pkglint session, running it against the entire /dev repository at: http://cr.opensolaris.org/~timf/pkglint-session-nv_144.txt This took about 1h 30m to run on my lab machine (a single-socket 2.6ghz x2200), processing ~3000 packages with the manifests pre-cached in a local user-image. A run against a recent file-based ON nightly redist repository on my desktop (a 1.6ghz Atom 330 box) took just under 10 minutes, processing ~700 packages. I believe some of the checks are excessively wordy: the one checking for ancestor packages for legacy actions in particular may need a gagging order, but I've done my best to make the output readable. At the moment, I've implemented 23 different types of checks - mostly distro-agnosic, but have a few OpenSolaris-specific checks included. I've not written the part of the framework to check file content yet though the stubs are there. In the meantime, I have some more unit tests to write, particularly around CLI usage, verifying we're doing the right thing with repositories and I'd also like to enhance the api tests for the lint engine, and associated checks. With more time, it'd be nice to see if I could parallelize some of the checking, but I'd be happier getting the single-threaded version working and putback first. Comments welcome, cheers, tim _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
