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()
9 * Look into other VCSs to use. The main CVS repo will remain, but having a
10 distributed system to allow for easy patching/pushing/pulling would be nice
11 - monotone and mercurial look like the top contenders in my book, but I need
12 to evaluate both a bit more.
15 There's quite a few single function headers which contain the pacman_*
16 functions. We should move these to a single header (pacman.h) to clean up
19 * libalpm -> front end communication needs a work-up. Both progress functions
20 can be combined into one callback, IFF we adjust it to accept a prefix string
21 for the progress bars, and format it at the lib side. Question functions
22 should also do the same - create the string at the library side, and simply
23 call some sort of int yes_no = ask_question("Do foo with bar?");
25 * move logging (alpm_logaction) out of the library. log files should be
26 written by the app, not the library. Adding a PM_LOG_* constant that
27 frontends can recognize and send to a file is probably a good idea.
29 * clear up list allocation/deallocation - some lists need to be free'd, some
30 do not and there is no clear indication WHEN this should happen.
32 * remove DB entries (directories) on a read error?
34 * Add a pm_errstr error string, which will allow us to do things like:
35 pm_errno = PM_ERR_LIBARCHIVE;
36 pm_errstr = archive_error_string(archive);
38 pm_errno = PM_ERR_LIBDOWNLOAD;
39 pm_errstr = downloadLastErrString;
40 This way we don't break abstraction when returning specific errors in
43 * pacman: A LOT of functions are way too long. There should be an upper limit of
44 100-200 lines. _alpm_add_commit is around 600 lines, and is far too complex.
46 * pacman: fixup doxygen documentation for public interface
48 * libalpm: just because a function is in alpm.h doesn't mean it needs to be in
49 alpm.c - we should move functions around where they should be. In fact,
50 alpm.c might not be needed at all, if things were organized properly.
52 * feature for 3.1: package file hooks *
53 I've been planning on this one for some time. Here's a simple rundown:
54 in /etc/pacman.d/hooks:
55 Hook /usr/include/* : /usr/bin/ctags -R /usr/include/*.h -f /usr/include/systags
56 This will allow us to make "global hooks" to simplify a lot of repetitive
57 install files (scrollkeeper, depmod, etc). This also allows us to move
58 ldconfig out of pacman entirely.
59 possible: /etc/pacman.hooks/* files for hooks, so packages can add them too
61 * feature for 3.1: multiple search/match types
62 option: MatchType regex (current way)
63 MatchType fnmatch (use fnmatch to match things like 'pacman -S gnome*')
64 MatchType plain (no matching. expect plain text).
66 * feature for 3.1: revamp the autotools system. I'd LOVE to use a manual system
67 like wmii and friends do. It'd be real nice if we could just do away with
71 * Removal of conflicts on -A and -U (INCOMPLETE)