1
0
mirror of https://github.com/moparisthebest/pacman synced 2025-01-09 04:57:59 -05:00

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.
This commit is contained in:
Dan McGee 2007-02-07 22:08:37 +00:00
parent 7969082a7c
commit 155aeb40fd
5 changed files with 90 additions and 137 deletions

50
TODO
View File

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

View File

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

124
TODO.dan
View File

@ -1,61 +1,91 @@
TODO.dan 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: This is my personal TODO list. No guarantees if it is out of date and things no
http://bugs.archlinux.org/index.php?tasks=&project=1&string=makepkg 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 Go through all makepkg bugs in Flyspray and see if they are rectified:
man pages and make sure they are up to date. http://bugs.archlinux.org/index.php?tasks=&project=1&string=makepkg
* 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 Documentation- no one likes to write it, but everyone reads it. Work on the man
very least change references to BSD. 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.
* Pacman 3.1 - New cache cleaning functionality in pacman - keep installed Port the libdownload (libfetch) manpage from BSD style to Linux style, or at
version, choose number to keep, etc. Good python script in the forums that very least change references to BSD.
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 Pacman 3.1:
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 Updated cache cleaning functionality in pacman - keep installed version, choose
sentence description of each. If it sounds like two are similar, find a way number to keep, etc. Good python script in the forums that we should try to
to combine or refactor them. If it is unnecessary- delete it. Stop keeping emulate, perhaps.
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 Downgrade feature - allow users to see cached packages and downgrade to
are still relevant, etc. Ideas for -Re (#6273), changing meaning of -c (has (previous or any?) available options.
two meanings, another FS bug), etc.
* Pacman 3.1 - Possible rewrite of make system. Options: Extreme similarity between some of the sync and add code...we have to be able
-- revise to be more static (Aaron mentioned wmii's system) to abstract more away from sync actions and add actions to just 'actions'
-- Cmake? It looks intriguing (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 - Rewrite _alpm_sortbydeps to use Topological Sort. Should work Review progress /transaction event subsystem. (from TODO)
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. 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://en.wikipedia.org/wiki/Topological_sort
-- http://everything2.com/?node_id=556079 -- 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: Quick hits:
* unsigned int vs. unsigned ===========
* 'ldd' & 'ldd -u' - many linkages
* possibly split utilities/extras from pacman package unsigned int vs. unsigned- determine a standard and stick with it
* makepkg3 produces files with arch appended- gensync can't deal with it
* FS #4185 - move where message is logged, perhaps? Possibly split utilities/extras from pacman package
* Remove -A flag (and possibly -D, -T, and -Y?)
* ideas mentioned here - http://bbs.archlinux.org/viewtopic.php?id=29450 Rewrite gensync/updatesync, and add a 'repo-remove' script
add a .install message about mirrors, maybe comment whole file, encourage
rankmirrors usage FS #4185 - move where message is logged, perhaps?
* update copyrights
* update pacman website ideas mentioned here- http://bbs.archlinux.org/viewtopic.php?id=29450- add a
* finish pacman coding style page .install message about mirrors, maybe comment whole file, encourage rankmirrors
* make indent.pro file for GNU indent 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?

View File

@ -820,19 +820,17 @@ int SYMEXPORT alpm_logaction(char *fmt, ...)
vsnprintf(str, LOG_STR_LEN, fmt, args); vsnprintf(str, LOG_STR_LEN, fmt, args);
va_end(args); va_end(args);
/* ORE /* TODO We should add a prefix to log strings depending on who called us.
We should add a prefix to log strings depending on who called us. * If logaction was called by the frontend:
If logaction was called by the frontend: * USER: <the frontend log>
USER: <the frontend log> * and if called internally:
and if called internally: * ALPM: <the library log>
ALPM: <the library log> * Moreover, the frontend should be able to choose its prefix
Moreover, the frontend should be able to choose its prefix (USER by default?): * (USER by default?):
pacman: "PACMAN" * pacman: "PACMAN"
kpacman: "KPACMAN" * kpacman: "KPACMAN"
... * This would allow us to share the log file between several frontends
It allows to share the log file between several frontends and to actually * and know who does what */
know who does what */
return(_alpm_logaction(handle->usesyslog, handle->logfd, str)); return(_alpm_logaction(handle->usesyslog, handle->logfd, str));
} }
/** @} */ /** @} */

View File

@ -53,9 +53,8 @@ int _alpm_db_install(pmdb_t *db, const char *dbfile)
{ {
ALPM_LOG_FUNC; ALPM_LOG_FUNC;
/* ORE /* TODO we should not simply unpack the archive, but better parse it and
we should not simply unpack the archive, but better parse it and * db_write each entry (see sync_load_dbarchive to get archive content) */
db_write each entry (see sync_load_dbarchive to get archive content) */
_alpm_log(PM_LOG_DEBUG, _("unpacking database '%s'"), dbfile); _alpm_log(PM_LOG_DEBUG, _("unpacking database '%s'"), dbfile);
if(_alpm_unpack(dbfile, db->path, NULL)) { if(_alpm_unpack(dbfile, db->path, NULL)) {