[pacman-dev] CVS update of pacman-lib (5 files)

dan at archlinux.org dan at archlinux.org
Wed Feb 7 17:08:38 EST 2007


    Date: Wednesday, February 7, 2007 @ 17:08:38
  Author: dan
    Path: /home/cvs-pacman/pacman-lib

Modified: TODO.dan (1.4 -> 1.5) lib/libalpm/alpm.c (1.112 -> 1.113)
          lib/libalpm/be_files.c (1.25 -> 1.26)
 Removed: TODO (1.17) TODO.autoconf (1.3)

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               |  138 ++++++++++++++++++++++++++++-------------------
 lib/libalpm/alpm.c     |   24 +++-----
 lib/libalpm/be_files.c |    5 -
 5 files changed, 97 insertions(+), 144 deletions(-)


Index: pacman-lib/TODO
diff -u pacman-lib/TODO:1.17 pacman-lib/TODO:removed
--- pacman-lib/TODO:1.17	Wed Nov 15 03:02:43 2006
+++ pacman-lib/TODO	Wed Feb  7 17:08:38 2007
@@ -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
-
Index: pacman-lib/TODO.autoconf
diff -u pacman-lib/TODO.autoconf:1.3 pacman-lib/TODO.autoconf:removed
--- pacman-lib/TODO.autoconf:1.3	Fri Dec 29 12:04:58 2006
+++ pacman-lib/TODO.autoconf	Wed Feb  7 17:08:38 2007
@@ -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 at linuxforum.hu> 
-
-2006. aug. 25., Fri, 01.13.36 CEST
Index: pacman-lib/TODO.dan
diff -u pacman-lib/TODO.dan:1.4 pacman-lib/TODO.dan:1.5
--- pacman-lib/TODO.dan:1.4	Tue Feb  6 17:36:13 2007
+++ pacman-lib/TODO.dan	Wed Feb  7 17:08:37 2007
@@ -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
+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.
 
-* 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.
+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?
+
+
Index: pacman-lib/lib/libalpm/alpm.c
diff -u pacman-lib/lib/libalpm/alpm.c:1.112 pacman-lib/lib/libalpm/alpm.c:1.113
--- pacman-lib/lib/libalpm/alpm.c:1.112	Wed Feb  7 01:19:40 2007
+++ pacman-lib/lib/libalpm/alpm.c	Wed Feb  7 17:08:37 2007
@@ -820,19 +820,17 @@
 	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));
 }
 /** @} */
Index: pacman-lib/lib/libalpm/be_files.c
diff -u pacman-lib/lib/libalpm/be_files.c:1.25 pacman-lib/lib/libalpm/be_files.c:1.26
--- pacman-lib/lib/libalpm/be_files.c:1.25	Wed Jan 31 01:48:06 2007
+++ pacman-lib/lib/libalpm/be_files.c	Wed Feb  7 17:08:37 2007
@@ -53,9 +53,8 @@
 {
 	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)) {




More information about the pacman-dev mailing list