xrdp - nowy spec

Pawel Zuzelski z w grabina.waw.pl
¦ro, 23 Kwi 2008, 13:44:31 CEST


Witam,

przygotowałem speca z xrdp. Jest to linuksowy serwer remote desktop. W oparciu 
o xrdp można łatwo zbudować terminal serwer do którego będzie się można 
łączyć z Windowsów bez żadnego dodatkowego oprogramowania. Działa również z 
linuksowym rdesktopem.

Testowałem na Th/i686 oraz Ti/i686.

Mogę prosić o komentarz czy wszystko w specu jest prawidłowo zrobione? (-:

PS.: dzięki za wskazówki odnośnie wstawiania dokumentacji spoza paczki ze 
źródłami.

-- 
Pozdrawiam,
Paweł Zuzelski
-------------- nastêpna czê¶æ ---------
# $Revision: 1.2 $, $Date: 2007-10-15 22:23:24 $
#
Summary:	Remote desktop server
Summary(pl.UTF-8):	Serwer remote desktop
Name:		xrdp
Version:	0.4.0
Release:	1
License:	GPL
Group:		X11/Applications/Networking
Source0:	http://dl.sourceforge.net/xrdp/%{name}-%{version}.tar.gz
# Source0-md5:	dc83d149e385c4cd402d990695691f55
Source1:	%{name}-init
Source2:	%{name}-pam
Source3:	%{name}-xrdp.ini
Source4:	%{name}-sesman.ini
Source5:	%{name}-README.PLD
Patch0:		%{name}-paths.patch
Patch1:		%{name}-make.patch
URL:		http://xrdp.sourceforge.net/
BuildRequires:	pam-devel
Requires(post,preun):	/sbin/chkconfig
Requires:	tightvnc-server
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
xrdp is an open source Remote Desktop Protocol (rdp) server for
UNIX-like systems. It is capable of accepting connections from
rdesktop and Microsoft's own terminal server / remote desktop clients.

Unlike Windows NT/2000/2003 server, xrdp will not display a Windows
desktop but an X window desktop to the user.

Xrdp uses Xvnc or X11rdp backends to manage the X session.

%description -l pl.UTF-8
xrdp jest serwerem protokołu Remote Desktop (rdp) dlo systemów
UNIXowych. Program ten jest rozpowszechniany jako oprogramowanie open
source. Do xrdp można się łączyć zarówno programem rdesktop, jak i
klientami protokołu rdp Microsoftu.

%prep
%setup -q
%patch0 -p1
%patch1 -p1

install %{SOURCE5} README.PLD

%build
%{__make}

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_libdir}/xrdp,%{_sbindir},%{_docdir},%{_localstatedir}/run,%{_datadir}/%{name}} \
	$RPM_BUILD_ROOT%{_mandir}/man{5,8} \
	$RPM_BUILD_ROOT%{_sysconfdir}/{%{name},pam.d,rc.d/init.d} \
	$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/xrdp
install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/sesman
install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/xrdp.ini
install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/sesman.ini
install libxrdp/libxrdp.so $RPM_BUILD_ROOT%{_libdir}/libxrdp.so
install rdp/librdp.so $RPM_BUILD_ROOT%{_libdir}/xrdp/librdp.so
install sesman/sessvc $RPM_BUILD_ROOT%{_sbindir}/sessvc
install sesman/sesman $RPM_BUILD_ROOT%{_sbindir}/sesman
install sesman/startwm.sh $RPM_BUILD_ROOT%{_sbindir}/startwm.sh
install sesman/libscp/libscp.so $RPM_BUILD_ROOT%{_libdir}/libscp.so
install sesman/tools/sesrun $RPM_BUILD_ROOT%{_sbindir}/sesrun
install sesman/tools/sestest $RPM_BUILD_ROOT%{_sbindir}/sestest
install vnc/libvnc.so $RPM_BUILD_ROOT%{_libdir}/xrdp/libvnc.so
install xrdp/xrdp $RPM_BUILD_ROOT%{_sbindir}/xrdp
install xrdp/ad256.bmp $RPM_BUILD_ROOT%{_datadir}/%{name}/ad256.bmp
install xrdp/xrdp256.bmp $RPM_BUILD_ROOT%{_datadir}/%{name}/xrdp256.bmp
install xrdp/cursor0.cur $RPM_BUILD_ROOT%{_datadir}/%{name}/cursor0.cur
install xrdp/cursor1.cur $RPM_BUILD_ROOT%{_datadir}/%{name}/cursor1.cur
install xrdp/Tahoma-10.fv1 $RPM_BUILD_ROOT%{_datadir}/%{name}/Tahoma-10.fv1
install xrdp/rsakeys.ini $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/rsakeys.ini
install xup/libxup.so $RPM_BUILD_ROOT%{_libdir}/xrdp/libxup.so
install docs/man/sesman.8 $RPM_BUILD_ROOT%{_mandir}/man8/sesman.8
install docs/man/sesrun.8 $RPM_BUILD_ROOT%{_mandir}/man8/sesrun.8
install docs/man/xrdp.8 $RPM_BUILD_ROOT%{_mandir}/man8/xrdp.8
install docs/man/sesman.ini.5 $RPM_BUILD_ROOT%{_mandir}/man5/sesman.ini.5
install docs/man/xrdp.ini.5 $RPM_BUILD_ROOT%{_mandir}/man5/xrdp.ini.5

