Add a list of Contributors (appologies to any missed)
[oweals/opkg-lede.git] / TODO
diff --git a/TODO b/TODO
index 4830d7ed532eee6915aa503f784dca42a5fb89e3..eb29da98a1764bb4b88c33ce086e7e862146730a 100644 (file)
--- a/TODO
+++ b/TODO
 
-Things to do for ipkg, in a partial order:
+See issue list: http://code.google.com/p/opkg/issues/list
 
-0) Play with configure to check for strdup/strndup ( to works with replace/replace.h stuffs )
 
-1) Fix incompatibilities between current C-based ipkg and original
-sh-based ipkg.
+ * Regression test suite.
 
-1.a) Fix ipkg.conf options for http_proxy and friends. DONE:
-     http_proxy tested, (ftp_proxy, no_proxy, proxy_user, and
-     proxy_passwd have not been tested).
+ * Fix comments marked "XXX".
 
-1.b) Fix export of PKG_ROOT during pkg_run_script. DONE: tested.
+ * Clean up out of date comments.
 
-1.c) Fix so that a src with file:// is supported. DONE: tested.
+ * Consistent indentation.
 
-1.d) Fix paths in list files. DONE: tested.
+ * Propagate errors up the call stack. In particular, unarchive.c fails to do
+   this. Errors and error messages must be usable by libopkg frontends.
+   Don't try to use errno after its been clobbered by other libc calls.
 
-1.e) Fix offline_root mode. DONE: tested.
+ * Remove dead and duplicate code. Refactor duplicated functionality.
 
-2) Release ipkg as ipkg, (no longer as ipkg-unstable). This depends on
-   all of (1) being DONE. Although I might let this release proceed
-   without offline_root --- only Jamey will complain. ;-)
+ * Remove pkg_info_preinstall_check().
 
-3) Bug fixes
+ * Reduce memory used per pkg_t and peak memory use in general.
 
-3.a) fix all code marked "XXX: BUG"
+ * Refactor opkg_conf_t *conf.
+   Make it global instead of passing it to every function.
+   Remove args_t args in favour of conf.
 
-3.b) fix all outstanding ipkg bugzilla bugs
+ * #includes are a mess.
 
-3.c) conffiles support seems broken again. It's prompting on just
-     about every file. It might be because of file names beginning
-     with "///".
-       FIXED the "///" problem, (seemed harmless though), in 0.99.2
-       FIXED a problem with conffiles with -force-reinstall in 0.99.2.
-       This seems to be mostly working now, (I have seen strange
-       prompting on one out of the three ssh conffiles, maybe the
-       postinst script changed it? Hmmm... and something is going on
-       with pcmcia-cs too. Mysterious.)
+ * Refactor opkg_install_pkg() into more precise functions.
 
-3.d) Test versioned Depends
+ * pkg_hash_fetch_best_installation_candidate() is linear search O(P*PN)
+   and is slow (frequently called).
+      P provider
+      PN pkgs in a provider
+   It can be O(P) if a hash table is used.
 
-3.e) Test Provides.  DONE.
+ * Update libbb.
 
-3.f) Make sure Suggests, Recommends, (Enhances?), all work, (I know
-     some of these are not yet implemented)
 
-3.g) Audit all dpkg package fields for both parsing and printing support.
 
-3.h) "ipkg status" and "ipkg info" need to complain about unknown
-  packages. For that matter, these two commands should probably just
-  become aliases to the same functionality.
+FEATURES
 
-  Jamey thinks ipkg status should be brief give one line per package, while
-  ipkg info can continue to be verbose. 7/23/2002.
+ * Start with all "XXX: FEATURE" comments. Remove them if they are bogus.
 
-3.i) Currently "ipkg install foo" will upgrade foo if possible. The
-  "Package foo is already installed" check needs to be moved up to
-  avoid this.
+ * Implement chrooting to an offline_root for running maintainer scripts.
 
-  Jamey thinkgs that "ipkg install foo" should upgrade foo.  7/23/2002.
-
-4) Implement new features
-
-4.a) start with all "XXX: FEATURE" comments
-
-4.b) implement all accepted ipkg bugzilla feature requests, (also
-     check old post "Subject: Reinventing ipkg" to see if we forgot
-     any of the good ideas we had once upon a time)
-
-4.c) ipkg remove needs to (prompt first) then remove packages for
-     which the dependencies will no longer be met. DONE. 7/19/2002.
-
-4.d) Add support for:
-       ipkg install foo from some-feed
-       ipkg install foo-0.4.3
-       ipkg install foo-latest # Only needed if we add a feed-order-priority option
-     or something like that.
-
-4.e) Orphaned dependency management (what is this -Jamey 7/23/2002)
-
-4.f) Add code for HTTP GET to eliminate wget dependence, (see
-     apps/urlget for code). We should probably still keep the wget
-     call as a backup.  
-
-     -- use busybox's internal wget -jamey 7/23/2002
-
-4.g) Experiment with making a small statically linked binary. Can we
-     eliminate some library calls, (glob, regcomp)? Can we get
-     something like uclibc to work well?
-
-4.h) Add support for a deb-src in /etc/ipkg.conf. (ARGH! Name clash
-     alert! In apt-land, deb-src means something very different than
-     what I would mean here. Hrm... Maybe src-deb would be cleaner? )
-
-     (What is this?  Jamey 7/23/2002) 
-
-4.i) Figure out a clever chroot mechanism for running maintainer scripts in
-     offline_root mode.
-
-4.j) Implement ipkg history mechanism, with undo and redo?  Keep track of
-     packages removed/installed by each call to ipkg.
-
-5) release ipkg-1.0.0
-
-6) Cleanup the code
-
-6.a) Start with all comments marked "XXX: CLEANUP"
+ * Improve dpkg compatibility, according to the Debian Policy Manual.
+   http://www.debian.org/doc/debian-policy/ch-controlfields.html