Bug 1582436

Summary: [modularity] Updating a module does not downgrade ursine packages
Product: [Fedora] Fedora Reporter: Rafael Fonseca <rdossant>
Component: dnfAssignee: rpm-software-management
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dmach, mhatina, packaging-team-maint, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Reopened, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1582437 (view as bug list) Environment:
Last Closed: 2018-07-25 07:58:01 UTC Type: Bug
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: 1478068, 1582437    

Description Rafael Fonseca 2018-05-25 08:17:51 UTC
Description of problem: If you have installed TestY-2.1 and then enable ModuleY:f26 containing TestŶ-1.1, running module update does not downgrade TestY.


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


How reproducible: always


Steps to Reproduce:
1. Modular repo with module ModuleY:f26 containing package TestY-1.1
2. Repo with ursine package TestY-2.1
3. Install package TestY-2.1
4. Enable module ModuleY:f26
5. Update ModuleY

Actual results:
Captured stdout:
      shell.command: ['dnf-3', 'install', '-y', 'TestY-2-1']
      shell.command.stdout:
      Last metadata expiration check: 0:00:00 ago on Fri May 25 08:02:38 2018.
      Dependencies resolved.
      ================================================================================
       Package           Arch               Version         Repository           Size
      ================================================================================
      Installing:
       TestY             noarch             2-1             ursineY             6.3 k
      
      Transaction Summary
      ================================================================================
      Install  1 Package
      
      Total size: 6.3 k
      Installed size: 0  
      Downloading Packages:
      Running transaction check
      Transaction check succeeded.
      Running transaction test
      Transaction test succeeded.
      Running transaction
        Preparing        :                                                        1/1 
        Installing       : TestY-2-1.noarch                                       1/1 
        Verifying        : TestY-2-1.noarch                                       1/1 
      
      Installed:
        TestY.noarch 2-1                                                              
      
      Complete!
      
      shell.command.stderr:
      
      shell.command: ['dnf-3', 'module', 'enable', 'ModuleY:f26', '-y']
      shell.command.stdout:
      Last metadata expiration check: 0:00:01 ago on Fri May 25 08:02:38 2018.
      'ModuleY:f26' is enabled
      
      shell.command.stderr:
      
      shell.command: ['dnf-3', 'module', 'update', '-y', 'ModuleY']
      shell.command.stdout:
      Last metadata expiration check: 0:00:01 ago on Fri May 25 08:02:38 2018.
      Dependencies resolved.
      Nothing to do.
      Complete!
      
      shell.command.stderr:
      
      
      Captured logging:
      WARNING:root:Similar package to 'TestY/1-1.modY': 'TestY-2-1.noarch'


Expected results: modular content is preferred over ursine packages


Additional info:

Comment 1 Daniel Mach 2018-05-28 11:41:59 UTC
Switching streams doesn't distro-sync RPMs.
This applies on this case as well.
If you want to get the latest relevant RPMs, you need to run `dnf distro-sync` after changing the streams.

Although running `dnf install @module/profile` should install RPMs by NEVRA and get installed what is the latest in the active stream.
But that's only partially related to this issue...

Comment 2 Karel Srot 2018-05-28 12:53:02 UTC
Reopening the bug  as this scenario was confirmed by Petr Sabata earlier.

Dan,
are you saying that users are expected to run distro-sync after every change of profile? If yes, why is it not done automatically by dnf then?

Comment 3 Martin Hatina 2018-07-25 07:58:01 UTC
There is no installed profile from ModuleY:f26, so there is nothing to upgrade. Try running 'dnf module install ModuleY:f26/profile', it should downgrade TestY.