Comments

31 Comments
karma

+1

karma

+1

BZ#1687130 dnf system-upgrade to F30 error involving openscap and scap-workbench
BZ#1640283 dnf errors involving scap-workbench
karma

I installed scap-workbench-1.2.0-2 without getting the error I noted in #1640283. I ran the Standard System Security Profile for Fedora scan in scap-workbench-1.2.0-2 which completed though some errors related to a directory something like /tmp/openscap not being found occurred. Thanks.

BZ#1640283 dnf errors involving scap-workbench

@mattf Thank you very much for your help.

I downgraded from the 1.3.0 rpms I built to 1.3.0_alpha2-2. Then, I upgraded to 1:1.3.0-3 from Koji without any errors. Thanks for the update.

I have done a new build and updated the update.

@mattf Thank you very much. I'll try that.

When I wrote %{name} followed by the * operator, the text after * showed up as italicized unintentionally. I just changed all the Requires lines involving openscap packages to include %{epoch} including those of the following form: Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-scanner%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-engine-sce%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}

@jcerny I downloaded the openscap git repo with fedpkg clone openscap --branch f29 -a . I installed thsoe build requirements in openscap.spec I didn't already have. I changed change all of the Requires lines in openscap.spec matching Requires: %{name} = %{version}-%{release} to Requires: %{name}= %{epoch}:%{version}-%{release}. I built the openscap packages using fedpkg --release f29 local which showed many gcc warnings, but the packages were all built correctly. I used sudo dnf upgrade on the packages I built, and they upgraded without any errors. I could provide more information if that would help.

Adding "Epoch: 1" did solve the original problem of dnf considering 1.3.0_alpha2 to be a higher version number than 1.3.0. A possible way to resolve the new dnf errors would be to change all of those requires lines in openscap.spec at https://src.fedoraproject.org/rpms/openscap/blob/f29/f/openscap.spec like Requires: %{name}%{?_isa} = %{version}-%{release} to Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}

For example, bind.spec at https://src.fedoraproject.org/rpms/bind/blob/f29/f/bind.spec uses lines like Requires: bind%{?_isa} = %{epoch}:%{version}-%{release}

You could alternatively revert the commit adding "Epoch: 1" and then change the version to something like 1.3.0_final which dnf might consider to be higher than 1.3.0_alpha2. You could create a scratch build on Koji, which I could test. I'm not sure how to create a scratch build though since I haven't been a package maintainer.

Hi @mattf, thank you very much for your great feedback. I was thinking that adding "Epoch: 1" would solve the problem. Would it be OK to revert the commit that adds "Epoch: 1"? Is there a way how can I test the package for these kinds of issues before I submit a new build? Eg. can I reproduce this situation with a scratch build?

