[pacman-dev] [PATCH] Remove old TODO lists
allan at archlinux.org
Wed Jun 22 04:54:10 EDT 2011
These had not been touched since 2007 and had lost most of their
relevance. The bug tracker is a better place for the filing of
Signed-off-by: Allan McRae <allan at archlinux.org>
@Dan: this is entirely up to you...
TODO.aaron | 57 ------------------------------------
TODO.dan | 95 ------------------------------------------------------------
2 files changed, 0 insertions(+), 152 deletions(-)
delete mode 100644 TODO.aaron
delete mode 100644 TODO.dan
diff --git a/TODO.aaron b/TODO.aaron
deleted file mode 100644
@@ -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);
- 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
@@ -1,95 +0,0 @@
-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.
-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
-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
-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
-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*
- /* build the new entryname relative to handle->root */
- snprintf(filename, PATH_MAX, "%s%s", handle->root, entryname);
-Possibly split utilities/extras from pacman package
-Make .indent.pro file for GNU indent (started, but didn't finish)
More information about the pacman-dev