Skip to content
New issue

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

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

Already on GitHub? # to your account

RHEL 8 / CentOS 8 support #2293

Closed
totaam opened this issue May 9, 2019 · 11 comments
Closed

RHEL 8 / CentOS 8 support #2293

totaam opened this issue May 9, 2019 · 11 comments
Labels

Comments

@totaam
Copy link
Collaborator

totaam commented May 9, 2019

It is based on Fedora 28 so it should be supported out of the box.

We just need a new switch for all the if / else in the specfile.

Ideally, done after #2040 - see also #1910

@totaam
Copy link
Collaborator Author

totaam commented May 10, 2019

Added to specfile in r22699.

@totaam
Copy link
Collaborator Author

totaam commented Jun 11, 2019

Probably worth waiting for the release to ensure the specfile is in working order.

CentOS 8 Rough Status Page.

@totaam
Copy link
Collaborator Author

totaam commented Aug 25, 2019

Minor tweaks in r23547, r23580

@totaam
Copy link
Collaborator Author

totaam commented Sep 24, 2019

Not sure they're all needed, but I've installed:

yum groupinstall 'Development Tools'

Then installing the build dependencies for xpra.
Still seems to be missing quite a few packages:

error: Failed build dependencies:
	desktop-backgrounds-compat is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	ffmpeg-xpra-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	gobject-introspection-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	js-jquery is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	libfakeXinerama is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	libxkbfile-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	libyuv-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	pygobject3-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	python2-cryptography is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	python2-pyxdg is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	python2-rencode is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	python3-Cython is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	python3-cairo-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	python3-rencode is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	turbojpeg-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	uglify-js is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	x264-xpra-devel is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64
	xclip is needed by xpra-3.0-0.20190925r23930.el8_0.x86_64

