Bug 241221

Summary: When the solaris2mpm computes the "Provides" value, it should put in version-release, not just version
Product: Red Hat Satellite 5 Reporter: Jan Pazdziora <jpazdziora>
Component: SolarisAssignee: Jan Pazdziora <jpazdziora>
Status: CLOSED CURRENTRELEASE QA Contact: Steve Salevan <ssalevan>
Severity: medium Docs Contact:
Priority: medium    
Version: 500CC: cperry, mzazrivec
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: sat530 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-10 19:40:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 172657, 457000    

Description Jan Pazdziora 2007-05-24 14:01:52 UTC
Description of problem:

The Solaris up2date code uses Provides: for Upgrades: to find packages that
should be upgraded. This Provides value should be the "full" version of the
package, including the release (revision + PSTAMP, in case of Solaris packages)
part. Otherwise the up2date has problem figuring out what exact version the
package ... well ... provides.

Version-Release number of selected component (if applicable):

solaris2mpm 5.

How reproducible:

Spend a couple of days digging around up2date code and Solaris and Satellite and
rhnPackageCapability and solaris2mpm and grepping the whole client SVN directory ...

Steps to Reproduce:
1. Have a look at the code.
2. Have a look into rhnPackageCapability after the package was uploaded.
  
Actual results:

tools/rhnpush/solaris2mpm.py:

def provide_self(header):
    """Figure out the info needed to put a package into its provides list"""

    dct = { 'name'      : None,
             'version'   : None,
             'flags'     : 8, }

    dct['name'] = header['name']
    dct['version'] = header['version']

    if not header.has_key('provides'):
        header['provides'] = []
    header['provides'].insert(0, dct)

Observe that the 'release' is not used at all.

In the database, you will find '1.0'.

Expected results:

The version should be version concatenated with the release.
In the database, we should find things like 1.0-123_PSTAMP_2020.04.12.09.17.

Additional info:

Comment 5 Jan Pazdziora 2009-04-01 08:38:32 UTC
Fix committed to Spacewalk master, commit fc99e702084ed4305fba981bf3f2bb9bcf02083d.

Comment 6 Jan Pazdziora 2009-04-06 09:16:42 UTC
Tagged as rhnpush-5.3.0-1. The change is also in rhnpush-0.4.7-1 but we'd really want the > 5.2.0 version here.

Comment 7 Jan Pazdziora 2009-04-20 12:49:57 UTC
Packages rhn-solaris-bootstrap-5.3.0-7.el5sat.noarch.rpm /
rhn_solaris_bootstrap_5_3_0_7-1-0.el5sat.noarch.rpm were built, containing RHATrpush-5.3.1-3.pkg.

Comment 8 Jan Pazdziora 2009-04-23 14:45:57 UTC
But the rhnpush package does not contain the fix, in spite of the name.

Comment 9 Jan Pazdziora 2009-04-27 09:25:56 UTC
The rhnpush 5.3.1-5 has the fix (and so has RHATrpush 5.3.1-5).

Package rhn_solaris_bootstrap_5_3_0_8-1-0 has that RHATrpush, so moving this bugzilla ON_QA, with composes Satellite-5.3.0-RHEL?-re20090424.1 available.

Comment 11 Milan Zázrivec 2009-09-09 12:28:30 UTC
5.3.0 stage verification: I'm confirming the results from the comment
above. RELEASE_PENDING

Comment 12 Brandon Perkins 2009-09-10 19:40:25 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2009-1434.html