Building RPM Packages Directly From SRPM Packages

Software Installation for Linux

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Software Installation Guide
Capture Software Version
Link™ Capture Software 12.11

If you don't need to edit the spec files, you can build the Napatech driver and tools RPM packages in one step (without first installing the SRPM packages).

About this task

The package installer dnf is used in this example. You can of course use your distributions preferred RPM package installer.

Before you begin

rpm-build is required for building RPM packages from SRPM packages.

Kernel headers for the running kernel, gcc and make are required for building the nt-driver-3gd-modules RPM from nt-driver-3gd-x.y.z.build-short-sha1.src.rpm.

Steps

To build the RPM packages in one step:

Procedure

  1. Ensure that kernel headers for the running kernel and other prerequisites are installed:
    $ sudo dnf install kernel-devel-$(uname -r) gcc make rpm-build
  2. If the Napatech driver or tools has previously been installed on this host, install log files owned by root may be left in TMPDIR, by default /tmp. Remove these log files before building the Napatech driver as non-root user:
    $ sudo rm -v /tmp/nt_driver_* /tmp/nt_tools_*
  3. To rebuild RPM packages in one step from SRPM packages:
    $ rpmbuild --rebuild nt-driver-3gd-x.y.z.build-short-sha1.src.rpm
    $ rpmbuild --rebuild nt-tools-3gd-x.y.z.build-short-sha1.src.rpm

Results

By default, the resulting RPM packages are located in ~/rpmbuild/RPMS. For example:
rpmbuild/
├── BUILD
├── BUILDROOT
├── RPMS
│   ├── noarch
│   │   ├── nt-driver-3gd-devel-3.8.0.302-f4d297.el7.centos.noarch.rpm
│   │   ├── nt-driver-3gd-docs-3.8.0.302-f4d297.el7.centos.noarch.rpm
│   │   ├── nt-driver-3gd-examples-3.8.0.302-f4d297.el7.centos.noarch.rpm
│   │   └── nt-tools-3gd-docs-3.8.0.302-f4d297.el7.centos.noarch.rpm
│   └── x86_64
│       ├── nt-driver-3gd-3.8.0.302-f4d297.el7.centos.x86_64.rpm
│       ├── nt-driver-3gd-modules-3.8.0.302-f4d297.el7.centos.x86_64.rpm
│       └── nt-tools-3gd-3.8.0.302-f4d297.el7.centos.x86_64.rpm
├── SOURCES
├── SPECS
└── SRPMS
In addition, the build process leaves some log files in TMPDIR, by default /tmp:
/tmp
├── nt_driver_3gd.log
├── nt_driver_3gd.log.clip
└── nt_tools_3gd.log