Software related to RPM
Here you can find links to software related to RPM such as frontends, packaging tools etc.
RPM Frontends / Depsolvers
- YUM is an RPM frontend written in Python.
- libzypp/zypper is an RPM frontend written in C/C++ (used by openSUSE, SLES and Ark Linux). It uses SAT solver for dependency solving.
- DNF is an RPM frontend written in Python. It uses SAT solver for the hard work.
- Urpmi is an RPM frontend written in Perl (used by Mageia and Mandriva)
- APT-RPM is an RPM port of the Debian APT package management tool written in C++.
- SmartPM is another frontend for RPM (also works with DEB, Slackware etc packaging formats) written mostly in Python
- Poldek is another frontend for RPM, primarily used by the PLD distribution.
Packager tools
- rpmlint is a tool for checking for common errors in RPM packaging.
- rpmdevtools contains scripts and (X)Emacs support files to aid in RPM packaging.
- cpan2rpm generates RPM packages from Perl CPAN modules.
- cpanspec is another tool for creating RPM packages from Perl CPAN modules.
- rpmrebuild is a tool that can generate a spec from an already installed RPM (useful when you don’t have access to real source rpm, eg with packages of proprietary software)
- Specfile Editor is a spec file editor plugin for Eclipse.
Build tools
- Open Build Service is a generic build- and distribution system.
- Copr is a lightweight build- and distribution system.
- Iurt is a package build system.
- Koji is a package build and tracking system.
- Mock is a ‘simple’ chroot build environment manager for building RPMs.
- Mach is a more generic chroot environment manager that can also be used for building RPMs.
- Mezzanine is a set of tools which simplify the management of software packages and collections of software packages.
Other tools
- DeltaRPM contais tools for creating and applying change deltas of RPM packages
- rpm2html generates web pages that describe a set of RPM packages.
- rpmreaper is a ncurses-based application for finding unnecessary packages in the system.
- libsolv is library for package dependency resolution.
Language bindings
- perl-RPM2 provides an object-oriented interface to RPM facilities for Perl.
- perl-RPM4 provides an object-oriented interface to RPM facilities for Perl.
- RPM-Specfile is a Perl extension for creating RPM specfiles.
- python-specfile is a Python library for parsing and manipulating RPM spec files. Main focus is on modifying existing spec files, any change should result in a minimal diff.
- Python bindings for RPM are distributed as part of RPM releases.
- JRPM is a java library to manipule and create RPM archives.
- Redline is a pure Java library for manipulating RPM Package Manager packages.
- php-rpminfo allows to retrieve information from RPM files or from the installed RPMs database from PHP. See docs for details.
- perl-URPM is a Perl extension for manipulating rpm headers and packages.
- libsolv has bindings for Perl, Python and Ruby.
- librpm.rs has Rust bindings for librpm.