SHA256
1
0
forked from pool/freerdp

Accepting request 920538 from X11:RemoteDesktop

OBS-URL: https://build.opensuse.org/request/show/920538
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/freerdp?expand=0&rev=50
This commit is contained in:
Dominique Leuenberger 2021-09-24 22:34:52 +00:00 committed by Git OBS Bridge
commit 3ac0b043d5
4 changed files with 223 additions and 11 deletions

View File

@ -0,0 +1,32 @@
--- FreeRDP-2.4.0/channels/video/client/CMakeLists.txt~ 2021-07-27 11:58:27.000000000 +0200
+++ FreeRDP-2.4.0/channels/video/client/CMakeLists.txt 2021-08-20 10:35:04.496719927 +0200
@@ -26,7 +26,8 @@ include_directories(..)
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
-
+set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client)
+set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} rdpgfx-client)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
--- FreeRDP-2.4.0/channels/rdpsnd/client/proxy/CMakeLists.txt~ 2021-07-27 11:58:27.000000000 +0200
+++ FreeRDP-2.4.0/channels/rdpsnd/client/proxy/CMakeLists.txt 2021-08-20 13:45:38.459395909 +0200
@@ -25,6 +25,7 @@ include_directories(..)
add_channel_client_subsystem_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} "" TRUE "")
+list(APPEND ${MODULE_PREFIX}_LIBS freerdp-client)
list(APPEND ${MODULE_PREFIX}_LIBS freerdp)
list(APPEND ${MODULE_PREFIX}_LIBS winpr)
--- FreeRDP-2.4.0/channels/rdp2tcp/client/CMakeLists.txt~ 2021-07-27 11:58:27.000000000 +0200
+++ FreeRDP-2.4.0/channels/rdp2tcp/client/CMakeLists.txt 2021-08-21 13:15:02.847667180 +0200
@@ -22,6 +22,6 @@ set(${MODULE_PREFIX}_SRCS
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "VirtualChannelEntryEx")
-target_link_libraries(${MODULE_NAME} freerdp)
+target_link_libraries(${MODULE_NAME} winpr freerdp)
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL_NAME}/Client")

View File

