TODO 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. ROADMAP
  2. =======
  3. squeeze
  4. ~~~~~~~
  5. * Review this file and remove or update the old entries.
  6. * Look for FIXME and XXX items in the source.
  7. * Triage as much bugs as possible to get the bug count below 300 ;) and
  8. merge as much patches as possible.
  9. * Create dedicated manual pages for .changes and .dsc documenting the
  10. format of the files. (deb-foo might not be apprioriate as those are
  11. not inside of the .deb file, but changes(5) seems too generic.)
  12. Explain that backwards incompatible change involve a major version bump
  13. (1.x => 2.x) while minor version bump will be used for backwards
  14. compatible extension (e.g. new fields).
  15. squeeze + 1
  16. ~~~~~~~~~~~
  17. * Remove compatibility symlinks
  18. /usr/sbin/{update-alternatives,dpkg-divert,dpkg-statoverride}.
  19. 1.14.x
  20. ------
  21. * Make dpkg bootstrappable.
  22. 1.14.y
  23. ------
  24. * Code cleanup:
  25. - Get rid of 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 (need to push the patch).
  30. - Split modstatdb_rw into mode and flags.
  31. - Move fd and block function out of mlib.
  32. - Cleanup status chars -> strings hardcoded mappings all over the place.
  33. (Fix tied field enum with its dselect description (pkgdisplay.cc))
  34. - Refactor src/processarc.c.
  35. - Make sure all vsnprintf callers are checking the return value, as the
  36. system version will not ohsite on us.
  37. - Fix ncursesw headers.
  38. - Consider ferror_fclose function.
  39. - Fix naming consistency of next/prev members.
  40. - Do more unused header include removal.
  41. - Get rid of unuseful "unsigned" modifiers.
  42. * Deprecate --force-not-root flag (remove modstatdb_rw rootneeded flags).
  43. * Test and reenable --command-fd.
  44. * Check --no-act for log_action().
  45. * Man pages:
  46. - Add example to dpkg-scanfoo manpages?
  47. - Merge synopsis lines in dpkg-triggers.
  48. - Check all '<>' use bold instead.
  49. - Check all command vs action.
  50. - Check usage of '|' instead of ', '.
  51. - Check position of short option before long option.
  52. - Use [option...] instead of [options] and friends?
  53. - Fix dpkg man page, refs to dpkg-deb and dpkg-split, etc.
  54. - Fix «commandline» vs «command line».
  55. - Fix «. ».
  56. * L10n:
  57. - Standardize translated error messages in the perl code to avoid useless
  58. work for translators.
  59. - Check http://d-i.alioth.debian.org/spellcheck/level5/index.html
  60. * Discuss and implement
  61. http://www.hadrons.org/~guillem/debian/docs/origin.proposal
  62. * Add non-regression tests for Dpkg::Source::*
  63. * Cleanup libcompat:
  64. - Add fnmatch, IRIX5 doesn't have it.
  65. - Fix scandir, leaks on malloc and realloc.
  66. * Get rid of install-info.
  67. * Add multiarch support.
  68. * Merge stuff back:
  69. - debsums (metadata storage).
  70. - ucf (cleverer conffile handling).
  71. - debconf (dpkg-*configure and add new status):
  72. + dpkg --reconfigure <pkg> <pkg>
  73. <pkg>.postinst reconfigure <ver>
  74. Fail if pkg is not in the configured state.
  75. - dpkg-cross (multiarch + dpkg cross compilation support).
  76. - dpkg-sig (dak fixed, import code, needs reply, #340306).
  77. - apt: deb-*/ dirs, apt-extracttemplates (libdpkg).
  78. - (maybe parts of wajig, aptitude, synaptic, ept, ...).
  79. * Start exposing libdpkg.
  80. - Split dpkg.h into dpkg-priv.h.
  81. - Add needed includes to all header files.
  82. * Add UTF-8 support to all programs.
  83. * Modify database to store per-file flags.
  84. - Store checksums and stat data in per-file flags.
  85. - Add md5sums and/or sha1sums package support. (#155676)
  86. * Allow packages to register additional files, declare ownership of files for
  87. dpkg -S and -L without having dpkg act on this (.psuedolist?).
  88. * Some kind of test-suite (Esteban).
  89. * Make dpkg-checkbuilddeps easier to use by other programs such as pbuilder
  90. or sbuild, so that they can start using the new architecture wildcards
  91. automatically.
  92. - Support for output format. (#214566)
  93. * Remove conffile background support? (#38334)
  94. * Make dpkg-deb --build check for duped conffiles. (#131633)
  95. * Propagate --admindir to programs run from maintainer scritpts. (#97076)
  96. * Fix conflicting action -%c, when short is 0.
  97. * We should set our own obstack_alloc_failed_handler.
  98. * Fix quotes? <http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html>
  99. TODO
  100. ====
  101. Old TODO entries from Scott:
  102. start-stop-daemon
  103. * capabilities support
  104. * don't close FD's
  105. dpkg
  106. * allow external program to specify how to handle conffiles
  107. * try to remove directories again after removing conffiles
  108. * verify Enhances works (ie don't trigger some assertion)
  109. * add test to see if a file should really be installed and optionally
  110. skip it
  111. * dpkg --call-maint-script=<script> --maint-script-arg=<arg>
  112. --maint-script-arg=<arg> <pkg> <pkg>
  113. dpkg will not allow <script> to be one of {pre,post}{inst,rm}. Only
  114. unknown scripts can be called this way. dpkg will also not keep track
  115. of any state for these scripts.
  116. Fix:
  117. <joeyh_> package a conflicted with old versions of package b. package b
  118. conficted with old versions of package a. I had the old versions of both
  119. installed, and told dpkg to install the new versions of a and b
  120. simulantaneously. It refused.
  121. dselect:
  122. * support Enhances
  123. ------------------------------------------------------------------------------
  124. Old TODO entries from IWJ:
  125. Here are some currently-known inadequacies:
  126. urgent
  127. * Conflicts << installation ordering
  128. * Version numbers in pre-depends stuff
  129. * Search for all pre-depends things at once, bomb out if any not found
  130. * _always_ show section in --yet-to-unpack
  131. * automatically do --yet-to-unpack in installation methods
  132. * check depending packages when installing new version.
  133. * Several things ought to be configurable but aren't.
  134. * Filenames containing newlines. Conffile names containing spaces.
  135. * dpkg --status for virtual packages
  136. * openpgp signatures in the package archive
  137. other stuff unlikely to get done soon
  138. * Automatically remove <file>.gz if <file> can't be found ? and maybe,
  139. remove <file> if <file.gz> can't be found? Big mess when we start
  140. thinking about bz2 :/
  141. * Local version number (using non-numeric epoch, perhaps, or better yet,
  142. a --local option in dpkg, so that it marks this package as a local install
  143. (when running dpkg -i)? Keeps it from being listed as obsolete, and maybe
  144. from being considered for auto-upgrades (apt-get needs to know about this
  145. too)
  146. * Filename field generated by --record-avail
  147. * handle split packages somehow.
  148. * understand Replaces in dselect
  149. * diversions list as control archive entry
  150. * single maintainer script, and new package getting there first
  151. * local conffiles, aswell as local files that dpkg should check before
  152. overwriting
  153. * hooks
  154. * dselect per-half focus and keybindings improvements.
  155. !missing bug report #1555!
  156. * floppy map (where are the files)
  157. * how to change case of package names
  158. * support for adding files to dpkg's file lists
  159. * `fake' or `null' packages
  160. * dpkg --query | -Q