Files
pisi/TODO
T
2006-03-08 21:08:38 +00:00

248 lines
7.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
+ multi-package dependency analysis (eray)
+ design a package operation planner
+ install/remove operations (eray)
+ command line interface:
+ pisi remove
+ svn-like CLI
+ configuration file
+ define the format of the configuration file
+ extend Config module (config.py) accordingly
+ define configuration keys (baris - meren)
+ query
+ list of installed packages (eray)
+ refactor actionsAPI (caglar)
+ fix xml indentation (meren)
+ define file types (doc, executable, conf, etc...) (baris - meren)
+ write specfile (eray)
+ file locking for database access [not tested!] (eray)
+ implement file uri
+ extend the modules dealing with files accordingly
+ ui module improvements
+ methods for interaction (yes, no questions, etc.)
+ implement source database (eray)
+ easy package preparation
+ convert ebuild to pisi
+ COMAR interface
+ what do we need to specify in a package.
+ 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
3. Beta
+ build cmd: installl build deps
+ improve url support, it's a little dumb at the moment
+ devise a File class that works with URLs
+ add URL support to autoxml
+ info cmd: reverse dependencies of a package
+ a helper script for finding dependencies (eray)
+ autoxml: automated xml processing (eray)
+ design
+ basic types
+ list type
+ class type
+ localtext/text types
+ revised interface
+ improved error handling, check routines, hooks, format/print routines
+ xmlfile support (read/write)
+ string member, in addition to tag/attribute members
+ replace specfile with new specfile using autoxml
+ autoxmlize: metadata, index, dependency and related code paths
+ inheritance support
+ revise writing, error reporting, tests
+ components (eray)
+ requirements
+ xml format, add to PSPEC
+ index component.xml's and make use of them in build
+ a database of components:
+ query components by name
+ query list of packages in a component
+ index: update component database(s)
+ bug fixing
+ install/remove/upgrade components
+ safety switch: preserve system.base, install system.devel for build, etc.
+ info <component>
+ started documentation
+ component dependencies
+ multiple package repository (eray)
+ decide how to implement
+ support repo order
+ refactor xml support and implement multiple backends
+ 4suite support (initial patch by faik, completed by eray)
+ piksemel support (eray)
+ fix autoxml implementation to use 4suite by default
+ partial caching and automatic resume for file download (meren)
+ use a '.part' extension
+ search-file command (eray)
+ exception handling (eray)
+ uniform exception hierarchy
+ proper handling
+ API: we even have application users (eray)
+ a facade module pisi.api (eray)
+ a library init command (eray)
+ high-level package ops, index (eray)
+ info/util commands (eray)
+ build commands (baris)
+ documentation
+ actionsAPI documentation, unittests (caglar - meren)
+ versioning information document (eray - baris)
+ UI
+ PISIMAT
+ pykde GUI (cartman)
+ improve interface (eray)
+ refactor UI, reintroduce base class
+ add an ack interface, start cleaning up a bit
+ cli (eray)
+ ask alternatives to choose from
+ eliminate \n's from infos, what's the point?
+ metaclass coolness for CLI command framework (eray)
+ i18n support
+ translations and correct language for summary, description (packagers)
+ make pisi messages translatable (eray)
+ .pot support for dist script (gurer)
+ translate messages mesajların çevirisinin yapılması (pisi tr.po) (eray)
+ proper unicode handling in code - tons of fixes (eray - baris)
+ configure-pending (eray)
+ proper commar connection (baris - gurer)
+ ignore-deps (eray)
+ more robust upgrade (eray)
+ query (eray)
+ comar OM information (Provides)
+ find package by name, display summary/description
+ info --files option (like rpm -ql, but better of course)
+ implement missing unit tests
+ sourcedb
+ package (baris)
+ configuration file (baris)
+ upgrade (eray)
+ upgrade operation
+ test upgrade op
+ system-wide upgrade (upgrade-all) komutu
+ incremental build (eray)
+ generate binary release number by comparing MD5s (eray)
+ keep track of successfully completed configure, make, install
steps (necessary for large-scale builds?) (meren)
+ database locking bugs (eray)
4. Release
* high priority
+ transaction stuff for database (eray)
+ database version file
* low priority
+ search command: (eray)
+ implement an inverted index
+ search in summary and description
5. Post Release
* high priority
- package signing
- a flag to sign package after building
- code to check if the package has a valid signature
- cli improvements
- non interactive mode (similar to --auto in urpmi)
/ high-level build commands
+ an emerge command, just for fun
+ make use of binary repo to satisfy dependencies in emerge
/ build command enhancements:
+ aware of repo sources
? full dependency analysis like install/upgrade etc.
? build-all (or build-distro) command, or as a separate tool
+ make a package and sourcedb for each repo
+ packagedb
+ sourceb
? improve url support: consider adding "other" protocols
- removable media: media://
* medium priority
- UI impl: non-interactive use that selects defaults and logs output
- UI impl: a general purpose Qt UI
/ multi-architecture support
+ design decisions
+ extend XML specs to support that
- cross-platform building support
- incremental build/fetch for repository index (pisi-index.xml)
/ xdelta support (caglar)
- diffsets
- a command (check-repo) to check if repos are consistent wrt dep relations
- component improvements (optional)
- maintain a list of components each component has
- maintain a list of packages
- more support for categories:
- put categories into a database
- fast search for categories
* low priority
/ overhaul installdb (try to merge its use with packagedb) (eray)
/ verify metodlari
+ SpecFile
+ MetaData
+ Files
- Index (somebody should write one :} )
- autoxml:
- revise error checking, printing and tests
- uri type
- date type
- enum type
- make autoxml dependent on only xmlext and xmlfile interfaces
- search command: (eray)
- search components
- english stemming
- turkish stemming
- phonetic/syntactic fault tolerance (whichever works!)
- in particular evaluate soundex and metaphone
- research if there are language independent phonetic encodings
- implement as an option (or make it possible to turn it off if it works well :))
- fault tolerant search in package names (somehow)