RoadMap ======= TODO ==== 1.16.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. * Create dedicated manual pages for .changes and .dsc documenting the format of the files. (deb-foo might not be apprioriate as those are not inside of the .deb file, but changes(5) seems too generic.) Explain that backwards incompatible change involve a major version bump (1.x => 2.x) while minor version bump will be used for backwards compatible extension (e.g. new fields). * Build: - Make dpkg bootstrappable. - Check availability of warning flags at configure time. - Handle missing lstat at configure time by erroring out. * Code cleanup / bug fixes: - Get rid of static variables inside functions. - Coalesce admindir / infodir / foodir generation. - 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/processarc.c. - Split dpkg.h into independent headers. - Do more unused header include removal. - Add needed includes to all header files. - Get rid of unuseful "unsigned" modifiers. - Use internerr instead of assert, and print more meaninful messages. - Make actionfunction return int, and avoid global exitcode variables. - Replace raw write and read calls with safe variants (signals etc). - Make deb build version a version instead of doing checks over a string. - Use enums for currently hardcoded literals (tdus, dependtry, 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. - Refactor parse_warn/parse_error. - Make parse_warn use warning(). - Add missing newlines in --version output. - Fix leak on tar_extract (name, linkname). - 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 '<>' use bold instead. - Check all command vs action. - Check usage of '|' instead of ', '. - Check position of short option before long option. - Use [option...] instead of [options] and friends? - Fix dpkg man page, refs to dpkg-deb and dpkg-split, etc. - Fix «commandline» vs «command line». - 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 http://d-i.alioth.debian.org/spellcheck/level5/index.html * Discuss and implement http://www.hadrons.org/~guillem/debian/docs/origin.proposal * Deprecate --force-not-root flag (remove modstatdb_rw rootneeded flags). * Test and reenable --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) * Propagate --admindir to programs run from maintainer scritpts. (#97076) * Fix conflicting action -%c, when short is 0. * We should set our own obstack_alloc_failed_handler. * Remove compatibility symlinks /usr/sbin/{update-alternatives,dpkg-divert,dpkg-statoverride}. * Remove install-info wrapper. ------------------------------------------------------------------------------ Old TODO entries from Scott: start-stop-daemon * capabilities support * don't close FD's dpkg * allow external program to specify how to handle conffiles * try to remove directories again after removing conffiles * verify Enhances works (ie don't trigger some assertion) * add test to see if a file should really be installed and optionally skip it * dpkg --call-maint-script=