ROADMAP.OLD 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. Inary TODO List
  2. ==============
  3. A list of tasks to accomplish, organized into priority sections. This wasn't deleted because
  4. i want to continue pisi project but now inary evolved a new package manager. its time to
  5. change RoadMap.
  6. Legend:
  7. - Todo
  8. ? Not determined if/how we have to do
  9. / In progress
  10. + Accomplished
  11. 1. Pre-Alpha
  12. + reading spec file
  13. + writing
  14. + files
  15. + metadata
  16. + Actions API framework
  17. + sample api modules (example: autotools)
  18. + C Language Tools
  19. - GoLang Tools
  20. + Python Language Tools
  21. + Ruby Language Tools
  22. - Use gem agent
  23. + Perl Language Tools
  24. + CMake Tools
  25. + unit test
  26. + source building
  27. + Detailed build log file
  28. + package module
  29. + extraction
  30. + add file / compression
  31. + package creation
  32. + install database
  33. + package database
  34. + command line interface
  35. + inary-build
  36. + inary-install
  37. + inary-index
  38. + inary-updatedb
  39. + single repository index
  40. + simple dependency checking
  41. + Package/Files
  42. + Detailed inary logs into /var/log
  43. 2. Alpha
  44. + multi-package dependency analysis (eray)
  45. + design a package operation planner
  46. + install/remove operations (eray)
  47. + command line interface:
  48. + inary remove
  49. + svn-like CLI
  50. + configuration file
  51. + define the format of the configuration file
  52. + extend Config module (config.py) accordingly
  53. + define configuration keys (baris - meren)
  54. + query
  55. + list of installed packages (eray)
  56. + refactor actionsAPI (caglar)
  57. + fix xml indentation (meren)
  58. + define file types (doc, executable, conf, etc...) (baris - meren)
  59. + write specfile (eray)
  60. + file locking for database access [not tested!] (eray)
  61. + implement file uri
  62. + extend the modules dealing with files accordingly
  63. + ui module improvements
  64. + methods for interaction (yes, no questions, etc.)
  65. + implement source database (eray)
  66. + easy package preparation
  67. ? convert ebuild to inary
  68. \ convert deb packages to inary
  69. \ convert rpm packages to inary
  70. + Configuring system interface after installing
  71. + what do we need to specify in a package
  72. + package install: register script and configure system with it
  73. + package remove: unregister script and reconfigure systen with it (Zaryoh)
  74. + internet installation
  75. + support URI's whereever a filename is supported
  76. + http server
  77. + https server
  78. + ftp server
  79. + inary updatedb over internet
  80. 3. Beta
  81. + build cmd: install build deps
  82. + improve url support, it's a little dumb at the moment
  83. + devise a File class that works with URLs
  84. + add URL support to autoxml
  85. + info cmd: reverse dependencies of a package
  86. + a helper script for finding dependencies (eray)
  87. + autoxml: automated xml processing (eray)
  88. + design
  89. + basic types
  90. + list type
  91. + class type
  92. + localtext/text types (localtext.... Ummm?.... )
  93. + write meaningful localtext datas
  94. + return meaningful localtext summaries and descriptions
  95. + revised interface
  96. + Error handling
  97. + improved error handling, check routines, hooks, format/print routines
  98. + write a meaningful traceback output
  99. + xmlfile support (read/write)
  100. + string member, in addition to tag/attribute members
  101. + replace specfile with new specfile using autoxml
  102. + autoxmlize: metadata, index, dependency and related code paths
  103. + inheritance support
  104. + revise writing, error reporting, tests
  105. + components (eray)
  106. + requirementsu
  107. + xml format, add to PSPEC
  108. + index component.xml's and make use of them in build
  109. + a database of components:
  110. + query components by name
  111. + query list of packages in a component
  112. + index: update component database(s)
  113. + bug fixing
  114. + install/remove/upgrade components
  115. + safety switch: preserve system.base, install system.devel for build, etc.
  116. + info <component>
  117. + started documentation
  118. + component dependencies
  119. + multiple package repository (eray)
  120. + decide how to implement
  121. + support repo order
  122. - file conflict checker
  123. + refactor xml support and implement multiple backends
  124. + ciksemel based modules rewrite with xml.dom.minidom (Zaryob)
  125. + partial caching and automatic resume for file download (meren)
  126. + use a '.part' extension
  127. + resume file downloading (pycurl) (Zaryob)
  128. + search-file command (eray)
  129. + exception handling (eray)
  130. + uniform exception hierarchy
  131. + proper handling
  132. + API: we even have application users (eray)
  133. + a facade module inary.api (eray)
  134. + clean unuseful inary.api functions
  135. + a library init command (eray)
  136. + high-level package ops, index (eray)
  137. + info/util commands (eray)
  138. + build commands (baris)
  139. + documentation
  140. + actionsAPI documentation, unittests (caglar - meren)
  141. + versioning information document (eray - baris)
  142. + UI
  143. - INARYMAT
  144. / Automatic dependency finder
  145. / read pkgconfig files and find dependencies (Zaryob)
  146. - find cycle dependencies (Zaryob)
  147. - Automatic build upgrader
  148. / creating pspec files from shell script type
  149. - pykde & pygtk GUI (cartman)
  150. + pykde interface (used package-manager)
  151. + improve interface (eray)
  152. + refactor UI, reintroduce base class
  153. + add an ack interface, start cleaning up a bit
  154. + cli (eray)
  155. + ask alternatives to choose from
  156. + eliminate \n's from infos, what's the point?
  157. + metaclass coolness for CLI command framework (eray)
  158. + i18n support
  159. + translations and correct language for summary, description (packagers)
  160. + make inary messages translatable (eray)
  161. + .pot support for dist script (gurer)
  162. / translate messages mesajların çevirisinin yapılması (inary tr.po)
  163. - az
  164. + de
  165. + en
  166. + es
  167. + fr
  168. - hr
  169. + hu
  170. + it
  171. - nl
  172. - pl
  173. - pt_BR
  174. + ru
  175. - sv
  176. + tr
  177. - uk
  178. + proper unicode handling in code - tons of fixes (eray - baris)
  179. / configure-pending (eray) (should return which packages configured)
  180. - report scom scripts problems to developers
  181. + configure pendings (Zaryob)
  182. + proper commar connection (baris - gurer)
  183. + ignore-deps (eray)
  184. + more robust upgrade (eray)
  185. + query (eray)
  186. + find package by name, display summary/description
  187. + info --files option (like rpm -ql, but better of course)
  188. + implement missing unit tests
  189. + sourcedb
  190. + package (baris)
  191. + configuration file (baris)
  192. + upgrade (eray)
  193. + upgrade operation
  194. + test upgrade op
  195. + system-wide upgrade (upgrade-all) komutu
  196. + incremental build (eray)
  197. + generate binary release number by comparing MD5s (eray)
  198. + keep track of successfully completed configure, make, install steps
  199. (necessary for large-scale builds?) (meren)
  200. + database locking bugs (eray)
  201. + SHOULD WORKING UNDER FIXME PARTS
  202. 4. Release
  203. * high priority
  204. + transaction stuff for database (eray)
  205. + database version file
  206. * low priority
  207. + search command: (eray)
  208. + implement an inverted index
  209. + search in summary and description
  210. 5. Post Release
  211. * high priority
  212. - refactoring
  213. sort of match the refactoring of inary-2.x series and improve it
  214. + accelerate search
  215. / package signing
  216. / an embebed package signer.(Zaryob)
  217. + a flag to sign package after building
  218. + code to check if the package has a valid signature
  219. - cli improvements
  220. - non interactive mode (similar to --auto in urpmi)
  221. / high-level build commands
  222. + an emerge command, just for fun
  223. + make use of binary repo to satisfy dependencies in emerge
  224. / build command enhancements:
  225. + aware of repo sources
  226. ? full dependency analysis like install/upgrade etc.
  227. ? build-all (or build-distro) command, or as a separate tool
  228. + make a package and sourcedb for each repo
  229. + packagedb
  230. + sourceb
  231. ? improve url support: consider adding "other" protocols
  232. - removable media: media://
  233. - ftp support
  234. * medium priority
  235. - UI impl: non-interactive use that selects defaults and logs output
  236. - UI impl: a general purpose Qt or GTK UI
  237. / multi-architecture support
  238. + design decisions
  239. + extend XML specs to support that
  240. - cross-platform building support
  241. + incremental build/fetch for repository index (inary-index.xml)
  242. / xdelta support (caglar)
  243. - diffsets
  244. - a command (check-repo) to check if repos are consistent wrt dep relations
  245. - component improvements (optional)
  246. - maintain a list of components each component has
  247. - maintain a list of packages
  248. - more support for categories:
  249. - put categories into a database
  250. - fast search for categories
  251. * low priority
  252. / overhaul installdb (try to merge its use with packagedb) (eray)
  253. / verify metodlari
  254. + SpecFile
  255. + MetaData
  256. + Files
  257. / Index (somebody should write one :} )
  258. - autoxml:
  259. - revise error checking, printing and tests
  260. - uri type
  261. - date type
  262. - enum type
  263. - make autoxml dependent on only xmlext and xmlfile interfaces
  264. - search command: (eray)
  265. + search components
  266. - english stemming
  267. - turkish stemming
  268. - phonetic/syntactic fault tolerance (whichever works!)
  269. - in particular evaluate soundex and metaphone
  270. - research if there are language independent phonetic encodings
  271. - implement as an option (or make it possible to turn it off if it works well :))
  272. - fault tolerant search in package names (somehow)