SHA256
1
0
forked from pool/xpra

Accepting request 969483 from X11:Utilities

- Adding 'Recommends: lsb-release' so 'Information' -> 'Session Info'
  returns results vs. 'unknown'.

- Removing 'BuildRequires: lsb-release'.

- Adjusting to use 'distribution-release' for Tumbleweed and
  'openSUSE-release' for < Tumbleweed.

- Swapping out 'openSUSE-release' (for 'distribution-release') BuildRequires.

- xpra-paths.patch has been removed because the developer @totaam committed
  0ed231fb95
  as a result of https://github.com/Xpra-org/xpra/issues/3501 "build tweaks for openSUSE"

- Updating .spec to accomodate TW (libexec) vs. Leap (lib) for %{_libexecdir}.

- Update to version 4.4+git20220404.1e56be683:
  * #3503 don't use gtk for reading atom names

- Update to version v4.3+git20220402.2f1c3abe7:
  * #3504 manage the cuda context outside the nvjpeg decoder
  * #3504 cuda gpu buffer transfer for opengl backend
  * #3509 protect access to mutable data
  * check if paths exist before
  * check XDG_DATA_DIRS/icons for pixmaps
  * remove unused declarations
  * #3509 prevent potential race condition
  * don't use arrays if we can use tuples
  * #3504 use pycuda rather than Cython
  * don't store cython generated file

OBS-URL: https://build.opensuse.org/request/show/969483
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xpra?expand=0&rev=43
This commit is contained in:
Dominique Leuenberger 2022-04-12 20:20:26 +00:00 committed by Git OBS Bridge
commit 81dcaef545
10 changed files with 265 additions and 139 deletions

34
_service Normal file
View File

@ -0,0 +1,34 @@
<!--
# vim: set syntax=xml
-->
<services>
<service name="obs_scm" mode="disabled">
<param name="url">https://github.com/Xpra-org/xpra</param>
<param name="scm">git</param>
<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>
<!-- These need changed dependent on tags
at github.com/Xpra-org/xpra ; Currently
tag=4.3 but setup.py returns 4.4
-->
<param name="versionrewrite-pattern">v4.3</param>
<param name="versionrewrite-replacement">4.4</param>
<!--
<param name="package-meta">yes</param>
-->
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="disabled"/>
<service name="tar" mode="disabled">
<!-- I'd like to include this, but METADATA_PATTERN
seems to block including .git
<param name="include">.git</param>
<param name="exclude">.github</param>
<param name="exclude">.git/objects/pack</param>
-->
</service>
<service name="recompress" mode="disabled">
<param name="compression">gz</param>
<param name="file">*.tar</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/Xpra-org/xpra</param>
<param name="changesrevision">1e56be683262b015ccdc7417ee4edccc124922cf</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7422f2401d544809fef1761bcf4816fa3b3d89a9af28386ecf80ecf78f389ba5
size 216720

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a474aa36e2e6de7debb16964f636d338e38daac832cb28cd80138d171c2fcb58
size 2707220

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c8dd424e71388e583e7821834d1703beba5a99e30c87c948fbed803169a00cc2
size 48600837

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23542bef997344e515dfee04486dc490914dd9ae3dc57e8833a1c2b6f10d4e56
size 1154024

View File

