SHA256
1
0
forked from pool/xpra

Accepting request 967116 from home:sbradnick

Separating out xpra-html5 from base xpra package, see boo#1195873.

OBS-URL: https://build.opensuse.org/request/show/967116
OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/xpra?expand=0&rev=90
This commit is contained in:
Scott Bradnick 2022-04-05 16:45:04 +00:00 committed by Git OBS Bridge
parent 2c1b637199
commit 72e3cb43be
10 changed files with 144 additions and 1910 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:

File diff suppressed because it is too large Load Diff

4
xpra.obsinfo Normal file
View File

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

138
xpra.spec
View File

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