summaryrefslogtreecommitdiff
path: root/TODO
blob: bd8233c61412f4f6669dab77179e65cffad8dc30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
4.5 and beyond
--------------
Janitorial work:
- clean up old junk like workarounds of -95 era (g)libc bugs etc
- use glib/glibc (string manipulation, memory handling etc) facilities instead 
  of internal versions from -95 era 
- audit and clean up user visible strings
- clean up the build process (auto*-stuff, compiler warnings)
- audit int_32 vs uint_32 etc sanity in the interfaces
- fix toplevel "make distcheck"
- have "make check" do something useful (use James' test-harness?)
- use mkstemp() instead of mktemp() everywhere
- refactor those 800+ line monster functions into something more digestable
- split popt to separate project
- update gettext
- update internal bdb (stale lock detection etc)
- remove internal file/libmagic?
- review, update included README, INSTALL etc docs
- uninternationalize RPMMESS_DEBUG strings to ease translator work
- macroize hardcoded directories like docDirs 
- get rid of static "1024 entries is enough for everybody" buffers

API:
- proper separation of exported and private headers to clean up the API
- package verification API (instead of just printing out letters)
- proper package build API (python)
- proper separation of rpm-cli and lib functionality
- eliminate need for headerGetEntry() where it makes sense (eg changelogs)

Build:
- grammar for specfiles, rpm macros 
- support adding dep handlers per file type/class/extension without patching rpm

Python:
- audit error handling in bindings (eg ts.addInstall() does not report back
  failures from rpmtsAddInstallElement())
- see if rpmdb can be made to look like pep-0249