]> err.no Git - dpkg/blob - TODO
Merge commit 'err.no/master'
[dpkg] / TODO
1 ROADMAP
2 =======
3
4 lenny
5 ~~~~~
6
7  * Review this file and remove or update the old entries.
8
9  * Triage as much bugs as possible to get the bug count below 300 ;) and
10    merge as much patches as possible.
11
12  * Remove Conflicts on dpkg-dev exact versions before the release.
13
14 1.14.x
15 ------
16
17  * Make dpkg bootstrappable.
18
19 1.14.y
20 ------
21
22  * Code cleanup:
23    - Coalesce status_pipe handling.
24    - blankfoo embedded code.
25    - static variables inside functions.
26    - Coalesce admindir / infodir / foodir generation.
27    - Get rid of setjmp (at least in the general case, keep for dpkg itself?)
28    - Coalesce hash and checksum functions.
29    - Move parseerr arguments into a struct.
30    - Move fd and block function out of mlib.
31    - Cleanup status chars -> strings hardcoded mappings all over the place.
32      (Fix tied field enum with its dselect description (pkgdisplay.cc))
33    - Refactor src/processarc.c.
34    - Make sure all vsnprintf callers are checking the return value, as the
35      system version will not ohsite on us.
36
37  * Cleanup libcompat:
38    - Add fnmatch, IRIX5 doesn't have it.
39    - Add strnlen (GNU extension).
40    - Cut lib/compat.c into little pieces and move them here.
41
42  * Add Wig&Pen source package generation support.
43
44  * Get rid of install-info.
45
46  * Add multiarch support.
47
48  * Merge debconf support (add new status).
49    - dpkg --reconfigure <pkg> <pkg>
50      <pkg>.postinst reconfigure <ver>
51      Fail if pkg is not in the configured state.
52    - Merge dpkg-reconfigure.
53
54  * Merge dpkg-cross functionality.
55
56  * Merge dpkg-sig?
57
58  * Start exposing libdpkg.
59    - Split dpkg.h into dpkg-priv.h.
60    - Add needed includes to all header files.
61
62  * Add example to dpkg-scanfoo manpages?
63
64  * The cleverer conffile support bug fixed.
65
66  * Add UTF-8 support to all programs.
67
68  * Modify database to store per-file flags.
69    - Store checksums and stat data in per-file flags.
70    - Add md5sums and/or sha1sums package support. (#155676)
71
72  * Allow packages to register additional files, declare ownership of files for
73    dpkg -S and -L without having dpkg act on this (.psuedolist?).
74
75  * Some kind of test-suite (Esteban).
76
77  * Make dpkg-checkbuilddeps easier to use by other programs such as pbuilder
78    or sbuild, so that they can start using the new architecture wildcards
79    automatically.
80    - New command line arguments to retrieve Build-Depends. (#114774)
81    - Support for output format. (#214566)
82
83  * Remove conffile background support? (#38334)
84
85  * Make dpkg-deb --build check for duped conffiles. (#131633)
86
87  * Make update-alternatives --display support --quiet. (#336091)
88
89  * Propagate --admindir to programs run from maintainer scritpts. (#97076)
90
91  * Fix quotes? <http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html>
92
93
94 TODO
95 ====
96
97 Old TODO entries from Scott:
98
99 start-stop-daemon
100 * capabilities support
101 * don't close FD's
102
103 dpkg
104 * allow external program to specify how to handle conffiles
105 * try to remove directories again after removing conffiles
106 * verify Enhances works (ie don't trigger some assertion)
107 * add test to see if a file should really be installed and optionally
108   skip it
109 * dpkg --call-maint-script=<script> --maint-script-arg=<arg>
110   --maint-script-arg=<arg> <pkg> <pkg>
111     dpkg will not allow <script> to be one of {pre,post}{inst,rm}.  Only
112     unknown scripts can be called this way.  dpkg will also not keep track
113     of any state for these scripts.
114
115 Fix:
116 <joeyh_> package a conflicted with old versions of package b. package b
117       conficted with old versions of package a. I had the old versions of both
118       installed, and told dpkg to install the new versions of a and b
119       simulantaneously. It refused.
120
121 dselect:
122 * support Enhances
123
124 ------------------------------------------------------------------------------
125
126 Old TODO entries from IWJ:
127
128 Here are some currently-known inadequacies:
129
130 urgent
131  * Conflicts << installation ordering
132  * Version numbers in pre-depends stuff
133  * Search for all pre-depends things at once, bomb out if any not found
134  * _always_ show section in --yet-to-unpack
135  * automatically do --yet-to-unpack in installation methods
136  * check depending packages when installing new version.
137  * Several things ought to be configurable but aren't.
138  * Filenames containing newlines.  Conffile names containing spaces.
139  * dpkg --status for virtual packages
140  * openpgp signatures in the package archive
141
142 other stuff unlikely to get done soon
143  * Automatically remove <file>.gz if <file> can't be found ? and maybe,
144    remove <file> if <file.gz> can't be found? Big mess when we start
145    thinking about bz2 :/
146  * Local version number (using non-numeric epoch, perhaps, or better yet,
147    a --local option in dpkg, so that it marks this package as a local install
148    (when running dpkg -i)? Keeps it from being listed as obsolete, and maybe
149    from being considered for auto-upgrades (apt-get needs to know about this
150    too)
151  * Filename field generated by --record-avail 
152  * handle split packages somehow.
153  * understand Replaces in dselect
154  * diversions list as control archive entry
155  * single maintainer script, and new package getting there first
156  * local conffiles, aswell as local files that dpkg should check before
157    overwriting
158  * hooks
159  * dselect per-half focus and keybindings improvements.
160    !missing bug report #1555!
161
162  * floppy map (where are the files)
163  * how to change case of package names
164  * support for adding files to dpkg's file lists
165  * `fake' or `null' packages
166  * dpkg --query | -Q
167