Update Swedish translation.
[dpkg.git] / TODO
blob84693f77886e8688d17e26935bd9c20a526a2e1d
1 RoadMap
2 =======
4   <http://wiki.debian.org/Teams/Dpkg/RoadMap>
6 TODO
7 ====
9 1.15.x (squeeze)
10 ~~~~~~
12  * Review this file and remove or update the old entries.
14  * Look for FIXME and XXX items in the source.
16  * Triage as much bugs as possible to get the bug count below 300 ;) and
17    merge as much patches as possible.
19  * Create dedicated manual pages for .changes and .dsc documenting the
20    format of the files. (deb-foo might not be apprioriate as those are
21    not inside of the .deb file, but changes(5) seems too generic.)
22    Explain that backwards incompatible change involve a major version bump
23    (1.x => 2.x) while minor version bump will be used for backwards
24    compatible extension (e.g. new fields).
26  * Make dpkg bootstrappable.
28  * Code cleanup:
29    - Get rid of static variables inside functions.
30    - Coalesce admindir / infodir / foodir generation.
31    - Get rid of setjmp (at least in the general case, keep for dpkg itself?)
32    - Coalesce hash and checksum functions.
33    - Split modstatdb_rw into mode and flags.
34    - Move fd function out of mlib.
35    - Cleanup status chars -> strings hardcoded mappings all over the place.
36      (Fix tied field enum with its dselect description (pkgdisplay.cc))
37    - Refactor src/processarc.c.
38    - Make sure all vsnprintf callers are checking the return value, as the
39      system version will not ohsite on us.
40    - Fix naming consistency of next/prev members.
41    - Split dpkg.h into independent headers.
42    - Do more unused header include removal.
43    - Add needed includes to all header files.
44    - Get rid of unuseful "unsigned" modifiers.
45    - Use internerr instead of assert, and print more meaninful messages.
46    - Make actionfunction return int, and avoid global exitcode variables.
47    - Move ACTION and OBSOLETE, etc to ‘myopt.h’.
48    - Use max/min in dselect instead of lesserint/greaterint.
49    - Refactor packageslump into generic code.
50    - Refactor subprocess execution (argument building etc).
51    - Replace raw write and read calls with safe variants (signals etc).
52    - Fix compress_type being shadowed.
53    - Fix stat variables being shadowed (bugs!!).
54    - Make deb build version a version instead of doing checks over a string.
55    - Use enums for currently hardcoded literals (tdus, dependtry, etc).
57  * Cleanup libcompat:
58    - Add fnmatch, IRIX5 doesn't have it.
60  * Man pages:
61    - Add example to dpkg-scanfoo manpages?
62    - Merge synopsis lines in dpkg-triggers.
63    - Check all '<>' use bold instead.
64    - Check all command vs action.
65    - Check usage of '|' instead of ', '.
66    - Check position of short option before long option.
67    - Use [option...] instead of [options] and friends?
68    - Fix dpkg man page, refs to dpkg-deb and dpkg-split, etc.
69    - Fix «commandline» vs «command line».
70    - Fix «.  ».
72  * L10n:
73    - Standardize translated error messages in the perl code to avoid useless
74      work for translators.
75    - Check http://d-i.alioth.debian.org/spellcheck/level5/index.html
77  * Discuss and implement
78    http://www.hadrons.org/~guillem/debian/docs/origin.proposal
80  * Deprecate --force-not-root flag (remove modstatdb_rw rootneeded flags).
82  * Test and reenable --command-fd.
84  * Check --no-act for log_action().
86  * Add non-regression tests for Dpkg::Source::*
88  * Add UTF-8 support to all programs.
90  * Allow packages to register additional files, declare ownership of files for
91    dpkg -S and -L without having dpkg act on this (.psuedolist?).
93  * Make dpkg-checkbuilddeps easier to use by other programs such as pbuilder
94    or sbuild, so that they can start using the new architecture wildcards
95    automatically.
96    - Support for output format. (#214566)
98  * Remove conffile background support? (#38334)
100  * Propagate --admindir to programs run from maintainer scritpts. (#97076)
102  * Fix conflicting action -%c, when short is 0.
104  * We should set our own obstack_alloc_failed_handler.
106 1.16.x (squeeze + 1)
107 ~~~~~~
109  * Remove compatibility symlinks
110    /usr/sbin/{update-alternatives,dpkg-divert,dpkg-statoverride}.
111  * Remove install-info wrapper.
114 ------------------------------------------------------------------------------
116 Old TODO entries from Scott:
118 start-stop-daemon
119 * capabilities support
120 * don't close FD's
122 dpkg
123 * allow external program to specify how to handle conffiles
124 * try to remove directories again after removing conffiles
125 * verify Enhances works (ie don't trigger some assertion)
126 * add test to see if a file should really be installed and optionally
127   skip it
128 * dpkg --call-maint-script=<script> --maint-script-arg=<arg>
129   --maint-script-arg=<arg> <pkg> <pkg>
130     dpkg will not allow <script> to be one of {pre,post}{inst,rm}.  Only
131     unknown scripts can be called this way.  dpkg will also not keep track
132     of any state for these scripts.
134 Fix:
135 <joeyh_> package a conflicted with old versions of package b. package b
136       conficted with old versions of package a. I had the old versions of both
137       installed, and told dpkg to install the new versions of a and b
138       simulantaneously. It refused.
140 dselect:
141 * support Enhances
143 ------------------------------------------------------------------------------
145 Old TODO entries from IWJ:
147 Here are some currently-known inadequacies:
149 urgent
150  * Conflicts << installation ordering
151  * Version numbers in pre-depends stuff
152  * Search for all pre-depends things at once, bomb out if any not found
153  * _always_ show section in --yet-to-unpack
154  * automatically do --yet-to-unpack in installation methods
155  * check depending packages when installing new version.
156  * Several things ought to be configurable but aren't.
157  * Filenames containing newlines.  Conffile names containing spaces.
158  * dpkg --status for virtual packages
159  * openpgp signatures in the package archive
161 other stuff unlikely to get done soon
162  * Automatically remove <file>.gz if <file> can't be found ? and maybe,
163    remove <file> if <file.gz> can't be found? Big mess when we start
164    thinking about bz2 :/
165  * Local version number (using non-numeric epoch, perhaps, or better yet,
166    a --local option in dpkg, so that it marks this package as a local install
167    (when running dpkg -i)? Keeps it from being listed as obsolete, and maybe
168    from being considered for auto-upgrades (apt-get needs to know about this
169    too)
170  * Filename field generated by --record-avail 
171  * understand Replaces in dselect
172  * diversions list as control archive entry
173  * single maintainer script, and new package getting there first
174  * local conffiles, aswell as local files that dpkg should check before
175    overwriting
176  * hooks
177  * dselect per-half focus and keybindings improvements.
178    !missing bug report #1555!
180  * floppy map (where are the files)
181  * how to change case of package names
182  * `fake' or `null' packages
183  * dpkg --query | -Q