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:
Looks doable, but this will take time.
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
and PyOpenGL-accelerate
.
python-pillow
python-rencode
Remaining:
pycuda
/ nvenc
: Not going to deal with this for now, requires: gcc-c++
, boost-devel
python-lz4
: needs lz4-devel
which is missing? lzo-devel
exists so we could make a python-lzo
package?
python-lz4 is available, but it is out of date..
Updates:
python-Cython
+ more package names updated: r11331 + r11332
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
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:
Useful packaging link: Build Service cross distribution howto
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.
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:
rpm --import http://winswitch.org/gpg.asc
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
zypper install --from=winswitch xf86-video-dummy
zypper install xpra
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.
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.
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.
no time for this and the spec file needs a lot more fixes now
I've removed more opensuse cruft from various specfiles. Fixing this will require a lot more work, hopefully opensuse will do their own packaging.
Too much work.
They have some packaging already: https://software.opensuse.org/package/xpra.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1037