summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2007-02-07 22:08:37 +0000
committerDan McGee <dan@archlinux.org>2007-02-07 22:08:37 +0000
commit155aeb40fda771b0d7933349c02a497d0b4b6868 (patch)
treec56eaba2b02847d0df30e2e2e43c13296f1eb9ed
parent7969082a7c75c5367eaf5d8f42b93abbe17a3b4b (diff)
downloadpacman-155aeb40fda771b0d7933349c02a497d0b4b6868.tar.xz
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.
-rw-r--r--TODO50
-rw-r--r--TODO.autoconf24
-rw-r--r--TODO.dan142
-rw-r--r--lib/libalpm/alpm.c24
-rw-r--r--lib/libalpm/be_files.c5
5 files changed, 99 insertions, 146 deletions
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 <krics@linuxforum.hu>
-
-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: <the frontend log>
- and if called internally:
- ALPM: <the library log>
- 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: <the frontend log>
+ * and if called internally:
+ * ALPM: <the library log>
+ * 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)) {