
PiSi ToDo List
==============

A list of tasks to accomplish, organized into priority sections

Legend:

- Todo
? Not determined if/how we have to do
/ In progress
+ Accomplished

1. Pre-Alpha

 + reading spec file
 + writing
   + files
   + metadata
 + Actions API framework
   + sample api modules (autotools)
   + unit test
 + source building
 + package module
   + extraction
   + add file / compression
 + package creation
 + install database
 + package database
 + command line interface
   + pisi-build
   + pisi-install
   + pisi-index
   + pisi-updatedb
 + single repository index
 + simple dependency checking
 + Package/Files

2. Alpha
 + write specfile (eray)
 + file locking for database access [not tested!] (eray)
 / verify metodlari
   / SpecFile
   / MetaData
   - Files
   - Index
 - incremental build
   - generate binary release number by comparing MD5s
   - keep track of successfully completed configure, make, install
     steps (necessary for large-scale builds!)
 + command line interface:
   - multi-package installation
   - pisi-remove
   - pisi-upgrade
   / svn-like CLI
 - configuration file
   - define the format of the configuration file
   - extend Config module (config.py) accordingly
 + implement file uri
   / extend the modules dealing with files accordingly
 - multi-package dependency analysis (eray)
   - design a package operation planner
   - install operation
   - upgrade operation
 - ui module improvements
   - methods for interaction (yes, no questions, etc.)
 + implement source database (eray)
 - implement missing unit tests
   + sourcedb
   - package
 - multi-architecture support
   - design decisions
   - extend XML specs to support that
   - cross-platform building support
 - non-interactive use
 - query
   - list of installed packages (eray)
   - comar OM information (Provides)
 - easy package preparation
   / convert ebuild to pisi
 - COMAR interface
   ? what do we need to specify in a package? (Provides only?)
   - package install: register config script
   - package remove: unregister config script
 - internet installation
   / support URI's whereever a filename is supported
   - http server
   + pisi updatedb over internet
 - component/category
   - requirements
   - xml format
   - usage

3. Beta

 - multiple package repository
   / decide how to implement
   - make a package and sourcedb for each repo
   - support medium types
     - internet: http/ftp
     - local repository
     - cdrom dvd
 - transaction stuff for database
 - Packager's tool
   ? PISIMAT

 - GUI
   - pyqt UI class to interface
   - installation
   - remove
   - upgrade
