Bug 1788107 - dnf install 'package <> name-version.release' does not work on release + 1
Summary: dnf install 'package <> name-version.release' does not work on release + 1
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Mracek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-01-06 12:55 UTC by Jan Pazdziora
Modified: 2020-05-01 04:04 UTC (History)
9 users (show)

Fixed In Version: dnf-4.2.21-1.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-01 04:04:39 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jan Pazdziora 2020-01-06 12:55:22 UTC
Description of problem:

I need to avoid installing a particular package version on Fedora 31. To do that, I run

  dnf install -y 'python3-astroid <> 2.3.3-2.gitace7b29.fc31'

and it correctly picks up the older version from the repository.

However, when I run the same command on Fedora rawhide where python3-astroid-2.3.3-2.gitace7b29.fc31 is not available but python3-astroid-2.3.3-2.gitace7b29.fc32 is, it does not get installed.

When testing with

  dnf install 'python3-astroid = 2.3.3-2.gitace7b29.fc31'

it is correctly not found on rawhide and

  dnf install 'python3-astroid = 2.3.3-2.gitace7b29.fc32'

finds it. But <> does not seem to do the right thing.

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

dnf-4.2.17-1.fc32.noarch

How reproducible:

Deterministic.

Steps to Reproduce:
1. On Fedora rawhide, run
   dnf install -y 'python3-astroid <> 2.3.3-2.gitace7b29.fc31'

Actual results:

Last metadata expiration check: 0:20:50 ago on Mon Jan  6 12:33:20 2020.
No match for argument: python3-astroid <> 2.3.3-2.gitace7b29.fc31
Error: Unable to find a match: python3-astroid <> 2.3.3-2.gitace7b29.fc31

Expected results:

Last metadata expiration check: 0:21:38 ago on Mon Jan  6 12:33:20 2020.
Dependencies resolved.
================================================================================
 Package                     Arch     Version                   Repo       Size
================================================================================
Installing:
 python3-astroid             noarch   2.3.3-2.gitace7b29.fc32   rawhide   296 k
Installing dependencies:
 python3-lazy-object-proxy   x86_64   1.4.3-1.fc32              rawhide    35 k
 python3-wrapt               x86_64   1.11.2-4.fc32             rawhide    53 k

[...]
Installed:
  python3-astroid-2.3.3-2.gitace7b29.fc32.noarch                                
  python3-lazy-object-proxy-1.4.3-1.fc32.x86_64                                 
  python3-wrapt-1.11.2-4.fc32.x86_64                                            

Complete!

Additional info:

Comment 1 Jaroslav Mracek 2020-01-07 11:56:41 UTC
Please could you use 'python3-astroid -x python3-astroid-2.3.3-2.gitace7b29.fc31'?

I believe that supposed behaviour for argument `python3-astroid <> 2.3.3-2.gitace7b29.fc31` is `No much for argument` because operator `<>` is not supported.

Please could you accept workaround with `-x` as a solution for the bug?

Comment 2 Jan Pazdziora 2020-01-07 12:12:32 UTC
If <> is not supported, how come it seems to do the right thing on Fedora 31 for package which exists in the repository:

# dnf install 'python3-astroid <> 2.3.3-2.gitace7b29.fc31'
Fedora Modular 31 - x86_64 - Updates            2.7 MB/s | 3.8 MB     00:01    
Fedora 31 - x86_64 - Updates                     14 MB/s |  16 MB     00:01    
Fedora 31 - x86_64                               27 MB/s |  71 MB     00:02    
Last metadata expiration check: 0:00:01 ago on Tue Jan  7 12:09:10 2020.
Dependencies resolved.
================================================================================
 Package                     Arch     Version                    Repo      Size
================================================================================
Installing:
 python3-astroid             noarch   2.2.5-4.git28fc86f.fc31    fedora   292 k
[...]

Comment 3 Jan Pazdziora 2020-01-07 12:14:27 UTC
I confirm that

  dnf install python3-astroid -x python3-astroid-2.3.3-2.gitace7b29.fc31

works as expected -- on Fedora 31 it installs (the older version) python3-astroid-2.2.5-4.git28fc86f.fc31 and on Fedora rawhide it installs python3-astroid-2.3.3-2.gitace7b29.fc32.

Thank you.

Comment 4 Jaroslav Mracek 2020-01-16 18:29:36 UTC
I created PR https://github.com/rpm-software-management/libdnf/pull/881 that makes parsing of reldep mode strict. The result is that argument python3-astroid <> 2.3.3-2.gitace7b29.fc31 will never return any result.

Comment 5 Ben Cotton 2020-02-11 17:31:43 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 6 Fedora Update System 2020-04-09 10:56:46 UTC
FEDORA-2020-68aa5586ed has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-68aa5586ed

Comment 7 Fedora Update System 2020-04-09 18:40:14 UTC
FEDORA-2020-68aa5586ed has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-68aa5586ed`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-68aa5586ed

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2020-05-01 04:04:39 UTC
FEDORA-2020-68aa5586ed has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.