| RoadMap |
| ======= |
| |
| <http://wiki.debian.org/Teams/Dpkg/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. |
| - Make deb build version a version instead of doing checks over a string. |
| - Use enums for currently hardcoded literals (replacingfilesandsaid, |
| saidread, rok, 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. |
| - 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 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 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) |
| |
| * 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=<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 |
| * hooks |
| * 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 |