this is a list of things that could be done to improve emerge:

- migrate old script implementions to refactored api (see portage/template/ for hints) 

- think of a fail proof versioning system - a script from today should stay executable at least for the next
  two minor KDE versions.
  
- replace current implementation of option handling with a better one:
  use a parser function that returns the options as a list.
  Maybe there are already implementations for that?
  
- implement an option -r (recursive) so that options behind this option are given to all dependencies
  this is needed so that e.g. 'emerge.py --target=4.0 kdebase' will build only the 4.0 target and will
  not depend on the svnHEAD.

- introduce the special target svnREV[XXXXXX] where XXXXXX is a revision number (why not use svn[XXXXXXX] ?).
  this needs some work on the internal implementation for interacting with subversion client.

- implement a better option transmission between calling emerge script and executed package script
## note: started; the import of the file makes complete transmission possible

- implement a function for making the settings readable by the app without the use environment vars
  
- implement a test/status page. gentoo emerge uses --info option to give that out.
  maybe some self tests could be included into a small test package. (could this test package be released independently?)

- support additional portage directories - those have to be compatible to the original one...

## - implement an option --update which updates installed svn packages (e.g. with target svnHEAD)
##   this will replace 'emerge.py --unmerge package --noclean package'
##
## implemented as said above; the only thing is that passing the environment to the next process has to 
## be restricted - this can hopefully be fixed together with the option parser.

## - implement "emerge --version=version":
## instead of using a different package name for each alpha, beta etc. use an option for this
##
## implemented as option --target=target
## please see as well option --print-target

## - implement a non-copy option:
## except for packaging, the copying of the sources is pretty useless - and even that can be changed.
## so implement an option to make emerge faster and less space consuming: don't copy the sources but 
## rely on the svn tree
##
## implemented as option --copy and --nocopy; --nocopy is standard now for all svn packages
## even packaging works from svn now

- complete options classes

done 
## refactored internal emerge system see doc/refactoring.xmi 
## implement build type related merge root 
## added buildtarget to install root 
+ rename workroot to buildRoot 
+ implement build type related merge root 
+ add buildtarget to install root 

BUGS

- emerge -p qt do not print the list of dependencies 
- there is no way to detect the state of a given package except the 'qmerged' state
  Missing states are 'fetched', 'unpacked', 'configured', 'maked', 'installed' - 
  one question is how to detect monotone state changes
  