When I tried to run dnf upgrade on the 1.3.0-2 packages from Koji I got the following errors: Problem 1: cannot install the best update candidate for package openscap-containers-1.3.0_alpha2-2.fc29.noarch - nothing provides openscap = 1.3.0-2.fc29 needed by openscap-containers-1:1.3.0-2.fc29.noarch Problem 2: cannot install the best update candidate for package openscap-devel-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-devel-1:1.3.0-2.fc29.i686 Problem 3: cannot install the best update candidate for package openscap-engine-sce-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-engine-sce-1:1.3.0-2.fc29.i686 Problem 4: cannot install the best update candidate for package openscap-engine-sce-devel-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap-devel(x86-32) = 1.3.0-2.fc29 needed by openscap-engine-sce-devel-1:1.3.0-2.fc29.i686 - nothing provides openscap-engine-sce(x86-32) = 1.3.0-2.fc29 needed by openscap-engine-sce-devel-1:1.3.0-2.fc29.i686 Problem 5: cannot install the best update candidate for package openscap-perl-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-perl-1:1.3.0-2.fc29.i686 Problem 6: cannot install the best update candidate for package openscap-python3-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-python3-1:1.3.0-2.fc29.i686 Problem 7: cannot install the best update candidate for package openscap-scanner-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-scanner-1:1.3.0-2.fc29.i686 Problem 8: cannot install the best update candidate for package openscap-utils-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-utils-1:1.3.0-2.fc29.i686 - nothing provides openscap-scanner(x86-32) = 1.3.0-2.fc29 needed by openscap-utils-1:1.3.0-2.fc29.i686 Problem 9: problem with installed package openscap-utils-1.3.0_alpha2-2.fc29.i686 - package openscap-utils-1.3.0_alpha2-2.fc29.i686 requires openscap(x86-32) = 1.3.0_alpha2-2.fc29, but none of the providers can be installed - cannot install both openscap-1:1.3.0-2.fc29.i686 and openscap-1.3.0_alpha2-2.fc29.i686 - cannot install the best update candidate for package openscap-1.3.0_alpha2-2.fc29.i686 - nothing provides openscap(x86-32) = 1.3.0-2.fc29 needed by openscap-utils-1:1.3.0-2.fc29.i686 - nothing provides openscap-scanner(x86-32) = 1.3.0-2.fc29 needed by openscap-utils-1:1.3.0-2.fc29.i686 =================================================================================== Package Arch Version Repository Size =================================================================================== Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): openscap i686 1:1.3.0-2.fc29 @commandline 3.3 M Skipping packages with broken dependencies: openscap-containers noarch 1:1.3.0-2.fc29 @commandline 23 k openscap-devel i686 1:1.3.0-2.fc29 @commandline 1.4 M openscap-engine-sce i686 1:1.3.0-2.fc29 @commandline 25 k openscap-engine-sce-devel i686 1:1.3.0-2.fc29 @commandline 12 k openscap-perl i686 1:1.3.0-2.fc29 @commandline 319 k openscap-python3 i686 1:1.3.0-2.fc29 @commandline 338 k openscap-scanner i686 1:1.3.0-2.fc29 @commandline 57 k openscap-utils i686 1:1.3.0-2.fc29 @commandline 24 k

Updating the requires to include the new epoch 1 such as openscap = 1:1.3.0-2.fc29 in each of the subpackages might resolve those dependency problems.

openscap-1.3.0-1 isn't being installed when I run sudo dnf upgrade --refresh because I have openscap-1.3.0_alpha2-2.fc29 installed and dnf considers 1.3.0_alpha2 to be a higher version number than 1.3.0. When I tried to install openscap*-1.3.0-1 from Koji , dnf gives messages of the form "Package openscap of higher version already installed, cannot update it." for each openscap subpackage. The version or epoch might need to be changed to allow the updating of openscap-1.3.0-1.

I removed scap-workbench in F28 before upgrading to F29 due to dnf errors I noted in https://bugzilla.redhat.com/show_bug.cgi?id=1626801 specifically Problem 15: cannot install both openscap-1.3.0_alpha2-1.fc29.i686 and openscap-1.2.17-1.fc28.i686 - package scap-workbench-1.2.0-1.fc29.i686 requires libopenscap.so.8, but none of the providers can be installed - package openscap-perl-1.3.0_alpha2-1.fc29.i686 requires libopenscap.so.24, but none of the providers can be installed - problem with installed package scap-workbench-1.2.0-1.fc28.i686 - problem with installed package openscap-perl-1.2.17-1.fc28.i686 - scap-workbench-1.2.0-1.fc28.i686 does not belong to a distupgrade repository - openscap-perl-1.2.17-1.fc28.i686 does not belong to a distupgrade repository ... When I ran sudo dnf install scap-workbench in F29 I got Error: Problem: conflicting requests - nothing provides libopenscap.so.8 needed by scap-workbench-1.2.0-1.fc29.i686

scap-workbench might need to be rebuilt to use libopenscap.so.25 provided by openscap-1.3.0-1.fc29 and added to this update.