mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 00:08:50 -05:00
ecf15be0a7
Signed-off-by: Dan McGee <dan@archlinux.org>
96 lines
3.9 KiB
Plaintext
96 lines
3.9 KiB
Plaintext
TODO.dan
|
|
========
|
|
|
|
This is my personal TODO list. No guarantees if it is out of date and things no
|
|
longer apply. If you want to help out with any of it, send me an email.
|
|
|
|
Pacman 3.1:
|
|
-----------
|
|
|
|
Downgrade feature - allow users to see cached packages and downgrade to
|
|
(previous or any?) available options.
|
|
|
|
Extreme similarity between some of the sync and add code...we have to be able
|
|
to abstract more away from sync actions and add actions to just 'actions'
|
|
(example: sync,c, add.c, and deptest.c all contain a switch on PM_DEP_MOD_*).
|
|
Merge update, add, and sync code when possible, so we reduce duplication.
|
|
|
|
Review progress/transaction event subsystem. (from TODO)
|
|
|
|
Add Doxygen comments to every function in libalpm including private functions.
|
|
Ensure functions are doing exactly their purpose and nothing more. Find
|
|
functions that perform duplicate behavior and merge them. Combine and refactor
|
|
others. Delete unnecessary functions. Stop keeping everything clustered in
|
|
little add/sync/remove parts, allow transactions to share code.
|
|
|
|
Go through options list. Decide if namings are good, all options are still
|
|
relevant, etc. Ideas for -Re (#6273), changing meaning of -c (has two meanings,
|
|
another FS bug), etc. Remove the -A flag and possibly -D, -T, and -Y (-Y is
|
|
killed now in favor of vercmp binary) if they can be done by other actions.
|
|
Possible switch of -U --> -I (#5571).
|
|
|
|
Review display and logging functions. There seems to be an abundance of them.
|
|
Make it extensible to use color, review what verbose/debug means. Perhaps
|
|
separate logging functionality- Pacman has its normal log, and alpm backend
|
|
keeps a very simple log file - listing only adds (including syncs) and removes.
|
|
This way a consistency list can be kept of what is currently installed and what
|
|
isn't, without all the logging junk from the front end.
|
|
|
|
Profile the code. Find the functions that are being called a lot, and see what
|
|
can be done about it. Find out if all these calls are necessary (e.g. excessive
|
|
alpm_list_count calls), and maybe think about changing data structures to speed
|
|
operations up (e.g. a 'count' field). NOTE: already found two huge issues with
|
|
quick profiling- excessive setlocale calls, and extremely excessive strcmp
|
|
calls.
|
|
|
|
Fix other localized issues- use non-printf when necessary. We may need to use
|
|
some wchar_t output on the progress bar as char/byte counts differ here. Sizes
|
|
of packages (e.g. 10,400.23 MB) should all be localized with correct
|
|
seperators.
|
|
|
|
Rewrite makepkg to use terminal-safe coloring/bolding. tput utility should
|
|
allow us to do this. Make universal message functions for systemwide use,
|
|
including all pacman utilites- abs, pacman-optimize, etc.
|
|
|
|
Bugs/FRs to smash: 6468, 6437, 6430?, 6420, 6404, 6389, 6312?, 6284, 6273?,
|
|
6255?, 6208, 5987, 5885, 5571, 4182, 3492, 2810?, 1769, 1588, 1571
|
|
|
|
Update doxygen comments, they may need some work. Try to document all of the
|
|
private internal functions too- it helps a ton for people just getting a
|
|
start on pacman hacking.
|
|
|
|
Other smaller things:
|
|
---------------------
|
|
|
|
unsigned int vs. unsigned- determine a standard and stick with it
|
|
|
|
FS #4185 - move where message is logged, perhaps?
|
|
|
|
Update copyrights (2007)
|
|
|
|
Update pacman website, and add/finish pacman coding style page
|
|
|
|
Refine makepkg error codes. Each kind of failure could have its own code:
|
|
--package already built
|
|
--failed integ checks
|
|
--failed build
|
|
--etc.
|
|
|
|
Revamp the downloadprog function a bit. Seems kind of messy.
|
|
|
|
--print-uri option to sync should not require saying yes or no to up to date
|
|
|
|
Build a replacement for this, or at least standardize its use. We shouldn't
|
|
always need to pass handle->root around, it is constant. Something like char*
|
|
buildpath(file).
|
|
/* build the new entryname relative to handle->root */
|
|
snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname);
|
|
|
|
Random ideas:
|
|
-------------
|
|
|
|
Possibly split utilities/extras from pacman package
|
|
|
|
Make .indent.pro file for GNU indent (started, but didn't finish)
|
|
|