27a7ab543c
- Update to version 2.3.4 * fix server does not shutdown cleanly (Xvfb not killed) * fix signals not emitted (ie: delay-tray command line option) * fix client desktop-scaling corner cases * fix handling of mixed clicks on system tray and the menu entries * fix MS Windows shadow server's cursor capture * fix URL parsing from launcher (ie: MacOS URL association) * fix MacOS crash with GTK3 builds and file chooser * fix non-opengl windows missing spinner with GTK3 * fix RPM license information * fix mDNS zeroconf library version on MS Windows with Python 2 * fix connection errors from making the client launcher exit * fix python3 errors in dbus server code * fix spurious error messages caused by video pipeline changes * fix proxy-video-encoders=all substitution * fix unicode string errors with RFB protocol and Python 3 * fix missing idle and clipboard server information * fix .xpra file association with DEB packaging * fix pointer polling error with RFB connections (pointer going AWOL) * fix handling of closed RFB connections * fix unmanaged X11 call from shadow servers (potential crashes) * fix fallback pynotify notification handler * fix Python 3 shadow servers with RFB * fix Python 3 string errors writing run-xpra scripts * fix deadlocks with RFB connections * fix missing key mapping errors with RFB clients * fix session name not honoured or exposed via mdns for shadow servers * fix X11 display detection (socket may be owned by root with some display managers) * fix compatibility with csh and tcsh * fix spurious modifier key events from the HTML5 client * fix tray icon corruption on MS Windows * fix Motif WM hints parsing * fix DEB packaging dependencies * fix NVENC encoder wrongly exposing encodings which are not available * fix error running unit tests on MS Windows * fix potential file descriptor leak * fix valid XAuthority path potentially not found because unexpanded * fix proxy servers not honouring passwords in connection strings * fix sqlite authentication backend issue with identical usernames * support CUDA 10 and optimizations for Volta GPUs * Fedora 29 compatibility * fix race condition in unit tests which was causing random failures * add dependency required for running the unit tests with rpmbuild * prevent repeated clipboard warnings * let the server chooose the best initial quality to use * add file missing from clean build target * add missing entries in man page * add missing desktop file icons * shadow the current display if none is specified and we find more than one display * remove unneeded import, spurious debug logging * limit the amount of information exposed via the proxy server's dbus service * support base64 encoded SSL certificate data version 2.3.3 * fix value shown in frame extents warning * fix HTML5 relative URLs for window control icons * fix HTML5 pointer events missing modifier keys * fix parsing errors when no display is specified * fix URL parsing with Python 3 * fix tray setup errors on early client exit * fix putty plink PATH lookup issue * fix python3 compatibility for printer forwarding script * fix python3 alert box on MS Windows * fix python3 packaging on MS Windows * fix python3 client rendering of transparency with opengl disabled * fix file descriptor warnings on process exit with MS Windows builds * fix MS Windows monitor API overflow on 64-bit systems * fix compilation error with latest MSYS2 installations * fix desktop servers exit code * fix network congestion calculations when records expire * fix bandwidth warnings caused by slow client picture decoding * fix xpra info race condition error during cleanup * fix clipboard warnings: don't enable it unless the client requests it * fix spurious stacktraces caused by focus events on OR windows * fix painting of spinners with desktop-scaling and non-opengl backends * fix 'terminate server when command exits' from html5 client * fix SSL socket timeouts in proxy server * fix errors starting proxy instances if the user's home directory does not exist * fix ssh start remote command line compatibility mode * fix command line backwards compatibility * fix handling of tray geometry and keyboard detection failures * fix bandwidth-limit changes from the system tray menu * fix system version warnings on MacOS * force GTK3 Posix clients to use X11 backend (native Wayland crashes) * support cx_Freeze 5.x on MS Windows * don't require local user accounts with pam logins * drop invalid client connections without showing errors (desktop mode) * support building with Python 3.7 (some features made optional until ported over) * disable webcam forwarding with MS Windows client (broken upstream) * add missing RPM dependencies for running unit tests * prevent Python Pillow debug log spam * don't show spurious import errors during printing subsystem cleanup * show another possible reason for connection failures * make remote ssh command easier to parse * abort tests if build fails * use free colour profiles in all icon files * add missing man page entry for 'forward-xdg-open' * add missing files to manifest * man page typos OBS-URL: https://build.opensuse.org/request/show/640550 OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/xpra?expand=0&rev=3
313 lines
9.2 KiB
RPMSpec
313 lines
9.2 KiB
RPMSpec
#
|
|
# spec file for package xpra
|
|
#
|
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
# Copyright (c) 2012-2013 Pascal Bleser <pascal.bleser@opensuse.org>
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%if ! %{defined _fillupdir}
|
|
%define _fillupdir /var/adm/fillup-templates
|
|
%endif
|
|
Name: xpra
|
|
Version: 2.3.4
|
|
Release: 0
|
|
Summary: Remote display server for applications and desktops
|
|
License: GPL-2.0+ AND BSD-3-Clause AND LGPL-3.0+ AND MIT
|
|
URL: https://www.xpra.org/
|
|
Group: Productivity/Networking/Other
|
|
Source0: https://xpra.org/src/%{name}-%{version}.tar.xz
|
|
Source1: xpra-icon.png
|
|
# Left here for older distros
|
|
Source99: xpra-rpmlintrc
|
|
# PATCH-FIX-OPENSUSE xpra-paths.patch -- use suse-specific paths
|
|
Patch0: %{name}-paths.patch
|
|
BuildRequires: python-rpm-macros
|
|
BuildRequires: python-Cython >= 0.20.0
|
|
BuildRequires: python2-devel
|
|
BuildRequires: python-gobject-devel
|
|
BuildRequires: ImageMagick
|
|
BuildRequires: cups
|
|
BuildRequires: cups-devel
|
|
BuildRequires: desktop-file-utils
|
|
BuildRequires: fdupes
|
|
BuildRequires: hicolor-icon-theme
|
|
BuildRequires: pam-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: systemd
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: pkgconfig(gtk+-3.0)
|
|
BuildRequires: pkgconfig(libavcodec) >= 57
|
|
BuildRequires: pkgconfig(libavformat) >= 57
|
|
BuildRequires: pkgconfig(libswscale) >= 4
|
|
BuildRequires: pkgconfig(pycairo)
|
|
BuildRequires: pkgconfig(pygtk-2.0)
|
|
#Leap 15 and tumbleweed
|
|
%if 0%{?suse_version} > 1500 || ( 0%{?sle_version} == 150000 && 0%{?is_opensuse} )
|
|
BuildRequires: pkgconfig(vpx) >= 1.4.0
|
|
%endif
|
|
BuildRequires: pkgconfig(libwebp) >= 0.4
|
|
BuildRequires: pkgconfig(libsystemd)
|
|
BuildRequires: pkgconfig(xcomposite)
|
|
BuildRequires: pkgconfig(xdamage)
|
|
BuildRequires: pkgconfig(xkbfile)
|
|
BuildRequires: pkgconfig(xrandr)
|
|
BuildRequires: pkgconfig(xtst)
|
|
Requires: python2-Pillow
|
|
Requires: python2-pycups
|
|
Requires: python2-gst
|
|
Requires: python2-lz4
|
|
Requires: python2-opencv
|
|
Requires: python2-opengl
|
|
Requires: python2-rencode
|
|
Requires: python2-numpy
|
|
Requires: dbus-1-python
|
|
Requires: dbus-1-x11
|
|
Requires: gstreamer-plugins-base
|
|
Requires: gstreamer-plugins-good
|
|
Requires: pulseaudio
|
|
Requires: pulseaudio-utils
|
|
Requires: shared-mime-info
|
|
Requires: xf86-video-dummy
|
|
Requires: xorg-x11-xauth
|
|
Requires(post): %fillup_prereq
|
|
%{?systemd_requires}
|
|
|
|
Recommends: python2-opencv
|
|
|
|
|
|
%description
|
|
Xpra is "screen for X": it allows you to run X programs, usually on a remote
|
|
host, direct their display to your local machine, and then to disconnect from
|
|
these programs and reconnect from the same or another machine, without losing
|
|
any state. It gives you remote access to individual applications.
|
|
|
|
Xpra is "rootless" or "seamless": programs you run under it show up on your
|
|
desktop as regular programs, managed by your regular window manager.
|
|
Sessions can be accessed over SSH, or password protected over plain TCP sockets.
|
|
Xpra is usable over reasonably slow links and does its best to adapt to changing
|
|
network bandwidth constraints.
|
|
|
|
%package html5
|
|
Summary: HTML5 server and client support for xpra
|
|
Group: Productivity/Networking/Other
|
|
Requires: %{name} = %{version}
|
|
# websockify is required to allow xpra to listen for an html5 client
|
|
Requires: python2-websockify
|
|
Provides: bundled(js-jquery) = 3.1.1
|
|
Provides: bundled(js-jquery-ui) = 1.12.1
|
|
Provides: bundled(js-lz4)
|
|
Provides: bundled(js-zlib)
|
|
Provides: bundled(js-forge)
|
|
Provides: bundled(js-aurora)
|
|
Provides: bundled(js-broadway)
|
|
Provides: bundled(js-bencode)
|
|
|
|
%description html5
|
|
This package adds websockify support to allow xpra to listen for http
|
|
connections, and also the xpra html5 client.
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1
|
|
# fix shebangs
|
|
find -name '*.py' \
|
|
-exec sed -i '1{\@^#!/usr/bin/env python@d}' {} \;
|
|
sed -i "1 s|^#!/usr/bin/env python\b|#!%__python2|" cups/xpraforwarder
|
|
# fix python-bytecode-inconsistent-mtime warning
|
|
find . -name '*.py' -exec touch -mat 1707141200 {} \;
|
|
install -m0644 %{SOURCE1} -t xdg
|
|
# set fillup dir
|
|
sed -i 's|__FILLUPDIR__|%{_fillupdir}|' setup.py
|
|
# fix shebang
|
|
sed -i 's|^#!.*|#!%{__python2}|' scripts/auth_dialog scripts/xdg-open
|
|
|
|
#Tumbleweed (%if 0%{?suse_version} > 1500)
|
|
%if 0%{?suse_version} > 1500
|
|
%build
|
|
%python2_build \
|
|
--verbose \
|
|
--with-enc_ffmpeg \
|
|
--with-dec_avcodec2 \
|
|
--with-csc_swscale \
|
|
--with-vpx \
|
|
--with-webp \
|
|
--with-Xdummy \
|
|
--with-Xdummy_wrapper \
|
|
--without-opengl \
|
|
--with-service
|
|
|
|
%install
|
|
%python2_install \
|
|
--skip-build \
|
|
--verbose \
|
|
--with-enc_ffmpeg \
|
|
--with-dec_avcodec2 \
|
|
--with-csc_swscale \
|
|
--with-vpx \
|
|
--with-webp \
|
|
--with-Xdummy \
|
|
--with-Xdummy_wrapper \
|
|
--without-opengl \
|
|
--with-service
|
|
%else
|
|
# Leap 15.x
|
|
%if 0%{?sle_version} == 150000 && 0%{?is_opensuse}
|
|
%build
|
|
%python2_build \
|
|
--verbose \
|
|
--with-dec_avcodec2 \
|
|
--with-csc_swscale \
|
|
--with-vpx \
|
|
--with-webp \
|
|
--with-Xdummy \
|
|
--with-Xdummy_wrapper \
|
|
--without-enc_ffmpeg \
|
|
--without-opengl \
|
|
--with-service
|
|
|
|
%install
|
|
%python2_install \
|
|
--skip-build \
|
|
--verbose \
|
|
--with-dec_avcodec2 \
|
|
--with-csc_swscale \
|
|
--with-vpx \
|
|
--with-webp \
|
|
--with-Xdummy \
|
|
--with-Xdummy_wrapper \
|
|
--without-enc_ffmpeg \
|
|
--without-opengl \
|
|
--with-service
|
|
#everything else
|
|
%else
|
|
%build
|
|
%python2_build \
|
|
--verbose \
|
|
--with-dec_avcodec2 \
|
|
--with-csc_swscale \
|
|
--with-webp \
|
|
--with-Xdummy \
|
|
--with-Xdummy_wrapper \
|
|
--without-vpx \
|
|
--without-enc_ffmpeg \
|
|
--without-opengl \
|
|
--with-service
|
|
|
|
%install
|
|
%python2_install \
|
|
--skip-build \
|
|
--verbose \
|
|
--with-dec_avcodec2 \
|
|
--with-csc_swscale \
|
|
--with-webp \
|
|
--with-Xdummy \
|
|
--with-Xdummy_wrapper \
|
|
--without-vpx \
|
|
--without-enc_ffmpeg \
|
|
--without-opengl \
|
|
--with-service
|
|
%endif
|
|
%endif
|
|
|
|
|
|
|
|
#Install nvenc.keys file
|
|
mkdir -p %{buildroot}%{_sysconfdir}/xpra
|
|
install -pm 644 etc/xpra/nvenc.keys %{buildroot}%{_sysconfdir}/xpra
|
|
|
|
# Ensure all .js files are not executable
|
|
find %{buildroot}%{_datadir}/xpra/www/js -name '*.js' \
|
|
-exec chmod 0644 {} \;
|
|
|
|
%suse_update_desktop_file -r xpra Network RemoteAccess
|
|
%suse_update_desktop_file -r xpra-browser Network RemoteAccess
|
|
%suse_update_desktop_file -r xpra-launcher Network RemoteAccess
|
|
|
|
mkdir -pv %{buildroot}%{_sbindir}
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
|
|
|
|
%fdupes -s %{buildroot}
|
|
|
|
%pre
|
|
getent group xpra >/dev/null || groupadd -r xpra
|
|
mkdir -p %{_rundir}/%{name} || exit 1
|
|
%service_add_pre %{name}.service
|
|
|
|
%post
|
|
%service_add_post %{name}.service
|
|
%fillup_only %{name}
|
|
%tmpfiles_create %{_tmpfilesdir}/xpra.conf
|
|
|
|
%preun
|
|
%service_del_preun %{name}.service
|
|
|
|
%postun
|
|
%service_del_postun %{name}.service
|
|
|
|
%files
|
|
%doc README NEWS
|
|
%license COPYING
|
|
%dir %{_datadir}/xpra
|
|
%dir %{_datadir}/xpra/http-headers
|
|
%dir %{_libexecdir}/xpra
|
|
%dir %{_sysconfdir}/pam.d
|
|
%dir %{_sysconfdir}/xpra
|
|
%dir %{_sysconfdir}/xpra/conf.d
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/xpra.conf
|
|
%config(noreplace) %{_sysconfdir}/pam.d/xpra
|
|
%config(noreplace) %{_sysconfdir}/xpra/*.conf
|
|
%config(noreplace) %{_sysconfdir}/xpra/nvenc.keys
|
|
%config(noreplace) %{_sysconfdir}/xpra/conf.d/*.conf
|
|
%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/90-xpra-virtual.conf
|
|
%{_fillupdir}/sysconfig.%{name}
|
|
%{_bindir}/xpra
|
|
%{_bindir}/xpra_Xdummy
|
|
%{_bindir}/xpra_browser
|
|
%{_bindir}/xpra_launcher
|
|
%{_bindir}/xpra_signal_listener
|
|
%{_bindir}/xpra_udev_product_version
|
|
%{_libexecdir}/udev/rules.d/71-xpra-virtual-pointer.rules
|
|
%{_libexecdir}/xpra/auth_dialog
|
|
%{_libexecdir}/xpra/gnome-open
|
|
%{_libexecdir}/xpra/gvfs-open
|
|
%{_libexecdir}/xpra/xdg-open
|
|
%{_sbindir}/rc%{name}
|
|
%{python_sitearch}/xpra
|
|
%{python_sitearch}/%{name}-%{version}-py%{python_version}.egg-info
|
|
%{_datadir}/appdata/xpra.appdata.xml
|
|
%{_datadir}/applications/xpra-browser.desktop
|
|
%{_datadir}/applications/xpra-launcher.desktop
|
|
%{_datadir}/applications/xpra.desktop
|
|
%{_datadir}/pixmaps/xpra-mdns.png
|
|
%{_datadir}/pixmaps/xpra.png
|
|
%{_datadir}/mime/packages/application-x-xpraconfig.xml
|
|
%{_datadir}/xpra/bell.wav
|
|
%{_datadir}/xpra/http-headers/00_nocache.txt
|
|
%{_datadir}/xpra/http-headers/10_content_security_policy.txt
|
|
%{_datadir}/xpra/icons
|
|
%{_libexecdir}/cups/backend/xpraforwarder
|
|
%{_mandir}/man1/xpra.1%{ext_man}
|
|
%{_mandir}/man1/xpra_browser.1%{ext_man}
|
|
%{_mandir}/man1/xpra_launcher.1%{ext_man}
|
|
%{_sysusersdir}/xpra.conf
|
|
%{_tmpfilesdir}/xpra.conf
|
|
%{_unitdir}/xpra.service
|
|
%{_unitdir}/xpra.socket
|
|
%ghost %dir %{_rundir}/xpra
|
|
|
|
%files html5
|
|
%{_datadir}/xpra/www
|
|
|
|
%changelog
|