|
|
Line 1: |
Line 1: |
| {{Draft}}
| | For development of RPM please have a look at the RPM wiki at http://www.rpm.org. |
| | |
| = RPM Forward Ideas =
| |
| | |
| == Introduction ==
| |
| | |
| With RPM 4.4.2.1 fresh out and 4.4.x branched off to maintenance mode,
| |
| time to start looking forward to next major release. While the focus will
| |
| be largely in cleaning up and streamlining the codebase, it can't
| |
| realistically be all about just that.
| |
| | |
| Panu Matilainen
| |
| | |
| == Ideas ==
| |
| | |
| In no particular order:
| |
| | |
| * improving automatic dependency extraction
| |
| * plugin architecture for internal dependency extractor to avoid having
| |
| to patch rpm itself for each new language
| |
| * '''libtool''', '''pkgconfig''' requires + provides (easily ported from rpm5.org)
| |
| * buildrequires match cross-arch on multilib, not good
| |
| * -devel package dependencies match cross-arch on multilib, not good
| |
| * language bindings to eliminate the need for output parsing
| |
| * Python bindings
| |
| * Unix philosophy '''''(do just one thing and do it well)'''''
| |
| * move GPG key management to helper app
| |
| * move remote protocol handling to helper appps
| |
| * ftp,http to wget
| |
| * possibly use '''wget''' code
| |
| * possibly use '''wget''' if available, error out if not
| |
| * soft dependencies
| |
| * version control meta information
| |
| * version control pristine configuration files
| |
| * simpler package database repair/restore
| |
| * restore/rollback functionality '''''(to reverse package changes, and restore pristine files)'''''
| |
| * tagging
| |
| * specify if package was installed as a dependency or on its own
| |
| * specify general purpose of package contents (libs, headers, docs, general)
| |
| * specify method of installation (direct, yum, piruit,...)
| |
| * specify repository from which package was installed
| |
| * automatic, optional removable of no longer necessary packages originally installed as deps
| |
| * arch requires and provides should be automatic until the packager say '''Requires: foo.arch'''
| |
| * transaction journaling
| |
| * unprivileged user installations
| |
| * optional recognition of unmanaged meeting of dependencies (such as libs installed from source)
| |
| * optionally compressed headers
| |
| * usable C/C++ API
| |
| * usable API documentation
| |