diff --git a/.gitignore b/.gitignore index ef4ec76..283cf77 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,8 @@ /xpra-6.4.1.tar.gz /xpra-6.4.2.tar.gz /xpra-6.4.3.tar.gz +/xpra-6.4.4.tar.gz +/xpra-6.5.tar.gz +/xpra-6.5.1.tar.gz +/xpra-6.5.2.tar.gz +/xpra-6.5.3.tar.gz diff --git a/sources b/sources index cea6b78..c8ed7c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xpra-6.4.3.tar.gz) = 8d67ca654c240ce3c581d54e5ff002a0f658df0e02d7367249fc000b3462fc1d4441fc4b02a5152048a225681ff1dfd7497471105655155e09375e0ab02ef85c +SHA512 (xpra-6.5.3.tar.gz) = 98eee6577d26cf15cdf8115352e73601438804a69d5081d7af908d9c4fc03e44e723eb74cc6f468c92c8e935cc5e897bcdeda316d3f756905b368e83ac051d91 diff --git a/xpra-bug4724.patch b/xpra-bug4724.patch deleted file mode 100644 index d9feb32..0000000 --- a/xpra-bug4724.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 64d76c103d8d6534da22e52ff3c412548e622164 Mon Sep 17 00:00:00 2001 -From: ndias -Date: Tue, 2 Dec 2025 17:54:00 +0000 -Subject: [PATCH 1/2] Update extension.js - -Update extension to work with gnome-shell 49 ---- - .../extensions/input-source-manager@xpra_org/extension.js | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/extension.js b/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/extension.js -index 870927dbed..7b8478bdce 100644 ---- a/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/extension.js -+++ b/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/extension.js -@@ -18,8 +18,8 @@ - * SPDX-License-Identifier: GPL-2.0-or-later - */ - --const { Gio } = imports.gi; --const { getInputSourceManager } = imports.ui.status.keyboard; -+import Gio from 'gi://Gio'; -+import * as getInputSourceManager from 'resource:///org/gnome/shell/ui/status/keyboard.js'; - - const XMLInterface = ` - -@@ -40,7 +40,7 @@ function init(meta) { - return new InputSourceManagerInterface(); - } - --class InputSourceManagerInterface { -+export default class InputSourceManagerInterface { - enable() { - this._ism = new ISMWrapper(); - this._dbusObj= Gio.DBusExportedObject.wrapJSObject(XMLInterface, this._ism); - -From 4e7e4b54b37d4701c90ac2d6603d84b64e00e49b Mon Sep 17 00:00:00 2001 -From: ndias -Date: Tue, 2 Dec 2025 17:56:34 +0000 -Subject: [PATCH 2/2] Update metadata.json - -Update to work with gnome-shell 49 ---- - .../extensions/input-source-manager@xpra_org/metadata.json | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/metadata.json b/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/metadata.json -index c99d8362d9..cfc3c822c2 100644 ---- a/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/metadata.json -+++ b/fs/share/gnome-shell/extensions/input-source-manager@xpra_org/metadata.json -@@ -9,7 +9,8 @@ - "41", - "42", - "43", -- "44" -+ "44", -+ "49" - ], - "url": "https://github.com/Xpra-org/xpra/", - "uuid": "input-source-manager@xpra_org", diff --git a/xpra.spec b/xpra.spec index e294d8d..933f86c 100644 --- a/xpra.spec +++ b/xpra.spec @@ -24,7 +24,7 @@ %global build_opts -C--global-option=--without-nvidia -C--global-option=--without-pandoc_lua -C--global-option=--with-verbose -C--global-option=--with-Xdummy -C--global-option=--with-Xdummy_wrapper -C--global-option=--without-strict -C--global-option=--with-vpx %{?with_debug:-C--global-option=--with-debug} %{?with_openh264:-C--global-option=--with-openh264} -C--global-option=--without-cuda_rebuild -C--global-option=--with-client -C--global-option=--without-qt6_client -C--global-option=--without-pyglet_client -C--global-option=--without-enc_x264 Name: xpra -Version: 6.4.3 +Version: 6.5.3 Release: %autorelease Epoch: 1 Summary: Remote display server for applications and desktops @@ -39,9 +39,6 @@ Source1: %{name}.appdata.xml # https://bodhi.fedoraproject.org/updates/FEDORA-2025-0882918c25#comment-4407961 Patch0: %{name}-fix_audio.patch -# Fix rhbz#2417964 -Patch1: %{name}-bug4724.patch - BuildRequires: python3-devel BuildRequires: gtk3-devel BuildRequires: libXtst-devel @@ -53,6 +50,7 @@ BuildRequires: desktop-file-utils BuildRequires: libvpx-devel BuildRequires: libXdamage-devel BuildRequires: libXres-devel +BuildRequires: lua-devel BuildRequires: cups-devel BuildRequires: python3-cups BuildRequires: redhat-rpm-config @@ -116,7 +114,6 @@ Requires: pulseaudio-utils%{?_isa} Requires: cups-filesystem Requires: shared-mime-info%{?_isa} Requires: systemd-udev%{?_isa} - %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 @@ -129,32 +126,40 @@ 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 -n %{name}-client-gnome -Summary: Gnome integration for the xpra client -Requires: %{name}-client-gtk3%{?_isa} = 1:%{version}-%{release} -Requires: gnome-shell-extension-appindicator - +%package -n %{name}-client-gnome +Summary: Gnome integration for the xpra client +Requires: %{name}-client-gtk3%{?_isa} = 1:%{version}-%{release} +Requires: gnome-shell-extension-appindicator %description -n %{name}-client-gnome This package installs the GNOME Shell extensions that can help in restoring the system tray functionality. It also includes the gnome_shell_extension extension which is required for querying and activating keyboard input sources. -%package -n %{name}-client-gtk3 -Summary: GTK3 xpra client -BuildRequires: xclip -Requires: %{name}%{?_isa} = 1:%{version}-%{release} - +%package -n %{name}-client-gtk3 +Summary: GTK3 xpra client +BuildRequires: xclip +Requires: %{name}%{?_isa} = 1:%{version}-%{release} %description -n %{name}-client-gtk3 This package contains the GTK3 xpra client. +%package -n %{name}-plugin-lua +Summary: Wireshark/tshark Lua dissector for the Xpra remote display protocol +BuildRequires: wireshark-devel +%{?lua_version:Requires: lua(abi) = %{lua_version}} +Requires: %{name}%{?_isa} = 1:%{version}-%{release} +Requires: wireshark-cli%{?_isa} +%description -n %{name}-plugin-lua +The dissector registers on TCP port 14500 (xpra default) and also +installs a heuristic detector so it picks up traffic on any port. +Use Decode As → Xpra to force it on a different port. + %prep %autosetup -n %{name}-%{version} -N %if 0%{?fedora} || 0%{?rhel} >= 9 %patch -P 0 -p1 -b .backup %endif -%patch -P 1 -p1 rm -rf *.egg-info @@ -169,10 +174,10 @@ g xpra - EOF %generate_buildrequires -%pyproject_buildrequires -x tests +%pyproject_buildrequires %build -export CFLAGS="%{optflags} -I%{_includedir}/security" +export CFLAGS="%{optflags} -I%{_includedir}/security %(pkgconf --cflags pygobject-3.0)" %pyproject_wheel %{build_opts} %install @@ -243,6 +248,16 @@ install -m0644 -D xpra.sysusers.conf %{buildroot}%{_sysusersdir}/xpra.conf # Remove invalid paths sed -e 's|build/bdist.linux-%{?_arch}/wheel/xpra-%{version}.data/data||g' -i %{buildroot}%{_sysconfdir}/xpra/conf.d/55_server_x11.conf +# Move Lua script into wireshark plugin directory and remove invalid /usr sub-directory +%define wireshark_plugindir %(pkg-config --variable plugindir wireshark)/epan +mkdir -p %{buildroot}%{wireshark_plugindir} +%ifarch %{ix86} +cp -p %{buildroot}/usr/%{_libdir}/wireshark/plugins/xpra_dissector.lua %{buildroot}%{wireshark_plugindir}/ +%else +cp -p %{buildroot}/usr/%{wireshark_plugindir}/xpra_dissector.lua %{buildroot}%{wireshark_plugindir}/ +%endif +rm -rf %{buildroot}/usr/%{_libdir} + %post %systemd_post xpra-encoder.service %systemd_post xpra.service @@ -296,6 +311,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/48x48/apps/xpra-mdns.png %{_datadir}/icons/hicolor/48x48/apps/xpra-shadow.png %{_datadir}/icons/hicolor/64x64/apps/xpra.png +%{_datadir}/icons/xpra-large.png %{_mandir}/man1/xpra.1.* %{_mandir}/man1/xpra_*.1.* %{_mandir}/man1/run_scaled.1.* @@ -328,5 +344,8 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gnome-shell/extensions/%{gnome_shell_extension}/extension.js %{_datadir}/gnome-shell/extensions/%{gnome_shell_extension}/metadata.json +%files -n %{name}-plugin-lua +%{wireshark_plugindir}/xpra_dissector.lua + %changelog %autochangelog