123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- RoadMap
- =======
- <https://wiki.debian.org/Teams/Dpkg/RoadMap>
- TODO
- ====
- 1.18.x
- ~~~~~~
- * Review this file and remove or update the old entries.
- * Look for FIXME and XXX items in the source.
- * Triage as much bugs as possible to get the bug count below 300 ;) and
- merge as much patches as possible.
- * Code cleanup / bug fixes:
- - Get rid of static variables inside functions.
- - Coalesce hash and checksum functions.
- - Split modstatdb_rw into mode and flags.
- - Move fd function out of mlib.
- - Cleanup status chars -> strings hardcoded mappings all over the place.
- (Fix tied field enum with its dselect description (pkgdisplay.cc))
- - Refactor src/unpack.c.
- - Split dpkg.h into independent headers.
- - Do more unused header include removal.
- - Add needed includes to all header files.
- - Get rid of useless "unsigned" modifiers.
- - Use internerr instead of assert, and print more meaninful messages.
- - Use enums for currently hardcoded literals (replacingfilesandsaid,
- filetriggers_edited, etc).
- - Do not use nfmalloc (and friends) for non in-core db memory.
- - Call nffreeall on exit (need to detangle nfmalloc from non-db first).
- - Add a size parameter to the buffer API to avoid some useless
- pipe+fork+copy.
- - Handle instdir '/' separator consistently.
- - Check if caching selinux context for second call is possible.
- - Add missing newlines in --version output.
- - Handle symlinks in statcmd.c statdb_node_apply().
- - Fix dpkg termination on SIGPIPE from status-fd.
- * libcompat cleanup:
- - Add fnmatch, IRIX5 doesn't have it.
- * Man pages:
- - Add example to dpkg-scanfoo manpages?
- - Merge synopsis lines in dpkg-triggers.
- - Check all command vs action.
- - Check usage of '|' instead of ', '.
- - Check position of short option before long option.
- - Fix dpkg man page, refs to dpkg-deb and dpkg-split, etc.
- - Fix «. ».
- * L10n:
- - Check dpkg-divert strings for new and fixable ones.
- - Standardize translated error messages in the perl code to avoid useless
- work for translators.
- - Check https://d-i.alioth.debian.org/spellcheck/level5/index.html
- * Discuss and implement
- https://www.hadrons.org/~guillem/debian/docs/origin.proposal
- * Deprecate --force-not-root flag (remove modstatdb_rw rootneeded flags).
- * Test and re-enable --command-fd.
- * Check --no-act for log_action().
- * Add non-regression tests for Dpkg::Source::*
- * Add UTF-8 support to all programs.
- * Allow packages to register additional files, declare ownership of files for
- dpkg -S and -L without having dpkg act on this (.psuedolist?).
- * Make dpkg-checkbuilddeps easier to use by other programs such as pbuilder
- or sbuild, so that they can start using the new architecture wildcards
- automatically.
- - Support for output format. (#214566)
- * Fix conflicting action -%c, when short is 0.
- * We should set our own obstack_alloc_failed_handler.
- ------------------------------------------------------------------------------
- Old TODO entries from Scott:
- start-stop-daemon
- * capabilities support
- dpkg
- * allow external program to specify how to handle conffiles
- * dpkg --call-maint-script=<script> --maint-script-arg=<arg>
- --maint-script-arg=<arg> <pkg> <pkg>
- dpkg will not allow <script> to be one of {pre,post}{inst,rm}. Only
- unknown scripts can be called this way. dpkg will also not keep track
- of any state for these scripts.
- Fix:
- <joeyh_> package a conflicted with old versions of package b. package b
- conficted with old versions of package a. I had the old versions of both
- installed, and told dpkg to install the new versions of a and b
- simulantaneously. It refused.
- dselect:
- * support Enhances
- ------------------------------------------------------------------------------
- Old TODO entries from IWJ:
- Here are some currently-known inadequacies:
- urgent
- * Conflicts << installation ordering
- * Version numbers in pre-depends stuff
- * Search for all pre-depends things at once, bomb out if any not found
- * _always_ show section in --yet-to-unpack
- * automatically do --yet-to-unpack in installation methods
- * check depending packages when installing new version.
- * Several things ought to be configurable but aren't.
- * Filenames containing newlines. Conffile names containing spaces.
- * dpkg --status for virtual packages
- * openpgp signatures in the package archive
- other stuff unlikely to get done soon
- * Automatically remove <file>.gz if <file> can't be found ? and maybe,
- remove <file> if <file.gz> can't be found? Big mess when we start
- thinking about bz2 :/
- * Local version number (using non-numeric epoch, perhaps, or better yet,
- a --local option in dpkg, so that it marks this package as a local install
- (when running dpkg -i)? Keeps it from being listed as obsolete, and maybe
- from being considered for auto-upgrades (apt-get needs to know about this
- too)
- * Filename field generated by --record-avail
- * understand Replaces in dselect
- * diversions list as control archive entry
- * single maintainer script, and new package getting there first
- * local conffiles, as well as local files that dpkg should check before
- overwriting
- * dselect per-half focus and keybindings improvements.
- !missing bug report #1555!
- * floppy map (where are the files)
- * how to change case of package names
- * 'fake' or 'null' packages
- * dpkg --query | -Q
|