SHA256
1
0
forked from pool/xpra
xpra/xpra.spec
Luigi Baldoni 27a7ab543c Accepting request 640550 from home:alois:branches:X11:Utilities
- 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
2018-10-08 08:31:06 +00:00

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