Is it possible to install a rpm package using the DSM Agent Software Delivery plugin avoiding the Installer/rpm dependency checking?

Document ID : KB000053466
Last Modified Date : 14/02/2018
Show Technical Document Details

Description

When a rpm package is sent to a Linux computer DSM Installer (LSM) performs by default a dependency check using native rpm executions to verify that the package prerequisites are actually met.
If the target system has not installed such prerequisites the following error messages (or similar) will be returned.


no package provides <xxxxxxxx>
dependend product <xxxxxxxx> of product <yyyyyyyy> is not installed
ERROR SMX000057
Dependency violation: Dependent product <xxxxxxxx> is not installed on the
system with an appropriate version (>= 1.0.0.0).
Reason: A dependent product that is necessary for the installation of the product
is not installed on the system. Action: Install the product on the computer,
copy the product folder of the main product or add a library file (piflib command)
to the distribution folder.

Solution

LSM is the tool belonging to the Linux DSM agent interacting with the native Linux tool rpm. It acts as a shell on top of rpm and by default it checks the dependencies of the package using rpm calls. However, rpm provides switches to bypass this dependency checking if the user installing the software chooses it. But in order to be able to use them we will have to make LSM to bypass also its dependency checking as well as forward some parameters to rpm.

To install a rpm package in a Linux box running the DSM agent the parameters passed to the job should read like this:

  --nodepcheck --nativeswitches "--nodeps --replacefiles"

where --nodepcheck is a LSM parameter that disables the LSM dependency check for the rpm package being installed.
--nativeswitches is a LSM parameter that indicates LSM that the double quoted string following it contains the literal parameters to be passed to rpm.
"--nodeps --replacefiles" is the literal double quoted string containing the native rpm parameters.

These parameters can be added to the Install procedure for all installations or for each job if they are needed for specific distributions.
In both cases, the package needs to be updated before the first distribution in order to add parameters to the Install procedure:

  1. Unseal the package.
  2. Expand Procedures and open the Properties of Install Package.
  3. Go to the Embedded File tab to edit the Parameters field to add the following parameters as the end of the line depending on:
    • The parameters are set for all distributions:
      --nodepcheck --nativeswitches "--nodeps --replacefiles"
    • The parameters will be set for specific jobs: $up
      Setting $up will allow the parameters
      --nodepcheck --nativeswitches "--nodeps --replacefiles" 
      to be added to the job on its User Parameters field under Job Options for the specific job.
  4. Seal the package.