mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 08:18:51 -05:00
170d63190a
* Added alpm_list_remove_node for single list node removal * Proper error checking/output for failed db_read/db_write (missing files) * Invalid packages (missing files) are now removed from the package cache * -Qs and -Ss output now look the same * config.rpath causes errors on one machine I had, so I added it to CVS * Fixed a "clobbered memory" issue when installing groups - only the outer list should be free'd, not the contained data
71 lines
2.9 KiB
Plaintext
71 lines
2.9 KiB
Plaintext
== This is my custom TODO file ==
|
|
|
|
* 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.
|
|
- config_t duplicates much of what can be accessed from the alpm_option_*
|
|
interface. Determine what can / can't be removed and do so.
|
|
- initialize alpm BEFORE parsing args, so we can get rid of a handful of
|
|
local lists and things in pacman.c (see below)
|
|
- fix the "--debug" parameter. requiring a bitmask from the user is silly.
|
|
we can parse this can send a real bitmask to alpm.
|
|
|
|
* lib/libalpm:
|
|
- Remove `root` param from alpm_initialize. We can simply initialize to /
|
|
and call set_root at a later time. This allows us to initiliaze earlier.
|
|
- 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.
|
|
- maybe it's my fault, but I see little difference between PM_LOG_FLOW1,
|
|
PM_LOG_FLOW2, and PM_LOG_DEBUG. We might want to just do away with flow1
|
|
and flow2 and use debug across the board.
|
|
- 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?
|
|
|
|
* 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
|
|
|
|
* 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
|