index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | TODO.aaron | 57 | ||||
-rw-r--r-- | TODO.dan | 95 |
diff --git a/TODO.aaron b/TODO.aaron deleted file mode 100644 index b1f78873..00000000 --- a/TODO.aaron +++ /dev/null @@ -1,57 +0,0 @@ -== This is my custom TODO file == - -* transaction object should contain two package list (install and remove) - instead of a single list of syncpkgs - this should allow us to get rid of that - type. This also requires seperate functionality to return a list of - "replaces" packages to the front end, so the frontend can handle the QUESTION() - stuff in that case - -* libalpm -> front end communication needs a work-up. Both progress functions - can be combined into one callback, IFF we adjust it to accept a prefix string - for the progress bars, and format it at the lib side. Question functions - should also do the same - create the string at the library side, and simply - call some sort of int yes_no = ask_question("Do foo with bar?"); - -* 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. - -* pacman: fixup doxygen documentation for public interface - -* 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) diff --git a/TODO.dan b/TODO.dan deleted file mode 100644 index ee8f7404..00000000 --- a/TODO.dan +++ /dev/null @@ -1,95 +0,0 @@ -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) - |