diff --git a/.freerdp.metadata b/.freerdp.metadata new file mode 100644 index 0000000..e0aa7bd --- /dev/null +++ b/.freerdp.metadata @@ -0,0 +1 @@ +bd50ce9d8807499e14884a3019e9f42b40f3480b SOURCES/FreeRDP-2.0.0-rc4.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7aad2fe --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/FreeRDP-2.0.0-rc4.tar.gz diff --git a/SOURCES/build-config.h b/SOURCES/build-config.h new file mode 100644 index 0000000..42c4a81 --- /dev/null +++ b/SOURCES/build-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "build-config-32.h" +#elif __WORDSIZE == 64 +#include "build-config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/SPECS/freerdp.spec b/SPECS/freerdp.spec new file mode 100644 index 0000000..ef091b9 --- /dev/null +++ b/SPECS/freerdp.spec @@ -0,0 +1,418 @@ +%global gittag 2.0.0-rc4 + +# 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} + +Name: freerdp +Version: 2.0.0 +Release: 1.rc4%{?dist} +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/%{gittag}/FreeRDP-%{gittag}.tar.gz +Source1: build-config.h + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: alsa-lib-devel +BuildRequires: cmake >= 2.8 +BuildRequires: cups-devel +BuildRequires: gsm-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: 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(openssl) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(xkbcommon) + +%{?_with_ffmpeg: +BuildRequires: pkgconfig(libavcodec) >= 57.48.101 +BuildRequires: pkgconfig(libavutil) +} + +Provides: xfreerdp = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: libwinpr%{?_isa} = %{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} = %{version}-%{release} +Obsoletes: %{name}-plugins < 2.0.0 +Provides: %{name}-plugins = %{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} = %{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} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{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 = %{version}-%{release} + +%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} = %{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-%{gittag} + +# 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_IPP=OFF \ + -DWITH_JPEG=ON \ + -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_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 \ +%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 %{?_smp_mflags} + +pushd winpr/tools/makecert-cli +make %{?_smp_mflags} +popd + +%install +%make_install +%make_install COMPONENT=tools + +find %{buildroot} -name "*.a" -delete + +# build-config.h is not multilib clean and multilib-rpm-config is not available +mv $RPM_BUILD_ROOT/%{_includedir}/freerdp2/freerdp/build-config.h $RPM_BUILD_ROOT/%{_includedir}/freerdp2/freerdp/build-config-`getconf LONG_BIT`.h +install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_includedir}/freerdp2/freerdp/ + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%post -n libwinpr -p /sbin/ldconfig + +%postun -n libwinpr -p /sbin/ldconfig + +%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 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-shadow-cli +%{_mandir}/man1/freerdp-shadow-cli.1.* +} + +%files -n libwinpr +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc README 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 +* Wed Feb 20 2019 Ondrej Holy - 2.0.0-1.rc4 +- Update to 2.0.0-rc4 (#1291254) + +* Wed Jan 31 2018 Ondrej Holy - 1.0.2-15 +- Fix smartcard usage in manpage (#1428041) + +* Thu Nov 23 2017 Ondrej Holy - 1.0.2-14 +- Add FIPS mode support (#1363811) + +* Thu Oct 5 2017 Ondrej Holy - 1.0.2-13 +- Fix NTLM on big endian (#1204742) +- Fix colors on big endian (#1308810) + +* Thu Sep 21 2017 Ondrej Holy - 1.0.2-12 +- Add description for available plugins (#1428041) + +* Thu Sep 7 2017 Ondrej Holy - 1.0.2-11 +- Use boolean types defined stdbool.h (#1404575) +- Prevent stucked keys on focus out and unmap events (#1415069) +- Fix crashes when copying images (#1417536) +- Enable TLS 1.1 connections and later (#1312967) + +* Mon Apr 18 2016 Ondrej Holy - 1.0.2-10 +- Add support for wildcard certificates (#1275241) + +* Wed Apr 6 2016 Ondrej Holy - 1.0.2-9 +- Fix crash if requested bitmap isn't in cache (#1311164) + +* Wed Apr 6 2016 Ondrej Holy - 1.0.2-8 +- Fix crash if pulseaudio device isn't specified (#1067543) + +* Fri Jan 15 2016 Ondrej Holy - 1.0.2-7 +- Fix crashes in pulseaudio +- Resolves: #1210049 + +* Thu Mar 19 2015 Ondrej Holy - 1.0.2-6 +- Fix crash during CA verification caused by invalid pointer dereference +- Resolves: #1186916 + +* Fri Jan 24 2014 Daniel Mach - 1.0.2-5 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 1.0.2-4 +- Mass rebuild 2013-12-27 + +* Thu Dec 19 2013 Soren Sandmann - 1.0.2-3 +- Man page fixes + - Document that multiple connections don't work (988294) + - Document the list of plugins (988307, 988308) + +* Wed Feb 13 2013 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 02 2013 Mads Kiilerich - 1.0.2-1 +- freerdp-1.0.2 + +* Sun Sep 30 2012 Mads Kiilerich - 1.0.1-7 +- merge f17 1.0.1-6 - Backport fix for bug 816692 + +* Thu Jul 19 2012 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 29 2012 Mads Kiilerich - 1.0.1-5 +- Use new upstream tar with standard naming +- Use _isa for subpackage dependencies + +* Tue Feb 28 2012 Mads Kiilerich - 1.0.1-4 +- Include patch for sending invalid extra data + +* Tue Feb 28 2012 Mads Kiilerich - 1.0.1-3 +- Install a freedesktop .desktop file and a high-res icon instead of relying on + _NET_WM_ICON + +* Sat Feb 25 2012 Mads Kiilerich - 1.0.1-2 +- Explicit build requirement for xmlto - needed for EL6 + +* Wed Feb 22 2012 Mads Kiilerich - 1.0.1-1 +- FreeRDP-1.0.1 - major upstream rewrite and relicensing under Apache license + +* Fri Jan 13 2012 Fedora Release Engineering - 0.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0.8.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 28 2011 Mads Kiilerich - 0.8.2-2 +- rebuild on rawhide because of broken dependencies + +* Tue Nov 16 2010 Mads Kiilerich - 0.8.2-1 +- freerdp-0.8.2 + +* Mon Nov 08 2010 Mads Kiilerich - 0.8.1-2 +- make -devel require pkgconfig +- first official Fedora package + +* Sun Nov 07 2010 Mads Kiilerich - 0.8.1-1 +- freerdp-0.8.1 + +* Sat Sep 25 2010 Mads Kiilerich - 0.7.4-2 +- hack the generated libtool to not set rpath on x86_64 +- configure with alsa explicitly + +* Tue Aug 24 2010 Mads Kiilerich - 0.7.4-1 +- freerdp-0.7.4 +- cleanup of packaging structure + +* Wed Jul 28 2010 Mads Kiilerich - 0.7.3-1 +- 0.7.3 +- fix some minor pylint warnings + +* Fri Jul 23 2010 Mads Kiilerich - 0.7.2-2 +- 0.7.2 +- Address many comments from cwickert: +- - cleanup of old formatting, alignment with spectemplate-lib.spec and + cwickert spec from #616193 +- - add alsa as build requirement +- - remove superfluous configure options and disable static libs +- - add missing rpm groups + +* Sun Jun 13 2010 Mads Kiilerich - 0.7.0-1 +- First official release, first review request