summaryrefslogtreecommitdiffstats
path: root/TODO.aaron
blob: cd441c56678a21d2f3c3fa613d1339468f1e9e57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
== This is my custom TODO file ==

This (second) test should shoot a commit email to the pacman-dev list.

* pacman: ALOT of functions are way too long.  There should be an upper limit of
  100-200 lines.  _alpm_add_commit is around 600 lines, and is far too complex.
  Quite alot of this needs to be refactored as we go.
    Function list (from Dan McGee):
     add.c:
     _alpm_add_commit
     be_files.c:
     _alpm_db_read
     _alpm_db_write
     conflict.c:
     _alpm_checkconflicts
     _alpm_db_find_conflicts
     package.c:
     _alpm_pkg_load (getting a bit long)
     remove.c:
     _alpm_remove_commit
     server.c:
     _alpm_downloadfiles_forreal
     sync.c:
     _alpm_sync_sysupgrade (getting there)
     _alpm_sync_prepare
     _alpm_sync_commit

* pacman: fixup doxygen documentation for public interface

* pacman: use gcc visibility (static) for non-public functions (all _alpm
  functions should be static)

**** BUGS ****
* Removal of conflicts on -A and -U (INCOMPLETE)
* ordering of installed packages based on dependencies
    i.e. pkga depends=(pkgb pkgc), pkgb depends=(pkgc)
    pacman -S pkga pkgb pkgc
    > a depends on b and c, move them: pkgb pkgc pkga
    > b depends on c, move it: pkgc pkgb pkga
    > pacman -S pkgc pkgb pkga
* gensync: get all info from packages instead of PKGBUILDs
  for now, we only need to check the PKGBUILD in case of a
  'force' option
* pacman: add pactest cases/functionality for all -Q operations and make sure
  the output is sane