Package self-conflict when using “rpm” command to install a package.

This document (000019640) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 12 SP5
SUSE Linux Enterprise Server 15 SP2 (and later)

Situation

When trying to reinstall a KMP package rpm will produce message <package> conflicts with (installed) <package> rather than <package> is already installed. 

For example SLES12 SP4 re-install :
//
//  SLES12 SP4 re-install
//
# rpm -i driver-kmp-default-1.0.0_k4.12.14_94.41-2.x86_64.rpm
        package driver-kmp-default-1.0.0_k4.12.14_94.41-2.x86_64 is already installed

For example SLES12 SP5 re-install :
/
//  SLES12 SP5 re-install
//
# rpm -i driver-kmp-default-1.0.0_k4.12.14_120-2.x86_64.rpm
error: Failed dependencies:
        driver-kmp-default-k4.12.14_120 conflicts with driver-kmp-default-1.0.0_k4.12.14_120-2.x86_64
        driver-kmp-default-k4.12.14_120 conflicts with (installed) driver-kmp-default-1.0.0_k4.12.14_120-2x86_64



 

Resolution

Use   rpm -q  to test if the package is already installed
Use  rpm --force –nodeps  to replace the package if already installed or use  rpm -e  to remove previously installed package(s)

Cause

With SUSE Linux Enterprise Server 12 SP5, SUSE Linux Enterprise Server 15 SP2 (and future releases) the macro for creating -kmp subpackages was updated to add new Provides and Conflicts with the same symbol.
These conflicts are added so that zypper can automatically resolve conflict between different KMP versions built against the same kernel version. 
 

Additional Information

Sample shell function:
install_rpm() {
        local rpmfile=$1
        local nvra=$(rpm -qp $rpmfile) 
        [ $? = 0 ] || return $? 
        if rpm -q --all | grep -qF $nvra ; then 
                echo $nvra already installed >&2 
                return 1 
        else
                rpm -i $rpmfile 
        fi 
}

Sample use:

# install_rpm driver-kmp-default-1.0.0_k4.12.14_120-2.x86_64.rpm
driver-kmp-default-1.0.0_k4.12.14_94.41-2.x86_64 already installed

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000019640
  • Creation Date: 23-Jun-2020
  • Modified Date:23-Jun-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback@suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center