Xpra: Ticket #1037: opensuse support

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

Looks doable, but this will take time.

Sat, 28 Nov 2015 16:57:07 GMT - Antoine Martin: status, description changed

r11327 + r11328 makes it possible to build some of the dependencies on opensuse 13.2, now available in the beta area:


Sun, 29 Nov 2015 15:44:03 GMT - Antoine Martin:

python-lz4 is available, but it is out of date..


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:

There are now beta suse packages for both 13.2 and 42.1

Remaining tasks:

Useful packaging link: Build Service cross distribution howto

Mon, 30 Nov 2015 11:15:37 GMT - Antoine Martin:

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.

Mon, 30 Nov 2015 12:20:20 GMT - Antoine Martin:

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:

Tue, 08 Dec 2015 09:43:04 GMT - Antoine Martin: owner, status changed

The repo is now public with instructions 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.

Tue, 19 Jan 2016 20:56:20 GMT - J. Max Mena: status changed; resolution set

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.

Sun, 05 Jun 2016 15:35:25 GMT - Antoine Martin:

Sat, 25 Mar 2017 14:27:24 GMT - Antoine Martin: status changed; resolution deleted

As per 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.

Fri, 14 Jul 2017 16:00:24 GMT - Antoine Martin: milestone changed

no time for this and the spec file needs a lot more fixes now

Mon, 22 Jan 2018 05:50:57 GMT - Antoine Martin: owner, status changed

I've removed more opensuse cruft from various specfiles. Fixing this will require a lot more work, hopefully opensuse will do their own packaging.

Wed, 19 Feb 2020 09:30:25 GMT - Antoine Martin: status changed; resolution set

Too much work.

They have some packaging already: https://software.opensuse.org/package/xpra.

Sat, 23 Jan 2021 05:13:10 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1037