Evil new incoming! ================== To recheck in kate: o source still exists - code o in override - code o binary version >> current - code o binary file not in archive - code o source version >> current - code o source file not in archive - code o md5sum/size mismatch - code TO CHECK: -=-=-=-=- (o) unchecked (jennifer): o - accept 'runs' o - new 'runs' o - new dependent 'runs' o - byhand 'runs' o - byhand dependent 'runs' o - new + byhand 'runs' o - new + byhand dependent 'runs' o - reject 'runs' (o) byhand (lisa): o - accept 'runs' o - accept dependent 'runs' o - reject 'runs' (o) new (lisa): o - accept 'runs' o - accept dependent 'runs' o - reject 'runs' o - byhand 'runs' (o) accepted (katie): o - accept 'runs' o - unaccept code TODO: -=-=- o DONE [Final stuff] ------------ [Can be done later] ------------------- o when encountering suspicous things (e.g. file tainting) do something more drastic o test the REJECT paranoia stuff (katie.force_move()) o Go through each check validate in new setup o still not good crash-handling behaviour, too often end up with bogus rejects afterwards... o stable installs are FUBAR ========================================================================== To fix ====== More Urgent ----------- o Fix BTS vs. katie sync issues by queueing(via BSMTP) BTS mail so that it can be released on deman (e.g. ETRN to exim). o write our own locking module or in some other way fix things so we don't require a patch to python since upstream refuse to fix it. o test sig checking stuff in test/ o katie/jenna/rhona/whatever needs to clear out .changes files from p-u when removing stuff superseded by newer versions. o maintainers file needs overrides [ change override.maintainer to override.maintainer-from + override.maintainer-to and have them reference the maintainers table. Then fix charisma to use them and write some scripting to handle the Santiago situation. ] o katie can loop on rejects if target's exist in REJECT... o (Depends) elmo: it should match \(\s*(<<|<|<=|=|>=|>|>>)\s*\) fwiw Less Urgent ----------- * Harder: o reverse of source-must-exist; i.e. binary-for-source-must-not-exist o fernanda should check for conflicts and warn about them visavis priority [rmurray] o REJECT reminders in shania. o Clean up DONE; archive to tar file every 2 weeks, update tar tvzf INDEX file. o override checks sucks; it needs to track changes made by the maintainer and pass them onto ftpmaster instead of warning the maintainer. o need to do proper rfc822 escaping of from lines (as opposed to s/\.//g) o when dinstall is run in install mode but not as a cron job, it should probably run jenna to avoid madison originated user confusion o Revisit linking of binary->source in install() in katie. o Fix component handling in overrides (aj) o Fix lack of entires in source overrides (aj) o direport misreports things as section 'devel' o vrfy check of every Maintainer+Changed-By address; valid for 3 months. o binary-all should be done on a per-source, per-architecture package basis to avoid, e.g. the perl-modules problem. o a source-missing-diff check: if the version has a - in it, and it is sourceful, it needs orig and diff, e.g. if someone uploads esound_0.2.22-6, and it is sourceful, and there is no diff -> REJECT (version has a dash, therefore not debian native.) o check linking of .tar.gz's to .dsc's.. see proftpd 1.2.1 as an example o archive needs md5sum'ed regularly, but takes too long to do all in one go; make progressive or weekly. * Easy: o Rationalize config stuff.. Dir::Foo not Dir::FooDir [breaks other people??] o melanie should behave better with -a and without -b; see gcc-defaults removal for an example. o Reject on misconfigured kernel-package uploads o denise abuses sys.stdout == badly o utils.extract_component_from_section: main/utils -> main/utils, main rather than utils, main o Fix katie to warn if run when not in incoming or p-u o check for empty debs; check for empty (or small (<1k ?)) .tar.gz's. o katie should validate multi-suite uploads; only possible valid one is "stable unstable" o cron.daily* should change umask (aj sucks) o Rene doesn't look at debian-installer but should. o Rene needs to check for binary-less source packages. o Rene could accept a suite argument (?) o run shania every day (?) [ryan] o we don't check for .orig.tar.gz's, so it's possible to upload -2 with no .orig.tar.gz. o byhand stuff should send notification o catherine should udpate db; move files, not the other way around [neuro] o melanie should update the stable changelog [joey] * Bizzare/uncertain: o validate source consistency, i.e. .dsc and .tar.gz as minimum (??) o Rene also doesn't seem to warn about missing binary packages (??) o jenna should not delete things because they don't exist (?) * Cleanups & misc: o db_access' get_files needs to use exceptions not this None, > 0, < 0 return val BS (?) o The untouchable flag doesn't stop new packages being added to ``untouchable'' suites o jenna is too slow o jenna doesn't handle arch: any -> arch: all transitions [aj worked around; need to revisit] * Stable: well, there's one other thing that doesn't work so well you probably should have stable_install ignore Closes: or it might be unique to the case of stable unstable uploads =================================================================================================== TODO ==== More Urgent ----------- o testing-updates suite: if binary-only and version << version in unstable and source-ver ~= source-ver in testing; then map unstable -> testing-updates ? o [Complexish] Secure incoming handling o [Hard] dependency checking (esp. stable) (partially done) o hooks for debian specific checks (e.g. check_urgency) o Logging [mostly done] o Abstraction of suite hardcoding (q.v. progengy) o morgue needs auto-cleaning Packaging --------- o Install python libraries (db_access and utils) o Install config file o Fix stuff to look in sensible places for libs and config file in debian package (?) o man pages and/or documentation Less Urgent ----------- o store a list of removed/files versions; also compare against them. be careful about scalability. o fernanda: print_copyright should be a lot more intelligent @ handle copyright.gz @ handle copyright.ja and copyright @ handle (detect at least) symlinks to another package's doc directory @ handle and/or fall back on source files? @ check only NEW packages out of a source package with some NEW, some old @ check latest version if given multiples! o To incorporate from utils: @ unreject @ genreport @ reject @ newchanges o logging: hostname + pid ? o katie could vrfy email addresses (?) [errge@] o auto-purge out-of-date stuff from non-free/contrib so that testing and stuff works o doogie's binary -> source index o ANAIS should be done in katie (?) o Add an 'add' ability to melanie (? separate prog maybe) o Add urgency + installed date to the DB for aj/testing (? still needed ?) o jt's web stuff, matt's changelog stuff (overlap) o [Hard] Need to merge non-non-US and non-US DBs. o experimental needs to auto clean (relative to unstable) [warns in rene about this] o Do a checkpc(1)-a-like which sanitizes a config files. o fix parse_changes()/build_file_list() to sanity check filenames o saftey check and/or rename debs so they match what they should be o Improve andrea. o Need to optimize all the queries by using EXAMINE and building some INDEXs. o Need to enclose all the setting SQL stuff in transactions (mostly done). o Need to finish alyson (a way to sync katie.conf and the DB) o Need the ability to rebuild all other tables from dists _or_ pools (in the event of disaster) (?) o Make the --help and --version options do stuff for all scripts o Need to check for .dsc when source is mentioned o charisma can't handle whitespace-only lines (for the moment, this is feature) o Should use $EDITOR, not hardcode vi o Should reject packages with bad timestamps o Replicate old dinstall report stuff (? needed ?) o Handle the case of 1:1.1 which would overwrite 1.1 (?) o generic way of saying isabinary and isadsc. (?) o s/distribution/suite/g o cron.weekly: @ weekly postins to d-c (?) @ backup of report (?) @ backup of changes.tgz (?)