New alpm_list_join function
[pacman.git] / TODO.aaron
blobb1f78873089e68b00078288ec9b2a2c46de2e4ee
1 == This is my custom TODO file ==
3 * transaction object should contain two package list (install and remove)
4   instead of a single list of syncpkgs - this should allow us to get rid of that
5   type.  This also requires seperate functionality to return a list of
6   "replaces" packages to the front end, so the frontend can handle the QUESTION()
7   stuff in that case
9 * libalpm -> front end communication needs a work-up.  Both progress functions
10   can be combined into one callback, IFF we adjust it to accept a prefix string
11   for the progress bars, and format it at the lib side.  Question functions
12   should also do the same - create the string at the library side, and simply
13   call some sort of int yes_no = ask_question("Do foo with bar?");
15 * move logging (alpm_logaction) out of the library.  log files should be
16   written by the app, not the library.  Adding a PM_LOG_* constant that
17   frontends can recognize and send to a file is probably a good idea.
19 * clear up list allocation/deallocation - some lists need to be free'd, some
20   do not and there is no clear indication WHEN this should happen.
22 * remove DB entries (directories) on a read error?
24 * Add a pm_errstr error string, which will allow us to do things like:
25     pm_errno = PM_ERR_LIBARCHIVE;
26     pm_errstr = archive_error_string(archive);
27   or:
28     pm_errno = PM_ERR_LIBDOWNLOAD;
29     pm_errstr = downloadLastErrString;
30   This way we don't break abstraction when returning specific errors in
31   cases like the above.
33 * pacman: A LOT of functions are way too long.  There should be an upper limit of
34   100-200 lines.  _alpm_add_commit is around 600 lines, and is far too complex.
36 * pacman: fixup doxygen documentation for public interface
38 * feature for 3.1: package file hooks *
39   I've been planning on this one for some time.  Here's a simple rundown:
40   in /etc/pacman.d/hooks:
41      Hook /usr/include/* : /usr/bin/ctags -R /usr/include/*.h -f /usr/include/systags
42   This will allow us to make "global hooks" to simplify a lot of repetitive
43   install files (scrollkeeper, depmod, etc).  This also allows us to move
44   ldconfig out of pacman entirely.
45   possible: /etc/pacman.hooks/* files for hooks, so packages can add them too
47 * feature for 3.1: multiple search/match types
48   option: MatchType regex (current way)
49           MatchType fnmatch (use fnmatch to match things like 'pacman -S gnome*')
50           MatchType plain (no matching.  expect plain text).
52 * feature for 3.1: revamp the autotools system.  I'd LOVE to use a manual system
53   like wmii and friends do.  It'd be real nice if we could just do away with
54   autotools altogether.
56 **** BUGS ****
57 * Removal of conflicts on -A and -U (INCOMPLETE)