#1037 closed task (wontfix)
opensuse support
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | minor | Milestone: | future |
Component: | packaging | Version: | trunk |
Keywords: | Cc: |
Description (last modified by )
Found Bootstrap openSUSE into Chroot which was quite helpful.
After adding dozens of hard to find package names (http://rpm.pbone.net/ helped), you can run the script to get a chroot.
Here's the list that worked for me with opensuse 13.2:
RPMDEPS="libpopt0 liblua5_1 libselinux1 libcap2 libacl libbz2 zlib libz1 libgmp10 \ libelf1 liblzma5 libattr insserv sed fillup coreutils grep \ diffutils permissions perl info pam libpcre0 libpcre1 perl-base gdbm \ libzio libaudit1 libcrack2 libdb file cracklib libxcrypt \ cracklib-dict-full" ZYPPERDEPS="procps libzypp libaugeas libgcc libstdc++6 satsolver-tools \ util-linux libcurl4 libopenssl1 libexpat libproxy1 libxml2 \ krb5 libidn libldap libssh2 libmodman libgconf libglib \ libcom_err2 keyutils-libs cyrus-sasl libsasl2 libmagic1 \ libkeyutils1 systemd libgcc_s1 udev file-magic libsolv-tools \ libgdbm4 insserv-compat libprocps3 findutils libsemanage1 gawk \ pkg-config acl shadow kbd libkmod2 distribution-release \ libsgutils2 libustr-1_0 libcap-ng0 dracut xz hardlink modutils pigz \ elfutils systemd-sysvinit kmod-compat openSUSE-release-ftp libdw1 \ module-init-tools kmod libapparmor1 libcryptsetup4 libqrencode3 \ libseccomp2 netcfg pam-config pwdutils systemd-presets-branding-openSUSE \ sysvinit-tools expat fipscheck distribution-release cpio sg3_utils \ ncurses-utils mkinitrd libasm1 suse-module-tools device-mapper libfipscheck1 \ libsepol1 aaa_base libdbus-1-3 dbus-1 suse-module-tools libsmartcols1 \ libutempter0 gpg2 libudev gzip \ bzip2 pwdutils pinentry dirmngr libadns libassuan \ libgcrypt libgpg-error libksba libpth libusb pam-modules \ libnscd libblkid libmount libuuid1 openssl \ update-alternatives glib2-branding-openSUSE"
(there are probably more packages than we actually need for a plain chroot, but it's easier this way and most of them would need to be installed later anyway)
Then you need to install all the packages we need for building from source:
zypper install lsb-release subversion tar file rsync patch python-devel python-setuptools \ gcc make gtk2-devel python-gtk python-gtk-devel python-gobject2-devel \ python-cython libX11-devel libXtst-devel libXcomposite-devel libXdamage-devel \ libvpx-devel libwebp-devel python-Pillow \ libXrandr-devel cups python-cups \ which rpmbuild \ tk-devel python3-devel python3-setuptools python3-numpy \ xorg-x11-server-Xvfb xorg-x11-server-Xorg libxkbfile-devel pygtk2-codegen
(again, probably more than is strictly needed)
The big remaining problems:
- there is no x264 on opensuse, which means we will have to build it and package it - HARD
- same for ffmpeg..
- packaging for all the extra bits that simply do not exist in suse: python-lz4, rencode, fakexinerama, python-netifaces, patched dummy driver, sound plugins, pygtkgl, pycuda, etc..
- actual packaging (modifying the spec file)
- extra codecs: nvenc, opencl, x265, etc (not going to worry too much about those initally)
- testing...
Looks doable, but this will take time.
Change History (12)
comment:1 Changed 6 years ago by
Description: | modified (diff) |
---|---|
Status: | new → assigned |
comment:2 Changed 6 years ago by
python-lz4 is available, but it is out of date..
Updates:
- we also need a more up to date Cython to avoid build errors, which must be named
python-Cython
+ more package names updated: r11331 + r11332 - opensuse needs "-fno-strict-aliasing": r11335
- gstreamer sound package naming, dummy driver, xorg: r11336, r11338
- python-lz4 done in r11340
Extra build dependencies to install:
zypper install \ libXinerama-devel python-tk tk-devel libjpeg8-devel liblcms-devel python-qt4 \ python3-devel gobject-introspection-devel python3-gobject gtk3-devel \ desktop-file-utils python-gobject2-devel python3-Cython python-numpy-devel yasm
As for suse "leap" aka 42.1, it needs minor tweaks to make a chroot using the script:
URL=http://download.opensuse.org/distribution/leap/${VERSION}/repo/oss/suse
- new dependency:
patterns-sles-fips
(hard to fingure this one out as it only manifests itself as a fatal FIPS selftest failure)
There are now beta suse packages for both 13.2 and 42.1
Remaining tasks:
- patched dummy driver
- python-lzo, x265, etc
Useful packaging link: Build Service cross distribution howto
comment:3 Changed 6 years ago by
- r11340 fixes the python-lz4 spec file.
- for building dummy, you need to install:
zypper install xf86dgaproto-devel xorg-x11-proto-devel xorg-x11-server-sdk xorg-x11-server-sdk
Then use the new xf86-video-dummy
specfile added in r11341.
Note: this will not be installed automatically: http://smithfarm-thebrain.blogspot.com/2012/12/opensuse-following-package-update-will.html.
To install it you need to:
zypper install --from=winswitch xf86-video-dummy
It should then be sticky and update from the new repository.
comment:4 Changed 6 years ago by
As of r11342, it should now be mostly functional. Just not fully tested (ie: opengl, sound, printing, etc..)
I will eventually add these repository installation instructions in a more visible place:
- install the repo key
rpm --import http://winswitch.org/gpg.asc
- add the repo file:
cat <<EOF > /etc/zypp/repos.d/winswitch.repo [winswitch] name=winswitch $releasever - $basearch enabled=1 autorefresh=0 baseurl=http://winswitch.org/beta/openSUSE/$releasever/$basearch/ type=rpm-md gpgcheck=1 gpgkey=http://winswitch.org/gpg.asc EOF
- install the patched dummy driver:
zypper install --from=winswitch xf86-video-dummy
- install xpra:
zypper install xpra
comment:5 Changed 6 years ago by
Owner: | changed from Antoine Martin to alas |
---|---|
Status: | assigned → new |
The repo is now public with instructions here: http://winswitch.org/downloads/rpm-repository.html?dist_select=openSUSE and a link from here: http://winswitch.org/downloads/.
The packages can be found here: http://xpra.org/dists/openSUSE/13.2/.
@afarr: this is mostly a FYI, unless you need to support opensuse, feel free to test or just close.
comment:6 Changed 6 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Tested both client and server - both appear to be working "out of the box"...They do complain about vpx not working.
Closing as both are working fine. May file tickets in the future if we need to support suse.
comment:8 Changed 5 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
As per OpenSUSE version history: Releases and opensuse Release Lifetime, opensuse 13.x is EOL.
We need to support "Leap" (42.x) better... which is a PITA because it is missing a large number of dependencies.
comment:9 Changed 5 years ago by
Milestone: | 0.16 → future |
---|
no time for this and the spec file needs a lot more fixes now
comment:10 Changed 4 years ago by
Owner: | changed from alas to Antoine Martin |
---|---|
Status: | reopened → new |
I've removed more opensuse cruft from various specfiles.
Fixing this will require a lot more work, hopefully opensuse will do their own packaging.
comment:11 Changed 2 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Too much work.
They have some packaging already: https://software.opensuse.org/package/xpra.
comment:12 Changed 16 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1037
r11327 + r11328 makes it possible to build some of the dependencies on opensuse 13.2, now available in the beta area:
libfakeXinerama
libvpx-xpra
libwebp-xpra
ffmpeg-xpra
PyOpenGL
andPyOpenGL-accelerate
.python-pillow
python-rencode
Remaining:
pycuda
/nvenc
: Not going to deal with this for now, requires:gcc-c++
,boost-devel
python-lz4
: needslz4-devel
which is missing?lzo-devel
exists so we could make apython-lzo
package?