summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO148
1 files changed, 148 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..2b8a68d
--- /dev/null
+++ b/TODO
@@ -0,0 +1,148 @@
+RoadMap
+=======
+
+ <https://wiki.debian.org/Teams/Dpkg/RoadMap>
+
+TODO
+====
+
+1.20.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 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
+ conflicted 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
+ simultaneously. 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!
+
+ * how to change case of package names
+ * 'fake' or 'null' packages
+ * dpkg --query | -Q