diff options
author | Alejandro Pulver <alepulver@FreeBSD.org> | 2007-05-04 01:12:47 +0000 |
---|---|---|
committer | Alejandro Pulver <alepulver@FreeBSD.org> | 2007-05-04 01:12:47 +0000 |
commit | e79433c0f899846daf0282e77fe70f9709b5afd8 (patch) | |
tree | df3af8fa253a95bb54509b6761352f6e7dccb6fa /net | |
parent | 712fa43306482b087637742ee3fbba6a703dcb15 (diff) | |
download | freebsd-ports-e79433c0f899846daf0282e77fe70f9709b5afd8.zip |
Based on the work of rdesktop, xrdp uses the remote desktop protocol to
present a GUI to the user.
The goal of this project is to provide a fully functional Linux terminal
server, 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 to manage the X session.
WWW: http://xrdp.sourceforge.net/
Diffstat (limited to 'net')
-rw-r--r-- | net/Makefile | 1 | ||||
-rw-r--r-- | net/xrdp/Makefile | 52 | ||||
-rw-r--r-- | net/xrdp/distinfo | 3 | ||||
-rw-r--r-- | net/xrdp/files/patch-Makefile | 29 | ||||
-rw-r--r-- | net/xrdp/files/patch-docs__Makefile | 18 | ||||
-rw-r--r-- | net/xrdp/files/patch-sesman__Makefile | 27 | ||||
-rw-r--r-- | net/xrdp/files/patch-sesman__config.c | 20 | ||||
-rw-r--r-- | net/xrdp/files/patch-xrdp__Makefile | 35 | ||||
-rw-r--r-- | net/xrdp/files/pkg-message.in | 19 | ||||
-rw-r--r-- | net/xrdp/files/xrdp.in | 53 | ||||
-rw-r--r-- | net/xrdp/pkg-descr | 13 | ||||
-rw-r--r-- | net/xrdp/pkg-plist | 25 |
12 files changed, 295 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile index 2d95335a0845..18ac5f7c4c04 100644 --- a/net/Makefile +++ b/net/Makefile @@ -945,6 +945,7 @@ SUBDIR += xprobe SUBDIR += xpvm SUBDIR += xrdesktop + SUBDIR += xrdp SUBDIR += xsmbrowser SUBDIR += xtraceroute SUBDIR += xwhois diff --git a/net/xrdp/Makefile b/net/xrdp/Makefile new file mode 100644 index 000000000000..159daf9b387a --- /dev/null +++ b/net/xrdp/Makefile @@ -0,0 +1,52 @@ +# New ports collection makefile for: xrdp +# Date created: 2007-02-19 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= xrdp +PORTVERSION= 0.3.2 +CATEGORIES= net +MASTER_SITES= SF + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= An open source Remote Desktop Protocol (RDP) server + +USE_RC_SUBR= xrdp + +.if defined(WITH_DEBUG) +CFLAGS+= -DXRDP_DEBUG +.endif + +MAN5= xrdp_sesman.ini.5 xrdp.ini.5 +MAN8= xrdp_sesman.8 xrdp_sesrun.8 xrdp.8 + +SUB_FILES= pkg-message + +post-patch: + @${FIND} ${WRKSRC} -type f -name Makefile | \ + ${XARGS} ${REINPLACE_CMD} -e \ + 's|/usr/local/xrdp|${PREFIX}/lib/${PORTNAME}|; \ + s|/etc/xrdp|${PREFIX}/etc/${PORTNAME}|; \ + s|/usr/local/man|${MANPREFIX}/man|; \ + s|/usr/doc/xrdp|${DOCSDIR}|; \ + s|CFLAGS =|CFLAGS +=|; s|gcc|${CC}|; s|-ldl||' + @${REINPLACE_CMD} -e \ + 's|startwm\.sh|${PREFIX}/lib/${PORTNAME}/&|; \ + s|\./sesman\.log|/var/log/xrdp_sesman.log|' \ + ${WRKSRC}/sesman/sesman.ini + @${REINPLACE_CMD} -e 's|Tahoma-10\.fv1|${PREFIX}/lib/${PORTNAME}/&|' \ + ${WRKSRC}/xrdp/xrdp_font.c + @${REINPLACE_CMD} -Ee \ + 's,(xrdp|ad)256\.bmp,${PREFIX}/lib/${PORTNAME}/&,' \ + ${WRKSRC}/xrdp/xrdp_login_wnd.c + @${REINPLACE_CMD} -e 's|cursor[01]\.cur|${PREFIX}/lib/${PORTNAME}/&|' \ + ${WRKSRC}/xrdp/xrdp_wm.c + @${REINPLACE_CMD} -Ee 's|/(etc/pam\.d/)(sesman)|${PREFIX}/\1xrdp_\2|' \ + ${WRKSRC}/sesman/verify_user_pam.c + +post-install: + @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD} + +.include <bsd.port.mk> diff --git a/net/xrdp/distinfo b/net/xrdp/distinfo new file mode 100644 index 000000000000..dd5f3b3f8d17 --- /dev/null +++ b/net/xrdp/distinfo @@ -0,0 +1,3 @@ +MD5 (xrdp-0.3.2.tar.gz) = 6953cecc5ebb5d272403a41e8f5d82b1 +SHA256 (xrdp-0.3.2.tar.gz) = c15f4f84ceb209e7673d48b4718d754b7be8e4c65c6f6e4a31ffec29efa64e1a +SIZE (xrdp-0.3.2.tar.gz) = 164273 diff --git a/net/xrdp/files/patch-Makefile b/net/xrdp/files/patch-Makefile new file mode 100644 index 000000000000..8af01d1911a2 --- /dev/null +++ b/net/xrdp/files/patch-Makefile @@ -0,0 +1,29 @@ +--- ./Makefile.orig Fri Mar 3 22:02:01 2006 ++++ ./Makefile Sun Apr 29 12:42:28 2007 +@@ -3,7 +3,6 @@ + CFGDIR = /etc/xrdp + PIDDIR = /var/run + MANDIR = /usr/local/man +-DOCDIR = /usr/doc/xrdp + + all: world + +@@ -38,7 +37,6 @@ + mkdir -p $(CFGDIR) + mkdir -p $(PIDDIR) + mkdir -p $(MANDIR) +- mkdir -p $(DOCDIR) + make -C vnc install + make -C libxrdp install + make -C xrdp install +@@ -46,9 +44,7 @@ + make -C sesman install + make -C xup install + make -C docs install +- if [ -d /etc/pam.d ]; then install instfiles/pam.d/sesman /etc/pam.d/sesman; fi +- install instfiles/xrdpstart.sh $(DESTDIR)/xrdpstart.sh +- install instfiles/xrdp_control.sh $(DESTDIR)/xrdp_control.sh ++ if [ -d $(PREFIX)/etc/pam.d ]; then $(BSD_INSTALL_DATA) instfiles/pam.d/sesman $(PREFIX)/etc/pam.d/xrdp_sesman; fi + + installdeb: + mkdir -p $(DESTDIRDEB)/usr/xrdp diff --git a/net/xrdp/files/patch-docs__Makefile b/net/xrdp/files/patch-docs__Makefile new file mode 100644 index 000000000000..b2fff2d45be2 --- /dev/null +++ b/net/xrdp/files/patch-docs__Makefile @@ -0,0 +1,18 @@ +--- ./docs/Makefile.orig Fri Mar 3 22:02:02 2006 ++++ ./docs/Makefile Sun Apr 29 12:42:28 2007 +@@ -10,10 +10,8 @@ + world: + + install: +- +-installdeb: +- install man/sesman.8 $(DESTDIRDEB)/usr/man/man8/sesman.8 +- install man/sesrun.8 $(DESTDIRDEB)/usr/man/man8/sesrun.8 +- install man/xrdp.8 $(DESTDIRDEB)/usr/man/man8/xrdp.8 +- install man/sesman.ini.5 $(DESTDIRDEB)/usr/man/man5/sesman.ini.5 +- install man/xrdp.ini.5 $(DESTDIRDEB)/usr/man/man5/xrdp.ini.5 ++ $(BSD_INSTALL_MAN) man/sesman.8 $(MANPREFIX)/man/man8/xrdp_sesman.8 ++ $(BSD_INSTALL_MAN) man/sesrun.8 $(MANPREFIX)/man/man8/xrdp_sesrun.8 ++ $(BSD_INSTALL_MAN) man/xrdp.8 $(MANPREFIX)/man/man8/xrdp.8 ++ $(BSD_INSTALL_MAN) man/sesman.ini.5 $(MANPREFIX)/man/man5/xrdp_sesman.ini.5 ++ $(BSD_INSTALL_MAN) man/xrdp.ini.5 $(MANPREFIX)/man/man5/xrdp.ini.5 diff --git a/net/xrdp/files/patch-sesman__Makefile b/net/xrdp/files/patch-sesman__Makefile new file mode 100644 index 000000000000..d34e34d736f5 --- /dev/null +++ b/net/xrdp/files/patch-sesman__Makefile @@ -0,0 +1,27 @@ +--- ./sesman/Makefile.orig Fri May 26 10:10:14 2006 ++++ ./sesman/Makefile Sun Apr 29 12:42:48 2007 +@@ -13,7 +13,7 @@ + DOCDIR = /usr/doc/xrdp + + DEFINES = -DSESMAN_CFG_FILE=\"$(CFGDIR)/sesman.ini\" \ +- -DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\" ++ -DSESMAN_PID_FILE=\"$(PIDDIR)/xrdp_sesman.pid\" + + CFLAGS = -Wall -O2 -I../common $(DEFINES) + LDFLAGS = -L /usr/gnu/lib $(DEFINES) +@@ -46,10 +46,11 @@ + rm -f $(SESMANOBJ) verify_user.o verify_user_pam.o verify_user_pam_userpass.o sesman sesrun.o sesrun + + install: +- install sesman $(DESTDIR)/sesman +- install sesrun $(DESTDIR)/sesrun +- install startwm.sh $(DESTDIR)/startwm.sh +- install sesman.ini $(CFGDIR)/sesman.ini ++ $(BSD_INSTALL_PROGRAM) sesman $(PREFIX)/bin/xrdp_sesman ++ $(BSD_INSTALL_PROGRAM) sesrun $(PREFIX)/bin/xrdp_sesrun ++ $(BSD_INSTALL_SCRIPT) startwm.sh $(DESTDIR)/startwm.sh ++ $(BSD_INSTALL_DATA) sesman.ini $(CFGDIR)/sesman.ini.sample ++ @test -f $(CFGDIR)/sesman.ini || cp $(CFGDIR)/sesman.ini.sample $(CFGDIR)/sesman.ini + + installdeb: + install sesman $(DESTDIRDEB)/usr/xrdp/sesman diff --git a/net/xrdp/files/patch-sesman__config.c b/net/xrdp/files/patch-sesman__config.c new file mode 100644 index 000000000000..b666830df52e --- /dev/null +++ b/net/xrdp/files/patch-sesman__config.c @@ -0,0 +1,20 @@ +--- ./sesman/config.c.orig Thu May 25 17:34:32 2006 ++++ ./sesman/config.c Sun Apr 29 12:42:28 2007 +@@ -30,6 +30,8 @@ + #include "file.h" + #include "sesman.h" + ++#include <fcntl.h> ++ + /******************************************************************************/ + /** + * +@@ -59,7 +61,7 @@ + struct list* param_n; + struct list* param_v; + +- fd = g_file_open(SESMAN_CFG_FILE); ++ fd = open(SESMAN_CFG_FILE, O_RDONLY); + if (-1 == fd) + { + g_printf("sesman: error reading config: %s\r\n", SESMAN_CFG_FILE); diff --git a/net/xrdp/files/patch-xrdp__Makefile b/net/xrdp/files/patch-xrdp__Makefile new file mode 100644 index 000000000000..ea34c733bbf9 --- /dev/null +++ b/net/xrdp/files/patch-xrdp__Makefile @@ -0,0 +1,35 @@ +--- ./xrdp/Makefile.orig Fri Mar 3 22:02:08 2006 ++++ ./xrdp/Makefile Sun Apr 29 12:42:28 2007 +@@ -24,21 +24,23 @@ + all: xrdp + + xrdp: $(XRDPOBJ) +- $(CC) $(LDFLAGS) -o xrdp $(XRDPOBJ) $(LIBS) ++ $(CC) $(LDFLAGS) -o xrdp $(XRDPOBJ) $(LIBS) -Wl,-rpath=$(DESTDIR) + strip xrdp + + clean: + rm -f $(XRDPOBJ) xrdp + + install: +- install ad256.bmp $(DESTDIR)/ad256.bmp +- install xrdp256.bmp $(DESTDIR)/xrdp256.bmp +- install cursor0.cur $(DESTDIR)/cursor0.cur +- install cursor1.cur $(DESTDIR)/cursor1.cur +- install Tahoma-10.fv1 $(DESTDIR)/Tahoma-10.fv1 +- install xrdp.ini $(CFGDIR)/xrdp.ini +- install rsakeys.ini $(CFGDIR)/rsakeys.ini +- install xrdp $(DESTDIR)/xrdp ++ $(BSD_INSTALL_DATA) ad256.bmp $(DESTDIR)/ad256.bmp ++ $(BSD_INSTALL_DATA) xrdp256.bmp $(DESTDIR)/xrdp256.bmp ++ $(BSD_INSTALL_DATA) cursor0.cur $(DESTDIR)/cursor0.cur ++ $(BSD_INSTALL_DATA) cursor1.cur $(DESTDIR)/cursor1.cur ++ $(BSD_INSTALL_DATA) Tahoma-10.fv1 $(DESTDIR)/Tahoma-10.fv1 ++ $(BSD_INSTALL_PROGRAM) xrdp $(PREFIX)/bin/xrdp ++ $(BSD_INSTALL_DATA) xrdp.ini $(CFGDIR)/xrdp.ini.sample ++ @test -f $(CFGDIR)/xrdp.ini || cp $(CFGDIR)/xrdp.ini.sample $(CFGDIR)/xrdp.ini ++ $(BSD_INSTALL_DATA) rsakeys.ini $(CFGDIR)/rsakeys.ini.sample ++ @test -f $(CFGDIR)/rsakeys.ini || cp $(CFGDIR)/rsakeys.ini.sample $(CFGDIR)/rsakeys.ini + + installdeb: + install ad256.bmp $(DESTDIRDEB)/usr/xrdp/ad256.bmp diff --git a/net/xrdp/files/pkg-message.in b/net/xrdp/files/pkg-message.in new file mode 100644 index 000000000000..90fad77a8f64 --- /dev/null +++ b/net/xrdp/files/pkg-message.in @@ -0,0 +1,19 @@ +============================================================================== + +XRDP has been installed. + +The binaries "sesman" and "sesrun" have been prefixed with "xrdp_" to avoid a +possible name conflict, as their manual pages, log and pid files. + +There is an rc.d script, so the service can be enabled by adding this line +in /etc/rc.conf: + +xrdp_enable="YES" + +Do not forget to edit the configuration files in "%%PREFIX%%/etc/xrdp" +and the "%%PREFIX%%/lib/startwm.sh" script. + +Also, you must manually run a VNC server to be able to use this program. Try +the "vnc-any" example in "xrdp.ini". + +============================================================================== diff --git a/net/xrdp/files/xrdp.in b/net/xrdp/files/xrdp.in new file mode 100644 index 000000000000..3f719ef23f23 --- /dev/null +++ b/net/xrdp/files/xrdp.in @@ -0,0 +1,53 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# REQUIRE: DAEMON +# PROVIDE: xrdp xrdp_sesman +# + +. %%RC_SUBR%% + +name="xrdp" +rcvar=`set_rcvar` +xrdp_daemons="xrdp xrdp_sesman" + +# Read settings and set default values. +load_rc_config "$name" +: ${xrdp_enable="NO"} + +# Enable/disable dependent daemon. +if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then + : ${xrdp_sesman_enable="YES"} +else + : ${xrdp_sesman_enable="NO"} +fi + +# Commands. +extra_commands="reload status" +start_cmd="xrdp_cmd" +stop_cmd="xrdp_cmd" +status_cmd="xrdp_cmd" +reload_cmd="xrdp_cmd" +rcvar_cmd="xrdp_cmd" + +# Command wrapper to call each of them per daemon. +xrdp_cmd() { + local name rcvar command pidfile xrdp_daemons + # Prevent recursive calling. + unset "${rc_arg}_cmd" + # Stop processes in the reverse to order. + if [ "${rc_arg}" = "stop" ] ; then + xrdp_daemons=$(reverse_list ${xrdp_daemons}) + fi + # Apply to all the daemons. + for name in ${xrdp_daemons}; do + rcvar=$(set_rcvar) + command="%%PREFIX%%/bin/${name}" + pidfile="/var/run/${name}.pid" + + run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} + done +} + +run_rc_command "$1" diff --git a/net/xrdp/pkg-descr b/net/xrdp/pkg-descr new file mode 100644 index 000000000000..9561b67ea0ad --- /dev/null +++ b/net/xrdp/pkg-descr @@ -0,0 +1,13 @@ +Based on the work of rdesktop, xrdp uses the remote desktop protocol to +present a GUI to the user. + +The goal of this project is to provide a fully functional Linux terminal +server, 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 to manage the X session. + +WWW: http://xrdp.sourceforge.net/ diff --git a/net/xrdp/pkg-plist b/net/xrdp/pkg-plist new file mode 100644 index 000000000000..319cbef3abac --- /dev/null +++ b/net/xrdp/pkg-plist @@ -0,0 +1,25 @@ +bin/xrdp +bin/xrdp_sesman +bin/xrdp_sesrun +etc/pam.d/xrdp_sesman +@unexec if cmp -s %D/etc/xrdp/rsakeys.ini %D/etc/xrdp/rsakeys.ini.sample; then rm -f %D/etc/xrdp/rsakeys.ini; fi +etc/xrdp/rsakeys.ini.sample +@exec [ -f %D/etc/xrdp/rsakeys.ini ] || cp %D/etc/xrdp/rsakeys.ini.sample %D/etc/xrdp/rsakeys.ini +@unexec if cmp -s %D/etc/xrdp/sesman.ini %D/etc/xrdp/sesman.ini.sample; then rm -f %D/etc/xrdp/sesman.ini; fi +etc/xrdp/sesman.ini.sample +@exec [ -f %D/etc/xrdp/sesman.ini ] || cp %D/etc/xrdp/sesman.ini.sample %D/etc/xrdp/sesman.ini +@unexec if cmp -s %D/etc/xrdp/xrdp.ini %D/etc/xrdp/xrdp.ini.sample; then rm -f %D/etc/xrdp/xrdp.ini; fi +etc/xrdp/xrdp.ini.sample +@exec [ -f %D/etc/xrdp/xrdp.ini ] || cp %D/etc/xrdp/xrdp.ini.sample %D/etc/xrdp/xrdp.ini +lib/xrdp/Tahoma-10.fv1 +lib/xrdp/ad256.bmp +lib/xrdp/cursor0.cur +lib/xrdp/cursor1.cur +lib/xrdp/librdp.so +lib/xrdp/libvnc.so +lib/xrdp/libxrdp.so +lib/xrdp/libxup.so +lib/xrdp/startwm.sh +lib/xrdp/xrdp256.bmp +@dirrm lib/xrdp +@dirrmtry etc/xrdp |