upload tizen1.0 source
[pkgs/e/elektra.git] / TODO
1 #For bugs and enhancements go to http://bugs.libelektra.org
2 #For visions and drafts go to http://www.libelektra.org
3 #For possible extensions in future, see FUTURE
4
5 backends:
6         using libraries:
7                 nickel
8                 libconfig
9                 eet
10         using keysets:
11                 bind
12                 memory
13         update old backends:
14                 berkleydb
15                 ini
16                 winregistry
17                 uniconf
18
19 bindings: using swig
20         cpp
21         python
22         scheme
23         java
24
25 bugs:
26         bug squashing
27         fix open bugs of http://bugs.libelektra.org
28
29 documentation:
30         update all parts of docu to 0.7.0
31         update homepage to 0.7.0 related informatin
32         update Tutorial to 0.7.0 kdbGet()
33
34 bsd licence:
35         check for documentation, homepage, modules,...
36
37 kdb rewrite: [partial blocker]
38         kdb-ls alike commands
39         rm -r
40         cp -r
41         mv -r
42         ls pretty format
43         preload (mount, config backends)
44         generate
45         meta-info get/set
46         info about backends
47         add capabilities support in kdb tool
48         export xml validation
49
50 integration: in other software
51         make autoconf snippet
52         shell-script (like in oyranos)
53
54 extend:
55         re-add other backends (berkleydb, gconf)
56         build and test without gconf,... installed
57         ksToStream in stream.c
58         Reintroduce and test Regular Expressions in keyset.c
59         ksCompare in keyset.c
60         mount user/elektra hierarchy
61
62 reliably code:
63         error states in kdbSet
64         mode checks 0-7
65         error codes
66
67 dynamic memory management:
68         improve realloc, use srealloc
69         don't use sprintf, asprintf, strdup, strndup
70         use only own functions where available
71         use different compilers, libc too
72
73 packaging:
74         build with minimal system
75         debian packages
76         fedora packages
77
78 all exported methods of elektra need to be:
79         useful in current state
80         well documented in behavior
81         having test cases for behavior
82         behavior not overlapping with another function
83         well documented error cases, return and errno values
84         having test cases for error cases
85         otherwise fix or mark it obsolete
86
87 version:
88         tag everything with 0.7.0
89         get version with macro
90         get version at runtime
91         check exported symbols
92         use symbol table
93
94 #portability
95
96 bugs::
97         mntent.h fix for macosx
98         dont use libltdl under linux
99
100 portability:
101         cross compilation
102         bsd, aix,...
103         glibc functions away
104
105 portability:
106         Build on different platforms
107         Statical build testing
108         build and test without iconv, libxml2
109
110 compilers:
111         diet-gcc
112         intel cc
113
114 #testing
115
116 testing coverage:
117         -fprofile-arcs
118         -ftest-coverage
119         reasoning which parts are tested
120
121 advanced testing:
122         get and set a real big amount of keys
123         multithreading testing
124
125 #performance
126
127 general:
128         scripts for performance and stability testing
129         testing optimizations (-O2)
130         profile the code and fix optimization leaks
131
132
133 profiler:
134         search for slow parts
135
136 malloc trace:
137         reduce mallocs
138
139 benchmarks:
140         are large keysets handled?
141
142 keySet:
143         make statistics how many keys typical applications need
144         be efficient for typical needs
145
146 integer overflows: sizes must not exceed SSIZE_MAX
147 check for null pointers and return -1
148