[pacman-dev] [PATCH] Remove old TODO lists

Allan McRae 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
index b1f7887..0000000
--- 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 ee8f740..0000000
--- a/TODO.dan
+++ /dev/null
@@ -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.
-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
-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
-  --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*
-	/* 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)

More information about the pacman-dev mailing list