From 276e977598afa6dd44f4e44d107b98785beddb31 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Mon, 4 Jan 2021 17:48:16 +0100 Subject: [PATCH] - merged PLD changes, updated to 0.9.15 --- config.patch | 62 +++++++++++++---------- quiet.patch | 41 +++++++-------- xrdp.spec | 139 ++++++++++++++++++++++++++++++--------------------- 3 files changed, 137 insertions(+), 105 deletions(-) diff --git a/config.patch b/config.patch index 294c8cb..9a8ff29 100644 --- a/config.patch +++ b/config.patch @@ -1,6 +1,6 @@ -diff -ur xrdp-0.9.11.orig/sesman/sesman.ini xrdp-0.9.11/sesman/sesman.ini ---- xrdp-0.9.11.orig/sesman/sesman.ini 2019-08-19 17:41:37.000000000 +0200 -+++ xrdp-0.9.11/sesman/sesman.ini 2019-08-21 23:14:04.896000000 +0200 +diff -ur xrdp-0.9.15.orig/sesman/sesman.ini xrdp-0.9.15/sesman/sesman.ini +--- xrdp-0.9.15.orig/sesman/sesman.ini 2020-12-28 15:06:46.000000000 +0100 ++++ xrdp-0.9.15/sesman/sesman.ini 2021-01-04 00:09:55.106416646 +0100 @@ -12,13 +12,13 @@ ReconnectScript=reconnectwm.sh @@ -19,21 +19,26 @@ diff -ur xrdp-0.9.11.orig/sesman/sesman.ini xrdp-0.9.11/sesman/sesman.ini ; When RestrictOutboundClipboard=true clipboard from the ; server is not pushed to the client. RestrictOutboundClipboard=false -@@ -64,10 +64,10 @@ - Policy=Default +@@ -65,13 +65,13 @@ [Logging] + ; Note: Log levels can be any of: core, error, warning, info, debug, or trace -LogFile=xrdp-sesman.log --LogLevel=DEBUG +LogFile=/dev/null -+LogLevel=INFO - EnableSyslog=1 --SyslogLevel=DEBUG + LogLevel=INFO + EnableSyslog=true +-#SyslogLevel=INFO +-#EnableConsole=false +-#ConsoleLevel=INFO +-#EnableProcessId=false +SyslogLevel=INFO ++EnableConsole=false ++ConsoleLevel=INFO ++EnableProcessId=false - ; - ; Session definitions - startup command-line parameters for each session type -@@ -90,8 +90,8 @@ + [LoggingPerLogger] + ; Note: per logger configuration is only used in XRDP_DEBUG builds of XRDP. +@@ -101,8 +101,8 @@ param=-noreset param=-nolisten param=tcp @@ -44,9 +49,9 @@ diff -ur xrdp-0.9.11.orig/sesman/sesman.ini xrdp-0.9.11/sesman/sesman.ini [Xvnc] param=Xvnc -diff -ur xrdp-0.9.11.orig/xrdp/xrdp.ini xrdp-0.9.11/xrdp/xrdp.ini ---- xrdp-0.9.11.orig/xrdp/xrdp.ini 2019-08-19 17:41:37.000000000 +0200 -+++ xrdp-0.9.11/xrdp/xrdp.ini 2019-08-21 23:15:10.436000000 +0200 +diff -ur xrdp-0.9.15.orig/xrdp/xrdp.ini xrdp-0.9.15/xrdp/xrdp.ini +--- xrdp-0.9.15.orig/xrdp/xrdp.ini 2020-12-28 15:06:46.000000000 +0100 ++++ xrdp-0.9.15/xrdp/xrdp.ini 2021-01-04 00:10:37.448416646 +0100 @@ -5,6 +5,9 @@ ; fork a new process for each incoming connection fork=true @@ -57,21 +62,26 @@ diff -ur xrdp-0.9.11.orig/xrdp/xrdp.ini xrdp-0.9.11/xrdp/xrdp.ini ; ports to listen on, number alone means listen on all interfaces ; 0.0.0.0 or :: if ipv6 is configured ; space between multiple occurrences -@@ -143,10 +146,10 @@ - ls_btn_cancel_height=30 +@@ -151,13 +154,13 @@ [Logging] + ; Note: Log levels can be any of: core, error, warning, info, debug, or trace -LogFile=xrdp.log --LogLevel=DEBUG +LogFile=/dev/null -+LogLevel=INFO + LogLevel=INFO EnableSyslog=true --SyslogLevel=DEBUG +-#SyslogLevel=INFO +-#EnableConsole=false +-#ConsoleLevel=INFO +-#EnableProcessId=false +SyslogLevel=INFO - ; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug ++EnableConsole=false ++ConsoleLevel=INFO ++EnableProcessId=false - [Channels] -@@ -178,14 +181,15 @@ + [LoggingPerLogger] + ; Note: per logger configuration is only used in XRDP_DEBUG builds of XRDP. +@@ -193,14 +196,15 @@ ; Some session types such as Xorg, X11rdp and Xvnc start a display server. ; Startup command-line parameters for the display server are configured ; in sesman.ini. See and configure also sesman.ini. @@ -95,9 +105,9 @@ diff -ur xrdp-0.9.11.orig/xrdp/xrdp.ini xrdp-0.9.11/xrdp/xrdp.ini [Xvnc] name=Xvnc -@@ -197,25 +201,25 @@ - #xserverbpp=24 - #delay_ms=2000 +@@ -216,25 +220,25 @@ + #disabled_encodings_mask=0 + -[vnc-any] -name=vnc-any diff --git a/quiet.patch b/quiet.patch index 95ccf88..185ad9f 100644 --- a/quiet.patch +++ b/quiet.patch @@ -1,33 +1,28 @@ -diff -ur xrdp-0.9.11.orig/common/log.c xrdp-0.9.11/common/log.c ---- xrdp-0.9.11.orig/common/log.c 2019-03-25 03:34:16.000000000 +0100 -+++ xrdp-0.9.11/common/log.c 2019-08-21 23:15:55.763000000 +0200 -@@ -382,11 +382,11 @@ - /* try to create path if not exist */ - g_create_path(lc->log_file); +diff -ur xrdp-0.9.15.orig/common/log.c xrdp-0.9.15/common/log.c +--- xrdp-0.9.15.orig/common/log.c 2020-12-28 15:03:43.000000000 +0100 ++++ xrdp-0.9.15/common/log.c 2021-01-04 00:24:03.750416646 +0100 +@@ -304,7 +304,7 @@ + lc->console_level = LOG_LEVEL_INFO; + lc->enable_syslog = 0; + lc->syslog_level = LOG_LEVEL_INFO; +- lc->dump_on_start = 1; ++ lc->dump_on_start = 0; + lc->enable_pid = 0; -- g_printf("logging configuration:\r\n"); -+ /*g_printf("logging configuration:\r\n"); - g_printf("\tLogFile: %s\r\n", lc->log_file); - g_printf("\tLogLevel: %i\r\n", lc->log_level); - g_printf("\tEnableSyslog: %i\r\n", lc->enable_syslog); -- g_printf("\tSyslogLevel: %i\r\n", lc->syslog_level); -+ g_printf("\tSyslogLevel: %i\r\n", lc->syslog_level);*/ - return LOG_STARTUP_OK; - } + g_snprintf(section_name, 511, "%s%s", section_prefix, SESMAN_CFG_LOGGING); +diff -ur xrdp-0.9.15.orig/xrdp/xrdp.c xrdp-0.9.15/xrdp/xrdp.c +--- xrdp-0.9.15.orig/xrdp/xrdp.c 2020-12-28 15:03:43.000000000 +0100 ++++ xrdp-0.9.15/xrdp/xrdp.c 2021-01-04 00:12:20.438416646 +0100 +@@ -503,7 +503,7 @@ -diff -ur xrdp-0.9.11.orig/xrdp/xrdp.c xrdp-0.9.11/xrdp/xrdp.c ---- xrdp-0.9.11.orig/xrdp/xrdp.c 2019-08-19 17:39:17.000000000 +0200 -+++ xrdp-0.9.11/xrdp/xrdp.c 2019-08-21 23:16:41.256000000 +0200 -@@ -475,7 +475,7 @@ - - if (startup_params->kill) + if (startup_params.kill) { - g_writeln("stopping xrdp"); + /*g_writeln("stopping xrdp");*/ /* read the xrdp.pid file */ fd = -1; -@@ -493,7 +493,7 @@ +@@ -521,7 +521,7 @@ g_memset(text, 0, 32); g_file_read(fd, text, 31); pid = g_atoi(text); @@ -36,7 +31,7 @@ diff -ur xrdp-0.9.11.orig/xrdp/xrdp.c xrdp-0.9.11/xrdp/xrdp.c if (pid > 0) { -@@ -597,7 +597,7 @@ +@@ -626,7 +626,7 @@ if (0 != pid) { diff --git a/xrdp.spec b/xrdp.spec index 148f518..a1f54d9 100644 --- a/xrdp.spec +++ b/xrdp.spec @@ -1,12 +1,13 @@ Summary: Remote desktop server Summary(pl.UTF-8): Serwer remote desktop Name: xrdp -Version: 0.9.13.1 +Version: 0.9.15 Release: 1 -License: GPL +License: Apache v2.0 Group: X11/Applications/Networking +#Source0Download: https://github.com/neutrinolabs/xrdp/releases Source0: https://github.com/neutrinolabs/xrdp/releases/download/v%{version}/%{name}-%{version}.tar.gz -# Source0-md5: dd71904c960172e1dec80839ae25626d +# Source0-md5: e5396685a0b07900975c9a7e9b8dd6dc Source1: %{name}.init Source2: %{name}.pamd Source3: %{name}.README.TLD @@ -14,21 +15,36 @@ Source4: %{name}.README.TLD.pl Source5: startwm.sh Patch0: config.patch Patch1: quiet.patch -URL: http://www.xrdp.org/ -BuildRequires: autoconf -BuildRequires: automake +Patch2: x32.patch +URL: http://xrdp.org/ +BuildRequires: autoconf >= 2.65 +BuildRequires: automake >= 1:1.7.2 +BuildRequires: fdk-aac-devel >= 0.1.0 +BuildRequires: lame-libs-devel +BuildRequires: libfuse-devel >= 2.6 +BuildRequires: libjpeg-turbo-devel BuildRequires: libtool -BuildRequires: openssl-devel +BuildRequires: openssl-devel >= 0.9.8 +BuildRequires: opus-devel BuildRequires: pam-devel +BuildRequires: pixman-devel >= 0.1.0 +BuildRequires: pkgconfig BuildRequires: rpmbuild(macros) >= 1.268 -Requires: xrdp-libs = %{version}-%{release} +BuildRequires: xorg-lib-libX11-devel +BuildRequires: xorg-lib-libXfixes-devel +BuildRequires: xorg-lib-libXrandr-devel Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires: %{name}-libs = %{version}-%{release} Requires: /usr/bin/Xvnc +Requires: fdk-aac >= 0.1.0 +Requires: libfuse >= 2.6 +Requires: openssl >= 0.9.8 +Requires: pixman >= 0.1.0 Requires: rc-scripts Requires: xinitrc-ng -Requires(postun): /usr/sbin/groupdel -Requires(pre): /usr/bin/getgid -Requires(pre): /usr/sbin/groupadd BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -48,47 +64,46 @@ klientami protokołu rdp Microsoftu. xrdp używa jako backendu Xvnc lub X11rdp. -%package -n xrdp-libs -Summary: xrdp shared libraries -Summary(pl.UTF-8): Biblioteki współdzielone xrdp -Group: Libraries -Requires(post,postun): /sbin/ldconfig +%package libs +Summary: xrdp shared libraries +Summary(pl.UTF-8): Biblioteki współdzielone xrdp +Group: Libraries -%description -n xrdp-libs +%description libs xrdp shared libraries. -%description -n xrdp-libs -l pl.UTF-8 +%description libs -l pl.UTF-8 Biblioteki współdzielone xrdp. -%package -n xrdp-devel -Summary: Header files for xrdp libraries -Summary(pl.UTF-8): Pliki nagłówkowe bibliotek xrdp -Group: Development/Libraries -Requires: xrdp-libs = %{version}-%{release} +%package devel +Summary: Header files for xrdp libraries +Summary(pl.UTF-8): Pliki nagłówkowe bibliotek xrdp +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} -%description -n xrdp-devel +%description devel Header files for xrdp libraries. -%description -n xrdp-devel -l pl.UTF-8 +%description devel -l pl.UTF-8 Pliki nagłówkowe bibliotek xrdp. -%package -n xrdp-static -Summary: Static xrdp libraries -Summary(pl.UTF-8): Statyczne biblioteki xrdp -License: LGPL v2.1 -Group: Development/Libraries -Requires: xrdp-devel = %{version}-%{release} +%package static +Summary: Static xrdp libraries +Summary(pl.UTF-8): Statyczne biblioteki xrdp +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} -%description -n xrdp-static +%description static Static xrdp libraries. -%description -n xrdp-static -l pl.UTF-8 +%description static -l pl.UTF-8 Statyczne biblioteki xrdp. %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 install %{SOURCE3} README.TLD install %{SOURCE4} README.TLD.pl @@ -99,26 +114,43 @@ install %{SOURCE4} README.TLD.pl %{__autoconf} %{__autoheader} %{__automake} -%configure -%{__make} +cd librfxcodec +%{__libtoolize} +%{__aclocal} -I m4 +%{__autoconf} +%{__autoheader} +%{__automake} +cd .. +%configure \ + --enable-fdkaac \ + --enable-fuse \ + --enable-mp3lame \ + --enable-opus \ + --enable-pam-config=redhat \ + --enable-pixman \ + --enable-tjpeg +%{__make} V=1 %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},pam.d,rc.d/init.d,security} +install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},/etc/{pam.d,rc.d/init.d,security}} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/xrdp -install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/sesman -%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/xrdp-sesman -%{__ln} -s sesman $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/xrdp-sesman -%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib*.{a,la} -%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/xrdp/startwm.sh -install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/xrdp/startwm.sh - +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/xrdp +install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/sesman +%{__rm} $RPM_BUILD_ROOT/etc/pam.d/xrdp-sesman +%{__ln_s} sesman $RPM_BUILD_ROOT/etc/pam.d/xrdp-sesman :> $RPM_BUILD_ROOT/etc/security/blacklist.sesman +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/startwm.sh +install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/startwm.sh + +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib*.{a,la} +# obsoleted by pkg-config +%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la + %pre %groupadd -g 183 xrdp @@ -140,8 +172,8 @@ fi %clean rm -rf $RPM_BUILD_ROOT -%post -n xrdp-libs -p /sbin/ldconfig -%postun -n xrdp-libs -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %files %defattr(644,root,root,755) @@ -202,21 +234,16 @@ rm -rf $RPM_BUILD_ROOT %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libpainter.so.*.* -%attr(755,root,root) %{_libdir}/librfxencode.so.*.* +%attr(755,root,root) %{_libdir}/libpainter.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpainter.so.0 +%attr(755,root,root) %{_libdir}/librfxencode.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/librfxencode.so.0 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpainter.so %attr(755,root,root) %{_libdir}/librfxencode.so -%{_includedir}/ms-erref.h -%{_includedir}/ms-fscc.h -%{_includedir}/ms-rdpbcgr.h -%{_includedir}/ms-rdpefs.h -%{_includedir}/ms-rdpegdi.h -%{_includedir}/ms-rdpele.h -%{_includedir}/ms-rdperp.h -%{_includedir}/ms-smb2.h +%{_includedir}/ms-*.h %{_includedir}/painter.h %{_includedir}/rfxcodec_common.h %{_includedir}/rfxcodec_decode.h -- 2.46.0