Bug 1709205

Summary: /usr/include/zip.h conflicts between minizip-devel and libzip-devel
Product: [Fedora] Fedora Reporter: Dan Horák <dan>
Component: minizipAssignee: Patrik Novotný <panovotn>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: hhorak, panovotn
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: minizip-2.8.8-2.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-25 01:25:45 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:
Embargoed:

Description Dan Horák 2019-05-13 07:58:25 UTC
Description of problem:
There is an conflict between libzip-devel and minizip-devel in /usr/include/zip.h, so only one of them can installed. Such conflicts are not allowed, please see https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/


Version-Release number of selected component (if applicable):
libzip-devel-1.5.2-1.fc30.ppc64le
minizip-devel-2.8.6-1.fc30.ppc64le

How reproducible:
100%

Steps to Reproduce:
1. dnf install libzip-devel
2. dnf install minizip-devel

Actual results:
Error: Transaction check error:
  file /usr/include/zip.h from install of minizip-devel-2.8.6-1.fc30.ppc64le conflicts with file from package libzip-devel-1.5.2-1.fc30.ppc64le


Expected results:
both libzip-devel and minizip-devel will be installed

Comment 1 Honza Horak 2019-06-14 11:45:15 UTC
Dan, I agree implicit conflicts are not allowed, but in this case, I believe we will need explicit "Conflict:" in RPMs -- it doesn't seem to me like a valid use case to have both *zip-devel libraries installed. Just checking whether I'm not missing something -- do you see any issue with specifying "Conflict:" in both *zip-devel RPMs?

Comment 2 Dan Horák 2019-06-17 07:56:12 UTC
I would say one can use either the explicit Conflits (especially when libzip and minizip implement different "zip" API) or try moving minizip headers into /usr/include/minizip. It might work well as there is both pkgconfig and cmake detection support in minizip-devel.

Comment 3 Patrik Novotný 2019-06-17 16:21:44 UTC
I went with moving minizip header files into a minizip subdirectory as this solution is more inline with some other major distributions.

Comment 4 Fedora Update System 2019-06-17 16:22:55 UTC
FEDORA-2019-fd197ee97f has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd197ee97f

Comment 5 Fedora Update System 2019-06-17 18:17:34 UTC
minizip-2.8.8-2.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd197ee97f

Comment 6 Honza Horak 2019-06-18 13:45:30 UTC
(In reply to Honza Horak from comment #1)
> Dan, I agree implicit conflicts are not allowed, but in this case, I believe
> we will need explicit "Conflict:" in RPMs -- it doesn't seem to me like a
> valid use case to have both *zip-devel libraries installed. Just checking
> whether I'm not missing something -- do you see any issue with specifying
> "Conflict:" in both *zip-devel RPMs?

After talking to Patrik, this comment doesn't seem valid at all, feel free to ignore it.

Comment 7 Fedora Update System 2019-06-25 01:25:45 UTC
minizip-2.8.8-2.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.