Open brianjmurrell opened 4 years ago
Any comment here?
As much as I can appreciate that this project is DEPRECATED and as much as I'd just prefer to use DNF, as a software developer and distributor I cannot count on everyone using my packages on distros like CentOS 7 using DNF when the default package manager there is YUM.
I am not sure what you have in spec, but in case that both lines are there, it is incorrect.
BuildRequires: foo-devel < 2.0.0a1
BuildRequires: foo-devel >= 2.0.0~a1
Additional version 2.0.0a1
could be seen by package manager as 2
, 0
, 0
, 1
, because only numbers are important.
Is that actually true?
$ rpmdev-vercmp 2.0.0a1 2.0.0a1
2.0.0a1 == 2.0.0a1
$ rpmdev-vercmp 2.0.0a1 2.0.01
2.0.0a1 < 2.0.01
If I understand what you are saying, shouldn't those both be ==
.
As a concrete example, foo-devel-2.0.0
would meet both of those requirements:
$ rpmdev-vercmp 2.0.0 2.0.0a1
2.0.0 < 2.0.0a1
$ rpmdev-vercmp 2.0.0 2.0.0~a1
2.0.0 > 2.0.0~a1
A packaging fubar was made and a package was made with a pre-release tag in it without using the
~
indicator. So now my repo hasfoo-2.0.0a1
in it. That fubar was fixed and foo-2.0.0~a1 is now also in the repository.But now I want to update another package to use the proper
foo
package. So I've added to it's specBuildRequires: foo < 2.0.0a1
and that works and selectsfoo-2.0.0~a1
withyum-builddep
.However there are also older versions of
foo
and I want to ensure that at least a minimum of my newfoo-2.0.0~a1-1.git.4871023.el7
package is installed, so I add aBuildRequires: foo-devel >= 2.0.0~a1
tobar.spec
. Butyum-builddep
seems unable to handle that:Is my understanding of being able to use:
to enforce a version range not correct? I am sure I have seen this done and done this myself in the past.
I even tried:
to ensure it was not a problem with the pre-release version with the ~ in it.