Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RHEL 7.6 updates Xorg abi #2028

Closed
totaam opened this issue Nov 3, 2018 · 24 comments
Closed

RHEL 7.6 updates Xorg abi #2028

totaam opened this issue Nov 3, 2018 · 24 comments
Labels

Comments

@totaam
Copy link
Collaborator

totaam commented Nov 3, 2018

Issue migrated from trac ticket # 2028

component: server | priority: major | resolution: fixed

2018-11-03 22:35:15: cjschultz created the issue


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
@totaam
Copy link
Collaborator Author

totaam commented Nov 4, 2018

2018-11-04 04:31:01: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Nov 4, 2018

2018-11-04 04:31:01: antoine commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Nov 4, 2018

2018-11-04 07:47:47: cjschultz commented


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!

@totaam
Copy link
Collaborator Author

totaam commented Nov 5, 2018

2018-11-05 23:34:05: cjschultz commented


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

@totaam
Copy link
Collaborator Author

totaam commented Nov 13, 2018

2018-11-13 15:48:53: antoine changed status from assigned to new

@totaam
Copy link
Collaborator Author

totaam commented Nov 13, 2018

2018-11-13 15:48:53: antoine changed owner from antoine to cjschultz

@totaam
Copy link
Collaborator Author

totaam commented Nov 13, 2018

2018-11-13 15:48:53: antoine edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Nov 13, 2018

2018-11-13 15:48:53: antoine commented


@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

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 00:35:26: cjschultz commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 05:36:06: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 05:36:06: antoine changed owner from cjschultz to antoine

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 05:36:06: antoine commented


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

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 05:59:43: antoine changed status from assigned to new

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 05:59:43: antoine changed owner from antoine to cjschultz

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 05:59:43: antoine commented


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

@totaam
Copy link
Collaborator Author

totaam commented Nov 14, 2018

2018-11-14 22:20:10: cjschultz commented


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

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

@totaam
Copy link
Collaborator Author

totaam commented Nov 15, 2018

2018-11-15 00:37:19: cjschultz commented


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

@totaam
Copy link
Collaborator Author

totaam commented Nov 15, 2018

2018-11-15 04:25:58: antoine commented


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):

  • [https://github.com/totaam/docker-rhel7-rpm-build-image/commit/af24ff2d44dc7241b14ad18c121d384261c34be8]
  • [https://github.com/totaam/docker-rhel7-rpm-build-image/commit/3e99f94d4a9df3e0546f9649a4018b4865cb0d40]

In any case, the centos release isn't too far away: [https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.1810]

@totaam
Copy link
Collaborator Author

totaam commented Nov 15, 2018

2018-11-15 04:47:54: antoine commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Nov 15, 2018

2018-11-15 19:54:11: cjschultz commented


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

@totaam
Copy link
Collaborator Author

totaam commented Nov 16, 2018

2018-11-16 12:41:22: antoine commented


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: #2040#comment:1)

yum update should fetch it now.

@totaam
Copy link
Collaborator Author

totaam commented Nov 18, 2018

2018-11-18 19:14:11: cjschultz changed status from new to closed

@totaam
Copy link
Collaborator Author

totaam commented Nov 18, 2018

2018-11-18 19:14:11: cjschultz set resolution to fixed

@totaam
Copy link
Collaborator Author

totaam commented Nov 18, 2018

2018-11-18 19:14:11: cjschultz commented


yum update now working fine. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant