# Can be rebuilt with FFmpeg/H264 support enabled by passing "--with=ffmpeg", # "--with=x264" or "--with=openh264" to mock/rpmbuild; or by globally setting # these variables: #global _with_ffmpeg 1 #global _with_x264 1 #global _with_openh264 1 # Momentarily disable GSS support # https://github.com/FreeRDP/FreeRDP/issues/4348 #global _with_gss 1 # Disable server support in RHEL # https://bugzilla.redhat.com/show_bug.cgi?id=1639165 %{!?rhel:%global _with_server 1} # Disable support for missing codecs in RHEL %{!?rhel:%global _with_soxr 1} %if 0%{?fedora} || 0%{?rhel} >= 8 %global _with_lame 1 %endif Name: freerdp Version: 2.2.0 Release: 8%{?dist} Epoch: 2 Summary: Free implementation of the Remote Desktop Protocol (RDP) License: ASL 2.0 URL: http://www.freerdp.com/ Source0: https://github.com/FreeRDP/FreeRDP/archive/%{version}/FreeRDP-%{version}.tar.gz # https://bugzilla.redhat.com/show_bug.cgi?id=1910029 Patch0: 6741.patch # CVE-2021-41160 freerdp: improper region checks in all clients allow out of bound write to memory Patch1: Add-checks-for-bitmap-and-glyph-width-heigth-values.patch # CVE-2021-41159 freerdp: improper client input validation for gateway connections allows to overwrite memory Patch2: Implement-missing-TSG-debug-functions.patch Patch3: Refactored-RPC-gateway-parser.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2108866 Patch4: Fix-monitor-list-flag-being-ignored-on-X11-Wayland.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: alsa-lib-devel BuildRequires: cmake >= 2.8 BuildRequires: cups-devel BuildRequires: gsm-devel %{?_with_lame:BuildRequires: lame-devel} BuildRequires: libicu-devel BuildRequires: libjpeg-turbo-devel BuildRequires: libX11-devel BuildRequires: libXcursor-devel BuildRequires: libXdamage-devel BuildRequires: libXext-devel BuildRequires: libXi-devel BuildRequires: libXinerama-devel BuildRequires: libxkbfile-devel BuildRequires: libXrandr-devel %{?_with_server:BuildRequires: libXtst-devel} BuildRequires: libXv-devel %{?_with_openh264:BuildRequires: openh264-devel} %{?_with_x264:BuildRequires: x264-devel} %{?_with_server:BuildRequires: pam-devel} BuildRequires: xmlto BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-base-1.0) BuildRequires: pkgconfig(gstreamer-app-1.0) BuildRequires: pkgconfig(gstreamer-audio-1.0) BuildRequires: pkgconfig(gstreamer-fft-1.0) BuildRequires: pkgconfig(gstreamer-pbutils-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) %{?_with_gss:BuildRequires: pkgconfig(krb5) >= 1.13} BuildRequires: pkgconfig(libpcsclite) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(openssl) %{?_with_soxr:BuildRequires: pkgconfig(soxr)} BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(xkbcommon) %{?_with_ffmpeg: BuildRequires: pkgconfig(libavcodec) >= 57.48.101 BuildRequires: pkgconfig(libavutil) } Provides: xfreerdp = %{?epoch}:%{version}-%{release} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release} %description The xfreerdp & wlfreerdp Remote Desktop Protocol (RDP) clients from the FreeRDP project. xfreerdp & wlfreerdp can connect to RDP servers such as Microsoft Windows machines, xrdp and VirtualBox. %package libs Summary: Core libraries implementing the RDP protocol Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release} Obsoletes: %{name}-plugins < 1:1.1.0 Provides: %{name}-plugins = %{?epoch}:%{version}-%{release} %description libs libfreerdp-core can be embedded in applications. libfreerdp-channels and libfreerdp-kbd might be convenient to use in X applications together with libfreerdp-core. libfreerdp-core can be extended with plugins handling RDP channels. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: pkgconfig Requires: cmake >= 2.8 %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}-libs. %{?_with_server: %package server Summary: Server support for %{name} Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description server The %{name}-server package contains servers which can export a desktop via the RDP protocol. } %package -n libwinpr Summary: Windows Portable Runtime Provides: %{name}-libwinpr = %{?epoch}:%{version}-%{release} Obsoletes: %{name}-libwinpr < 1:1.2.0 %description -n libwinpr WinPR provides API compatibility for applications targeting non-Windows environments. When on Windows, the original native API is being used instead of the equivalent WinPR implementation, without having to modify the code using it. %package -n libwinpr-devel Summary: Windows Portable Runtime development files Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release} Requires: pkgconfig Requires: cmake >= 2.8 %description -n libwinpr-devel The %{name}-libwinpr-devel package contains libraries and header files for developing applications that use %{name}-libwinpr. %prep %autosetup -p1 -n FreeRDP-%{version} # Rpmlint fixes find . -name "*.h" -exec chmod 664 {} \; find . -name "*.c" -exec chmod 664 {} \; %build %cmake %{?_cmake_skip_rpath} \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ -DWITH_ALSA=ON \ -DWITH_CUPS=ON \ -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_GSTREAMER_1_0=ON -DWITH_GSTREAMER_0_10=OFF \ -DGSTREAMER_1_0_INCLUDE_DIRS=%{_includedir}/gstreamer-1.0 \ -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=%{?_with_server:ON}%{?!_with_server:OFF} \ -DWITH_SERVER_INTERFACE=%{?_with_server:ON}%{?!_with_server:OFF} \ -DWITH_SHADOW_X11=%{?_with_server:ON}%{?!_with_server:OFF} \ -DWITH_SHADOW_MAC=%{?_with_server:ON}%{?!_with_server:OFF} \ -DWITH_SOXR=%{?_with_soxr:ON}%{?!_with_soxr:OFF} \ -DWITH_WAYLAND=ON \ -DWITH_X11=ON \ -DWITH_X264=%{?_with_x264:ON}%{?!_with_x264:OFF} \ -DWITH_XCURSOR=ON \ -DWITH_XEXT=ON \ -DWITH_XKBFILE=ON \ -DWITH_XI=ON \ -DWITH_XINERAMA=ON \ -DWITH_XRENDER=ON \ -DWITH_XTEST=%{?_with_server:ON}%{?!_with_server:OFF} \ -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 . %make_build pushd winpr/tools/makecert-cli %make_build popd %install %make_install %make_install COMPONENT=tools find %{buildroot} -name "*.a" -delete %multilib_fix_c_header --file %{_includedir}/freerdp2/freerdp/build-config.h %files %{_bindir}/winpr-hash %{_bindir}/winpr-makecert %{_bindir}/wlfreerdp %{_bindir}/xfreerdp %{_mandir}/man1/winpr-hash.1* %{_mandir}/man1/winpr-makecert.1* %{_mandir}/man1/wlfreerdp.1* %{_mandir}/man1/xfreerdp.1* %files libs %license LICENSE %doc README.md ChangeLog %{_libdir}/freerdp2/ %{_libdir}/libfreerdp-client2.so.* %{?_with_server: %{_libdir}/libfreerdp-server2.so.* %{_libdir}/libfreerdp-shadow2.so.* %{_libdir}/libfreerdp-shadow-subsystem2.so.* } %{_libdir}/libfreerdp2.so.* %{_libdir}/libuwac0.so.* %{_mandir}/man7/wlog.* %files devel %{_includedir}/freerdp2 %{_includedir}/uwac0 %{_libdir}/cmake/FreeRDP2 %{_libdir}/cmake/FreeRDP-Client2 %{?_with_server: %{_libdir}/cmake/FreeRDP-Server2 %{_libdir}/cmake/FreeRDP-Shadow2 } %{_libdir}/cmake/uwac0 %{_libdir}/libfreerdp-client2.so %{?_with_server: %{_libdir}/libfreerdp-server2.so %{_libdir}/libfreerdp-shadow2.so %{_libdir}/libfreerdp-shadow-subsystem2.so } %{_libdir}/libfreerdp2.so %{_libdir}/libuwac0.so %{_libdir}/pkgconfig/freerdp2.pc %{_libdir}/pkgconfig/freerdp-client2.pc %{?_with_server: %{_libdir}/pkgconfig/freerdp-server2.pc %{_libdir}/pkgconfig/freerdp-shadow2.pc } %{_libdir}/pkgconfig/uwac0.pc %{?_with_server: %files server %{_bindir}/freerdp-proxy %{_bindir}/freerdp-shadow-cli %{_mandir}/man1/freerdp-shadow-cli.1* } %files -n libwinpr %license LICENSE %doc README.md ChangeLog %{_libdir}/libwinpr2.so.* %{_libdir}/libwinpr-tools2.so.* %files -n libwinpr-devel %{_libdir}/cmake/WinPR2 %{_includedir}/winpr2 %{_libdir}/libwinpr2.so %{_libdir}/libwinpr-tools2.so %{_libdir}/pkgconfig/winpr2.pc %{_libdir}/pkgconfig/winpr-tools2.pc %changelog * Thu Aug 11 2022 Ondrej Holy - 2:2.2.0-8 - Fix /monitor-list output (rhbz#2108866) * Wed Nov 10 2021 Ondrej Holy - 2:2.2.0-4 - Refactored RPC gateway parser (rhbz#2017949) * Fri Nov 05 2021 Felipe Borges - 2:2.2.0-3 - Add checks for bitmap and glyph width and heigth values (rhbz#2017956) * Wed Apr 28 2021 Ondrej Holy - 2:2.2.0-2 - Fix exit codes for /help and similar options (rhbz#1910029) * Fri Nov 20 2020 Ondrej Holy - 2:2.2.0-1 - Update to 2.2.0 (rhbz#1881971) * Mon May 25 2020 Ondrej Holy - 2:2.1.1-1 - Update to 2.1.1 (rhbz#1834287). * Fri Apr 17 2020 Ondrej Holy - 2:2.0.0-47.rc4 - Fix SCARD_INSUFFICIENT_BUFFER error (rhbz#1803054) - Do not advertise /usb in help output (rhbz#1761144) * Wed Nov 28 2018 Ondrej Holy - 2:2.0.0-46.rc4 - Update to 2.0.0-rc4 (#1624340) * Mon Oct 15 2018 Ondrej Holy - 2:2.0.0-45.rc3 - Disable server support in RHEL (#1639165) * Wed Oct 10 2018 Ondrej Holy - 2:2.0.0-44.rc3 - Fix packaging issues found by rpmdiff (#1637487) * Tue Sep 25 2018 Ondrej Holy - 2:2.0.0-43.rc3 - Fix important defects found by covscan (#1602500) * Thu Sep 06 2018 Ondrej Holy - 2:2.0.0-42.rc3 - Update to 2.0.0-rc3 (#1624340) * Mon Apr 09 2018 Simone Caronni - 2:2.0.0-41.20180405gita9ecd6a - Update to latest snapshot. * Wed Mar 21 2018 Simone Caronni - 2:2.0.0-40.20180320gitde83f4d - Add PAM support (fixes freerdp-shadow-cli). Thanks Paolo Zeppegno. - Update to latest snapshot. * Thu Mar 15 2018 Simone Caronni - 2:2.0.0-39.20180314gitf8baeb7 - Update to latest snapshot. - Fixes connection to RDP servers with the latest Microsoft patches: https://github.com/FreeRDP/FreeRDP/issues/4449 * Wed Feb 07 2018 Fedora Release Engineering - 2:2.0.0-38.20180115git8f52c7e - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Jan 18 2018 Karsten Hopp - 2.0.0-37git} - use versioned build requirement on pkgconfig(openssl) to prevent using compat-openssl10-devel instead of openssl-devel * Tue Jan 16 2018 Simone Caronni - 2:2.0.0-36.20180115git8f52c7e - Update to latest snapshot. - Make GSS support optional and disable it for now (#1534094 and FreeRDP #4348, #1435, #4363). * Wed Dec 20 2017 Simone Caronni - 2:2.0.0-35.20171220gitbfe8359 - Update to latest snapshot post 2.0.0rc1. * Mon Sep 11 2017 Simone Caronni - 2:2.0.0-34.20170831git3b83526 - Update to latest snapshot. - Trim changelog. * Mon Aug 07 2017 Björn Esser - 2:2.0.0-33.20170724gitf8c9f43 - Rebuilt for AutoReq cmake-filesystem * Wed Aug 02 2017 Fedora Release Engineering - 2:2.0.0-32.20170724gitf8c9f43 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Simone Caronni - 2:2.0.0-31.20170724gitf8c9f43 - Update to latest snapshot, Talos security fixes. * Wed Jul 26 2017 Fedora Release Engineering - 2:2.0.0-30.20170710gitf580bea - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Jul 12 2017 Simone Caronni - 2:2.0.0-29.20170710gitf580bea - Update to latest snapshot. * Mon Jun 26 2017 Simone Caronni - 2:2.0.0-28.20170623git9904c32 - Update to latest snapshot. * Mon May 15 2017 Simone Caronni - 2:2.0.0-27.20170512gitb1df835 - Update to latest snapshot. * Thu Apr 20 2017 Simone Caronni - 2:2.0.0-26.20170419gitbfcf8e7 - Update to latest 2.0 snapshot. * Thu Apr 13 2017 Orion Poplawski - 2:2.0.0-25.20170317git8c68761 - Install tools via make install * Wed Mar 22 2017 Simone Caronni - 2:2.0.0-24.20170317git8c68761 - Update to latest snapshot. * Mon Mar 06 2017 Simone Caronni - 2:2.0.0-23.20170302git210de68 - Remove shared libxfreerdp-client shared library. * Thu Mar 02 2017 Simone Caronni - 2:2.0.0-22.20170302git210de68 - Move libxfreerdp-client shared object into devel subpackage. * Thu Mar 02 2017 Simone Caronni - 2:2.0.0-21.20170302git210de68 - Update to latest snapshot. - Update build requirements, tune build options. * Fri Feb 10 2017 Fedora Release Engineering - 2:2.0.0-20.20161228git90877f5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Jan 09 2017 Simone Caronni - 2:2.0.0-19.20161228git90877f5 - Update to latest snapshot.