@ -0,0 +1,78 @@
Index: b/CMakeLists.txt
===================================================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -948,11 +948,28 @@ set(FREERDP_EXTENSION_PATH "${CMAKE_INST
# Proxy plugins path
if(NOT DEFINED PROXY_PLUGINDIR)
message("using default plugins location")
- set(FREERDP_PROXY_PLUGINDIR "${CMAKE_BINARY_DIR}/server/proxy/plugins")
+ set(FREERDP_PROXY_PLUGINDIR "${FREERDP_PLUGIN_PATH}/server/proxy/plugins")
else()
set(FREERDP_PROXY_PLUGINDIR "${PROXY_PLUGINDIR}")
endif()
+function(dump_cmake_variables)
+ get_cmake_property(_variableNames VARIABLES)
+ list (SORT _variableNames)
+ foreach (_variableName ${_variableNames})
+ if (ARGV0)
+ unset(MATCHED)
+ string(REGEX MATCH ${ARGV0} MATCHED ${_variableName})
+ if (NOT MATCHED)
+ continue()
+ endif()
+ endif()
+ message(STATUS "${_variableName}=${${_variableName}}")
+ endforeach()
+endfunction()
+
+dump_cmake_variables("^FREERDP")
+
# Declare we have config.h, generated later on.
add_definitions("-DHAVE_CONFIG_H")
Index: b/channels/client/addin.c
===================================================================
--- a/channels/client/addin.c
+++ b/channels/client/addin.c
@@ -157,7 +157,7 @@ static FREERDP_ADDIN** freerdp_channels_
LPSTR pszPattern;
size_t cchPattern;
LPCSTR pszAddinPath = FREERDP_ADDIN_PATH;
- LPCSTR pszInstallPrefix = FREERDP_INSTALL_PREFIX;
+ LPCSTR pszInstallPrefix = "";
LPCSTR pszExtension;
LPSTR pszSearchPath;
size_t cchSearchPath;
@@ -166,7 +166,7 @@ static FREERDP_ADDIN** freerdp_channels_
FREERDP_ADDIN** ppAddins;
WIN32_FIND_DATAA FindData;
cchAddinPath = strnlen(pszAddinPath, sizeof(FREERDP_ADDIN_PATH));
- cchInstallPrefix = strnlen(pszInstallPrefix, sizeof(FREERDP_INSTALL_PREFIX));
+ cchInstallPrefix = strnlen(pszInstallPrefix, 0);
pszExtension = PathGetSharedLibraryExtensionA(0);
cchPattern = 128 + strnlen(pszExtension, MAX_PATH) + 2;
pszPattern = (LPSTR)malloc(cchPattern + 1);
Index: b/libfreerdp/common/addin.c
===================================================================
--- a/libfreerdp/common/addin.c
+++ b/libfreerdp/common/addin.c
@@ -55,7 +55,7 @@ LPSTR freerdp_get_library_install_path(v
size_t cchInstallPrefix;
BOOL needLibPath, needInstallPath;
LPCSTR pszLibraryPath = FREERDP_LIBRARY_PATH;
- LPCSTR pszInstallPrefix = FREERDP_INSTALL_PREFIX;
+ LPCSTR pszInstallPrefix = "";
cchLibraryPath = strlen(pszLibraryPath) + 1;
cchInstallPrefix = strlen(pszInstallPrefix) + 1;
cchPath = cchInstallPrefix + cchLibraryPath;
@@ -96,7 +96,7 @@ LPSTR freerdp_get_dynamic_addin_install_
size_t cchInstallPrefix;
BOOL needLibPath, needInstallPath;
LPCSTR pszAddinPath = FREERDP_ADDIN_PATH;
- LPCSTR pszInstallPrefix = FREERDP_INSTALL_PREFIX;
+ LPCSTR pszInstallPrefix = "";
cchAddinPath = strlen(pszAddinPath) + 1;
cchInstallPrefix = strlen(pszInstallPrefix) + 1;
cchPath = cchInstallPrefix + cchAddinPath;

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Sat Sep 18 10:21:29 UTC 2021 - Hans-Peter Jansen <hpj@urpla.net>
- Create an explicit freerdp dependency for libwinpr
-------------------------------------------------------------------
Fri Sep 17 16:37:13 UTC 2021 - Hans-Peter Jansen <hpj@urpla.net>
- Add preliminary patch freerdp-fix-plugin-path.patch to fix dynamic
addin loading
-------------------------------------------------------------------
Fri Sep 17 10:27:03 UTC 2021 - Johannes Weberhofer <jweberhofer@weberhofer.at>
- Modified spec to satisfy because obs-service-source_validator does not
support elif
-------------------------------------------------------------------
Wed Sep 15 17:18:29 UTC 2021 - Hans-Peter Jansen <hpj@urpla.net>
- Fix the spec-cleaner mess
- Enable a few options on TW
- Build for 15.3 required another lib
- Remove X264 option, no related backend exists and enabling it fails
in cmake creation stage
-------------------------------------------------------------------
Fri Aug 20 13:27:31 UTC 2021 - Hans-Peter Jansen <hpj@urpla.net>
- Reorganize build flags
- Apply fix for -DBUILTIN_CHANNELS=OFF: freerdp-builtin-channels-off-link-fix.diff
- Add plugins to libwinpr
-------------------------------------------------------------------
Wed Aug 11 10:51:40 UTC 2021 - Johannes Weberhofer <jweberhofer@weberhofer.at>
@ -80,7 +113,7 @@ Thu Feb 25 09:46:34 UTC 2021 - Johannes Weberhofer <jweberhofer@weberhofer.at>
-------------------------------------------------------------------
Mon Jul 20 14:22:07 UTC 2020 - Johannes Weberhofer <jweberhofer@weberhofer.at>
- Updated to release 2.2.0 (boo#1174321)
- Updated to release 2.2.0 (boo#1174321, gh#FreeRDP/FreeRDP#6381)
* SECURITY: CVE-2020-15103 - Integer overflow due to missing input sanitation in rdpegfx channel
* Sound & mic - filter GSM codec for microphone redirection (gh#FreeRDP/FreeRDP#6263)
* windows client title length (gh#FreeRDP/FreeRDP#6335)
@ -95,6 +128,7 @@ Mon Jul 20 14:22:07 UTC 2020 - Johannes Weberhofer <jweberhofer@weberhofer.at>
- new: support for heartbeats
- new: support for rail handshake ex flags
- fix: possible race condition with redirects
* Drop upstream fixed patch: freerdp-CVE-2020-15103.patch
- Removed freerdp_Mask_CACHED_BRUSH_when_checking_brush_style.patch

View File

@ -16,16 +16,27 @@
#
# X264 and OPENH264 are disabled because openSUSE does not provide the codecs
%if 0%{?suse_version} > 1500 && 0%{?is_opensuse}
%global _with_ffmpeg 1
#global _with_openh264 1
%global _with_soxr 1
%global _with_lame 1
%else
%if 0%{?sle_version} == 150200 && 0%{?is_opensuse}
%global _with_ffmpeg 1
%endif
%endif
# enable -DWITH_GSSAPI=ON again after #gh/FreeRDP/FreeRDP/4348 has been fixed
#global _with_gss 1
#
%define major_version 2
%define uwac_version 0
%define uwac_package %{uwac_version}-%{uwac_version}
%ifarch aarch64 %{arm}
%define _lto_cflags %{nil}
%endif
Name: freerdp
Version: 2.4.0
Release: 0
@ -35,6 +46,10 @@ 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 freerdp-channels-off-link-fix.diff -- based on https://github.com/FreeRDP/FreeRDP/pull/7235
Patch0: freerdp-builtin-channels-off-link-fix.diff
# PATCH-FIX-SUSE freerdp-fix-plugin-path.patch -- preliminary fix addin loading
Patch1: freerdp-fix-plugin-path.patch
BuildRequires: chrpath
BuildRequires: cmake >= 2.8
BuildRequires: cups-devel
@ -52,12 +67,15 @@ BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(krb5)
%{?_with_gss:BuildRequires: pkgconfig(krb5) >= 1.13}
%{?_with_lame:BuildRequires: libmp3lame-devel}
BuildRequires: pkgconfig(libpcsclite)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libusb-1.0)
%{?_with_openh264:BuildRequires: libopenh264-devel}
BuildRequires: pkgconfig(openssl)
%{?_with_soxr:BuildRequires: pkgconfig(soxr)}
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(x11)
@ -73,6 +91,11 @@ BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xv)
Requires: lib%{name}%{major_version} = %{version}-%{release}
Requires: libwinpr%{major_version} = %{version}-%{release}
%{?_with_ffmpeg:
BuildRequires: pkgconfig(libavcodec) >= 57.48.101
BuildRequires: pkgconfig(libavutil)
}
%description
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
@ -182,17 +205,60 @@ export CFLAGS="%{optflags} -fPIE -pie"
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DWITH_SERVER=ON \
-DWITH_PCSC=ON \
-DWITH_ALSA=ON \
-DWITH_CAIRO=ON \
-DWITH_CUPS=ON \
-DWITH_JPEG=ON \
-DWITH_X264=OFF \
-DWITH_OPENH264=OFF \
-DWITH_CHANNELS=ON -DBUILTIN_CHANNELS=OFF \
-DWITH_CLIENT=ON \
-DWITH_DIRECTFB=OFF \
-DWITH_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
-DWITH_GSM=ON \
-DWITH_GSSAPI=%{?_with_gss:ON}%{?!_with_gss:OFF} \
-DWITH_CHANNELS=ON \
-DBUILTIN_CHANNELS=ON \
-DWITH_GSTREAMER_1_0=ON -DWITH_GSTREAMER_0_10=OFF \
-DWITH_ICU=ON \
-DWITH_IPP=OFF \
-DWITH_JPEG=ON \
-DWITH_LAME=%{?_with_lame:ON}%{?!_with_lame:OFF} \
-DWITH_MANPAGES=ON \
-DWITH_OPENH264=%{?_with_openh264:ON}%{?!_with_openh264:OFF} \
-DWITH_OPENSSL=ON \
-DWITH_PCSC=ON \
-DWITH_PULSE=ON \
-DWITH_SERVER=ON \
-DWITH_SERVER_INTERFACE=ON \
-DWITH_SHADOW_X11=ON \
-DWITH_SHADOW_MAC=ON \
-DWITH_SOXR=%{?_with_soxr:ON}%{?!_with_soxr:OFF} \
-DWITH_WAYLAND=ON \
-DWITH_X11=ON \
-DWITH_XCURSOR=ON \
-DWITH_XEXT=ON \
-DWITH_XKBFILE=ON \
-DWITH_XI=ON \
-DWITH_XINERAMA=ON \
-DWITH_XRENDER=ON \
-DWITH_XTEST=ON \
-DWITH_XV=ON \
-DWITH_ZLIB=ON \
%ifarch x86_64
-DWITH_SSE2=ON \
-DWITH_VAAPI=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
%else
-DWITH_SSE2=OFF \
%endif
%ifarch armv7hl
-DARM_FP_ABI=hard \
-DWITH_NEON=OFF \
%endif
%ifarch armv7hnl
-DARM_FP_ABI=hard \
-DWITH_NEON=ON \
%endif
%ifarch armv5tel armv6l armv7l
-DARM_FP_ABI=soft \
-DWITH_NEON=OFF \
%endif
-DCHANNEL_GEOMETRY=ON -DCHANNEL_GEOMETRY_CLIENT=ON \
-DCHANNEL_URBDRC=ON \
-DCHANNEL_URBDRC_CLIENT=ON
@ -237,6 +303,8 @@ 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
%{_libdir}/cmake/FreeRDP%{major_version}