xpra/xpra.spec
Luigi Baldoni 50e3c8643e Accepting request 709904 from home:alois:branches:X11:Utilities
- Update to version 2.5.2
  * fix mmap leak which can cause the client to stop painting
  * fix OpenGL crashes: don't try to use it when probing process
    has crashed
  * fix errors in avahi error handler
  * fix connection errors when loading ssh public keys
  * fix tests being run with the wrong python interpreter version
  * fix systemd-run using the wrong python interpreter version
  * fix start menu with python3 clients
  * fix x264 encoder failing to create a compatible stream for
    the html5 client
  * fix unnecessary xdg menu data in some subcommands
  * fix large xdg menu data causing initial packet size errors
  * fix packet size warning message format
  * fix start menu with python3 clients
  * fix html5 client connection error when xdg-menu data is
    missing
  * fix html5 client compatibility with buggy x264 encoders (as
    above)
  * fix html5 client clipboard packet format
  * fix session info graphs start values
  * fix colour channels swapped with some window icons and
    desktop servers
  * fix slower compression code path wrongly used when av-sync
    is disabled
  * fix icon type attribute (remove dot)
  * fix signal forwarding with python3 servers
  * fix system tray forwarding with python3 servers
  * fix socket attributes name lookup for xpra info
  * fix handling proxy server info requests
  * fix proxy server info errors trying to enumerate sessions
  * fix automatic MTU adjustements with UDP transport
  * fix NVENC compatiblity with library soname found in newer
    installers
  * fix invalid python2 DEB dependency in main meta package
  * fix default config value for opengl attribute
  * fix HTML5 client authentication issue when going through a
    proxy server
  * fix socket errors on startup with bind-ssl
  * fix server dbus service attribute accessor methods
  * fix network jitter injector
  * fix avahi mdns publisher test tool
  * fix zeroconf error when service info is not available
  * fix remote ssh failures with python3-only installations
  * fix automatic interpreter version switching when re-executing
  * fix start-via-proxy exit code handler
  * fix socket-permissions option not being honoured
  * fix error in the codec loader if the first codec attempted
    fails
  * fix error in the codec instantiation leak detection code
  * fix exit hooks not being called with 'exit-with-client'
  * fix RandR build errors with older versions of Cython (ie:
    Xenial)
  * fix GTK3 build of the keyboard test tool on MS Windows
  * fix errors parsing xresources
  * fix handling of xsettings with python3 servers
  * fix font hinting detection with python3
  * fix errors during cleanup if server initialization or
    startup had failed
  * fix pure python3 builds cairo headers used
  * updated package dependencies: recommend python-dns for sshfp
    support

OBS-URL: https://build.opensuse.org/request/show/709904
OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/xpra?expand=0&rev=19
2019-06-14 07:39:46 +00:00

262 lines
8.4 KiB
RPMSpec

#
# spec file for package xpra
#
# Copyright (c) 2019 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 https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%global __requires_exclude ^typelib\\(GtkosxApplication\\)|typelib\\(GdkGLExt\\)|typelib\\(GtkGLExt\\).*$
Name: xpra
Version: 2.5.2
Release: 0
Summary: Remote display server for applications and desktops
License: GPL-2.0-or-later AND BSD-3-Clause AND LGPL-3.0-or-later AND MIT
Group: Productivity/Networking/Other
URL: https://www.xpra.org/
Source0: https://xpra.org/src/%{name}-%{version}.tar.xz
Source1: xpra-icon.png
# PATCH-FIX-OPENSUSE xpra-paths.patch -- use suse-specific paths
Patch0: %{name}-paths.patch
BuildRequires: ImageMagick
BuildRequires: brotli
BuildRequires: cups
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: python-Cython >= 0.20.0
BuildRequires: python-gobject-devel
BuildRequires: python2-devel
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(libsystemd)
BuildRequires: pkgconfig(libwebp) >= 0.4
BuildRequires: pkgconfig(pycairo)
BuildRequires: pkgconfig(pygtk-2.0)
%if 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(vpx) >= 1.4.0
%endif
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xtst)
Requires: dbus-1-python
Requires: dbus-1-x11
Requires: gstreamer-plugins-base
Requires: gstreamer-plugins-good
Requires: pulseaudio
Requires: pulseaudio-utils
Requires: python2-Pillow
Requires: python2-gst
Requires: python2-lz4
Requires: python2-numpy
Requires: python2-opencv
Requires: python2-pycups
Requires: python2-rencode
Requires: shared-mime-info
Requires: xf86-video-dummy
Requires: xorg-x11-xauth
Requires(post): %fillup_prereq
Recommends: python2-dnspython
Recommends: python2-opencv
Recommends: python2-paramiko
%{?systemd_requires}
%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-aurora)
Provides: bundled(js-bencode)
Provides: bundled(js-broadway)
Provides: bundled(js-forge)
Provides: bundled(js-jquery) = 3.1.1
Provides: bundled(js-jquery-ui) = 1.12.1
Provides: bundled(js-lz4)
Provides: bundled(js-zlib)
BuildArch: noarch
%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 -e 's|__FILLUPDIR__|%{_fillupdir}|' \
-e 's|__UNITDIR__|%{_unitdir}|' \
-i setup.py
# fix shebang
sed -i 's|^#!.*|#!%__python2|' scripts/auth_dialog scripts/xdg-open
%build
python2 setup.py build \
--verbose \
%if 0%{?suse_version} > 1500
--with-enc_ffmpeg \
--with-vpx \
%endif
%if 0%{?suse_version} == 1500
--with-vpx \
--without-enc_ffmpeg \
%endif
%if 0%{?suse_version} < 1500
--without-vpx \
--without-enc_ffmpeg \
%endif
--with-dec_avcodec2 \
--with-csc_swscale \
--with-webp \
--with-Xdummy \
--with-Xdummy_wrapper \
--with-opengl \
--with-service
%install
python2 setup.py install \
--skip-build \
--root %{buildroot} \
--prefix /usr \
--verbose
#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-gui 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/content-categories
%dir %{_datadir}/xpra/content-type
%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_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-gui.desktop
%{_datadir}/applications/xpra-launcher.desktop
%{_datadir}/applications/xpra-shadow.desktop
%{_datadir}/applications/xpra.desktop
%{_datadir}/pixmaps/xpra-mdns.png
%{_datadir}/pixmaps/xpra-shadow.png
%{_datadir}/pixmaps/xpra.png
%{_datadir}/mime/packages/application-x-xpraconfig.xml
%{_datadir}/xpra/bell.wav
%{_datadir}/xpra/content-categories/10_default.conf
%{_datadir}/xpra/content-type/10_role.conf
%{_datadir}/xpra/content-type/30_title.conf
%{_datadir}/xpra/content-type/50_class.conf
%{_datadir}/xpra/content-type/70_commands.conf
%{_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_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