1 |
Summary: Open source remote desktop protocol (RDP) server |
2 |
Name: xrdp |
3 |
Epoch: 1 |
4 |
Version: 0.9.0 |
5 |
Release: %mkrel 1 |
6 |
License: GPLv2+ with exceptions |
7 |
Group: Applications/Internet |
8 |
URL: http://xrdp.sourceforge.net/ |
9 |
Source0: http://sourceforge.net/projects/xrdp/files/xrdp/%{version}/xrdp-%{version}.tar.gz |
10 |
Source1: xrdp-sesman.pamd |
11 |
Source2: xrdp.sysconfig |
12 |
Source3: xrdp.logrotate |
13 |
|
14 |
Patch0: xrdp-0.9.0-sesman.patch |
15 |
Patch1: xrdp-0.9.0-service.patch |
16 |
Patch2: xrdp-0.9.0-link-errors.patch |
17 |
Patch3: xrdp-0.9.0-xup-zero-payload.patch |
18 |
Patch4: xrdp-0.9.0-mstsc-multimon-fix.patch |
19 |
|
20 |
BuildRequires: pam-devel |
21 |
BuildRequires: openssl-devel |
22 |
BuildRequires: autoconf |
23 |
BuildRequires: automake |
24 |
BuildRequires: libtool |
25 |
Buildrequires: pkgconfig(x11) |
26 |
BuildRequires: pkgconfig(xfixes) |
27 |
BuildRequires: pkgconfig(xrandr) |
28 |
BuildRequires: pkgconfig(systemd) |
29 |
|
30 |
|
31 |
#vnc-server provides Xvnc (tigervnc-server in fedora) |
32 |
Requires: tigervnc-server |
33 |
|
34 |
Requires(post): rpm-helper >= %{rpmhelper_required_version} |
35 |
Requires(preun): rpm-helper >= %{rpmhelper_required_version} |
36 |
|
37 |
|
38 |
%description |
39 |
The goal of this project is to provide a fully functional Linux terminal |
40 |
server, capable of accepting connections from rdesktop and Microsoft's own |
41 |
terminal server / remote desktop clients. |
42 |
|
43 |
%prep |
44 |
%setup -q -n %{name}-%{version} |
45 |
%patch0 -p1 -b .sesman |
46 |
%patch1 -p1 -b .service |
47 |
%patch2 -p1 -b .link-dl |
48 |
%patch3 -p1 -b .zero |
49 |
%patch4 -p1 -b .multimon |
50 |
|
51 |
# never hardcode rpaths |
52 |
%{__sed} -i -e 's/^\(AM_CONDITIONAL(GOT_PREFIX,\).*$/\1 false)/' configure.ac |
53 |
|
54 |
# remove unused modules from xrdp login combobox |
55 |
%{__sed} -i -e '/\[xrdp1\]/,$d' xrdp/xrdp.ini |
56 |
|
57 |
echo " |
58 |
[xrdp1] |
59 |
name=sesman-Xvnc |
60 |
lib=libvnc.so |
61 |
username=ask |
62 |
password=ask |
63 |
ip=127.0.0.1 |
64 |
port=-1 |
65 |
delay_ms=2000 |
66 |
" >> xrdp/xrdp.ini |
67 |
|
68 |
sed -i -e 's|certificate=.*$|certificate=%{_sysconfdir}/pki/certs/%{name}.pem|' -e 's|key_file=.*$|key_file=%{_sysconfdir}/pki/tls/private/%{name}.pem|' xrdp/xrdp.ini |
69 |
|
70 |
#Low is 40 bit key and everything from client to server is encrypted. |
71 |
#Medium is 40 bit key, everything both ways is encrypted. |
72 |
#High is 128 bit key everything both ways is encrypted. |
73 |
|
74 |
# increase encryption to 128 bit's |
75 |
%{__sed} -i 's/crypt_level=low/crypt_level=high/g' xrdp/xrdp.ini |
76 |
|
77 |
# create 'bash -l' based startwm, to pick up PATH etc. |
78 |
echo '#!/bin/bash -l |
79 |
. %{_sysconfdir}/xrdp/startwm.sh' > sesman/startwm-bash.sh |
80 |
|
81 |
%build |
82 |
./bootstrap |
83 |
|
84 |
%configure |
85 |
%make |
86 |
|
87 |
%install |
88 |
%make_install |
89 |
|
90 |
#remove .la and .a files |
91 |
find %{buildroot} -name '*.a' -exec rm {} \; |
92 |
find %{buildroot} -name '*.la' -exec rm {} \; |
93 |
|
94 |
#install sesman pam config /etc/pam.d/xrdp-sesman |
95 |
%{__install} -Dp -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/xrdp-sesman |
96 |
|
97 |
#install xrdp sysconfig /etc/sysconfig/xrdp |
98 |
%{__install} -Dp -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/xrdp |
99 |
|
100 |
#install logrotate /etc/logrotate.d/xrdp |
101 |
%{__install} -Dp -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/xrdp |
102 |
|
103 |
#install log file /var/log/xrdp-sesman.log |
104 |
%{__mkdir} -p %{buildroot}%{_localstatedir}/log/ |
105 |
touch %{buildroot}%{_localstatedir}/log/xrdp-sesman.log |
106 |
|
107 |
#install 'bash -l' startwm script |
108 |
%{__install} -Dp -m 755 sesman/startwm-bash.sh %{buildroot}%{_sysconfdir}/xrdp/startwm-bash.sh |
109 |
|
110 |
#rsakeys.ini |
111 |
touch %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini |
112 |
%{__chmod} 0600 %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini |
113 |
|
114 |
|
115 |
%post |
116 |
%_create_ssl_certificate %{name} |
117 |
%_post_service %{name} |
118 |
|
119 |
xrdp-keygen xrdp %{_sysconfdir}/xrdp/rsakeys.ini > /dev/null |
120 |
%{__chmod} 0600 %{_sysconfdir}/xrdp/rsakeys.ini |
121 |
|
122 |
%preun |
123 |
%_preun_service %{name} |
124 |
|
125 |
|
126 |
%files |
127 |
%doc COPYING *.txt |
128 |
%dir %{_libdir}/xrdp |
129 |
%dir %{_sysconfdir}/xrdp |
130 |
%dir %{_sysconfdir}/xrdp/pulse |
131 |
%dir %{_datadir}/xrdp |
132 |
%config(noreplace) %{_sysconfdir}/xrdp/xrdp.ini |
133 |
%config(noreplace) %{_sysconfdir}/pam.d/xrdp-sesman |
134 |
%config(noreplace) %{_sysconfdir}/logrotate.d/xrdp |
135 |
%config(noreplace) %{_sysconfdir}/sysconfig/xrdp |
136 |
%config(noreplace) %{_sysconfdir}/xrdp/sesman.ini |
137 |
%{_sysconfdir}/xrdp/*.sh |
138 |
%{_sysconfdir}/xrdp/km*.ini |
139 |
%{_sysconfdir}/xrdp/xrdp_keyboard.ini |
140 |
%{_bindir}/xrdp-genkeymap |
141 |
%{_bindir}/xrdp-sesadmin |
142 |
%{_bindir}/xrdp-keygen |
143 |
%{_bindir}/xrdp-sesrun |
144 |
# %{_bindir}/xrdp-sestest |
145 |
%{_bindir}/xrdp-dis |
146 |
%{_sbindir}/xrdp-chansrv |
147 |
%{_sbindir}/xrdp |
148 |
%{_sbindir}/xrdp-sesman |
149 |
%{_sbindir}/xrdp-sessvc |
150 |
%{_datadir}/xrdp/ad256.bmp |
151 |
%{_datadir}/xrdp/cursor0.cur |
152 |
%{_datadir}/xrdp/cursor1.cur |
153 |
%{_datadir}/xrdp/xrdp256.bmp |
154 |
%{_datadir}/xrdp/sans-10.fv1 |
155 |
%{_datadir}/xrdp/ad24b.bmp |
156 |
%{_datadir}/xrdp/xrdp24b.bmp |
157 |
%{_datadir}/xrdp/xrdp_logo.bmp |
158 |
%{_mandir}/man5/* |
159 |
%{_mandir}/man8/* |
160 |
%{_mandir}/man1/* |
161 |
%{_libdir}/xrdp/lib*.so.* |
162 |
%{_libdir}/xrdp/libcommon.so |
163 |
%{_libdir}/xrdp/libmc.so |
164 |
%{_libdir}/xrdp/librdp.so |
165 |
%{_libdir}/xrdp/libscp.so |
166 |
%{_libdir}/xrdp/libvnc.so |
167 |
%{_libdir}/xrdp/libxrdp.so |
168 |
%{_libdir}/xrdp/libxup.so |
169 |
%{_libdir}/xrdp/libxrdpapi.so |
170 |
%{_sysconfdir}/xrdp/pulse/default.pa |
171 |
%{_unitdir}/xrdp-sesman.service |
172 |
%{_unitdir}/xrdp.service |
173 |
|
174 |
%ghost %{_localstatedir}/log/xrdp-sesman.log |
175 |
%attr(0600,root,root) %verify(not size md5 mtime) %{_sysconfdir}/xrdp/rsakeys.ini |