From 155aeb40fda771b0d7933349c02a497d0b4b6868 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 7 Feb 2007 22:08:37 +0000 Subject: Spruced up the TODOs a bit, got rid of some of them since a lot of it was duplicate anyway. Also removed the last of the ORE tags and replaced them with TODOs. --- TODO | 50 ----------------- TODO.autoconf | 24 --------- TODO.dan | 142 ++++++++++++++++++++++++++++++------------------- lib/libalpm/alpm.c | 24 ++++----- lib/libalpm/be_files.c | 5 +- 5 files changed, 99 insertions(+), 146 deletions(-) delete mode 100644 TODO delete mode 100644 TODO.autoconf diff --git a/TODO b/TODO deleted file mode 100644 index 4e57b9ef..00000000 --- a/TODO +++ /dev/null @@ -1,50 +0,0 @@ -GLOBAL -====== -- ORE tags - are there any left? -- Automake is a PITA. We should switch to just autoconf and hand written - Makefile.in's - -LIBALPM -======= -- review public interface. There seems to be a lot of complication - for consuming front ends for no reason. I have some ideas for a "new and - improved" public interface, but it would be a drastic change. - -- review errors handling (globalise pm_errno usage, improve error - meanings) - - -PACMAN -====== -- review how things are displayed in the frontend (normal display, - verbose mode, which usage for the library log callback, debug levels, ...) - -- review progress / transaction even subsystem - - -TRANSLATION -=========== - -po files --------- -cs.po - mail sent -es.po - created by Matt, pending -fr.po - mail sent -nl.po - mail sent -pl_PL.po - mail sent -pt_BR.po - mail sent -we need to mail them: -pt_PT.po -ru.po -sv.po -zh_CN.po - -manpages --------- -we need to mail them: -es -hu - we need somebody who'll do the work -pl_PL -pt_BR -zh_CN - diff --git a/TODO.autoconf b/TODO.autoconf deleted file mode 100644 index b212e9a3..00000000 --- a/TODO.autoconf +++ /dev/null @@ -1,24 +0,0 @@ -TODO for autoconf/automake: - -global -====== - -- review autoclean.sh script. Maybe there is a more simple way to do this FULL clean. - -- Many things :)) If you got idea or request, then implement it. - -libalpm and codechanges -======================= - -- Add much more defines in configure.in via options or not. Like CACHEDIR, PKGEXT, etc. - Those will be available from config.h so not need a big codechange. But it is usefull. - The user can specify at the configure what cachedir or pkgext he/she want. And maybe better - for other distros (like frugalware :) ) which are using other PKGEXT or cachedir than default. - -- Review what needed to be in config.h and what not. Probably many #depends which are now hardcoded - into the sources. - - -Christian Hamar alias krix - -2006. aug. 25., Fri, 01.13.36 CEST diff --git a/TODO.dan b/TODO.dan index 402c0dbc..16deb883 100644 --- a/TODO.dan +++ b/TODO.dan @@ -1,61 +1,91 @@ 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. - -* Go through all makepkg bugs in flyspray and see if they are rectified: - http://bugs.archlinux.org/index.php?tasks=&project=1&string=makepkg - -* Documentation- no one likes to write it, but everyone reads it. Work on the - man pages and make sure they are up to date. -* doc/PKGBUILD.5- continue cleanup work -* PKGBUILD man page should be in section 5 and not section 8 - -* Port the libdownload (libfetch) manpage from BSD style to Linux style, or at - very least change references to BSD. - -* Pacman 3.1 - New cache cleaning functionality in pacman - keep installed - version, choose number to keep, etc. Good python script in the forums that - we should try to emulate, perhaps. -* Pacman 3.1 - downgrade feature - allow users to see cached packages and - downgrade to (previous or any?) available options. - -* Pacman 3.1 - 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. - -* Pacman 3.1 - List every function, define, etc. in libalpm. Give one - sentence description of each. If it sounds like two are similar, find a way - to combine or refactor them. If it is unnecessary- delete it. Stop keeping - everything clustered in little add/sync/remove parts, allow transactions to - share code. - -* Pacman 3.1 - 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. - -* Pacman 3.1 - Possible rewrite of make system. Options: - -- revise to be more static (Aaron mentioned wmii's system) - -- Cmake? It looks intriguing - -* Pacman 3.1 - Rewrite _alpm_sortbydeps to use Topological Sort. Should work - using a standard topo sort algorithm, once the crazy types can be fixed up - a bit. Include a cycle check - print a big error message if this happens. +======== + +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. + +Go through all makepkg bugs in Flyspray and see if they are rectified: +http://bugs.archlinux.org/index.php?tasks=&project=1&string=makepkg + +Documentation- no one likes to write it, but everyone reads it. Work on the man +pages and make sure they are up to date. Perhaps move man page format to a more +portable source format to make translation easier to keep up-to-date (something +like txt2tags, docbook?) This will need some research. + +Port the libdownload (libfetch) manpage from BSD style to Linux style, or at +very least change references to BSD. + +Pacman 3.1: +=========== + +Updated cache cleaning functionality in pacman - keep installed version, choose +number to keep, etc. Good python script in the forums that we should try to +emulate, perhaps. + +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 if they +can be done by other actions. Possible switch of -U --> -I (#5571). + +Rewrite _alpm_sortbydeps to use Topological Sort. Should work using a standard +topo sort algorithm, once the crazy types can be fixed up a bit. Include a +cycle check - print a big error message if this happens. -- http://en.wikipedia.org/wiki/Topological_sort -- http://everything2.com/?node_id=556079 +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. + +If we stick with autotools, add more defines to configure.in, including +CACHEDIR, PKGEXT, so these can be specified at configure time for ease of use +by other distributions which may want to change the defaults. Also, review what +needs to be in config.h and what does not. There may be excess #depends which +are hard coded into the sources. (from TODO.autoconf) + Quick hits: -* unsigned int vs. unsigned -* 'ldd' & 'ldd -u' - many linkages -* possibly split utilities/extras from pacman package -* makepkg3 produces files with arch appended- gensync can't deal with it -* FS #4185 - move where message is logged, perhaps? -* Remove -A flag (and possibly -D, -T, and -Y?) -* ideas mentioned here - http://bbs.archlinux.org/viewtopic.php?id=29450 - add a .install message about mirrors, maybe comment whole file, encourage - rankmirrors usage -* update copyrights -* update pacman website -* finish pacman coding style page -* make indent.pro file for GNU indent +=========== + +unsigned int vs. unsigned- determine a standard and stick with it + +Possibly split utilities/extras from pacman package + +Rewrite gensync/updatesync, and add a 'repo-remove' script + +FS #4185 - move where message is logged, perhaps? + +ideas mentioned here- http://bbs.archlinux.org/viewtopic.php?id=29450- add a +.install message about mirrors, maybe comment whole file, encourage rankmirrors +usage + +Update copyrights (2007) + +Update pacman website, and add/finish pacman coding style page + +Make .indent.pro file for GNU indent (started, but didn't finish) + +Pacman 3 packaging - perhaps include pacman2.static in case something goes +terribly wrong, which I hope it won't + +autogen.sh / autoclean.sh - these seem messy. Can we clean this up? + + diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 6465b12b..0d7246d0 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -820,19 +820,17 @@ int SYMEXPORT alpm_logaction(char *fmt, ...) vsnprintf(str, LOG_STR_LEN, fmt, args); va_end(args); - /* ORE - We should add a prefix to log strings depending on who called us. - If logaction was called by the frontend: - USER: - and if called internally: - ALPM: - Moreover, the frontend should be able to choose its prefix (USER by default?): - pacman: "PACMAN" - kpacman: "KPACMAN" - ... - It allows to share the log file between several frontends and to actually - know who does what */ - + /* TODO We should add a prefix to log strings depending on who called us. + * If logaction was called by the frontend: + * USER: + * and if called internally: + * ALPM: + * Moreover, the frontend should be able to choose its prefix + * (USER by default?): + * pacman: "PACMAN" + * kpacman: "KPACMAN" + * This would allow us to share the log file between several frontends + * and know who does what */ return(_alpm_logaction(handle->usesyslog, handle->logfd, str)); } /** @} */ diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 4de86523..d162da09 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -53,9 +53,8 @@ int _alpm_db_install(pmdb_t *db, const char *dbfile) { ALPM_LOG_FUNC; - /* ORE - we should not simply unpack the archive, but better parse it and - db_write each entry (see sync_load_dbarchive to get archive content) */ + /* TODO we should not simply unpack the archive, but better parse it and + * db_write each entry (see sync_load_dbarchive to get archive content) */ _alpm_log(PM_LOG_DEBUG, _("unpacking database '%s'"), dbfile); if(_alpm_unpack(dbfile, db->path, NULL)) { -- cgit v1.2.3-70-g09d2