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