Summary: Open source remote desktop protocol (RDP) server Name: xrdp Epoch: 1 Version: 0.9.1 Release: %mkrel 3 License: ASL 2.0 Group: Networking/Remote access URL: http://www.xrdp.org/ Source0: https://github.com/neutrinolabs/xrdp/releases/download/v%{version}/xrdp-%{version}.tar.gz Source1: xrdp-sesman.pamd Source2: xrdp.sysconfig Source3: xrdp.logrotate Source4: openssl.conf Patch0: xrdp-0.9.1-sesman.patch Patch1: xrdp-0.9.1-xrdp-ini.patch Patch2: xrdp-0.9.1-service.patch Patch3: xrdp-0.9.1-fastpath.patch # https://github.com/neutrinolabs/xrdp/pull/695 Patch4: 5c8f050c1ac8a35209c73f961bee918fa2b4646d.patch BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xrandr) BuildRequires: openssl BuildRequires: pam-devel BuildRequires: pkgconfig(fuse) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(glib-2.0) # tigervnc-server-minimal provides Xvnc (default for now) Requires: tigervnc-server Requires: xinitrc Requires(post): rpm-helper >= %{rpmhelper_required_version} Requires(preun): rpm-helper >= %{rpmhelper_required_version} Requires(posttrans): openssl %description xrdp provides a fully functional RDP server compatible with a wide range of RDP clients, including FreeRDP and Microsoft RDP client. %package devel Summary: Headers and pkg-config files needed to compile xrdp backends %description devel This package contains headers necessary for developing xrdp backends that talk to xrdp. %prep %autosetup -p1 # create 'bash -l' based startwm, to pick up PATH etc. echo '#!/bin/bash -l . %{_sysconfdir}/xrdp/startwm.sh' > sesman/startwm-bash.sh %build %configure2_5x --enable-fuse --enable-pixman --enable-painter %make_build %install %make_install #remove .la and .a files find %{buildroot} -name '*.a' -exec rm {} \; find %{buildroot} -name '*.la' -exec rm {} \; # remove libpainter devel files rm -f %{buildroot}%{_includedir}/painter.h %{buildroot}%{_libdir}/libpainter.* %{buildroot}%{_libdir}/pkgconfig/libpainter.pc # remove .so files for non-modules rm -f %{buildroot}%{_libdir}/xrdp/libcommon.so %{buildroot}%{_libdir}/xrdp/libscp.so %{buildroot}%{_libdir}/xrdp/libxrdp.so %{buildroot}%{_libdir}/xrdp/libxrdpapi.so #install sesman pam config /etc/pam.d/xrdp-sesman %{__install} -Dp -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/xrdp-sesman #install xrdp sysconfig /etc/sysconfig/xrdp %{__install} -Dp -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/xrdp #install logrotate /etc/logrotate.d/xrdp %{__install} -Dp -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/xrdp #install openssl.conf /etc/xrdp %{__install} -Dp -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/xrdp/openssl.conf #install 'bash -l' startwm script %{__install} -Dp -m 755 sesman/startwm-bash.sh %{buildroot}%{_sysconfdir}/xrdp/startwm-bash.sh %post %_create_ssl_certificate %{name} %_post_service %{name} %preun %_preun_service %{name} %posttrans if [ ! -s %{_sysconfdir}/xrdp/rsakeys.ini ]; then (umask 377; %{_bindir}/xrdp-keygen xrdp %{_sysconfdir}/xrdp/rsakeys.ini >/dev/null) fi chmod 400 %{_sysconfdir}/xrdp/rsakeys.ini if [ ! -s %{_sysconfdir}/xrdp/cert.pem ]; then (umask 377; openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ -keyout %{_sysconfdir}/xrdp/key.pem \ -out %{_sysconfdir}/xrdp/cert.pem \ -config %{_sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1) fi chmod 400 %{_sysconfdir}/xrdp/cert.pem chmod 400 %{_sysconfdir}/xrdp/key.pem %files %doc COPYING *.txt %dir %{_libdir}/xrdp %dir %{_sysconfdir}/xrdp %dir %{_sysconfdir}/xrdp/pulse %dir %{_datadir}/xrdp %config(noreplace) %{_sysconfdir}/xrdp/xrdp.ini %config(noreplace) %{_sysconfdir}/pam.d/xrdp-sesman %config(noreplace) %{_sysconfdir}/logrotate.d/xrdp %config(noreplace) %{_sysconfdir}/sysconfig/xrdp %config(noreplace) %{_sysconfdir}/xrdp/sesman.ini %exclude %{_sysconfdir}/xrdp/*.sh %exclude %ghost %{_sysconfdir}/xrdp/*.pem %exclude %ghost %{_sysconfdir}/xrdp/rsakeys.ini %{_sysconfdir}/xrdp/km*.ini %{_sysconfdir}/xrdp/openssl.conf %{_sysconfdir}/xrdp/startwm*.sh %{_sysconfdir}/xrdp/xrdp_keyboard.ini %{_bindir}/xrdp-genkeymap %{_bindir}/xrdp-sesadmin %{_bindir}/xrdp-keygen %{_bindir}/xrdp-sesrun %{_bindir}/xrdp-dis %{_sbindir}/xrdp-chansrv %{_sbindir}/xrdp %{_sbindir}/xrdp-sesman %{_sbindir}/xrdp-sessvc %{_datadir}/xrdp/ad256.bmp %{_datadir}/xrdp/cursor0.cur %{_datadir}/xrdp/cursor1.cur %{_datadir}/xrdp/xrdp256.bmp %{_datadir}/xrdp/sans-10.fv1 %{_datadir}/xrdp/ad24b.bmp %{_datadir}/xrdp/xrdp24b.bmp %{_datadir}/xrdp/xrdp_logo.bmp %{_mandir}/man5/* %{_mandir}/man8/* %{_mandir}/man1/* %{_libdir}/xrdp/lib*.so.* %{_libdir}/xrdp/libmc.so %{_libdir}/xrdp/librdp.so %{_libdir}/xrdp/libvnc.so %{_libdir}/xrdp/libxup.so %{_sysconfdir}/xrdp/pulse/default.pa %{_unitdir}/xrdp-sesman.service %{_unitdir}/xrdp.service %ghost %{_localstatedir}/log/xrdp.log %ghost %{_localstatedir}/log/xrdp-sesman.log %attr(0600,root,root) %verify(not size md5 mtime) %{_sysconfdir}/xrdp/rsakeys.ini %files devel %{_includedir}/xrdp* %{_libdir}/pkgconfig/xrdp.pc