Bug 2248841

Summary: Conflicts of pcp rpms for i686 and x86_64 architectures
Product: [Fedora] Fedora Reporter: Jan Kurik <jkurik>
Component: pcpAssignee: Nathan Scott <nathans>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 40CC: agerstmayr, jkurik, lchilton, mgoodwin, nathans, sfeifer
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-03-19 22:44:58 UTC Type: ---
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: 179258, 2254956    

Description Jan Kurik 2023-11-09 09:06:35 UTC
There are file conflicts between pcp and pcp-conf packages built for i686 vs. x86_64 architectures. Rewieving these conflicts, I would recommend to exclude i686 builds of pcp packages.

Reproducible: Always

Steps to Reproduce:
On and x86_64 machine with installed Fedora F40:

1. yum install -y pcp.i686 pcp-conf.i686
2. yum install -y pcp.x86_64 pcp-conf.x86_64
Actual Results:  
Error: Transaction test error:
  file /etc/pcp.conf from install of pcp-conf-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-conf-6.1.0-1.fc40.i686
  file /usr/include/pcp/builddefs from install of pcp-conf-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-conf-6.1.0-1.fc40.i686
  file /etc/pcp/pmlogrewrite/jbd2_kernel_ulong.conf from install of pcp-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-6.1.0-1.fc40.i686
  file /etc/pcp/pmlogrewrite/linux_kernel_ulong.conf from install of pcp-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-6.1.0-1.fc40.i686
  file /etc/pcp/pmlogrewrite/proc_jiffies.conf from install of pcp-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-6.1.0-1.fc40.i686
  file /etc/pcp/pmlogrewrite/proc_kernel_ulong.conf from install of pcp-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-6.1.0-1.fc40.i686
  file /usr/lib/tmpfiles.d/pcp.conf from install of pcp-6.1.0-1.fc40.x86_64 conflicts with file from package pcp-6.1.0-1.fc40.i686

Expected Results:  
The installation pass without an issue, or the i686 build is not available at all.

Here is an output of rpmdeplint:

Undeclared file conflicts:
pcp-6.1.0-1.fc40.i686 provides /etc/pcp/pmlogrewrite/jbd2_kernel_ulong.conf which is also provided by pcp-6.1.0-1.fc40.x86_64
pcp-6.1.0-1.fc40.i686 provides /etc/pcp/pmlogrewrite/linux_kernel_ulong.conf which is also provided by pcp-6.1.0-1.fc40.x86_64
pcp-6.1.0-1.fc40.i686 provides /etc/pcp/pmlogrewrite/proc_jiffies.conf which is also provided by pcp-6.1.0-1.fc40.x86_64
pcp-6.1.0-1.fc40.i686 provides /etc/pcp/pmlogrewrite/proc_kernel_ulong.conf which is also provided by pcp-6.1.0-1.fc40.x86_64
pcp-6.1.0-1.fc40.i686 provides /usr/lib/tmpfiles.d/pcp.conf which is also provided by pcp-6.1.0-1.fc40.x86_64
pcp-6.1.0-1.fc40.x86_64 provides /etc/pcp/pmlogrewrite/jbd2_kernel_ulong.conf which is also provided by pcp-6.1.0-1.fc40.i686
pcp-6.1.0-1.fc40.x86_64 provides /etc/pcp/pmlogrewrite/linux_kernel_ulong.conf which is also provided by pcp-6.1.0-1.fc40.i686
pcp-6.1.0-1.fc40.x86_64 provides /etc/pcp/pmlogrewrite/proc_jiffies.conf which is also provided by pcp-6.1.0-1.fc40.i686
pcp-6.1.0-1.fc40.x86_64 provides /etc/pcp/pmlogrewrite/proc_kernel_ulong.conf which is also provided by pcp-6.1.0-1.fc40.i686
pcp-6.1.0-1.fc40.x86_64 provides /usr/lib/tmpfiles.d/pcp.conf which is also provided by pcp-6.1.0-1.fc40.i686
pcp-conf-6.1.0-1.fc40.i686 provides /etc/pcp.conf which is also provided by pcp-conf-6.1.0-1.fc40.x86_64
pcp-conf-6.1.0-1.fc40.i686 provides /usr/include/pcp/builddefs which is also provided by pcp-conf-6.1.0-1.fc40.x86_64
pcp-conf-6.1.0-1.fc40.x86_64 provides /etc/pcp.conf which is also provided by pcp-conf-6.1.0-1.fc40.i686
pcp-conf-6.1.0-1.fc40.x86_64 provides /usr/include/pcp/builddefs which is also provided by pcp-conf-6.1.0-1.fc40.i686

Comment 1 Jan Kurik 2023-11-09 09:41:57 UTC
I did a check for packages dependent on i686 versions of pcp and I have not find any:

# yum repoquery --whatrequires pcp-conf.i686 --recursive
# yum repoquery --whatrequires pcp.i686 --recursive

Those two commands above show just sub-packages of pcp.srpm

Comment 2 Jan Kurik 2023-11-09 13:19:44 UTC
To be solved by https://github.com/performancecopilot/pcp/pull/1843

Comment 3 Lukáš Zaoral 2023-12-18 14:33:48 UTC
I'd like to point out that your queries were not sufficient because they did not account for all subpackages of pcp, namely the `*-devel` package.  Subsequently, you have broken the build of sysstat on i386.  If you want to stop building pcp for i386, I strongly suggest you to fix all the remaining packages (if any) that still depend on pcp before dropping support for some architecture in the future: https://koji.fedoraproject.org/koji/taskinfo?taskID=110491403

Comment 4 Jan Kurik 2023-12-18 15:01:09 UTC
(In reply to Lukáš Zaoral from comment #3)
> I'd like to point out that your queries were not sufficient because they did
> not account for all subpackages of pcp, namely the `*-devel` package. 
> Subsequently, you have broken the build of sysstat on i386.  If you want to
> stop building pcp for i386, I strongly suggest you to fix all the remaining
> packages (if any) that still depend on pcp before dropping support for some
> architecture in the future:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=110491403

I am sorry for the trouble and thanks for the remedy as discussed on a side channel.

Comment 5 Aoife Moloney 2024-02-15 23:04:08 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle.
Changing version to 40.

Comment 6 Nathan Scott 2024-03-19 22:44:58 UTC
Jan's fix mentioned in #c2 was released in pcp-6.2.0 available on all Fedora versions now.