@ -1,51 +0,0 @@
Index: xpra-4.2/setup.py
===================================================================
--- xpra-4.2.orig/setup.py
+++ xpra-4.2/setup.py
@@ -1527,7 +1527,7 @@ else:
add_data_files("%s/xpra/" % libexec, libexec_scripts)
if data_ENABLED:
man_path = "share/man"
- icons_dir = "icons"
+ icons_dir = "pixmaps"
if OPENBSD or FREEBSD:
man_path = "man"
icons_dir = "pixmaps"
@@ -1623,7 +1623,7 @@ else:
if pam_ENABLED:
copytodir("fs/etc/pam.d/xpra", "/etc/pam.d")
- systemd_dir = "/lib/systemd/system"
+ systemd_dir = "__UNITDIR__"
if service_ENABLED:
#Linux init service:
subs = {}
@@ -1631,15 +1631,15 @@ else:
cdir = "/etc/sysconfig"
elif is_Debian() or is_Ubuntu():
cdir = "/etc/default"
- elif os.path.exists("/etc/sysconfig"):
- cdir = "/etc/sysconfig"
else:
- cdir = "/etc/default"
- copytodir("fs/etc/sysconfig/xpra", cdir)
+ cdir = "__FILLUPDIR__"
+ shutil.copy("fs/etc/sysconfig/xpra", "fs/etc/sysconfig/sysconfig.xpra")
+ os.chmod("fs/etc/sysconfig/sysconfig.xpra", 0o644)
+ copytodir("fs/etc/sysconfig/sysconfig.xpra", cdir)
if cdir!="/etc/sysconfig":
#also replace the reference to it in the service file below
subs[b"/etc/sysconfig"] = cdir.encode()
- if os.path.exists("/bin/systemctl"):
+ if os.path.exists("/usr/bin/systemctl"):
if sd_listen_ENABLED:
copytodir("fs/lib/systemd/system/xpra.service", systemd_dir,
subs=subs)
@@ -1767,7 +1767,6 @@ if scripts_ENABLED:
toggle_modules(WIN32, "xpra/scripts/win32_service")
if data_ENABLED:
- add_data_files(share_xpra, ["README.md", "COPYING"])
add_data_files(share_xpra, ["fs/share/xpra/bell.wav"])
ICONS = glob.glob("fs/share/xpra/icons/*.png")
if OSX:

View File

