SHA256
1
0
forked from pool/freerdp
Dominique Leuenberger 2023-12-21 07:43:30 +00:00 committed by Git OBS Bridge
parent c3751d9ddd
commit 71e9cc7508
6 changed files with 59 additions and 187 deletions

View File

@ -0,0 +1,32 @@
From 24b8b4e5df644ba77c673c41b90cc48c4358aaa0 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Thu, 2 Dec 2021 15:50:08 +0100
Subject: [PATCH] Make H.264 codec optional during runtime
It's possible that FreeRDP was built against FFmpeg, but it doesn't support
H.264. In that case, just continue without H.264 support instead of failing
hard before even trying to connect.
This is especially useful for Linux distributions which can't ship H.264
support in FFmpeg out of the box (patent issues), but allow enabling H.264
later by installing a version of FFmpeg which has it enabled.
---
libfreerdp/core/codecs.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: FreeRDP-2.4.1/libfreerdp/core/codecs.c
===================================================================
--- FreeRDP-2.4.1.orig/libfreerdp/core/codecs.c
+++ FreeRDP-2.4.1/libfreerdp/core/codecs.c
@@ -106,10 +106,7 @@ BOOL freerdp_client_codecs_prepare(rdpCo
if (!(codecs->h264 = h264_context_new(FALSE)))
{
- WLog_ERR(TAG, "Failed to create h264 codec context");
-#ifndef WITH_OPENH264_LOADING
- return FALSE;
-#endif
+ WLog_WARN(TAG, "Failed to create h264 codec context");
}
}
#endif

3
FreeRDP-2.11.2.tar.gz Normal file
View File

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

View File

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

View File

@ -1 +1 @@
addFilter("binary-or-shlib-calls-gethostbyname /usr/lib64/libwinpr3.so")
addFilter("binary-or-shlib-calls-gethostbyname /usr/lib64/libwinpr2.so")

View File

@ -1,68 +1,3 @@
-------------------------------------------------------------------
Tue Dec 19 13:56:15 UTC 2023 - Hans-Peter Jansen <hpj@urpla.net>
- Remove freerdp-allow-compiling-with-old-c++-compiler.patch
Solve by requiring gcc12-c++ for older environments
- Adjust Requires/Obsoletes
- Merge %{name}-server-proxy%{libfreerdp_package}-devel with -devel
-------------------------------------------------------------------
Mon Dec 18 11:57:05 UTC 2023 - Joan Torres <joan.torres@suse.com>
- Add freerdp-allow-compiling-with-old-c++-compiler.patch
* This allows building with older Leap versions which use gcc7-c++.
- Use cups-devel instead of relying on pkgconfig.
* Older Leap versions were unable to find it that way.
- Fix some package naming and versioning.
-------------------------------------------------------------------
Fri Dec 15 11:02:39 UTC 2023 - Joan Torres <joan.torres@suse.com>
- Add sdl dependencies to build the sdl-freerdp client.
* This is due to the wlfreerdp client being deprecated.
- Cleanup specfile.
* Rely preferably on pkgconfig to pull devel packages instead of
hardcoding them.
-------------------------------------------------------------------
Thu Dec 14 07:23:30 UTC 2023 - Paolo Stivanin <info@paolostivanin.com>
- Update to 3.0.0:
* Support for AAD/AVD authentication
* Support for websocket transport
* Support smartcard authentication (TLS and NLA)
* Full smartcard emulation support (login with certificate + key)
* Rewritten proxy, new module API
* New reference client based on SDL2 (work in progress)
* Rewritten logging, now parsing issues are all writing to the log so
that issues with protocol incompatibilities can be easier analyzed
by just turning on logging
* Full OpenSSL 3 support
* Internal implementations for RC4, MD4 and MD5 (required for non critical
parts in RDP but not part of more recend SSL libraries)
* Updated RDP protocol support
* Improved xfreerdp remote app support
* Reworked internal state machine for both client and server implementations
* Server implementations can now make use of connect-time network autodetection
* Improved clipboard handling, now also support server-to-client file transfer
(currently xfreerdp only)
* EnhancedRemoteApp support: Utilizing the more modern standard allows remote
apps with less glitches and window shadows
* Added client- and server-side handling for RDSTLS
* Support for the graphics redirection channel
* Full changelongs can be found at the following links:
+ https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta1
+ https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta2
+ https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta3
+ https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta4
+ https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-rc0
+ https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0
- Drop upstreamed 0001-Make-H.264-codec-optional-during-runtime.patch.
- Enable GSS again since gh#issues/4348 has been fixed.
-------------------------------------------------------------------
Thu Nov 16 08:59:58 UTC 2023 - Christophe Marin <christophe@krop.fr>

