From Fedora Project Wiki
m (1 revision(s))
(Kill this page. Use rpm.org for ideas about further RPM development)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{| border="1"
For development of RPM please have a look at the RPM wiki at http://www.rpm.org.
|-
| {{Template:Warning}} '''THIS IS A DRAFT ONLY. DO NOT RELY ON IT UNTIL THIS NOTICE DISAPPEARS AND THE DOCUMENT IS PUBLISHED AS FINAL.'''
|}
 
= 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

Latest revision as of 10:54, 28 April 2009

For development of RPM please have a look at the RPM wiki at http://www.rpm.org.