From 76a24ff901aeb9f92fb6847f401ad9aaba8b908ed57e9e02cdbb6cc07741e4cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Tue, 12 Nov 2024 12:10:48 +0100 Subject: [PATCH] Sync from SUSE:SLFO:Main gnome-remote-desktop revision 767c458dcc6e0e1d6eca9795d5dd48b2 --- .gitattributes | 23 + _service | 16 + gnome-remote-desktop-47.1.obscpio | 3 + gnome-remote-desktop.changes | 1020 +++++++++++++++++++++++++++++ gnome-remote-desktop.obsinfo | 4 + gnome-remote-desktop.spec | 154 +++++ 6 files changed, 1220 insertions(+) create mode 100644 .gitattributes create mode 100644 _service create mode 100644 gnome-remote-desktop-47.1.obscpio create mode 100644 gnome-remote-desktop.changes create mode 100644 gnome-remote-desktop.obsinfo create mode 100644 gnome-remote-desktop.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_service b/_service new file mode 100644 index 0000000..7101caf --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + + https://gitlab.gnome.org/GNOME/gnome-remote-desktop.git + git + 47.1 + @PARENT_TAG@ + disable + + + + *.tar + zst + + + diff --git a/gnome-remote-desktop-47.1.obscpio b/gnome-remote-desktop-47.1.obscpio new file mode 100644 index 0000000..c49a831 --- /dev/null +++ b/gnome-remote-desktop-47.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ed0282fdb0ae430e2cd6071d701fbbd9ee1d5d7bfb42daf1a81fc7f0397560b +size 2623500 diff --git a/gnome-remote-desktop.changes b/gnome-remote-desktop.changes new file mode 100644 index 0000000..243ae59 --- /dev/null +++ b/gnome-remote-desktop.changes @@ -0,0 +1,1020 @@ +------------------------------------------------------------------- +Mon Oct 21 16:38:36 UTC 2024 - Bjørn Lie + +- Update to version 47.1: + + General code improvements + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 16 12:23:29 UTC 2024 - Bjørn Lie + +- Update to version 47.0: + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 16 09:12:41 UTC 2024 - Bjørn Lie + +- Update to version 47.rc: + + Reduce resource usage of unauthenticated sessions + + Updated translations. +- Changes from version 47.beta: + + Gracefully handle file descriptor limits + + Introduce standalone configuration D-Bus service + + Improve grdctl status reporting + + Gracefully handle invalid x224Crq data + + Fix file descriptor leak + + Updated translations. +- Changes from version 47.alpha: + + Support persistent remote login sessions + + Support entering new credentials via standard input when using + grdctl + + Use access portal dialogs for warning about connection + insecurity + + Avoid crash when getting invalid PipeWire buffers + + Updated translations. + +------------------------------------------------------------------- +Sun Sep 15 13:44:02 UTC 2024 - Bjørn Lie + +- Update to version 46.5: + + Updated translations. + +------------------------------------------------------------------- +Sun Aug 11 13:15:39 UTC 2024 - Bjørn Lie + +- Update to version 46.4: + + Gracefully handle invalid x224Crq data + + Fix file descriptor leak + + Updated translations. + +------------------------------------------------------------------- +Sun Jun 30 17:42:28 UTC 2024 - Bjørn Lie + +- Update to version 46.3: + + Avoid crash when getting invalid PipeWire buffers + + Updated translations. + +------------------------------------------------------------------- +Wed May 22 08:36:26 UTC 2024 - Joan Torres + +- Add new files with the latest update. + +------------------------------------------------------------------- +Wed May 22 06:15:28 UTC 2024 - Dominique Leuenberger + +- Update to version 46.2: + + Potential crasher fix. + + Improved disconnection messages. + + Broader client compatibility support. + + Various security hardening improvements. + + CVE-2024-5148 Limit login screen->user session handover access + to appropriate user. + + Updated translations. + +------------------------------------------------------------------- +Thu Apr 18 13:11:16 UTC 2024 - Dominique Leuenberger + +- Update to version 46.1: + + Fix running on big endian. + + Don't crash when there are no user sessions. + + Updated translations. + +------------------------------------------------------------------- +Tue Apr 16 15:00:08 UTC 2024 - Joan Torres + +- Use sysusers to create gnome-remote-desktop user and home dir. + +------------------------------------------------------------------- +Tue Mar 19 07:53:20 UTC 2024 - Dominique Leuenberger + +- Update to version 46.0: + + Fix custom configuration directory with tmpfiles. + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 4 11:43:06 UTC 2024 - Dominique Leuenberger + +- Update to version 46.rc: + + Allow D-Bus activation. + + Add polkit rules for system daemon configuration access. + + Add system daemon configuration D-Bus API. + + Allow checking TLS fingerprint via grdctl. + + Fix VNC-only bulids. + + Disable DMA buffer support when running with NVIDIA. +- Add pkgconfig(polkit-gobject-1) and pkgconfig(dbus-1) + BuildRequires: new dependencies. + +------------------------------------------------------------------- +Thu Feb 15 07:15:16 UTC 2024 - Dominique Leuenberger + +- Update to version 46.beta: + + Add layering to system daemon configuration. + + Various fixes and cleanups to the RDP backend. + + Handle the Microsofts mstsc client (default RDP client in MS + Windows) clients better when redirecting. + + Improve system-daemon <-> user-daemon RDP port conflict + handling. + + Fix crash when setting invalid configuration. + + Improved performance during monitor layout changes. + +------------------------------------------------------------------- +Thu Feb 1 09:20:38 UTC 2024 - Yifan Jiang + +- Explict require higher version of gcc on SLE/Leap. + +------------------------------------------------------------------- +Tue Jan 16 12:59:01 UTC 2024 - Dominique Leuenberger + +- Update to version 46.alpha: + + Port to FreeRDP 3.1. + + Introduce systemd service for single user headless setups. + + Introduce headless remote login via GDM (RDP only). + + Make fdk-aac dependency non-optional (RDP). + + Improve cursor handling (RDP). + + Automatic fallback port finding (RDP). + + Add Opus coder support (RDP). + + Misc. improvements to the RDP backend. +- Add pkgconfig(opus) BuildRequires: new dependency. +- Replace pkgconfig(freerdp*2|winpr2) buildRequires with + pkgconfig(freerdp*3|winpr3): follow upstreams port to FreeRDP 3.1. + +------------------------------------------------------------------- +Sun Oct 22 17:39:54 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 45.1: + + session: + - Assert region size to be greater than 0 + - Add debug message to also output new EI regions + - Scale absolute pointer position with respect to the EI region + - Clear all EI related instances before dbus session stop call + - Only notify keysym when EI keyboard is available + - Add struct for absolute pointer motion events + + vnc-pipewire-stream: Don't remove buffer while dequeueing it + + rdp-pipewire-stream: Don't remove buffer while dequeueing it + + Adapt usage of abs pointer motion events to + GrdEventPointerMotionAbs + + Updated translations. + +------------------------------------------------------------------- +Thu Sep 28 12:22:12 UTC 2023 - Bjørn Lie + +- Update to version 45.0: + + vnc: Also include DRM format modifiers when resizing PipeWire + stream. + + rdp: Also include DRM format modifiers when resizing PipeWire + stream. + + Updated translations. +- Change compression of tarball in service and spec to zst from xz. +- Drop dbus-1-daemon Requires, only needed for tests, and we are + not building them currently. + +------------------------------------------------------------------- +Mon Sep 4 09:47:30 UTC 2023 - Bjørn Lie + +- Update to version 45.rc: + * Use default RDP and VNC ports again. + * Use libei for input event plumbing. + * Updated translations. +- Add pkgconfig(libei-1.0) BuildRequires: New dependency. + +------------------------------------------------------------------- +Tue Aug 08 07:59:54 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 45.beta: + * build: + - Add an option to enable or disable tests + - Use meson to setup tests environment + * ci: Simplify test code by just running meson test + * context: Add getter for runtime mode + * daemon: Fix acquiring screen_cast & remote_desktop proxies + * egl-thread: Properly initialize egl_image + * rdp-audio-playback: Fix type of PCM samples + * rdp-dsp: Fix error condition when AAC encoder could not be + created + * rdp-fuse-clipboard: Check data size before dereferencing + pointer + * rdp-gfx-surface: Stop direct usage of RDP surface attributes + * rdp-graphics-pipeline: + - Always reset RFX context + - Remove superfluous condition check + - Use surface mapping to map surface to output + * rdp-layout-manager: + - Add API to invalidate surfaces + - Also set surface mapping + - Always invalidate surfaces when changing the layout + - Duplicate virtual monitor in surface context + - Ensure that the correct desktop size is always used + - Fix calculation of surface position + - Output debug message when disposing virtual monitors + - Output debug message when preparing virtual monitor + * rdp-monitor-config: + - Also determine layout offset + - Remove superfluous size sanitization + - Short a few lines a bit + - Tighten up primary monitor determination + * rdp: + - Move surface resize handling to stream class + - Simplify encode handling + - Use virtual monitor size instead of surface size for layout + updates + * rdp-pipewire-stream: + - Add signal to indicate that video size changed + - Fix race condition when stream is destroyed + - Remove superfluous attribute set + - Remove superfluous condition + * rdp-surface: + - Add APIs to set and get surface mapping + - Add API to invalidate surface + - Remove unused output_origin_[x,y] attributes + * session-rdp: + - Adapt to the new invalidate_surface API + - Add API to notify a new frame + - Add API to notify new desktop size + - Allow multimonitor configs in headless sessions + - Don't advertise handling for the RefreshRect + - Fix incomplete warning message + - Ignore SuppressOutput PDUs when session is not ready yet + - Reduce direct usage of surface attributes a bit + - Remove checks that are never hit + - Remove duplicated handling for resizing the desktop +- Pass tests=false to meson, do not build tests (brings in a lot + of dependencies we can avoid with not building it). + +------------------------------------------------------------------- +Fri Jul 07 18:55:44 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 45.alpha: + * clipboard: Add suffix to MAX_READ_TIME indicating the time unit + * clipboard-rdp: Add suffix to MAX_WAIT_TIME indicating the time + unit + * daemon: Make daemon an abstract class + * daemon-user: Remove unnecessary includes + * dbus: Add prefix Mutter to dbus names + * rdp: + - Adapt to layout manager + - Add layout manager + - Add stream owner class + - Do not include monitor config header in session-rdp header + - Ensure PipeWire buffers to be queued before destroying them + - Fix assertion hit, when monitor layout PDU contains no + monitors + * rdp-audio-playback: Don't dereference RDPSND context when it is + NULL + * rdp-fuse-clipboard: Remove duplicate assignment + * rdp-gfx-frame-controller: Use render GSource of surface + * rdp-layout-manager: + - Fix render sources not being triggered when wanted + - Handle surface reduction in layout changes + - Recreate mirror-primary streams when streams close + * rdp-monitor-config: + - Fix calculation of the desktop size + - Fix naming of the graphics output buffer size + * rdp-pipewire-stream: + - Emit closed signal when source node is removed + - Lock buffer mutex before removing buffer entry + - Use error signal on PipeWire core errors + * rdp-surface: + - Add APIs to allow inhibit rendering + - Add API to set surface size + - Add API to trigger pending render operations + - Add getter for width and height + - Specify target refresh rate directly at surface creation + * rdp-telemetry: Remove protocol timeout source + * session: + - Add debug message when remote desktop session is closed + - Move stream management to backends + * session-rdp: + - Add APIs to acquire and release stream ids + - Add error info for failed stream creations + - Handle pointer cache size properly + - Rename take_or_encode_frame + - Stop ignoring mouse movement on mouse button presses + - Zero initialize events array + * session: + - Silence failed message when mutter vanishes + - Use stream path instead of stream for abs pointer motion + events + * settings: Make settings an abstract class + * settings-user: Fix copyright year + * stream: + - Also save stream id for easier identification + - Remove unused context argument + - Remove unused signal + * tests: + - Also output return value of test client, in case of an error + - Do not attempt to wait twice on test client + * vnc: Ensure PipeWire buffers to be queued before destroying + them + * vnc-pipewire-stream: Lock buffer mutex before removing buffer + entry + * Updated translations. + +------------------------------------------------------------------- +Sun May 28 09:20:44 UTC 2023 - Bjørn Lie + +- Update to version 44.2: + + vnc-pipewire-stream and rdp-pipewire-stream: Lock buffer + mutex before removing buffer entry. + + vnc and rdp: Ensure PipeWire buffers to be queued before + destroying them. + + Updated translations. + +------------------------------------------------------------------- +Thu May 18 04:19:42 UTC 2023 - Luciano Santos + +- Drop %systemd_user_postun_with_restart macro from the %postun + directive. It's been deprecated and emptied (expands to nil) on + both Tumbleweed and Leap already. + +------------------------------------------------------------------- +Sat Apr 22 19:25:05 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 44.1: + * daemon: Stop and clear rdp/vnc servers when start fails + * session-rdp: + - Prevent DVC reinitializations on session shutdown + - Fix small style issue + * rdp/rdpgfx: Use correct GMainContext for protocol reset source + * clipboard-rdp: Make warnings more explicit on content + conversion failure + +------------------------------------------------------------------- +Sun Mar 19 07:38:45 UTC 2023 - Bjørn Lie + +- Update to version 44.0: + * rdp-audio-playback: + - Fix typo in debug message + - Also output client version, when version is too old + - Add SVC fallback, when DVC is unavailable + * session-rdp: Disable audio output redirection for mobile + clients + * build: Bump FreeRDP version requirement + * rdp-dsp: Fix typo in error message + * vnc-pipewire-stream: Acquire EGL slot for transfer tasks + * Updated translations. + +------------------------------------------------------------------- +Mon Mar 06 13:19:11 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 44.rc: + * build: Bump FreeRDP version requirement + * clipboard: Always call g_task_return_pointer() after reading + content + * egl: Release current context before destroying it in error + paths + * egl-thread: Add ability to replace transfer tasks + * hwaccel-nvidia: Replace deprecated function + cuDeviceComputeCapability + * pipewire-utils: Fix a few style issues + * rdp: + - Be more strict with invalid monitor layouts + - Stop dequeuing PipeWire buffers while destroying the stream + - Only invoke frame source, when previous operation was + successful + * rdp-audio-output-stream: Destroy the stream before clearing its + pointer + * rdp-audio-playback: + - Add SVC fallback, when DVC is unavailable + - Also output client version, when version is too old + - Fix typo in debug message + * rdp-display-control: Disconnect clients, that violate message + order + * rdp-dsp: Fix typo in error message + * rdp-fuse-clipboard: Rely on include dir in pkgconfig file + * rdp-pipewire-stream: + - Acquire EGL slot for transfer tasks + - Remove code path, that is not hit any more + - Remove superfluous condition + * session: Fix a small style issue + * session-rdp: + - Add error info for invalid monitor layouts + - Also advertise RemoteFX in image mode + - Disable audio output redirection for mobile clients + * vnc: + - Stop dequeuing PipeWire buffers while destroying the stream + - Only invoke frame source, when previous operation was + successful + * vnc-pipewire-stream: + - Acquire EGL slot for transfer tasks + - Remove code path, that is not hit any more + - Remove superfluous condition + * Updated translations. + +------------------------------------------------------------------- +Fri Feb 17 16:40:38 UTC 2023 - Dominique Leuenberger + +- Update to version 44.alpha: + * build: Use schemadir variable for installed enums + * clipboard-rdp: Also check for / separator when preparing + uri-list + * egl-thread: + - Remove unused callback context + - Remove unused typedef + * rdp: + - Avoid direct usage of the attributes of RDP buffers + - Deprecate the legacy graphics path + * rdp-buffer: + - Add API to actually unmap the CUDA resource + - Add API to map CUDA resource + - Add API to register read-only GL buffer + - Add getters to retrieve buffer attributes + - Make buffer struct private + - Rename unmap_resources to queue_resource_unmap + * rdp-pipewire-stream: + - Assert buffer types to be either MemFds or DmaBufs + - Decouple pointer updates from frame updates + - Ignore frame data, when mapping memfd fails + * rdp-server: Remove stray new line + * vnc-pipewire-stream: + - Assert buffer types to be either MemFds or DmaBufs + - Decouple pointer updates from frame updates + - Don't pass NULL as frame to on_frame_ready + * Updated translations. + +------------------------------------------------------------------- +Tue Jan 10 14:31:18 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 43.3: + + Updated translations. + +------------------------------------------------------------------- +Sat Dec 10 20:13:48 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 43.2: + + vnc-pipewire-stream: + - Don't pass NULL as frame to on_frame_ready + - Assert buffer types to be either MemFds or DmaBufs + + rdp-pipewire-stream: Assert buffer types to be either MemFds or + DmaBufs + + rdp-server: Remove stray new line + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 24 09:16:08 UTC 2022 - Bjørn Lie + +- Update to version 43.1: + + clipboard: Always clear mime type tables when updating clients + clipboard + + hwaccel-nvidia: + - Also output actual NVENC errors when API calls fail + - Always output CUDA errors when API calls fail + - Fix small style issue + + man: Only include man page content for compiled-in backends + + rdp-audio-output-stream: Set stream inactive before destroying + it + + rdp-monitor-config: Fix typo in verify_monitor_config + + rdp/nw-auto: Fix crash when updating unchanged ping source + + rdp: + - Suspend PipeWire stream on exit instead of flushing it + - Unlock stream lock mutex while suspending other audio streams + + session-rdp: + - Also check VCM handle when clearing it + - Fix check when creation of virtual channel manager fails + - Only print colour depth fix message when situation applies + + vnc: Suspend PipeWire stream on exit instead of flushing it + + Updated translations. + +------------------------------------------------------------------- +Sun Sep 18 07:29:40 UTC 2022 - Bjørn Lie + +- Update to version 43.0: + + Updated translations. + +------------------------------------------------------------------- +Sun Sep 4 11:12:59 UTC 2022 - Luciano Santos + +- Update to version 43.rc: + + Many small fixes and improvements. + + Updated translations. +- Add explicit pkgconfig(gio-2.0) as build requirement to align + with what Meson searches. It was already being pulled to the + build by its siblings (gio-unix-2.0/glib-2.0) since they come + from the same package. +- Add explicit pkgconfig modules as build requirements: tss2-mu, + tss2-rc, and tss2-tctildr. Same reason as gio-2.0 above, but this + time pkgconfig(tss2-esys) was the one helping the others being + pulled. +- Pass 1.4 and 11.1.5.0 as minimum requirement versions for epoxy + and ffnvcodec respectively to ensure the package uses the minimum + that upstream recommends using. + +------------------------------------------------------------------- +Mon Aug 08 09:38:48 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 43.beta: + + Add man page + + Add TPM 2.0 helper class + + Add TPM credentials using headless runtime mode + + build: + - Bump FreeRDP version requirement + - Bump version to 43.alpha + - Disable VNC support by default + - List credentials dependencies separately + - Sort dependencies alphabetically + - Sort sources alphabetically + + ci: + - Add tss2 related devel packages + - Build with VNC backend + + context: Move out debug flags + + Convert README data/README to MD + + credentials: + - Add TPM 2.0 backend + - Do not crash when deleting non-existent credentials + + credentials-libsecret: Do not crash, when deleting legacy VNC + password + + ctl: + - Add support for TPM credentials + - Fix error messages + + egl-thread: Release EGL context before destroying it + + hwaccel-nvidia: Don't dereference NULL pointer in assertion + + Introduce GrdCredentials + + pipewire-utils: + - Add helper function for creating PipeWire source + - Remove grd_maybe_initialize_pipewire() + + rdp: + - Add API to tear down channels during a session + - Add classes for audio output forwarding + - Add RDP DSP class + - Add support for audio output forwarding + - Combine buffer creation and resize operations + - Don't dereference NULL pointer when parent dir cannot be + found + + rdp-event-queue: Correctly clean up resources + + rdp-gfx-surface: Delete GFX surface before clearing its members + + rdp-graphics-pipeline: + - Extend comment with documentation reference + - Fix uninitialized caps mutex + - Measure bandwidth when sending frame updates + + rdp/nw-auto: + - Add APIs for bandwidth measurement + - Also notify client about network characteristics results + - Assert RTT consumer != NONE, when removing RTT consumer + - Disallow unqueued bandwidth measure stops + - Fix initial ping source not being created + - Remove superfluous if condition + - Turn assertion into normal conditional statement + - Turn ping info condition into assertion + + rdp-pipewire-stream: + - Properly deinitialize PipeWire upon destruction + - Remove unused SPA_DATA_MemPtr path + - Use common helper for PipeWire source creation + + rdp/rdpgfx: + - Create RTT pause source while GFX mutex is locked + - Only clear unacked frames when surface has frame controller + + session-rdp: + - Add API to subscribe to DVC creation statuses + - Do not crash, when credentials are not set + - Handle queued bandwidth measure stop operations + - Stop leaking session sources when session creation fails + - Stop leaking the event queue, when session creation fails + - Use trivial boolean value for condition in graphics thread + + session-vnc: + - Add support for sessions with virtual monitors + - Do not crash, when password is not set + + settings: + - Add new screenshare mode setting for the VNC backend + - Fix title of specification in setting description + - Remove a doubled 'to' + + tests: Add test for the RDP backend + + tests/egl: Replace tautologies with actual modifier checks + + tests/rdp: + - Add additional debug messages to RDP test + - Add missing NULL check on stop_event + + tests/tpm: Skip tests when TPM module not compatible + + tests/vnc: Use mutter headless backend + + tpm: + - Add ability to do capability check + - Make tss2 log into /dev/null + + types: Sort typedefs alphabetically + + vnc: + - Add ability to resize virtual monitors during a session + - Add VNC virtual monitor config + - Allow passing virtual monitor settings to pipewire-stream + instance + + vnc-pipewire-stream: + - Properly deinitialize PipeWire upon destruction + - Remove unused SPA_DATA_MemPtr path + - Use common helper for PipeWire source creation + + Updated translations. +- Add asciidoc, pkgconfig(fdk-aac) and pkgconfig(tss2-esys) + BuildRequires: New dependencies. +- Pass vnc=true to meson, build vnc support even if disabled by + default upstream. We are not quite ready to drop that support + yet. + +------------------------------------------------------------------- +Mon Aug 08 09:27:42 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 42.4: + + ctl: + - Do not crash, when deleting non-existent credentials + - Fix error messages + + rdp: Don't dereference NULL pointer when parent dir cannot be + found + + rdp-gfx-surface: Delete GFX surface before clearing its members + + rdp-graphics-pipeline: Extend comment with documentation + reference + + rdp/nw-auto: Disallow unqueued bandwidth measure stops + + rdp/rdpgfx: Only clear unacked frames when surface has frame + controller + + session-rdp: + - Do not crash, when credentials are not set + - Stop leaking session sources when session creation fails + - Stop leaking the event queue, when session creation fails + + session-vnc: Do not crash, when password is not set + + settings: Do not set error twice when + secret_password_lookup_sync fails + + tests/egl: Replace tautologies with actual modifier checks + +------------------------------------------------------------------- +Sun Jul 03 18:16:17 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 42.3: + + egl-thread: Release EGL context before destroying it. + + rdp-graphics-pipeline: Fix uninitialized caps mutex. + + session-rdp: Use trivial boolean value for condition in + graphics thread. + + rdp/nw-auto: Turn assertion into normal conditional statement. + +------------------------------------------------------------------- +Mon May 30 12:11:18 UTC 2022 - dimstar@opensuse.org + +- Update to version 42.2: + + rdp-graphics-pipeline: Measure bandwidth when sending frame + updates. + + session-rdp: Handle queued bandwidth measure stop operations. + + rdp/nw-auto: Add APIs for bandwidth measurement. + + rdp/nw-auto: Also notify client about network characteristics + results. + + rdp/nw-auto: Turn ping info condition into assertion. + + rdp/nw-auto: Assert RTT consumer != NONE, when removing RTT + consumer. + + rdp/nw-auto: Remove superfluous if condition. + + rdp/nw-auto: Fix initial ping source not being created. + + rdp/rdpgfx: Create RTT pause source while GFX mutex is locked. + + Updated translations. + +------------------------------------------------------------------- +Wed Apr 27 11:50:09 UTC 2022 - Dominique Leuenberger + +- Update to version 42.1.1: + + session-vnc: Don't leak the socket source + + hwaccel-nvidia: Degrade a warning to a normal message + + context: Initialize EGL thread when daemon is ready + + rdp: Perform basic error checking in SAM file creation + + session-rdp: Always check return values of API calls + + Updated translations. + +------------------------------------------------------------------- +Mon Apr 25 09:10:38 UTC 2022 - Dominique Leuenberger + +- Update to version 42.1: + + vnc: Retrieve frame members before stealing frame pointer. + + rdp: Retrieve frame members before stealing frame pointer. + + daemon: Only start servers, when they are not started yet. + + settings: Don't crash, when parsing the credentials string + fails. + + egl: Use Wayland platform instead of surfaceless. + + session-rdp: Only show NSC disable message, when NSC is + available. + + session-rdp: Fix typo in warning message. + + systemd: Autostart as part of gnome-session.target. + + daemon: Handle SIGINT and SIGTERM signals properly. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 22 09:14:28 UTC 2022 - Dominique Leuenberger + +- Add explicit pkgconfig(libdrm), pgkconfig(gbm), and + pkgconfig(gudev-1.0) BuildRequires: meson checks for them. We + should not rely on any other package pulling it in. + +------------------------------------------------------------------- +Mon Mar 21 08:49:44 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 42.0: + * Updated translations. + +------------------------------------------------------------------- +Tue Mar 08 08:07:54 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 42.rc: + * Add 'grdctl' + * build: + - Bump nv-codec-headers version requirement + - Stop making the nv-codec-headers optional + * Cleanup server stopping + * ctl: + - Add --show-credentials to status + - Add 'status' command + * egl-thread: + - Add methods to upload data to the GPU + - Also allow bound dma-bufs to be mapped + - Don't require callback function for custom tasks + * Explicitly enable/disable backends via a setting + * hwaccel-nvidia: + - Add APIs to allocate and free device memory + - Add CUDA kernels for damage region detection + - Add methods to get CUDA functions and damage-kernels + - Add utility functions for accessing GL resources + - Also return aligned size when creating NVENC session + - Load extra CUDA functions for GL PBO mappings + - Push and pop CUDA context to and from the EGL thread + - Reduce global memory access in BGRX_TO_YUV420 kernel + - Unload modules before releasing CUDA context + - Use a block dim of 16x16x1 for BGRX_TO_YUV420 kernel + - Use mapped CUDA pointer for AVC420 encodings + * pipewire-utils: Add functions to check whether PipeWire buffer + has data + * rdp: + - Adapt to GrdRdpBuffer + - Adapt to GrdRdpDamageDetector + - Adapt to RDP buffer pool + - Add classes for damage region detection + - Add CUDA damage detector class + - Add display control class + - Add RDP buffer + - Add RDP buffer pool + - Add RDP monitor config + - Allocate and register GL resources for each RDP buffer + - Allow dma-bufs again when CUDA is available + - Allow passing virtual monitor settings to pipewire-stream + instance + - Always upload frame data to framebuffer on GPU, if possible + - Avoid local copy if possible + - Defer cairo region creation if possible + - Disable dma-buf support for now, if CUDA is supported + - Only initialize clipboard if CLIPRDR channel is joined + - Split up AVC420 encoding + - Stop reallocating NV12 buffer every frame + - Track and use rdp_surface reference in stream class + - Unref frame when success is FALSE + - Use internal enum for RDP errors + * rdp-buffer: Add API to unmap resources + * rdp-buffer-pool: + - Prefer buffers without mapped resources + - Unmap buffer resources with low priority GSource + * rdp-gfx-surface: Add way to override the render surface + * rdp-graphics-pipeline: Create separate render surface when + needed + * rdp-pipewire-stream: + - Add API to resize stream + - Don't miss any buffer data + - Don't queue chosen PipeWire buffer + * rdp/rdpgfx: + - Adapt to RDPGFX frame controller + - Add RDPGFX frame controller + - Allow GFX surfaces to have their own aligned size + - Allow surfaces to be created without an hwaccel session + - Forbid protocol resets without AVC support by the client + - Target render surface, when encoding data with AVC + * rdp-server: + - Cleanup resources directly when stopping the server + - Tear down NVENC after sessions + * rdp-surface: Create CUDA damage detector, if CUDA is available + * session: Also clear signal handler, when the session proxy is + closed + * session-rdp: + - Add API to submit new monitor configurations + - Add support for monitor layout changes during a session + - Add support for sessions with virtual monitors + * settings: + - Add new screenshare mode setting for the RDP backend + - Move Secret schemas into a separate file + * utils: Add helper to calculate aligned sizes + * vnc-pipewire-stream: + - Don't miss any buffer data + - Don't queue chosen PipeWire buffer + * vnc-server: Cleanup resources directly when stopping the server + * vnc: Unref frame when success is FALSE + * Updated translations. + +------------------------------------------------------------------- +Wed Feb 16 12:38:47 UTC 2022 - bjorn.lie@gmail.com + +- Update to version 42.beta: + * Add DMA buffer downloading support to EGL thread + * Add grd-utils + * build: Bump FreeRDP version requirement + * ci: + - Build mutter from git to have the updated screen cast API + - Install soon to be needed dependencies + * context: Hook up the EGL thread + * cuda: Fix out-of-bounds source read in BGRX_TO_YUV420 kernel + * egl-thread: + - Add API to query format modifiers + - Add API to run external functions in EGL thread + - Add fallback with EGL_PLATFORM_DEVICE_EXT + - Add sync function + * hwaccel-nvidia: Use compute devices retrieved from EGL thread + * Introduce an EGL thread + * pipewire-utils: Remove unused sync function + * rdp-gfx-surface: Don't forget to set the surface serial + * rdp-pipewire-stream: + - Add support for explicit DMA buffer modifiers + - Fetch cursor state before framebuffer content + - Make buffer processing a bit more async + - Make GrdRdpFrame ref counted + - Move pixel copy loop to a helper + - Use a helper variable for the pending frame + - Use EGL thread for DMA buffer downloads + * remote-desktop: Synchronize remote-desktop API with API in mutter + * Remove semi colon after GType macros + * Rename GrdRdpNvEnc to GrdHwAccelNvidia + * screen-cast: Synchronize screencast API with API in mutter + * session: + - Add methods to create streams on-the-fly + - Add method to notify subclasses when session is started + - Port record behaviour to new API + - Require stream for absolute pointer motion events + * session-rdp: Move on_pipewire_stream_closed() down a bit + * settings: + - Fix test RDP username override + - Unify code style in gsettings schema + * vnc-pipewire-stream: + - Add support for explicit DMA buffer modifiers + - Do not allocate frame data twice + - Do not leak pending frame, when destroying stream + - Do not resize framebuffer when client is gone + - Make buffer processing callback based + - Make GrdVncFrame reference counted + - Move format details helper to common area + - Simplify buffer merging + - Use EGL thread to download DMA buffers + - Use GSource to invoke main thread + * vnc-server: Make refusing VNC clients more explicit + * Updated translations. +- Add pkgconfig(epoxy) BuildRequires: New dependency. + +------------------------------------------------------------------- +Thu Dec 09 12:36:19 UTC 2021 - bjorn.lie@gmail.com + +- Update to version 41.2: + + stream: Add method to disconnect proxy signals + + session: + - Stop trying to stop the session, when it is already destroyed + - Disconnect num/caps lock changed signals when stopping + - Fix small style issue + - Only handle Selection* signals when clipboard is enabled + + settings: + - Clear settings of type string before setting new values + - Don't leak credentials, when username or password is NULL + - Set error if username or password is NULL + + clipboard-rdp: + - Make a warning message a little bit more explicit + - Make SelectionTransfer requests async + - Fix error message, when runtime directory creation fails + - Fix small style issues + + clipboard: + - Split up SelectionTransfer handling + - Also clear GMutexes and GConds on destruction + + context: Clear proxies before setting new proxies + + daemon: Also clear context on destruction + + rdp/nw-auto: + - Only create ping source if required and non-existent + - Also clear GMutexes on destruction + + rdp-graphics-pipeline: Also clear gfx_mutex on destruction + + rdp-fuse-clipboard: Also clear GMutexes on destruction + + rdp-event-queue: Also clear event_mutex on destruction + + rdp-pipewire-stream: Also clear frame_mutex on destruction + + session-rdp: Also clear GMutexes and GConds on destruction + + Updated translations. + +------------------------------------------------------------------- +Sat Oct 30 14:40:59 UTC 2021 - bjorn.lie@gmail.com + +- Update to version 41.1: + + vnc-pipewire-stream: Take frame data from pending frame, when + needed + + rdp-pipewire-stream: Take frame data from pending frame, when + needed + + rdp/rdpgfx: Unref surface serial after looking up surface + context + + rdp-graphics-pipeline: Fix small style issue + + rdp-fuse-clipboard: + - Fix potential race when accessing FuseFile path + - Fix small style issue + + clipboard-rdp: Always check return value of ConvertFromUnicode + + session-rdp: Only signal GCond, when all encode jobs are + complete + +------------------------------------------------------------------- +Mon Sep 20 16:56:32 UTC 2021 - Bjørn Lie + +- Update to version 41.0: + + Updated translations. +- Set .changes to be filled via service file, since upstream fails + to provide a changelog/NEWS file. + +------------------------------------------------------------------- +Wed Sep 15 15:43:41 UTC 2021 - Dominique Leuenberger + +- Update to version 41.rc: + + No changelog provided by upstream. +- Add pkgconfig(ffnvcodec) BuildRequires: new dependency. + +------------------------------------------------------------------- +Wed Sep 15 15:43:17 UTC 2021 - Bjørn Lie + +- Update to version 40.2: + + rdp-fuse-clipboard: Handle FUSE lifetime object in FUSE thread + + tests: Use bash from environment instead of hardcoded path +- Changes from version 40.1: + + clipboard-rdp: + - Also output client capabilities + - Add dummy handling for the Temporary Directory PDU + - Advertise clipboard data locking + - Adapt to data locking changes + - Add APIs to lock/unlock the clients clipboard data + - Implement clipboard data locking + - clipboard-rdp: Use g_idle_add() instead of g_timeout_add() + + rdp: Allow submitting clipDataIds for FileContentsRequests + + rdp-fuse-clipboard: + - Remove the old API + - Use notify_delete() instead of notify_inval_entry() + - Be more verbose with file range requests + - Read files until the very end + - Handle all file lists via clipDataIds + + rdp-sam: Remove stray trailing whitespaces + + pipewire-stream: Don't leak GSource's + + build: + - Add missing new line + - Explicitly depend on glib >= 2.68 + +------------------------------------------------------------------- +Sun Mar 21 16:31:51 UTC 2021 - Dominique Leuenberger + +- Update to version 40.0: + + rdp: Add support for FreeRDP 2.3, support 2.3, requires at + least 2.2. + + Manu bugfixes. +- Add pkgconfig(freerdp-client2), pkgconfig(freerdp-server2), + pkgconfig(fuse3), pkgconfig(libvncclient), + pkgconfig(libvncserver), and pkgconfig(xkbcommon) BuildRequires: + better align with what meson looks for. +- Change _service file to point to the proper upstream git repo + (gitlab.gnome.org/GNOME/gnome-remote-desktop). +- Drop gnutls-anontls.patch, + 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch + 0001-vnc-Drop-frames-if-client-is-gone.patch: fixed upstream: + fixed upstream. + +------------------------------------------------------------------- +Fri Jan 8 15:37:47 UTC 2021 - Frederic Crozat + +- Update to version 0.1.9: + + add support for RDP (requires freerdp2) + + many bugfixes +- Add pkgconfig(freerdp2), pkgconfig(winpr2), pkgconfig(cairo) as + BuildRequires. +- Bump pipewire minimum version to 0.3.0. +- Update url to GNOME main project. +- Add0001-vnc-Drop-frames-if-client-is-gone.patch + Avoid race condition on disconnect (glgo#GNOME/gnome-remote-desktop#43) +- Add gnutls-anontls.patch (Fedora), requires patched libVNCServer. +- Add 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch: + Copy using the right destination stride (glgo#GNOME/gnome-remote-desktop!21) + +------------------------------------------------------------------- +Sun Mar 22 14:01:33 UTC 2020 - Bjørn Lie + +- Update to version 0.1.8: + + Port to pipewire-0.3. +- Replace pkgconfig(libpipewire-0.2) with + pkgconfig(libpipewire-0.3) BuildRequires. + +------------------------------------------------------------------- +Fri Oct 18 19:47:55 UTC 2019 - Bjørn Lie + +- Update to version 0.1.7: + + vnc-pipewire-stream: + - Assume no bitmap offset means no bitmap change. + - Close session when disconnected. + + vnc: + - Request cursor sprite as PipeWire metadata. + - Detach source when client is gone. + + session/vnc: + - Set rfbScreenPtr pointer earlier. + - Update server format earlier too. + - Always set pixel format translate functions. + - Don't requeue close session idle. + + Use type safety feature of glib 2.58. + + meson.build: Use default C standard. + + Remove autogen.sh and Makefile. + + meson.build: Bump pipewire requirement to 0.2.2. +- Drop pipewire-bump.patch: Fixed upstream. + +------------------------------------------------------------------- +Wed Sep 26 21:18:49 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.1.6: + + Please see https://gitlab.gnome.org/jadahl/gnome-remote-desktop +- Add pkgconfig(libnotify), pkgconfig(libpipewire-0.2) and + pkgconfig(libsecret-1) BuildRequires: New dependencies. +- Drop gnome-remote-desktop-bad-meson-option.patch: Fixed upstream. +- Add pipewire-bump.patch: Fix build with new pipewire. + +------------------------------------------------------------------- +Thu May 17 01:03:37 UTC 2018 - hpj@suse.com + +- Initial package. diff --git a/gnome-remote-desktop.obsinfo b/gnome-remote-desktop.obsinfo new file mode 100644 index 0000000..d144f1f --- /dev/null +++ b/gnome-remote-desktop.obsinfo @@ -0,0 +1,4 @@ +name: gnome-remote-desktop +version: 47.1 +mtime: 1729521174 +commit: c82ebcaf1efad929e3a052c30490d348b785e1b7 diff --git a/gnome-remote-desktop.spec b/gnome-remote-desktop.spec new file mode 100644 index 0000000..1c9ca53 --- /dev/null +++ b/gnome-remote-desktop.spec @@ -0,0 +1,154 @@ +# +# spec file for package gnome-remote-desktop +# +# Copyright (c) 2024 SUSE LLC +# +# 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/ +# + + +%global systemd_unit gnome-remote-desktop.service +%define freerdp_version 3.1.0 +%define glib_version 2.75.0 +%define gstreamer_version 1.10.0 +%define polkit_req >= 122 + +Name: gnome-remote-desktop +Version: 47.1 +Release: 0 +Summary: GNOME Remote Desktop screen sharing service +License: GPL-2.0-or-later +Group: System/Management +URL: https://gitlab.gnome.org/GNOME/gnome-remote-desktop +Source0: %{name}-%{version}.tar.zst + +BuildRequires: /usr/bin/dbus-run-session +BuildRequires: asciidoc +BuildRequires: meson >= 0.58.0 +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(epoxy) >= 1.4 +BuildRequires: pkgconfig(fdk-aac) +BuildRequires: pkgconfig(ffnvcodec) >= 11.1.5.0 +BuildRequires: pkgconfig(freerdp-client3) >= %{freerdp_version} +BuildRequires: pkgconfig(freerdp-server3) >= %{freerdp_version} +BuildRequires: pkgconfig(freerdp3) >= %{freerdp_version} +BuildRequires: pkgconfig(fuse3) >= 3.9.1 +%if 0%{?sle_version} && 0%{?sle_version} < 160000 +BuildRequires: gcc13 +BuildRequires: gcc13-c++ +%endif +BuildRequires: sysuser-tools +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(gio-2.0) >= %{glib_version} +BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_version} +BuildRequires: pkgconfig(glib-2.0) >= %{glib_version} +BuildRequires: pkgconfig(gstreamer-1.0) >= %{gstreamer_version} +BuildRequires: pkgconfig(gstreamer-video-1.0) >= %{gstreamer_version} +BuildRequires: pkgconfig(gudev-1.0) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libei-1.0) >= 1.2.0 +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.0 +BuildRequires: pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libvncclient) +BuildRequires: pkgconfig(libvncserver) +BuildRequires: pkgconfig(libvncserver) >= 0.9.10 +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(polkit-gobject-1) %polkit_req +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(tss2-esys) +BuildRequires: pkgconfig(tss2-mu) +BuildRequires: pkgconfig(tss2-rc) +BuildRequires: pkgconfig(tss2-tctildr) +BuildRequires: pkgconfig(winpr3) >= %{freerdp_version} +BuildRequires: pkgconfig(xkbcommon) >= 1.0.0 +%{?systemd_ordering} +%sysusers_requires + +Requires: pipewire >= 0.3.0 + +%description +GNOME Remote Desktop is a remote desktop and screen sharing service for the +GNOME desktop environment. + +%lang_package + +%prep +%autosetup -p1 + +%build +%if 0%{?sle_version} && 0%{?sle_version} < 160000 +export CC=gcc-13 +%endif +%meson \ + -D vnc=true \ + -D tests=false \ + %{nil} +%meson_build +%sysusers_generate_pre %{_vpath_builddir}/data/gnome-remote-desktop-sysusers.conf gnome-remote-desktop gnome-remote-desktop-sysusers.conf + +%install +%meson_install +%find_lang %{name} + +%check +%meson_test + +%pre -f gnome-remote-desktop.pre +%service_add_pre %{systemd_unit} + +%post +%tmpfiles_create %{_tmpfilesdir}/gnome-remote-desktop-tmpfiles.conf +%service_add_post %{systemd_unit} +%systemd_user_post %{systemd_unit} + +%preun +%service_del_preun %{systemd_unit} +%systemd_user_preun %{systemd_unit} + +%postun +%service_del_postun %{systemd_unit} + +%files +%license COPYING +%doc README.md +%{_bindir}/grdctl +%{_datadir}/%{name}/ +%{_datadir}/applications/org.gnome.RemoteDesktop.Handover.desktop +%{_datadir}/dbus-1/system-services/org.gnome.RemoteDesktop.Configuration.service +%{_libexecdir}/gnome-remote-desktop-configuration-daemon +%{_datadir}/dbus-1/system.d/org.gnome.RemoteDesktop.conf +%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.enums.xml +%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.gschema.xml +%{_datadir}/polkit-1/actions/org.gnome.remotedesktop.configure-system-daemon.policy +%{_datadir}/polkit-1/actions/org.gnome.remotedesktop.enable-system-daemon.policy +%{_datadir}/polkit-1/rules.d/20-gnome-remote-desktop.rules +%{_libexecdir}/gnome-remote-desktop-daemon +%{_libexecdir}/gnome-remote-desktop-enable-service +%{_mandir}/man1/grdctl.1%{ext_man} +%{_sysusersdir}/gnome-remote-desktop-sysusers.conf +%{_tmpfilesdir}/gnome-remote-desktop-tmpfiles.conf +%ghost %attr(0700,gnome-remote-desktop,gnome-remote-desktop) %dir %{_localstatedir}/lib/gnome-remote-desktop +%ghost %attr(0755,gnome-remote-desktop,gnome-remote-desktop) %dir %{_sysconfdir}/gnome-remote-desktop +%ghost %attr(0644,gnome-remote-desktop,gnome-remote-desktop) %{_sysconfdir}/gnome-remote-desktop/grd.conf +%{_unitdir}/gnome-remote-desktop.service +%{_unitdir}/gnome-remote-desktop-configuration.service +%{_userunitdir}/gnome-remote-desktop-handover.service +%{_userunitdir}/gnome-remote-desktop-headless.service +%{_userunitdir}/gnome-remote-desktop.service + +%files lang -f %{name}.lang + +%changelog