123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- Inary TODO List
- ==============
- A list of tasks to accomplish, organized into priority sections. This wasn't deleted because
- i want to continue pisi project but now inary evolved a new package manager. its time to
- change RoadMap.
- 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 (example: autotools)
- + C Language Tools
- - GoLang Tools
- + Python Language Tools
- + Ruby Language Tools
- - Use gem agent
- + Perl Language Tools
- + CMake Tools
- + unit test
- + source building
- + Detailed build log file
- + package module
- + extraction
- + add file / compression
- + package creation
- + install database
- + package database
- + command line interface
- + inary-build
- + inary-install
- + inary-index
- + inary-updatedb
- + single repository index
- + simple dependency checking
- + Package/Files
- + Detailed inary logs into /var/log
- 2. Alpha
- + multi-package dependency analysis (eray)
- + design a package operation planner
- + install/remove operations (eray)
- + command line interface:
- + inary 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 inary
- \ convert deb packages to inary
- \ convert rpm packages to inary
- + Configuring system interface after installing
- + what do we need to specify in a package
- + package install: register script and configure system with it
- + package remove: unregister script and reconfigure systen with it (Zaryoh)
- + internet installation
- + support URI's whereever a filename is supported
- + http server
- + https server
- + ftp server
- + inary updatedb over internet
- 3. Beta
- + build cmd: install 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 (localtext.... Ummm?.... )
- + write meaningful localtext datas
- + return meaningful localtext summaries and descriptions
- + revised interface
- + Error handling
- + improved error handling, check routines, hooks, format/print routines
- + write a meaningful traceback output
- + 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)
- + requirementsu
- + 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
- - file conflict checker
- + refactor xml support and implement multiple backends
- + ciksemel based modules rewrite with xml.dom.minidom (Zaryob)
- + partial caching and automatic resume for file download (meren)
- + use a '.part' extension
- + resume file downloading (pycurl) (Zaryob)
- + search-file command (eray)
- + exception handling (eray)
- + uniform exception hierarchy
- + proper handling
- + API: we even have application users (eray)
- + a facade module inary.api (eray)
- + clean unuseful inary.api functions
- + 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
- - INARYMAT
- / Automatic dependency finder
- / read pkgconfig files and find dependencies (Zaryob)
- - find cycle dependencies (Zaryob)
- - Automatic build upgrader
- / creating pspec files from shell script type
- - pykde & pygtk GUI (cartman)
- + pykde interface (used package-manager)
- + 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 inary messages translatable (eray)
- + .pot support for dist script (gurer)
- / translate messages mesajların çevirisinin yapılması (inary tr.po)
- - az
- + de
- + en
- + es
- + fr
- - hr
- + hu
- + it
- - nl
- - pl
- - pt_BR
- + ru
- - sv
- + tr
- - uk
- + proper unicode handling in code - tons of fixes (eray - baris)
- / configure-pending (eray) (should return which packages configured)
- - report scom scripts problems to developers
- + configure pendings (Zaryob)
- + proper commar connection (baris - gurer)
- + ignore-deps (eray)
- + more robust upgrade (eray)
- + query (eray)
- + 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)
- + SHOULD WORKING UNDER FIXME PARTS
- 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
- - refactoring
- sort of match the refactoring of inary-2.x series and improve it
- + accelerate search
- / package signing
- / an embebed package signer.(Zaryob)
- + 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://
- - ftp support
- * medium priority
- - UI impl: non-interactive use that selects defaults and logs output
- - UI impl: a general purpose Qt or GTK UI
- / multi-architecture support
- + design decisions
- + extend XML specs to support that
- - cross-platform building support
- + incremental build/fetch for repository index (inary-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)
|