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

Dan McGee dpmcgee at gmail.com
Wed Jun 22 11:48:27 EDT 2011


On Wed, Jun 22, 2011 at 3:54 AM, Allan McRae <allan at archlinux.org> wrote:
> 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
> ideas.
>
> Signed-off-by: Allan McRae <allan at archlinux.org>
> ---
>
> @Dan: this is entirely up to you...
I've been meaning to do this for a while. :)

>  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 @@
> -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)
> -
> --
> 1.7.5.4
>
>
>


More information about the pacman-dev mailing list