mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-14 21:35:02 -05:00
8ded2051d2
Alessio 'mOLOk' Bolognino <themolok.ml@gmail.com> * Make makeworld compatable with makepkg lacking -w option.
143 lines
5.9 KiB
Plaintext
143 lines
5.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.
|
|
|
|
Only vaguely related to pacman:
|
|
-------------------------------
|
|
|
|
Port the libdownload (libfetch) manpage from BSD style to Linux style, or at
|
|
very least change references to BSD.
|
|
|
|
|
|
Pacman 3.1:
|
|
-----------
|
|
|
|
Documentation- look into moving man page format to a more portable source
|
|
format to make translation easier to keep up-to-date (something like txt2tags,
|
|
docbook, asciidoc) This will need some research.
|
|
|
|
Update cache cleaning functionality - keep installed version, choose number to
|
|
keep, etc. Good python script in the forums that we should try to emulate.
|
|
|
|
Downgrade feature - allow users to see cached packages and downgrade to
|
|
(previous or any?) available options.
|
|
|
|
Installed size and download size in -Si/Qi output should scale with package
|
|
size- KB to MB to GB. We should also get consistancy of K/KB, M/MB, etc.
|
|
|
|
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).
|
|
|
|
Rewrite _alpm_sortbydeps to use Topological Sort. Should work using a standard
|
|
topo sort algorithm, once the crazy types can be fixed up a bit. Include a
|
|
cycle check - print a big error message if this happens.
|
|
-- http://en.wikipedia.org/wiki/Topological_sort
|
|
-- http://everything2.com/?node_id=556079
|
|
|
|
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.
|
|
|
|
If we stick with autotools, add more defines to configure.in, including
|
|
CACHEDIR, PKGEXT, so these can be specified at configure time for ease of use
|
|
by other distributions which may want to change the defaults. Also, review what
|
|
needs to be in config.h and what does not. There may be excess #depends which
|
|
are hard coded into the sources. (from TODO.autoconf)
|
|
|
|
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.
|
|
|
|
Localize the date display done in --info output. Also, fix other localized
|
|
issues- use non-printf when necessary, make sure all two line printed messages
|
|
(especially usage instructions) are printed using one print statement. 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
|
|
|
|
Remove _alpm from function names now that we have SYMHIDDEN and static
|
|
declarations.
|
|
|
|
Remove alpm.c, put functions where they should be.
|
|
|
|
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
|
|
|
|
autogen.sh / autoclean.sh - these seem messy. Can we clean this up?
|
|
|
|
Refine makepkg error codes. Each kind of failure could have its own code:
|
|
--package already built
|
|
--failed integ checks
|
|
--failed build
|
|
--etc.
|
|
|
|
Add utility function to either frontend or backend to convert sizes: e.g. bytes
|
|
to KB, MB, GB.
|
|
|
|
Revamp the downloadprog function a bit. Seems kind of messy.
|
|
|
|
Add localized pkgdesc variables to makepkg.
|
|
|
|
--print-uri option to sync should not require saying yes or no to up to date
|
|
|
|
Add testing scripts to pactest for issues we have been working on (especially
|
|
files moving between packages). Also, take a look at cleaning up the output and
|
|
structure of the pactest.py program itself.
|
|
|
|
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)
|
|
|