just an update
[pacman.git] / TODO.aaron
blobca7156f8ed94c4260755c7cfe89c4e1e42f9978c
1 == This is my custom TODO file ==
3 * Make sure all the alpm_list_t changes are valid (especially alpm_list_free)
5 * src/pacman:
6     - There's quite a few single function headers which contain the pacman_*
7       functions.  We should move these to a single header (pacman.h) to clean up
8       the source a bit.
10 * lib/libalpm:
11     - move logging (alpm_logaction) out of the library.  log files should be
12       written by the app, not the library.  Adding a PM_LOG_* constant that
13       frontends can recognize and send to a file is probably a good idea.
14     - clear up list allocation/deallocation - some lists need to be free'd, some
15       do not and there is no clear indication WHEN this should happen.
16     - remove DB entries (directories) on a read error?
18 * pacman: A LOT of functions are way too long.  There should be an upper limit of
19   100-200 lines.  _alpm_add_commit is around 600 lines, and is far too complex.
21   Quite a lot of this needs to be refactored as we go.
22     Function list (from Dan McGee):
23      add.c:
24      _alpm_add_commit
25      be_files.c:
26      _alpm_db_read
27      _alpm_db_write
28      conflict.c:
29      _alpm_checkconflicts
30      _alpm_db_find_conflicts
31      package.c:
32      _alpm_pkg_load (getting a bit long)
33      remove.c:
34      _alpm_remove_commit
35      server.c:
36      _alpm_downloadfiles_forreal
37      sync.c:
38      _alpm_sync_sysupgrade (getting there)
39      _alpm_sync_prepare
40      _alpm_sync_commit
42 * pacman: fixup doxygen documentation for public interface
44 **** BUGS ****
45 * Removal of conflicts on -A and -U (INCOMPLETE)
46 * ordering of packages to be installed based on dependencies
47     i.e. pkga depends=(pkgb pkgc), pkgb depends=(pkgc)
48     pacman -S pkga pkgb pkgc
49     > a depends on b and c, move them: pkgb pkgc pkga
50     > b depends on c, move it: pkgc pkgb pkga
51     > pacman -S pkgc pkgb pkga
52 * gensync: get all info from packages instead of PKGBUILDs
53   for now, we only need to check the PKGBUILD in case of a
54   'force' option
55 * pacman: add pactest cases/functionality for all -Q operations and make sure
56   the output is sane