]> git.decadent.org.uk Git - dak.git/blob - TODO
sync
[dak.git] / TODO
1                                  TODO
2                                  ====
3
4 ================================================================================
5
6 Actually Urgent
7 ---------------
8
9   o cross-suite version checking
10
11      Priority based; stable == 1, proposed-update == 2, etc.
12
13       i.e. A package targeted for a suite, must have a higher (or
14       equal) version number than anything in a suite with a lower
15       priority and also must have a lower (or equal) version number
16       than anything in a suite with a higher priorty.  The checks are
17       always "or equal to" because two seperate uploads with the same
18       version will fail thanks to the file overwrite errors (at least
19       ignoring potato) and multi-suite uploads (e.g. "stable
20       unstable") need to work.
21
22   o lisa doesn't do the right thing with -2 and -1 uploads, as you can
23     end up with the .orig.tar.gz not in the pool
24
25   o lisa doesn't handle :q! from rejections well at all
26
27   o lisa exits if you check twice (aj)
28
29 More Urgent
30 -----------
31
32   o jenna sucks
33
34   o queued and/or perl on sparc stable sucks
35
36   o aj's bin nmu changes
37
38   o Lisa:
39     * priority >> optional
40     * arch != {any,all}
41     * build-depends wrong (via andrea)
42     * suid
43     * conficlits
44     * notification/stats to admin daily
45     o trap fernanda exiting
46     o distinguish binary only versus others (neuro)
47
48   o change utils.copy to try rename() first
49
50   o cache changes parsed from ordering (careful tho: would be caching
51   .changes from world writable incoming, not holding)
52
53   o katie doesn't recognise binonlyNMUs correctly in terms of telling
54     who their source is; source-must-exist does, but the info is not
55     propogated down.
56
57   o DONE
58
59   o stable installs are FUBAR
60   o clean fingerprint
61   o fix up cron.weekly and/or shania
62
63   o Fix BTS vs. katie sync issues by queueing(via BSMTP) BTS mail so
64     that it can be released on deman (e.g. ETRN to exim).
65
66   o write our own locking module or in some other way fix things so we
67     don't require a patch to python since upstream refuse to fix it.
68  
69   o maintainers file needs overrides  
70  
71     [ change override.maintainer to override.maintainer-from +
72       override.maintainer-to and have them reference the maintainers
73       table.  Then fix charisma to use them and write some scripting
74       to handle the Santiago situation. ]
75
76   o (Depends) <aj> elmo: it should match  \(\s*(<<|<|<=|=|>=|>|>>)\s*<VERSIONREGEXP>\) fwiw
77
78   o Clean up DONE; archive to tar file every 2 weeks, update tar tvzf INDEX file.
79
80   o testing-updates suite: if binary-only and version << version in
81     unstable and source-ver ~= source-ver in testing; then map
82     unstable -> testing-updates ?
83
84   o [Hard] dependency checking (esp. stable) (partially done)
85
86   o hooks for debian specific checks (e.g. check_urgency)
87
88   o Logging [mostly done]
89
90   o Abstraction of suite hardcoding (q.v. progengy)
91
92   o morgue needs auto-cleaning (?)
93
94   o auto-building crap should be optional
95
96 ================================================================================
97
98 Less Urgent
99 -----------
100
101   o reverse of source-must-exist; i.e. binary-for-source-must-not-exist
102   o REJECT reminders in shania.
103   o fernanda should check for conflicts and warn about them visavis priority [rmurray]
104   o store a list of removed/files versions; also compare against them.
105     [but be careful about scalability]
106
107   o fernanda: print_copyright should be a lot more intelligent
108      @ handle copyright.gz
109      @ handle copyright.ja and copyright
110      @ handle (detect at least) symlinks to another package's doc directory
111      @ handle and/or fall back on source files (?)
112
113   o To incorporate from utils:
114      @ unreject
115
116   o katie could vrfy email addresses (?) [errge@]
117   o auto-purge out-of-date stuff from non-free/contrib so that testing and stuff works
118   o doogie's binary -> source index
119   o Add urgency + installed date to the DB for aj/testing (? still needed ?)
120   o jt's web stuff, matt's changelog stuff (overlap)
121
122   o [Hard] Need to merge non-non-US and non-US DBs.
123
124   o experimental needs to auto clean (relative to unstable) [partial: rene warns about this]
125
126   o Do a checkpc(1)-a-like which sanitizes a config files.
127   o fix parse_changes()/build_file_list() to sanity check filenames
128   o saftey check and/or rename debs so they match what they should be
129
130   o Improve andrea.
131   o Need to optimize all the queries by using EXAMINE and building some INDEXs.
132   o Need to enclose all the setting SQL stuff in transactions (mostly done).
133   o Need to finish alyson (a way to sync katie.conf and the DB)
134   o Need the ability to rebuild all other tables from dists _or_ pools (in the event of disaster) (?)
135   o Make the --help and --version options do stuff for all scripts
136
137   o charisma can't handle whitespace-only lines (for the moment, this is feature)
138
139   o generic way of saying isabinary and isadsc. (?)
140
141   o s/distribution/suite/g
142
143   o cron.weekly:
144      @ weekly postins to d-c (?)
145      @ backup of report (?)
146      @ backup of changes.tgz (?)
147
148  * Harder:
149
150     o override checks sucks; it needs to track changes made by the
151       maintainer and pass them onto ftpmaster instead of warning the
152       maintainer.
153     o need to do proper rfc822 escaping of from lines (as opposed to s/\.//g)
154     o when dinstall is run in install mode but not as a cron job, it
155       should probably run jenna to avoid madison originated user confusion
156     o Revisit linking of binary->source in install() in katie.
157     o Fix component handling in overrides (aj)
158     o Fix lack of entires in source overrides (aj)
159     o direport misreports things as section 'devel'
160     o vrfy check of every Maintainer+Changed-By address; valid for 3 months.
161     o binary-all should be done on a per-source, per-architecture package
162       basis to avoid, e.g. the perl-modules problem.
163     o a source-missing-diff check: if the version has a - in it, and it
164       is sourceful, it needs orig and diff, e.g. if someone uploads
165       esound_0.2.22-6, and it is sourceful, and there is no diff ->
166       REJECT (version has a dash, therefore not debian native.)
167     o check linking of .tar.gz's to .dsc's.. see proftpd 1.2.1 as an example
168     o archive needs md5sum'ed regularly, but takes too long to do all
169       in one go; make progressive or weekly.
170     o katie/jenna/rhona/whatever needs to clear out .changes
171       files from p-u when removing stuff superseded by newer versions.
172       [but for now we have halle]
173     o test sig checking stuff in test/ (stupid thing is not modularized)
174     o when encountering suspicous things (e.g. file tainting) do something more drastic
175
176  * Easy:
177
178     o promote changes["changes"] to mandatory in katie.py(dump_vars)
179       after a month or so (or all .katie files contain in the queue
180       contain it).
181     o Rationalize config stuff.. Dir::Foo not Dir::FooDir [breaks other people??] 
182       Also Dir::Queue::Foo, not Dir::QueueFooDir
183     o melanie should behave better with -a and without -b; see
184       gcc-defaults removal for an example.
185     o Reject on misconfigured kernel-package uploads
186     o denise abuses sys.stdout == badly  
187     o utils.extract_component_from_section: main/utils -> main/utils, main rather than utils, main
188     o Fix katie to warn if run when not in incoming or p-u
189     o check for empty debs; check for empty (or small (<1k ?)) .tar.gz's.
190     o katie should validate multi-suite uploads; only possible valid one
191       is "stable unstable"
192     o cron.daily* should change umask (aj sucks)
193     o Rene doesn't look at debian-installer but should.
194     o Rene needs to check for binary-less source packages.
195     o Rene could accept a suite argument (?)
196     o run shania every day (?) [ryan]
197     o we don't check for .orig.tar.gz's, so it's possible to upload -2 with no .orig.tar.gz.
198     o byhand stuff should send notification
199     o catherine should udpate db; move files, not the other way around [neuro]
200     o melanie should update the stable changelog [joey]
201     o update tagdb.dia
202   
203  * Bizzare/uncertain:
204    
205     o validate source consistency, i.e. .dsc and .tar.gz as minimum (??)
206     o Rene also doesn't seem to warn about missing binary packages (??)
207     o jenna should not delete things because they don't exist (?)
208     o logging: hostname + pid ?
209     o ANAIS should be done in katie (?)
210     o Add an 'add' ability to melanie (? separate prog maybe)
211     o Replicate old dinstall report stuff (? needed ?)
212     o Handle the case of 1:1.1 which would overwrite 1.1 (?)
213     o maybe drop -r/--regex in madison, make it the default and
214       implement -e/--exact (a la joey's "elmo")
215   
216  * Cleanups & misc: 
217    
218     o db_access' get_files needs to use exceptions not this None, > 0, < 0 return val BS (?)
219     o The untouchable flag doesn't stop new packages being added to ``untouchable'' suites
220     o jenna is too slow
221     o jenna doesn't handle arch: any -> arch: all transitions 
222       [aj worked around; need to revisit]
223
224  * Stable:
225
226 <neuro> well, there's one other thing that doesn't work so well
227 <neuro> you probably should have stable_install ignore Closes:
228 <neuro> or it might be unique to the case of stable unstable uploads
229
230 ================================================================================
231
232 Packaging
233 ---------
234
235   o Fix stuff to look in sensible places for libs and config file in debian package (?)
236
237 ================================================================================