@ -1,3 +1,154 @@
-------------------------------------------------------------------
Fri Apr 8 22:57:54 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Adding 'Recommends: lsb-release' so 'Information' -> 'Session Info'
returns results vs. 'unknown'.
-------------------------------------------------------------------
Fri Apr 8 20:36:15 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Removing 'BuildRequires: lsb-release'.
-------------------------------------------------------------------
Fri Apr 8 17:47:47 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Adjusting to use 'distribution-release' for Tumbleweed and
'openSUSE-release' for < Tumbleweed.
-------------------------------------------------------------------
Fri Apr 8 16:31:22 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Swapping out 'openSUSE-release' (for 'distribution-release') BuildRequires.
-------------------------------------------------------------------
Thu Apr 7 22:46:29 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- xpra-paths.patch has been removed because the developer @totaam committed
https://github.com/Xpra-org/xpra/commit/0ed231fb95c8df3ec97d779698e6818faa7e5ef8
as a result of https://github.com/Xpra-org/xpra/issues/3501 "build tweaks for openSUSE"
-------------------------------------------------------------------
Tue Apr 5 18:58:47 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Updating .spec to accomodate TW (libexec) vs. Leap (lib) for %{_libexecdir}.
-------------------------------------------------------------------
Mon Apr 04 15:23:42 UTC 2022 - scott.bradnick@suse.com
- Update to version 4.4+git20220404.1e56be683:
* #3503 don't use gtk for reading atom names
-------------------------------------------------------------------
Mon Apr 04 15:04:18 UTC 2022 - scott.bradnick@suse.com
- Update to version v4.3+git20220402.2f1c3abe7:
* #3504 manage the cuda context outside the nvjpeg decoder
* #3504 cuda gpu buffer transfer for opengl backend
* #3509 protect access to mutable data
* check if paths exist before
* check XDG_DATA_DIRS/icons for pixmaps
* remove unused declarations
* #3509 prevent potential race condition
* don't use arrays if we can use tuples
* #3504 use pycuda rather than Cython
* don't store cython generated file
* #3504 common python definitions cannot live in pxd
* move common definitions to pxd file
* #3505 override sourced env with command line
* #3505 command line can override config files
* validate the option we're dealing with
* #3458 revert f5b1b663bd981b326c4720731b7c97a007b2b247 now that cuda 11.5.2 supports GCC 12
* try to build with gcc 12
* arch=all triggers warnings, silence them
* #3505 skip 'false' values
-------------------------------------------------------------------
Tue Mar 29 21:04:30 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Adding a few missing BuildRequires/Requires/Recommends.
-------------------------------------------------------------------
Tue Mar 29 19:34:07 UTC 2022 - scott.bradnick@suse.com
- Update to version git20220328.5881281f1:
* #3504 add nvjpeg decoder
* remove unused definitions
* misaligned positional arguments
* remove unused definitions
* prefer immutable tuples
* workaround for libx264 version numbers
* export 'relative-position' and 'parent' from X11 shadow servers
* doh: group-leader and transient-for had gone AWOL
* #3476 support OR windows in shadow servers
* add debug logging to video delay calculations
-------------------------------------------------------------------
Tue Mar 29 19:33:24 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Initial version for xpra with 'xpra-html5' pulled out.
-------------------------------------------------------------------
Mon Mar 28 16:39:13 UTC 2022 - scott.bradnick@suse.com
- Update to version git20220328.5881281f1:
* #3504 add nvjpeg decoder
* remove unused definitions
* misaligned positional arguments
* remove unused definitions
* prefer immutable tuples
* workaround for libx264 version numbers
* export 'relative-position' and 'parent' from X11 shadow servers
* doh: group-leader and transient-for had gone AWOL
* #3476 support OR windows in shadow servers
* add debug logging to video delay calculations
-------------------------------------------------------------------
Sat Mar 26 19:22:48 UTC 2022 - scott.bradnick@suse.com
- Update to version git20220326.5fd33c46d:
* export 'relative-position' and 'parent' from X11 shadow servers
* doh: group-leader and transient-for had gone AWOL
* #3476 support OR windows in shadow servers
* add debug logging to video delay calculations
* never delay unless we have a video region
* log damage image and scroll latency
* remove unused code
* #3501 build tweaks for openSUSE
* #3477 fixup opengl probing (again)
* #3502 control command for (un)setting start env
-------------------------------------------------------------------
Fri Mar 25 16:58:50 UTC 2022 - scott.bradnick@suse.com
- Update to version git20220325.7f8ca92ba:
* #3477 fixup opengl probing (again)
* #3502 control command for (un)setting start env
-------------------------------------------------------------------
Thu Mar 24 20:07:11 UTC 2022 - scott.bradnick@suse.com
- Update to version git20220324.785a44e79:
* #3476 relative window position tracking
* #3493 forgot to update mswindows exe script path
* #3493 no need for a man page if the command is hidden
* missed from d5e3d9b1d0248cca7fc265f5d390e0b9d63a7a82
* move manual to subdir of /u/s/doc/xpra
* typo
* fix distutils deprecation warning
* #3493 move signal watcher to libexec
* #3493 these files have moved
* #3493 'fs' should mirror the real paths
-------------------------------------------------------------------
Wed Mar 23 18:13:31 UTC 2022 - Scott Bradnick <scott.bradnick@suse.com>
- Updated to the following source version(s):
* xpra_ver 4.3.2
* html5_ver 4.5.2
* uglifyjs_ver 3.15.3
- Added pkgconfig requirement for 'xres'.
- Added a few new/missing items for '%files'.
-------------------------------------------------------------------
Wed Dec 1 21:50:11 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>

4
xpra.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: xpra
version: 4.4+git20220404.1e56be683
mtime: 1649085543
commit: 1e56be683262b015ccdc7417ee4edccc124922cf

148
xpra.spec
View File

