mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 08:18:51 -05:00
89 lines
3.5 KiB
Plaintext
89 lines
3.5 KiB
Plaintext
== This is my custom TODO file ==
|
|
|
|
* Dan and I both have personal TODOs. Perhaps we should kill off TODO and
|
|
TODO.autoconf
|
|
|
|
* Look into other VCSs to use. The main CVS repo will remain, but having a
|
|
distributed system to allow for easy patching/pushing/pulling would be nice
|
|
- monotone and mercurial look like the top contenders in my book, but I need
|
|
to evaluate both a bit more.
|
|
|
|
* Make sure all the alpm_list_t changes are valid (especially alpm_list_free)
|
|
|
|
* src/pacman:
|
|
- There's quite a few single function headers which contain the pacman_*
|
|
functions. We should move these to a single header (pacman.h) to clean up
|
|
the source a bit.
|
|
|
|
* lib/libalpm:
|
|
- move logging (alpm_logaction) out of the library. log files should be
|
|
written by the app, not the library. Adding a PM_LOG_* constant that
|
|
frontends can recognize and send to a file is probably a good idea.
|
|
- clear up list allocation/deallocation - some lists need to be free'd, some
|
|
do not and there is no clear indication WHEN this should happen.
|
|
- remove DB entries (directories) on a read error?
|
|
- Add a pm_errstr error string, which will allow us to do things like:
|
|
pm_errno = PM_ERR_LIBARCHIVE;
|
|
pm_errstr = archive_error_string(archive);
|
|
or:
|
|
pm_errno = PM_ERR_LIBDOWNLOAD;
|
|
pm_errstr = downloadLastErrString;
|
|
This way we don't break abstraction when returning specific errors in
|
|
cases like the above.
|
|
|
|
* pacman: A LOT 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 a lot 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
|
|
|
|
* libalpm: just because a function is in alpm.h doesn't mean it needs to be in
|
|
alpm.c - we should move functions around where they should be. In fact,
|
|
alpm.c might not be needed at all, if things were organized properly.
|
|
|
|
* feature for 3.1: package file hooks *
|
|
I've been planning on this one for some time. Here's a simple rundown:
|
|
in /etc/pacman.d/hooks:
|
|
Hook /usr/include/* : /usr/bin/ctags -R /usr/include/*.h -f /usr/include/systags
|
|
This will allow us to make "global hooks" to simplify a lot of repetitive
|
|
install files (scrollkeeper, depmod, etc). This also allows us to move
|
|
ldconfig out of pacman entirely.
|
|
possible: /etc/pacman.hooks/* files for hooks, so packages can add them too
|
|
|
|
* feature for 3.1: multiple search/match types
|
|
option: MatchType regex (current way)
|
|
MatchType fnmatch (use fnmatch to match things like 'pacman -S gnome*')
|
|
MatchType plain (no matching. expect plain text).
|
|
|
|
* feature for 3.1: revamp the autotools system. I'd LOVE to use a manual system
|
|
like wmii and friends do. It'd be real nice if we could just do away with
|
|
autotools altogether.
|
|
|
|
**** BUGS ****
|
|
* Removal of conflicts on -A and -U (INCOMPLETE)
|
|
* 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
|