View File

@ -27,17 +27,16 @@
%endif
%endif
%global _with_gss 1
# enable -DWITH_GSSAPI=ON again after #gh/FreeRDP/FreeRDP/4348 has been fixed
#global _with_gss 1
%define major_version 3
%define major_version 2
%define libfreerdp_package %{major_version}-%{major_version}
%define rdtk_version 0
%define rdtk_package %{rdtk_version}-%{rdtk_version}
%define uwac_version 0
%define uwac_package %{uwac_version}-%{uwac_version}
Name: freerdp
Version: 3.0.0
Version: 2.11.2
Release: 0
Summary: Remote Desktop Viewer Client
License: Apache-2.0
@ -45,49 +44,36 @@ Group: Productivity/Networking/Other
URL: https://www.freerdp.com/
Source0: https://github.com/FreeRDP/FreeRDP/archive/%{version}.tar.gz#/FreeRDP-%{version}.tar.gz
Source1: freerdp-rpmlintrc
# PATCH-FIX-UPSTREAM https://github.com/FreeRDP/FreeRDP/pull/7476
Patch0: 0001-Make-H.264-codec-optional-during-runtime.patch
BuildRequires: chrpath
BuildRequires: cmake >= 2.8
BuildRequires: cups-devel
BuildRequires: ed
BuildRequires: fdupes
# doesn't compile correctly with older gcc's
%if 0%{?suse_version} <= 1600
BuildRequires: gcc12-c++
%else
BuildRequires: gcc-c++
%endif
BuildRequires: hicolor-icon-theme
BuildRequires: libgsm-devel
BuildRequires: libjpeg-devel
BuildRequires: pkgconfig
BuildRequires: xmlto
BuildRequires: zlib-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(fuse3)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(icu-i18n)
%{?_with_gss:BuildRequires: pkgconfig(krb5) >= 1.13}
%{?_with_ffmpeg:
BuildRequires: pkgconfig(libavcodec) >= 57.48.101
BuildRequires: pkgconfig(libavutil)
}
BuildRequires: pkgconfig(libcjson)
BuildRequires: pkgconfig(libjpeg)
%{?_with_lame:BuildRequires: pkgconfig(libmp3lame)}
%{?_with_lame:BuildRequires: libmp3lame-devel}
BuildRequires: pkgconfig(libpcsclite)
BuildRequires: pkgconfig(libpkcs11-helper-1)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libusb-1.0)
%{?_with_openh264:BuildRequires: pkgconfig(openh264)}
%{?_with_openh264:BuildRequires: libopenh264-devel}
BuildRequires: pkgconfig(openssl)
%{?_with_soxr:BuildRequires: pkgconfig(soxr)}
BuildRequires: xmlto
BuildRequires: pkgconfig(SDL2_ttf)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(webkit2gtk-4.0)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xdamage)
@ -100,7 +86,10 @@ BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xv)
BuildRequires: pkgconfig(zlib)
%{?_with_ffmpeg:
BuildRequires: pkgconfig(libavcodec) >= 57.48.101
BuildRequires: pkgconfig(libavutil)
}
# force installation of latest library version
Requires: lib%{name}%{libfreerdp_package} = %{version}-%{release}
@ -109,15 +98,6 @@ FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications. This package provides the client
application.
%package sdl
Summary: Remote Desktop Viewer Client
Group: Productivity/Networking/Other
%description sdl
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications. This package provides the
sdl-based client application.
%package wayland
Summary: Remote Desktop Viewer Client
Group: Productivity/Networking/Other
@ -145,21 +125,13 @@ This package contains a proxy that allows to select specific features and
channels allowed for all connections passing through.
It allows monitoring of the running sessions.
%package -n %{name}-proxy-plugins
Summary: Plugins for the Security and Monitorig Proxy Server
Group: Productivity/Networking/Other
Requires: %{name}-proxy = %{version}-%{release}
%description -n %{name}-proxy-plugins
This package contains the following plugins for the proxy server:
* bitmap-filter
* capture
* demo
* dyn-channel-dump
%package -n lib%{name}%{libfreerdp_package}
Summary: Remote Desktop Viewer client library
Group: System/Libraries
Obsoletes: lib%{name} < %{version}-%{release}
Provides: lib%{name} = %{version}-%{release}
Obsoletes: lib%{name}2 < %{version}-%{release}
Provides: lib%{name}2 = %{version}-%{release}
%description -n lib%{name}%{libfreerdp_package}
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
@ -170,10 +142,7 @@ libraries used by the client.
Summary: Development Files for freerdp
Group: Development/Libraries/C and C++
Requires: lib%{name}%{libfreerdp_package} = %{version}-%{release}
Requires: lib%{name}-server-proxy%{libfreerdp_package}
Requires: winpr-devel = %{version}-%{release}
Obsoletes: %{name}-server-proxy%{libfreerdp_package}-devel < %{version}-%{release}
Provides: %{name}-server-proxy%{libfreerdp_package}-devel = %{version}-%{release}
%description devel
This package contains development files necessary for developing applications
@ -182,6 +151,8 @@ based on libfreerdp.
%package -n libwinpr%{libfreerdp_package}
Summary: Windows Portable Runtime
Group: Productivity/Networking/Other
Obsoletes: libwinpr2 < %{version}-%{release}
Provides: libwinpr2 = %{version}-%{release}
%description -n libwinpr%{libfreerdp_package}
WinPR provides API compatibility for applications targeting non-Windows
@ -222,28 +193,6 @@ Provides: libuwac0-devel = %{version}-%{release}
This package contains header files for developing applications that
use the uwac library.
%package -n librdtk%{rdtk_package}
Summary: FreeRDP Toolkit
Group: Development/Languages/C and C++
%description -n librdtk%{rdtk_package}
This package contains the library for the Remote Desktop Toolkit.
%package -n rdtk%{rdtk_package}-devel
Summary: FreeRDP Toolkit development files
Group: Development/Languages/C and C++
Requires: librdtk%{rdtk_package} = %{version}-%{release}
%description -n rdtk%{rdtk_package}-devel
This package contains the development files for RDTK.
%package -n lib%{name}-server-proxy%{libfreerdp_package}
Summary: FreeRDP Server Proxy library
Group: Development/Languages/C and C++
%description -n lib%{name}-server-proxy%{libfreerdp_package}
This package contains the FreeRDP Server Proxy library files.
%prep
%autosetup -p1 -n FreeRDP-%{version}
@ -252,17 +201,11 @@ if [ -z "$SOURCE_DATE_EPOCH" ]; then
find . -type f -name "*.c" -exec perl -i -pe 's{__(DATE|TIME)__}{""}g' "{}" "+"
fi
%if 0%{?suse_version} <= 1600
export CXX=g++-12
%endif
%cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_lib} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXE_LINKER_FLAGS="-pie" \
-DCMAKE_SKIP_RPATH=TRUE \
-DCMAKE_SKIP_INSTALL_RPATH=TRUE \
-DWITH_ALSA=ON \
-DWITH_CAIRO=ON \
-DWITH_CUPS=ON \
@ -271,7 +214,6 @@ export CXX=g++-12
-DWITH_CLIENT=ON \
-DWITH_DIRECTFB=OFF \
-DWITH_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
-DWITH_DSP_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
-DWITH_GSM=ON \
-DWITH_GSSAPI=%{?_with_gss:ON}%{?!_with_gss:OFF} \
-DWITH_GSTREAMER_1_0=ON -DWITH_GSTREAMER_0_10=OFF \
@ -288,7 +230,6 @@ export CXX=g++-12
-DWITH_SERVER_INTERFACE=ON \
-DWITH_SHADOW_X11=ON \
-DWITH_SHADOW_MAC=ON \
-DWITH_SAMPLE=OFF \
-DWITH_SOXR=%{?_with_soxr:ON}%{?!_with_soxr:OFF} \
-DWITH_WAYLAND=ON \
-DWITH_X11=ON \
@ -335,19 +276,12 @@ cd build
%postun -n libwinpr%{libfreerdp_package} -p /sbin/ldconfig
%post -n libuwac%{uwac_package} -p /sbin/ldconfig
%postun -n libuwac%{uwac_package} -p /sbin/ldconfig
%post -n librdtk%{rdtk_package} -p /sbin/ldconfig
%postun -n librdtk%{rdtk_package} -p /sbin/ldconfig
%post -n lib%{name}-server-proxy%{libfreerdp_package} -p /sbin/ldconfig
%postun -n lib%{name}-server-proxy%{libfreerdp_package} -p /sbin/ldconfig
%files
%{_bindir}/x%{name}
%{_mandir}/man1/x%{name}.1%{?ext_man}
%{_mandir}/man7/wlog.7%{?ext_man}
%files sdl
%{_bindir}/sdl-%{name}
%files wayland
%{_bindir}/wl%{name}
%{_mandir}/man1/wl%{name}.1%{?ext_man}
@ -363,14 +297,6 @@ cd build
%files proxy
%{_bindir}/%{name}-proxy
%files -n %{name}-proxy-plugins
%dir %{_libdir}/%{name}%{major_version}
%dir %{_libdir}/%{name}%{major_version}/proxy
%{_libdir}/%{name}%{major_version}/proxy/proxy-bitmap-filter-plugin.so
%{_libdir}/%{name}%{major_version}/proxy/proxy-capture-plugin.so
%{_libdir}/%{name}%{major_version}/proxy/proxy-demo-plugin.so
%{_libdir}/%{name}%{major_version}/proxy/proxy-dyn-channel-dump-plugin.so
%files -n lib%{name}%{libfreerdp_package}
%license LICENSE
%{_libdir}/lib%{name}%{major_version}.so.*
@ -378,29 +304,20 @@ cd build
%{_libdir}/lib%{name}-shadow%{major_version}.so.*
%{_libdir}/lib%{name}-server%{major_version}.so.*
%{_libdir}/lib%{name}-shadow-subsystem%{major_version}.so.*
%dir %{_libdir}/freerdp2
%{_libdir}/freerdp2/*.so
%files devel
%dir %{_libdir}/cmake/FreeRDP-Proxy3
%dir %{_libdir}/cmake/WinPR-tools3
%{_libdir}/cmake/FreeRDP%{major_version}
%{_libdir}/cmake/FreeRDP-Client%{major_version}
%{_libdir}/cmake/FreeRDP-Server%{major_version}
%{_libdir}/cmake/FreeRDP-Shadow%{major_version}
%{_libdir}/cmake/FreeRDP-Proxy%{major_version}/FreeRDP-ProxyConfig.cmake
%{_libdir}/cmake/FreeRDP-Proxy%{major_version}/FreeRDP-ProxyConfigVersion.cmake
%{_libdir}/cmake/FreeRDP-Proxy%{major_version}/FreeRDP-ProxyTargets-relwithdebinfo.cmake
%{_libdir}/cmake/FreeRDP-Proxy%{major_version}/FreeRDP-ProxyTargets.cmake
%{_libdir}/cmake/WinPR-tools%{major_version}/WinPR-toolsConfig.cmake
%{_libdir}/cmake/WinPR-tools%{major_version}/WinPR-toolsConfigVersion.cmake
%{_libdir}/cmake/WinPR-tools%{major_version}/WinPR-toolsTargets-relwithdebinfo.cmake
%{_libdir}/cmake/WinPR-tools%{major_version}/WinPR-toolsTargets.cmake
%{_includedir}/%{name}%{major_version}
%{_libdir}/lib%{name}*.so
%{_libdir}/pkgconfig/%{name}%{major_version}.pc
%{_libdir}/pkgconfig/%{name}-client%{major_version}.pc
%{_libdir}/pkgconfig/%{name}-server%{major_version}.pc
%{_libdir}/pkgconfig/%{name}-shadow%{major_version}.pc
%{_libdir}/pkgconfig/%{name}-server-proxy%{major_version}.pc
%files -n libwinpr%{libfreerdp_package}
%license LICENSE
@ -425,16 +342,4 @@ cd build
%{_libdir}/libuwac%{uwac_version}.so
%{_libdir}/pkgconfig/uwac%{uwac_version}.pc
%files -n librdtk%{rdtk_package}
%{_libdir}/librdtk%{rdtk_version}.so.*
%files -n rdtk%{rdtk_package}-devel
%{_libdir}/cmake/rdtk%{rdtk_version}
%{_includedir}/rdtk%{rdtk_version}
%{_libdir}/librdtk%{rdtk_version}.so
%{_libdir}/pkgconfig/rdtk%{rdtk_version}.pc
%files -n lib%{name}-server-proxy%{libfreerdp_package}
%{_libdir}/libfreerdp-server-proxy%{major_version}.so.*
%changelog