TODO 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. RoadMap
  2. =======
  3. <http://wiki.debian.org/Teams/Dpkg/RoadMap>
  4. TODO
  5. ====
  6. 1.16.x
  7. ~~~~~~
  8. * Review this file and remove or update the old entries.
  9. * Look for FIXME and XXX items in the source.
  10. * Triage as much bugs as possible to get the bug count below 300 ;) and
  11. merge as much patches as possible.
  12. * Create dedicated manual pages for .changes and .dsc documenting the
  13. format of the files. (deb-foo might not be apprioriate as those are
  14. not inside of the .deb file, but changes(5) seems too generic.)
  15. Explain that backwards incompatible change involve a major version bump
  16. (1.x => 2.x) while minor version bump will be used for backwards
  17. compatible extension (e.g. new fields).
  18. * Build:
  19. - Make dpkg bootstrappable.
  20. - Check availability of warning flags at configure time.
  21. - Handle missing lstat at configure time by erroring out.
  22. * Code cleanup / bug fixes:
  23. - Get rid of static variables inside functions.
  24. - Coalesce admindir / infodir / foodir generation.
  25. - Coalesce hash and checksum functions.
  26. - Split modstatdb_rw into mode and flags.
  27. - Move fd function out of mlib.
  28. - Cleanup status chars -> strings hardcoded mappings all over the place.
  29. (Fix tied field enum with its dselect description (pkgdisplay.cc))
  30. - Refactor src/processarc.c.
  31. - Split dpkg.h into independent headers.
  32. - Do more unused header include removal.
  33. - Add needed includes to all header files.
  34. - Get rid of unuseful "unsigned" modifiers.
  35. - Use internerr instead of assert, and print more meaninful messages.
  36. - Make actionfunction return int, and avoid global exitcode variables.
  37. - Make deb build version a version instead of doing checks over a string.
  38. - Use enums for currently hardcoded literals (replacingfilesandsaid,
  39. saidread, rok, filetriggers_edited, etc).
  40. - Do not use nfmalloc (and friends) for non in-core db memory.
  41. - Call nffreeall on exit (need to detangle nfmalloc from non-db first).
  42. - Add a size parameter to the buffer api to avoid some useless
  43. pipe+fork+copy.
  44. - Handle instdir '/' separator consistently.
  45. - Check if caching selinux context for second call is possible.
  46. - Add missing newlines in --version output.
  47. - Fix leak on tar_extract (name, linkname).
  48. - Handle symlinks in statcmd.c statdb_node_apply().
  49. - Fix dpkg termination on SIGPIPE from status-fd.
  50. * libcompat cleanup:
  51. - Add fnmatch, IRIX5 doesn't have it.
  52. * Man pages:
  53. - Add example to dpkg-scanfoo manpages?
  54. - Merge synopsis lines in dpkg-triggers.
  55. - Check all '<>' use bold instead.
  56. - Check all command vs action.
  57. - Check usage of '|' instead of ', '.
  58. - Check position of short option before long option.
  59. - Use [option...] instead of [options] and friends?
  60. - Fix dpkg man page, refs to dpkg-deb and dpkg-split, etc.
  61. - Fix «. ».
  62. * L10n:
  63. - Check dpkg-divert strings for new and fixable ones.
  64. - Standardize translated error messages in the perl code to avoid useless
  65. work for translators.
  66. - Check http://d-i.alioth.debian.org/spellcheck/level5/index.html
  67. * Discuss and implement
  68. http://www.hadrons.org/~guillem/debian/docs/origin.proposal
  69. * Deprecate --force-not-root flag (remove modstatdb_rw rootneeded flags).
  70. * Test and reenable --command-fd.
  71. * Check --no-act for log_action().
  72. * Add non-regression tests for Dpkg::Source::*
  73. * Add UTF-8 support to all programs.
  74. * Allow packages to register additional files, declare ownership of files for
  75. dpkg -S and -L without having dpkg act on this (.psuedolist?).
  76. * Make dpkg-checkbuilddeps easier to use by other programs such as pbuilder
  77. or sbuild, so that they can start using the new architecture wildcards
  78. automatically.
  79. - Support for output format. (#214566)
  80. * Fix conflicting action -%c, when short is 0.
  81. * We should set our own obstack_alloc_failed_handler.
  82. * Remove compatibility symlinks
  83. /usr/sbin/{update-alternatives,dpkg-divert,dpkg-statoverride}.
  84. * Remove install-info wrapper.
  85. ------------------------------------------------------------------------------
  86. Old TODO entries from Scott:
  87. start-stop-daemon
  88. * capabilities support
  89. * don't close FD's
  90. dpkg
  91. * allow external program to specify how to handle conffiles
  92. * try to remove directories again after removing conffiles
  93. * verify Enhances works (ie don't trigger some assertion)
  94. * add test to see if a file should really be installed and optionally
  95. skip it
  96. * dpkg --call-maint-script=<script> --maint-script-arg=<arg>
  97. --maint-script-arg=<arg> <pkg> <pkg>
  98. dpkg will not allow <script> to be one of {pre,post}{inst,rm}. Only
  99. unknown scripts can be called this way. dpkg will also not keep track
  100. of any state for these scripts.
  101. Fix:
  102. <joeyh_> package a conflicted with old versions of package b. package b
  103. conficted with old versions of package a. I had the old versions of both
  104. installed, and told dpkg to install the new versions of a and b
  105. simulantaneously. It refused.
  106. dselect:
  107. * support Enhances
  108. ------------------------------------------------------------------------------
  109. Old TODO entries from IWJ:
  110. Here are some currently-known inadequacies:
  111. urgent
  112. * Conflicts << installation ordering
  113. * Version numbers in pre-depends stuff
  114. * Search for all pre-depends things at once, bomb out if any not found
  115. * _always_ show section in --yet-to-unpack
  116. * automatically do --yet-to-unpack in installation methods
  117. * check depending packages when installing new version.
  118. * Several things ought to be configurable but aren't.
  119. * Filenames containing newlines. Conffile names containing spaces.
  120. * dpkg --status for virtual packages
  121. * openpgp signatures in the package archive
  122. other stuff unlikely to get done soon
  123. * Automatically remove <file>.gz if <file> can't be found ? and maybe,
  124. remove <file> if <file.gz> can't be found? Big mess when we start
  125. thinking about bz2 :/
  126. * Local version number (using non-numeric epoch, perhaps, or better yet,
  127. a --local option in dpkg, so that it marks this package as a local install
  128. (when running dpkg -i)? Keeps it from being listed as obsolete, and maybe
  129. from being considered for auto-upgrades (apt-get needs to know about this
  130. too)
  131. * Filename field generated by --record-avail
  132. * understand Replaces in dselect
  133. * diversions list as control archive entry
  134. * single maintainer script, and new package getting there first
  135. * local conffiles, aswell as local files that dpkg should check before
  136. overwriting
  137. * hooks
  138. * dselect per-half focus and keybindings improvements.
  139. !missing bug report #1555!
  140. * floppy map (where are the files)
  141. * how to change case of package names
  142. * `fake' or `null' packages
  143. * dpkg --query | -Q