(adding yum --enablerepo=extras install epel-release does not help)
Downloading a bunch of packages directly from [https://access.redhat.com/downloads/content/package-browser] (why aren't those in the centos repos?) and applying some dependency updates in 23933 + 23935 + 23936, reduces the list of missing dependencies to:

error: Failed build dependencies:
	python2-cryptography is needed by xpra-3.0-0.20190925r23937.el8_0.x86_64
	python2-pyxdg is needed by xpra-3.0-0.20190925r23937.el8_0.x86_64
	python2-rencode is needed by xpra-3.0-0.20190925r23937.el8_0.x86_64
	python3-cairo-devel is needed by xpra-3.0-0.20190925r23937.el8_0.x86_64
	python3-rencode is needed by xpra-3.0-0.20190925r23937.el8_0.x86_64

So the python2 packages will need rencode in the repository. Difficult to build without python2-pbr...
The python3 builds will fail without python3-cairo-devel. Not sure where to get hold of this yet.

@totaam
Copy link
Collaborator Author

totaam commented Sep 25, 2019

Updates:

  • using python2-pbr from the centos7 builds works OK for python2. (this is a noarch python2.7 package)
  • for python3-pbr... I used the Fedora 28 package. (...)
  • 23937: fix cython package name
  • 23938 ffmpeg 4.2.1
  • 23939 enable %global debug_package %{nil} workaround
  • build python3 packages: 23940 : rencode, r23941 : pyu2f, 23943 : pynvml, r23944 : pycuda, 23947 : pyopengl
  • 23946: try to build python-pillow so we can have a python2 version
  • renaming python package dependencies (may need to be changed to an ifdef to continue to support centos7): 23948: pygtkglext, 23952 : python-lz4, 23954 + 23956: pycuda
  • r23949 fix pycuda version
  • 23951 fix libmad debug_package error
  • 23953 fix date in pytools changelog

Problems remaining:

  • pygtkglext fails to build - something path related (ugly hack in spec file broke? looks fixable)
  • no xorg-x11-server-devel anywhere?? so no patched dummy for now..
  • pycuda needs boost-python2 and boost-python2-devel - only build python3 package?
  • xpra needs python3-cairo-devel
  • python-pillow needs PyQt4 - can we skip it?

Full list of packages downloaded from non-centos repositories:

boost-numpy3-1.66.0-6.el8.x86_64.rpm
boost-python3-1.66.0-6.el8.x86_64.rpm
boost-python3-devel-1.66.0-6.el8.x86_64.rpm
gobject-introspection-devel-1.56.1-1.el8.x86_64.rpm
gtest-1.8.0-5.el8.x86_64.rpm
gtest-devel-1.8.0-5.el8.x86_64.rpm
js-uglify-2.8.29-1.el8.noarch.rpm
lcms2-devel-2.9-2.el8.x86_64.rpm
libxkbfile-devel-1.0.9-9.el8.x86_64.rpm
nasm-2.13.03-2.el8.x86_64.rpm
pygobject3-devel-3.28.3-1.el8.x86_64.rpm
python2-pbr-4.1.0-2.el7ost.noarch.rpm
python2-pkgconfig-1.3.1-1.fc28.noarch.rpm
python3-cairo-1.16.3-6.el8.x86_64.rpm
python3-cryptography-2.3-3.el8ost.x86_64.rpm
python3-Cython-0.28.1-3.el8.x86_64.rpm
python3-pbr-3.1.1-8.fc28.noarch.rpm
turbojpeg-1.5.3-10.el8.x86_64.rpm
turbojpeg-devel-1.5.3-10.el8.x86_64.rpm
uglify-js-2.8.29-1.el8.noarch.rpm

@totaam
Copy link
Collaborator Author

totaam commented Sep 26, 2019

To get python3-cairo-devel, download the source RPM and rebuild the package.. This is also true for the packages downloaded from redhat. For some this is trivial, others have more dependencies. Some without source packages?
ie: gtk-doc, which depends on dblatex and docbook-utils, none of which are available from centos, not even in source form?

Updates:

  • 23957 + 23962 typos
  • 23958 pillow update package names
  • r23959 fix pyxdg package name
  • 23961 don't build-require python2-cryptography on centos8 since we can't find it
  • r23963 build error: duplicate constants
  • 23965 + 23966: python-lz4

Remaining issues:

  • unit tests failing since r23918 (unrelated - may just revert)
  • pygtkglext - needs fixing
  • pillow needs fixing
  • python2-pyxdg would be nice to have
  • xorg-x11-server-devel: rebuilding from source requires tons of missing dependencies

@totaam
Copy link
Collaborator Author

totaam commented Sep 27, 2019

Updates:

xorg-x11-server-devel

  • lots of packages only from redhat..
  • xorg-x11-util-macros from F28 (redhat only has one for rhel5!)
  • build libdmx to get libdmx-devel (nowhere to be found)
  • xorg-x11-xtrans-devel from F28 (redhat only has one for rhel5!)
  • rebuild egl-wayland to get egl-wayland-devel (and need more of dependencies to do that..)

pycuda

Too difficult to build for python2 (no boost python2), so we now have a specfile just for python3: 23973.

@totaam
Copy link
Collaborator Author

totaam commented Sep 27, 2019

pillow

  • 24006: cosmetic
  • 24007: don't build the tk bits on centos8
  • 24008: the filter stuff crashes rpmbuild on centos8 (could be related to sitearch?)
  • 24009: sitearch macro problem
  • 24012: don't override the system python3 package (only for python2 builds on centos8 - as we still remove webp: r17474, r17473: re-add webp codec #1694)
  • 24013: can't refer to python-devel

pyxdg

Added a specfile based on Fedora's: 24010

@totaam
Copy link
Collaborator Author

totaam commented Sep 28, 2019

pygtkglext

Fixed in 24011

  • 24014 : must use python2-devel for python[2|3]-uinput, python[2|3]-rencode, python2-netifaces
  • 24015 : python2 in centos8 doesn't have subprocess.getoutput
  • 24016 : cannot depend on unversionned 'python'

python2-dbus

  • 24018 add specfile based on the Fedora one
  • 24019 remove checks we can't run

@totaam
Copy link
Collaborator Author

totaam commented Sep 28, 2019

Force python3 by default:

  • 24020: try to ensure the /usr/bin/xpra script defaults to python3, by changing the install order (python3 install is overwrites the /usr/bin/xpra script last)
  • 24021: try harder and replace the shebang by hand. This finally does nearly what we want (default to python3): on centos, this gets mangled to /usr/libexec/platform-python - which is python3 by default.

@totaam totaam closed this as completed Sep 28, 2019
@totaam
Copy link
Collaborator Author

totaam commented Jan 20, 2020

CentOS 8.1: #2557

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

No branches or pull requests

1 participant