summaryrefslogtreecommitdiff
path: root/TODO
blob: eccdd18dd5485ca3b822fe90e7eb8b2dd9ec06b4 (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
39
40
41
42
Work-in-progress
----------------
- fix the argv const-impedance all around
- unleash the const monsters from rpmdb/header* and deal with 'em
- audit the rest of the API for const sanity 

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
- 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
- review, update included README, INSTALL etc docs
- macroize hardcoded directories like docDirs 
- get rid of static "1024 entries is enough for everybody" buffers

General:
- bdb related improvements like add stale lock detection etc

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)
- provide compat headers for renamed APIs and structures

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