%post
	/sbin/ldconfig
	%service xrdp stop
	/sbin/chkconfig --add xrdp

%postun -p /sbin/ldconfig

%preun
if [ "$1" = "0" ]; then
	%service xrdp stop
	/sbin/chkconfig --del xrdp
fi


%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(644,root,root,755)
%doc *.txt
%doc README.PLD
%dir %{_sysconfdir}/%{name}
%dir %{_localstatedir}/run
%{_libdir}/libscp.so
%{_libdir}/libxrdp.so
%dir %{_libdir}/xrdp
%{_libdir}/xrdp/*
%dir %{_datadir}/xrdp
%{_datadir}/xrdp/*
%attr(755,root,root) %{_sbindir}/*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/sesman
%attr(754,root,root) /etc/rc.d/init.d/xrdp
%config(noreplace) %{_sysconfdir}/%{name}/xrdp.ini
%config(noreplace) %{_sysconfdir}/%{name}/rsakeys.ini
%config(noreplace) %{_sysconfdir}/%{name}/sesman.ini
%{_mandir}/man8/*
%{_mandir}/man5/*

%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback w pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org

$Log:$
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: xrdp-init
Type: application/x-shellscript
Size: 1520 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20080423/e6e13820/attachment.bin 
-------------- nastêpna czê¶æ ---------
=== Sesja: ===

Sesman, uruchamiając sesję użytkownika, korzysta ze skryptu
/etc/X11/xinit/Xclients. Dlatego, aby zmienić manager okien, najprościej
wpisać odpowiedni program w pliku ~/.desktop

Mozna również wskazać inny skrypt uruchamiający sesję Xów w konfiguracji
sesmana: /etc/xrdp/sesman.ini.

=== Uprawnieni użytkownicy: ===

Aby ograniczyć prawo do korzystania z xrdp do określonej grupy uzytkowników,
można wpisać tą grupę w pliku /etc/xrdp/sesman.ini w polu TerminalServerUsers.

=== Znane błędy: ===

Sesman nie potrafi uruchomić Xvnc, jeżeli pam korzysta z LDAPa.
-------------- nastêpna czê¶æ ---------
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=/etc/X11/xinit/Xclients
DefaultWindowManager=/etc/X11/xinit/Xclients

[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=users
TerminalServerAdmins=root

[Sessions]
MaxSessions=10
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0

[Logging]
LogFile=/dev/null
LogLevel=CORE
EnableSyslog=1
SyslogLevel=CORE

[X11rdp]
param1=-bs
param2=-ac

[Xvnc]
param1=-bs
param2=-ac
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: xrdp-paths.patch
Type: text/x-diff
Size: 2281 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20080423/e6e13820/attachment-0001.bin 
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: xrdp-make.patch
Type: text/x-diff
Size: 487 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20080423/e6e13820/attachment-0002.bin 
-------------- nastêpna czê¶æ ---------

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xrdp1]
name=sesman-Xvnc
lib=/usr/lib/xrdp/libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

[xrdp2]
name=console
lib=/usr/lib/xrdp/libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask

[xrdp3]
name=vnc-any
lib=/usr/lib/xrdp/libvnc.so
ip=ask
port=ask5900
username=na
password=ask

[xrdp4]
name=sesman-any
lib=/usr/lib/xrdp/libvnc.so
ip=ask
port=-1
username=ask
password=ask

[xrdp5]
name=rdp-any
lib=/usr/lib/xrdp/librdp.so
ip=ask
port=ask3389

[xrdp6]
name=sesman-X11rdp
lib=/usr/lib/xrdp/libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
-------------- nastêpna czê¶æ ---------
#%PAM-1.0
auth            required        pam_listfile.so item=user sense=deny file=/etc/security/blacklist.sesman onerr=succeed
auth            include         system-auth
account         include         system-auth
password        include         system-auth
session         include         system-auth


Wiêcej informacji o li¶cie dyskusyjnej pld-devel-pl