RHEL 7.6 has upgraded xorg, which has change the abi version. Xpra can no longer be upgraded and therefore breaks RHEL updates.
Error: Package: xorg-x11-drv-dummy-0.3.8-1.xpra1.el7_5.x86_64 (@winswitch) Requires: xserver-abi(videodrv-23) >= 0 Removing: xorg-x11-server-Xorg-1.19.5-5.el7.x86_64 (@rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Updated By: xorg-x11-server-Xorg-1.20.1-5.1.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7_4.1.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7_4.2.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.5-5.1.el7_5.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.15.0-7.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-7.el7_0.3.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-32.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.17.2-10.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-19) = 0 Available: xorg-x11-server-Xorg-1.17.2-22.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-19) = 0 Available: xorg-x11-server-Xorg-1.20.1-3.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 Available: xorg-x11-server-Xorg-1.20.1-5.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 You could try using --skip-broken to work around the problem
When centos 7.6 becomes available, we will be able to rebuild the dummy driver for the new ABI.
Until then, you can remove xpra and its repository, do the upgrade then re-add the xpra repository and update with --skip-broken
- that should work (untested).
You may then experience DPI issues with some applications until the update dummy driver is posted.
Great, thanks. I have noticed that the RHEL7 docker images contain full REPOs that enable yum upgrades. This allows testing against RHEL without a subscription (dev subs are free these days as well).
Thanks for you help!
This is a Dockerfile image that I use to build some RHEL7 rpms, this could be helpful for you to build in a sandbox.
https://github.com/chrisjschultz/docker-rhel7-rpm-build-image
@cjschultz: any ideas?
$ sudo docker image build -t rhel-rpm-build:latest . Sending build context to Docker daemon 87.55 kB Step 1/6 : FROM rhel7.6:latest Trying to pull repository docker.io/library/rhel7.6 ... Trying to pull repository registry.fedoraproject.org/rhel7.6 ... Trying to pull repository quay.io/rhel7.6 ... Trying to pull repository registry.access.redhat.com/rhel7.6 ... sha256:7ae7375bdbb23180d21dfed3408ba82f0d00dd049557cd62716a628367d31d61: Pulling from registry.access.redhat.com/rhel7.6 50a402dbfd72: Pull complete c6796217be8f: Pull complete Digest: sha256:7ae7375bdbb23180d21dfed3408ba82f0d00dd049557cd62716a628367d31d61 Status: Downloaded newer image for registry.access.redhat.com/rhel7.6:latest ---> 3da40a1670b5 Step 2/6 : RUN set -x && yum -y upgrade && yum -y install sudo epel-release krb5-devel python-devel rpm-build "@Development Tools" && yum clean all && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python get-pip.py ---> Running in 0ab88cc69ba5 + yum -y upgrade Loaded plugins: ovl, product-id, search-disabled-repos, subscription-manager This system is not receiving updates. You can use subscription-manager on the host to register and assign subscriptions. There are no enabled repos. Run "yum repolist all" to see the repos you have. To enable Red Hat Subscription Management repositories: subscription-manager repos --enable <repo> To enable custom repositories: yum-config-manager --enable <repo> The command '/bin/sh -c set -x && yum -y upgrade && yum -y install sudo epel-release krb5-devel python-devel rpm-build "@Development Tools" && yum clean all && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python get-pip.py' returned a non-zero code: 1
Well now I know why it works for me (and not on my Ubuntu box):
https://github.com/projectatomic/docker/tree/docker-1.13.1-rhel#add-rhel-super-secrets-patchpatch
I have changed the Dockerfile to use Oracle Linux 7.6, which is a compatible with RHEL/Centos.
That's better, just needed this workaround for SELinux on Fedora: chcon -Rt svirt_sandbox_file_t host_dir.
Except, no:
[root@1f08ba07ec7f /]# yum repolist Loaded plugins: ovl, ulninfo repo id repo name status ol7_UEKR5/x86_64 Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7Server (x86_64) 122 ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 11482 repolist: 11604 [root@1f08ba07ec7f /]# yum install xorg-x11-server-devel Loaded plugins: ovl, ulninfo No package xorg-x11-server-devel available. Error: Nothing to do
Sigh, sorry. This is missing from OL7, but is in OL6.
I'll see if I can find another way that is more useful...
Turns out OEL7 has a bunch of stuff in the optional repos. I have updated the Dockerfile to enable these repos.
Better but then I hit this error: Only dest dir longer than base dir not supported.
Fixed by using /usr/src/redhat
instead of /build
:
diff --git a/build-rpm.sh b/build-rpm.sh index 7885914..a476c3b 100755 --- a/build-rpm.sh +++ b/build-rpm.sh @@ -1,4 +1,4 @@ -for spec in `ls /build/SPECS`; +for spec in `ls /usr/src/redhat/SPECS`; do - rpmbuild --define '_topdir /build' -ba /build/SPECS/$spec + rpmbuild --define '_topdir /usr/src/redhat' -ba /usr/src/redhat/SPECS/$spec done diff --git a/build.sh b/build.sh index 33d426b..d375395 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,4 @@ #!/bin/sh -groupadd build -g `stat /build/ --format=%g` -useradd -u `stat /build/ --format=%u` -g build build +groupadd build -g `stat /usr/src/redhat/ --format=%g` +useradd -u `stat /usr/src/redhat/ --format=%u` -g build build sudo -H -E -u build /build-rpm.sh
Then launching with sudo docker run --rm -it --volume `pwd`/rpmbuild:/usr/src/redhat rhel-rpm-build:latest
Github patches (can't do pull requests with the web ui):
In any case, the centos release isn't too far away: https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.1810
I've cloned the "7.5" repo as "7.6", and added the freshly built xorg-x11-drv-dummy and a few others there. I will rebuild all the packages eventually (no rush).
@cjschultz: I can't test since I don't have a test 7.6 VM yet, please close this ticket if the repository now updates correctly for you.
Hi.
Still getting the upgrade issue, I hardwired in the repo just to be sure.
[winswitch] name=Winswitch $releasever - $basearch enabled=1 metadata_expire=1d gpgcheck=1 gpgkey=https://xpra.org/gpg.asc baseurl=https://xpra.org/dists/RedHat/7.6/x86_64/
--> Processing Dependency: xserver-abi(videodrv-23) >= 0 for package: xorg-x11-drv-dummy-0.3.8-1.xpra1.el7_5.x86_64 ---> Package xorg-x11-server-Xorg.x86_64 0:1.20.1-5.1.el7 will be an update --> Finished Dependency Resolution Error: Package: xorg-x11-drv-dummy-0.3.8-1.xpra1.el7_5.x86_64 (@winswitch) Requires: xserver-abi(videodrv-23) >= 0 Removing: xorg-x11-server-Xorg-1.19.5-5.el7.x86_64 (@rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Updated By: xorg-x11-server-Xorg-1.20.1-5.1.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7_4.1.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7_4.2.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.5-5.1.el7_5.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.15.0-7.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-7.el7_0.3.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-32.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.17.2-10.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-19) = 0 Available: xorg-x11-server-Xorg-1.17.2-22.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-19) = 0 Available: xorg-x11-server-Xorg-1.20.1-3.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 Available: xorg-x11-server-Xorg-1.20.1-5.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 ********************************************************************** yum can be configured to try to resolve such errors by temporarily enabling disabled repos and searching for missing dependencies. To enable this functionality please set 'notify_only=0' in /etc/yum/pluginconf.d/search-disabled-repos.conf ********************************************************************** Error: Package: xorg-x11-drv-dummy-0.3.8-1.xpra1.el7_5.x86_64 (@winswitch) Requires: xserver-abi(videodrv-23) >= 0 Removing: xorg-x11-server-Xorg-1.19.5-5.el7.x86_64 (@rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Updated By: xorg-x11-server-Xorg-1.20.1-5.1.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7_4.1.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.3-11.el7_4.2.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.19.5-5.1.el7_5.x86_64 (rhel-7-server-rpms) xserver-abi(videodrv-23) = 0 Available: xorg-x11-server-Xorg-1.15.0-7.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-7.el7_0.3.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-32.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-15) = 0 Available: xorg-x11-server-Xorg-1.17.2-10.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-19) = 0 Available: xorg-x11-server-Xorg-1.17.2-22.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-19) = 0 Available: xorg-x11-server-Xorg-1.20.1-3.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 Available: xorg-x11-server-Xorg-1.20.1-5.el7.x86_64 (rhel-7-server-rpms) ~xserver-abi(videodrv-24) = 0 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
Got it: the old build system used el7_5
for the dist
value but the new one uses just el7
. So the newly built package doesn't upgrade the old one. (el7 < el7_5 according to string version compare)
r21004 bumps the release no which should take care of the upgrade path.
(I still prefer el7_6
as "dist" value, so I will have to look into tweaking the buildbot: ticket:2040#comment:1)
yum update
should fetch it now.
yum update now working fine. Thanks!
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2028