[pacman-dev] [PATCH] Remove old TODO lists
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
> 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 @@
> -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