Bug 1368184

Summary: Copr repo RPM index seems to be unavailable/old ofter new build.
Product: [Community] Copr Reporter: Piotr Gbyliczek <peemhq>
Component: backendAssignee: Miroslav Suchý <msuchy>
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedKeywords: Reopened
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-25 16:27:46 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:

Description Piotr Gbyliczek 2016-08-18 15:17:44 UTC
Description of problem:

A package build in copr doesn't trigger a rpm repo reindexing on F24 environment, as package is not available for dnf install package-name (last build was and hour ago, but previous version built 6 hours and a day ago are not available as well, based on specific Requirements they don't have).


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


How reproducible:

Every time so far. 

Steps to Reproduce:
1. Build a package in copr from SRPM *1
2. Try installing it via dnf with copr repo enabled.

Actual results:

# dnf install kde-workspace --refresh
Copr repo for kde4-fedora owned by peem                                                                                                                            247 kB/s | 331 kB     00:01    
Error: nothing provides kde-settings-ksplash = 2:23-13 needed by kde-workspace-3:4.11.22-12.fc24.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages)


Expected results:

Package installed.


Additional info:

This is effect of an debugging of copr build of another package from the repo, namely kdeplasma-addons. 
This package failed to build on F24 for quite a while, which lead to discovery that a package it depends
on, kde-workspace, is not able to gather required dependencies.

Errors in that build were either not finding a package that provides required dependencies, or fail to
synchronize the copr repo, resulting in total failure to install the package.


Links to successful builds : 
- https://copr.fedorainfracloud.org/coprs/peem/kde4-fedora/build/442452/
- https://copr.fedorainfracloud.org/coprs/peem/kde4-fedora/build/442516/


Link to the SRPM : 
- https://peem.fedorapeople.org/kde-workspace-4.11.22-13.fc24.src.rpm

Git repository with spec files : 
- https://bitbucket.org/peemhq/kde4-fedora/

Comment 1 Miroslav Suchý 2016-08-19 11:24:59 UTC
You requires
  kde-settings-ksplash = 2:23-13
However in the repository is
  kde-settings-ksplash = 2:23-13.fc24

Note the dist tag, which is part of the release too. So it does not equal. You need to use something like:
  Requires: kde-settings-ksplash >= 2:23
  Requires: kde-settings-ksplash < 2:24

Comment 2 Piotr Gbyliczek 2016-08-22 08:48:23 UTC
Hi, 

That is part of a problem, the requires are not matching because copr repository doesn't seem to hold the latest rpms. 
Unless I can't see trees because of the forest here, it seems like a bug.


I was changing that required line few times, and it seems nothing works. Please look at these few cases : 

This is from latest specs ()

[piotr@localhost rpmbuild]$ rpmspec -q --requires  SPECS/kde-workspace.spec | grep settings
kde-settings-ksplash = 2:23-13.fc24
kde-settings-plasma = 2:23-13.fc24
kde-settings-kdm

[piotr@localhost rpmbuild]$ rpmspec -q --provides  SPECS/kde-settings.spec | grep settings
kde-settings = 2:23-13.fc24
kde-settings-minimal = 2:23-13.fc24
kde-settings-kdm = 2:23-13.fc24
kde-settings-ksplash = 2:23-13.fc24
kde-settings-plasma = 2:23-13.fc24
kde-settings-pulseaudio = 2:23-13.fc24
qt-settings = 2:23-13.fc24




Now, I build srpms from that in copr and use them in mock. 


[piotr@localhost rpmbuild]$ mock SRPMS/kde-workspace-4.11.22-13.fc24.src.rpm

[MIRROR] qt-settings-23-13.fc24.noarch.rpm: Downloading successful, but checksum doesn't match. Calculated: 31e9a6b2fa2b1e3d8492f2f0b84ccc3abb5b63833d90ad348aac28f11850a06c(sha256)  Expected: cb979dd628470c84d563b382c67c7f20409c97c311251f2d526ec69ac54d75dc(sha256) 
[FAILED] qt-settings-23-13.fc24.noarch.rpm: No more mirrors to try - All mirrors were already tried without success                                                                               
(349-350/351): kde-settings-23-13.fc24.noarch.rpm                              99% [============================================================================ ] 5.2 MB/s | 168 MB     00:00 ETA
Error: Error downloading packages:
  Cannot download 00442450-kde-settings/qt-settings-23-13.fc24.noarch.rpm: All mirrors were tried

it is fine when I build in mock against local repo with packages build from same specs, and disable peem-kde4-fedora remote repository


As well, there's this in copr output, just above the line that stated requirements issue : 

  Failed to synchronize cache for repo 'coprbecloudfedoraprojectorg_results_peem_kde4fedora_fedora24x86_64_devel', disabling.

So, surely it will fail to find the required package, when it does not have access to the right repo.

Strangely, it happens only to F24 build.

https://copr.fedorainfracloud.org/coprs/peem/kde4-fedora/build/442751/

Regards,
Piotr

Comment 3 Piotr Gbyliczek 2016-08-22 09:06:59 UTC
Hi, 

Just spotted "devel" on the end of mock error line, surely there's not devel repo there as I can see, so please ignore that part, as it seems to be just warning kind of message. 

However, still can't understand why kde-workspace requires seems to be stuck with an old version. 

It was the failure of finding right package which triggered the changes of requires/provides in first place. 

Regards,
Piotr

Comment 4 Piotr Gbyliczek 2016-08-25 16:27:46 UTC
Hi,

It seems that the issue was related to dependencies of packages that the build required. 

Specifically, kde-workspace requires kde-settings and kde-settings-ksplash, which in turn requires system-kde-theme, which is provided by f24-kde-theme in F24. However, that package requires F24-kde-theme-core, which is part of plasma-workspace and is obsoleted by kde-workspace. 

Before F24 release f*-kde-theme did not required plasma-workspace, or part that forms f24-kde-theme-core, as this was split into it's own package for F24.

This explains the main problem, but not the core issue with this bug, namely repo providing details about old rpms. This seems to be resolved now, though. 

Regards,
Piotr