xpra icon
Bug tracker and wiki

Opened 12 days ago

Last modified 12 hours ago

#2028 new defect

RHEL 7.6 updates Xorg abi

Reported by: Chris Schultz Owned by: Chris Schultz
Priority: major Milestone: 2.5
Component: server Version: 2.4.x
Keywords: Cc:

Description (last modified by Antoine Martin)

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

Change History (11)

comment:1 Changed 12 days ago by Antoine Martin

Status: newassigned

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.

Last edited 12 days ago by Antoine Martin (previous) (diff)

comment:2 Changed 11 days ago by Chris Schultz

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!

comment:3 Changed 10 days ago by Chris Schultz

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

comment:4 Changed 2 days ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to Chris Schultz
Status: assignednew

@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

comment:5 in reply to:  4 Changed 41 hours ago by Chris Schultz

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.

comment:6 Changed 36 hours ago by Antoine Martin

Owner: changed from Chris Schultz to Antoine Martin
Status: newassigned

That's better, just needed this workaround for SELinux on Fedora: chcon -Rt svirt_sandbox_file_t host_dir.

comment:7 Changed 35 hours ago by Antoine Martin

Owner: changed from Antoine Martin to Chris Schultz
Status: assignednew

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

comment:8 Changed 19 hours ago by Chris Schultz

Sigh, sorry. This is missing from OL7, but is in OL6.

I'll see if I can find another way that is more useful...

comment:9 Changed 17 hours ago by Chris Schultz

Turns out OEL7 has a bunch of stuff in the optional repos. I have updated the Dockerfile to enable these repos.

comment:10 Changed 13 hours ago by Antoine Martin

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

Last edited 13 hours ago by Antoine Martin (previous) (diff)

comment:11 Changed 12 hours ago by Antoine Martin

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.

Note: See TracTickets for help on using tickets.