Description of problem: xorgxrdp cannot be installed / updated in CentOS 8 Stream # dnf update Last metadata expiration check: 0:05:15 ago on Mon 02 Aug 2021 12:09:12 CEST. Error: Problem: package xorgxrdp-0.2.16-2.el8.x86_64 requires xorg-x11-server-Xorg(x86-64) = 1.20.10, but none of the providers can be installed - cannot install both xorg-x11-server-Xorg-1.20.11-2.el8.x86_64 and xorg-x11-server-Xorg-1.20.10-1.el8.x86_64 - cannot install the best update candidate for package xorgxrdp-0.2.16-2.el8.x86_64 - cannot install the best update candidate for package xorg-x11-server-Xorg-1.20.10-1.el8.x86_64 (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) Version-Release number of selected component (if applicable): CentOS 8 Stream, xorgxrdp-0.2.16-2.el8 How reproducible: always Steps to Reproduce: 1. Install CentOS 8 Stream 2. dnf install xrdp xorgxrdp Actual results: Fails to install due to broken deps Expected results: Should install
There is unfortunately no xorg-x11-server-Xorg-1.20.11-2.el8 in Fedora's koji yet. I just tried a scratch build and that picked up the .10. It is also not possible to do build overrides with EPEL builds if packages belong to core of RHEL/CentOS. We'll have to wait until this hits koji and they rebuild.
Sounds like a major problem with EPEL and CentOS 8 stream then. This is quite a significant source of problems for packages compatibility
Sounds like a problem that's already been solved. :) https://fedoraproject.org/wiki/EPEL_Next xorgxrdp needs to be branched and rebuilt on epel8-next. bojan if you need help with that please let me know. But the instructions are basically fedpkg request-branch epel8-next # wait for the branch to be created fedpkg switch-branch epel8-next git merge epel8 fedpkg push # (optional) bump your release, make edits or whatever you want fedpkg build fedpkg update # follow the usual update steps
Yeah, I can try that.
Hello Bojan, I asked on the EPEL mailing list and Troy was kind enough to answer. I didn't know about epel-next. Would you consider building xorgxrdp for epel-next please? Thank you. Kind regards. Enrico
(In reply to Bojan Smojver from comment #4) > Yeah, I can try that. Thank you so much! I'll give it a try when ready.
Yes, tomorrow, my time.
I'm concerned about why xorgxrdp has this strict version requirement. [root@rhel8-container:~]# repoquery --quiet --requires xorgxrdp | grep server xorg-x11-server-Xorg(x86-64) = 1.20.10 This was implemented here [0], without an explanation as to why it's needed. This means that any time xorg-x11-server-Xorg gets a new version, xorgxrdp has to be rebuilt. That is the case here, where rhel8 has 1.20.10, but c8s has updated to 1.20.11. A rebuild in epel8-next will solve this, but wouldn't it make more sense to relax the requirement instead? xorg-x11-server-Xorg provides several abi virtual provides, defined in the pkgconfig file, that seem like a better fit for this. [root@c8s-container:~]# grep abi /usr/lib64/pkgconfig/xorg-server.pc abi_ansic=0.4 abi_videodrv=24.1 abi_xinput=24.1 abi_extension=10.0 [root@c8s-container:~]# for abi in ansic extension videodrv xinput; do pkgconf --variable abi_$abi xorg-server; done 0.4 10.0 24.1 24.1 Those abis match across 1.20.10 and 1.20.11. [root@rhel8-container:~]# repoquery --quiet --provides xorg-x11-server-Xorg-1.20.10-1.el8 | grep abi xserver-abi(ansic-0) = 4 xserver-abi(extension-10) = 0 xserver-abi(videodrv-24) = 1 xserver-abi(xinput-24) = 1 [root@c8s-container:~]# repoquery --quiet --provides xorg-x11-server-Xorg-1.20.11-2.el8 | grep abi xserver-abi(ansic-0) = 4 xserver-abi(extension-10) = 0 xserver-abi(videodrv-24) = 1 xserver-abi(xinput-24) = 1 If xorgxrdp can be adjusted to require these virtual provides instead of the exact xorg-x11-server-Xorg version, the epel8 package would be compatible with both rhel8 and c8s without needing to rebuild it in epel8-next. epel8-next would still be an option if c8s ever rebased to a newer version that changes the abi. [0] https://src.fedoraproject.org/rpms/xorgxrdp/c/972cc469c86c7669c770eb2919665e96eaa7b1f3
https://pagure.io/releng/fedora-scm-requests/issue/36426
(In reply to Carl George 🤠 from comment #8) > I'm concerned about why xorgxrdp has this strict version requirement. Xorg binary enforces this at runtime, so we just follow that in packaging to avoid disappointment.
FEDORA-EPEL-NEXT-2021-2f995dcce7 has been submitted as an update to Fedora EPEL 8 Next. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-NEXT-2021-2f995dcce7
FEDORA-EPEL-NEXT-2021-2f995dcce7 has been pushed to the Fedora EPEL 8 Next testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-NEXT-2021-2f995dcce7 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
After some investigation, I can see that other xorg modules don't do this. xorg-x11-server-devel has a script named xserver-sdk-abi-requires that most other xorg module packages use generate the abi requires. Here is an example from xorg-x11-drv-fbdev [0]. Requires: Xorg %(xserver-sdk-abi-requires ansic) Of the abis listed in the pc file, only ABI_CLASS_VIDEODRV and ABI_CLASS_XINPUT are listed in the xorgxrdp code base, so I think you'll just need lines for those. I've sent a pull request to implement this on rawhide, which can be cherry-picked back to the epel8 branch. [0] https://src.fedoraproject.org/rpms/xorg-x11-drv-fbdev/blob/6acaeae11f8ae74c02520417a9bf19f485f69ae6/f/xorg-x11-drv-fbdev.spec#_24 [1] https://src.fedoraproject.org/rpms/xorgxrdp/pull-request/1
OK, we can try that. Ideally, this package should be rebuilt when underlying dependencies change, automatically. There is an old bug along those lines.
I gave a quick try to the package in epel-next-testing and the deps are now resolved! The package / system can be installed and upgraded without problems now. Thank you very much to everybody.
FEDORA-EPEL-2021-b9a644683c has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-b9a644683c
FEDORA-EPEL-2021-b9a644683c has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-b9a644683c See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-b9a644683c has been pushed to the Fedora EPEL 8 stable repository. If problem still persists, please make note of it in this bug report.