@ -1,8 +1,7 @@
#
# spec file for package xpra
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2012-2013 Pascal Bleser <pascal.bleser@opensuse.org>
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -21,32 +20,38 @@
%global with_pandoc 1
%endif
%bcond_with pandoc
%define xpra_ver 4.2.3
%define html5_ver 4.5.1
%define uglifyjs_ver 3.14.2
# -----
# Comes from git tarball setup.py:
# setup.py build --verbose ...
# Xpra version 4.4
%define xpra_ver 4.4
# -----
%global __requires_exclude ^typelib\\(GtkosxApplication\\)|typelib\\(GdkGLExt\\)|typelib\\(GtkGLExt\\).*$
Name: xpra
Version: %{xpra_ver}
Version: 4.4+git20220404.1e56be683
Release: 0
Summary: Remote display server for applications and desktops
License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-3.0-or-later AND MIT
Group: System/X11/Utilities
URL: https://www.xpra.org/
Source0: https://xpra.org/src/%{name}-%{version}.tar.xz
Source0: %{name}-%{version}.tar.gz
Source1: xpra-icon.png
Source2: https://xpra.org/src/%{name}-html5-%{html5_ver}.tar.xz
Source3: https://registry.npmjs.org/uglify-js/-/uglify-js-%{uglifyjs_ver}.tgz
# 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: git-core
BuildRequires: hicolor-icon-theme
# Needed by uglify-js
BuildRequires: nodejs-common
# Needed for proper OS detection by setup.py
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500
BuildRequires: distribution-release
%else
BuildRequires: openSUSE-release
%endif
# ---------
BuildRequires: pam-devel
%if %{with pandoc}
BuildRequires: pandoc
@ -56,6 +61,7 @@ BuildRequires: python3-Cython >= 0.20.0
BuildRequires: python3-devel
BuildRequires: python3-gobject-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pyxdg
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libavcodec) >= 58
@ -70,10 +76,12 @@ BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(xtst)
Requires: dbus-1-x11
Requires: gstreamer-plugins-base
Requires: gstreamer-plugins-good
Requires: gstreamer-utils
%if 0%{?sle_version} && 0%{?sle_version} < 150300
Requires: pulseaudio
%else
@ -93,13 +101,16 @@ Requires: shared-mime-info
Requires: xf86-video-dummy
Requires: xorg-x11-xauth
Requires(post): %fillup_prereq
Recommends: lsb-release
Recommends: pinentry
Recommends: python3-dnspython
Recommends: python3-netifaces
Recommends: python3-opencv
Recommends: python3-opengl
Recommends: python3-opengl-accelerate
Recommends: python3-paramiko
Recommends: python3-pyinotify
Recommends: python3-pyxdg
%{?systemd_ordering}
%description
@ -114,42 +125,20 @@ 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
Version: %{html5_ver}
Summary: HTML5 server and client support for xpra
Requires: %{name} = %{xpra_ver}
# websockify is required to allow xpra to listen for an html5 client
Requires: python3-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 -a 2 -a 3
%autopatch -p1
# fix shebangs
%setup -q
find -name '*.py' \
-exec sed -i '1{\@^#!/usr/bin/env python@d}' {} +
-exec sed -i '1{\@^#!/usr/bin/env python@d}' {} +
install -m0644 %{SOURCE1} -T fs/share/icons/xpra.png
# set fillup dir
sed -e 's|__FILLUPDIR__|%{_fillupdir}|' \
-e 's|__UNITDIR__|%{_unitdir}|' \
-e 's|share/doc/xpra|share/doc/packages/xpra|' \
-i setup.py
sed -i '/install_html5/s/verbose=False/verbose=True/' %{name}-html5-%{html5_ver}/setup.py
-e 's|__UNITDIR__|%{_unitdir}|' \
-e 's|share/doc/xpra|share/doc/packages/xpra|' \
-i setup.py
%build
export CFLAGS="%{optflags}"
%if 0%{?suse_version} <= 1500
export CFLAGS="$CFLAGS -Wno-error=deprecated-declarations"
@ -157,39 +146,35 @@ export CFLAGS="$CFLAGS -Wno-error=deprecated-declarations"
python3 setup.py clean
python3 setup.py build \
--verbose \
--with-enc_ffmpeg \
--with-vpx \
--with-dec_avcodec2 \
--with-csc_swscale \
--with-webp \
--with-Xdummy \
--with-Xdummy_wrapper \
--with-opengl \
--with-service \
--without-cuda_kernels \
--without-nvenc \
--verbose \
--with-enc_ffmpeg \
--with-vpx \
--with-dec_avcodec2 \
--with-csc_swscale \
--with-webp \
--with-Xdummy \
--with-Xdummy_wrapper \
--with-opengl \
--with-service \
--without-cuda_kernels \
--without-nvenc \
%if !%{with pandoc}
--without-docs \
--without-docs \
%endif
--without-nvfbc
--without-nvfbc
%install
python3 setup.py install \
--skip-build \
--root %{buildroot} \
--prefix %{_prefix} \
--with-service \
--with-Xdummy \
--with-Xdummy_wrapper \
--skip-build \
--root %{buildroot} \
--prefix %{_prefix} \
--with-service \
--with-Xdummy \
--with-Xdummy_wrapper \
%if !%{with pandoc}
--without-docs \
--without-docs \
%endif
--verbose
pushd %{name}-html5-%{html5_ver}
PATH=$PATH:../package/bin python3 setup.py install %{buildroot}%{_datadir}/%{name}/www
popd
--verbose
rm -rf %{buildroot}%{_datadir}/xpra/cuda
@ -200,6 +185,11 @@ rm -rf %{buildroot}%{_datadir}/xpra/cuda
mkdir -pv %{buildroot}%{_sbindir}
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
%if ( 0%{?sle_version} == 150300 || 0%{?sle_version} == 150400 ) && 0%{?is_opensuse}
mkdir -vp %{buildroot}%{_libexecdir}/%{name}
mv -v %{buildroot}%{_prefix}/libexec/%{name}/* %{buildroot}%{_libexecdir}/%{name}
%endif
%fdupes -s %{buildroot}
%pre
@ -229,7 +219,6 @@ mkdir -p %{_rundir}/%{name} || exit 1
%endif
%license COPYING
%dir %{_datadir}/xpra
%dir %{_prefix}/lib/xpra
%dir %{_sysconfdir}/pam.d
%dir %{_sysconfdir}/xpra
%dir %{_sysconfdir}/xpra/conf.d
@ -249,13 +238,14 @@ mkdir -p %{_rundir}/%{name} || exit 1
%{_bindir}/xpra
%{_bindir}/xpra_Xdummy
%{_bindir}/xpra_launcher
%{_bindir}/xpra_signal_listener
%{_bindir}/xpra_udev_product_version
%{_udevrulesdir}/71-xpra-virtual-pointer.rules
%{_prefix}/lib/xpra/auth_dialog
%{_prefix}/lib/xpra/gnome-open
%{_prefix}/lib/xpra/gvfs-open
%{_prefix}/lib/xpra/xdg-open
%dir %{_libexecdir}/xpra
%{_libexecdir}/xpra/auth_dialog
%{_libexecdir}/xpra/gnome-open
%{_libexecdir}/xpra/gvfs-open
%{_libexecdir}/xpra/xdg-open
%{_libexecdir}/xpra/xpra_signal_listener
%{_libexecdir}/xpra/xpra_udev_product_version
%{_sbindir}/rc%{name}
%{python3_sitearch}/xpra
%{python3_sitearch}/%{name}-%{xpra_ver}-py%{python3_version}.egg-info
@ -268,6 +258,7 @@ mkdir -p %{_rundir}/%{name} || exit 1
%{_datadir}/pixmaps/xpra-shadow.png
%{_datadir}/pixmaps/xpra.png
%{_datadir}/mime/packages/application-x-xpraconfig.xml
%{_datadir}/xpra/autostart.desktop
%{_datadir}/xpra/bell.wav
%{_datadir}/xpra/css
%{_datadir}/xpra/icons
@ -280,8 +271,7 @@ mkdir -p %{_rundir}/%{name} || exit 1
%{_unitdir}/xpra.service
%{_unitdir}/xpra.socket
%ghost %dir %{_rundir}/xpra
%files html5
%{_datadir}/xpra/www
%ghost %dir %{_rundir}/xpra/proxy
%changelog