Installation

Program and Vendor Configuration

rpminspect works directly with RPM packages, so the focus is on RPM-based Linux distributions. The software does build and run on non-RPM distributions if all of the build requirements are available.

The easiest way to rpminspect is to use your distribution’s packaging system. In Fedora Linux, you can use dnf to install rpminspect and the required dependencies:

dnf install rpminspect

That command will install the program, library, and required dependencies. The other important package you will need is your vendor’s data package for rpminspect. Using Fedora Linux as an example, you will need to install rpminspect-data-fedora:

dnf install rpminspect-data-fedora

If you have reported a bug to the rpminspect project and are asked to test a development snapshot, you can do that by enabling the Copr repository for rpminspect and using the same dnf commands. Instructions on where to find the Copr repository are in the project README file in the rpminspect source tree.

The above instructions also apply to CentOS and Red Hat Enterprise Linux. Those products will have different vendor data packages, so be sure to install the one that applies to the environment your packages are built for. You can be running Fedora Linux and run rpminspect on packages built for CentOS. All you need to do is make sure you have the vendor data package installed for the target environment.

If you are installing rpminspect on another distribution and it is available a prebuilt package, please let us know so the documentation here can be updated.

Runtime Requirements

NOTE: This information is provided as an explanation of how to manually install the typical runtime requirements for rpminspect. The vendor data package for rpminspect, such as rpminspect-data-fedora, should carry dependencies on any optional requirements necessary. In most cases, it is sufficient to install the rpminspect package and the appropriate vendor data package.

In addition to the libraries that will be linked in to librpminspect, there are a number of userspace programs used:

Executable

Required?

Project

/usr/bin/desktop-file-validate

No

https://www.freedesktop.org/wiki/Software/desktop-file-utils/

/usr/bin/msgunfmt

Yes

https://www.gnu.org/software/gettext/

/usr/bin/abidiff

No

https://sourceware.org/libabigail/

/usr/bin/kmidiff

No

https://sourceware.org/libabigail/

/usr/bin/annocheck

No

https://sourceware.org/git/annobin.git

/usr/bin/diffstat

No

https://invisible-island.net/diffstat/

The provided RPM spec file template uses the Fedora Linux locations for these files, but in the program, they must be on the runtime system. Different inspections use these tools at runtime. Most distributions include the above tools. If they are available, you should use those packages.

In Fedora Linux, for example, you can run the following to install these programs:

dnf install desktop-file-utils gettext diffstat libabigail /usr/bin/annocheck

The shellsyntax inspection uses the actual shell programs listed in the shells setting in the rpminspect configuration file. Since this can vary by system, you should make sure they are available in the system PATH. Or you can just not use the shellsyntax inspection. The RPM spec file for rpminspect includes weak dependencies on the default list of shells:

dnf install dash ksh zsh tcsh rc bash

An even easier option is to use the developer setup method described in the next section.

Help for non-RPM Distributions

The osdeps/ directory contains scripts and package listings to set up different Linux distributions so they can build rpminspect and run the test suite. You may find the information in here helpful if you are trying to use rpminspect on a non-RPM Linux distribution.