summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/xrdp/Makefile.PAM.diff22
-rw-r--r--network/xrdp/README30
-rw-r--r--network/xrdp/doinst.sh25
-rw-r--r--network/xrdp/slack-desc19
-rw-r--r--network/xrdp/xrdp.SlackBuild98
-rw-r--r--network/xrdp/xrdp.info8
-rw-r--r--network/xrdp/xrdp_control.sh.diff14
7 files changed, 216 insertions, 0 deletions
diff --git a/network/xrdp/Makefile.PAM.diff b/network/xrdp/Makefile.PAM.diff
new file mode 100644
index 0000000000..adc2599739
--- /dev/null
+++ b/network/xrdp/Makefile.PAM.diff
@@ -0,0 +1,22 @@
+Patch generated 20071215 by Phillip Warner <pc_warner@yahoo.com>
+Permission granted to use this patch as you see fit.
+
+--- Makefile.orig 2007-12-15 00:22:34.000000000 -0600
++++ Makefile 2007-12-15 00:15:13.000000000 -0600
+@@ -39,6 +39,7 @@
+ mkdir -p $(PIDDIR)
+ mkdir -p $(MANDIR)
+ mkdir -p $(DOCDIR)
++ mkdir -p $(PKGDIR)/etc/pam.d
+ make -C vnc install
+ make -C libxrdp install
+ make -C xrdp install
+@@ -46,7 +47,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/pam.d/sesman $(PKGDIR)/etc/pam.d/sesman
+ install instfiles/xrdp_control.sh $(DESTDIR)/xrdp_control.sh
+
+ installdeb:
diff --git a/network/xrdp/README b/network/xrdp/README
new file mode 100644
index 0000000000..a689ff947f
--- /dev/null
+++ b/network/xrdp/README
@@ -0,0 +1,30 @@
+xrdp - Remote Desktop Server for Linux
+
+Xrdp provides a fully functional Linux terminal server, capable of accepting
+connections from rdesktop and Microsoft's own terminal server/remote desktop
+clients. Xrdp uses Xvnc or X11rdp (which are installed separately) to manage
+the X session.
+
+Xvnc can be installed by installing tightvnc (available on SlackBuilds.org).
+X11rdp can be compiled and installed by following the directions in the
+thread at http://tinyurl.com/2ufoz2 (link to LinuxQuestions.org).
+
+By default, this script will make xrdp without PAM support since PAM is not
+installed in Slackware by default. The script supports building with PAM,
+but it is completely untested by us. If you want to enable PAM, run the
+script as follows:
+ USE_PAM=yes ./xrdp.SlackBuild
+
+After installing xrdp there are some configuration files in /etc/xrdp that
+can be modified. sesman.ini has some useful options to take note of such as
+the ability to allow xrdp use by only a certain group and to specify the log
+location (by default the sesman log appears in the program directory so this
+should be changed). xrdp.ini should be modified so that you have the options
+you want at the server login screen. For instance, if you want xrdp's default
+options to be like those of a Windows RDP server then change xrdp.ini so that
+the (by default) given sesman-X11rdp set is option xrdp1.
+The man page for xrdp.ini has more details on the file.
+
+/usr/lib/xrdp/startwm.sh by default loads KDE during a session. Change this
+as desired to load a different DE/WM. A similar script can be executed on a
+per-user basis. See the sesman man page for more details.
diff --git a/network/xrdp/doinst.sh b/network/xrdp/doinst.sh
new file mode 100644
index 0000000000..40e18dcacc
--- /dev/null
+++ b/network/xrdp/doinst.sh
@@ -0,0 +1,25 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.xrdp.new:
+if [ -e etc/rc.d/rc.xrdp ]; then
+ cp -a etc/rc.d/rc.xrdp etc/rc.d/rc.xrdp.new.incoming
+ cat etc/rc.d/rc.xrdp.new > etc/rc.d/rc.xrdp.new.incoming
+ mv etc/rc.d/rc.xrdp.new.incoming etc/rc.d/rc.xrdp.new
+fi
+
+config etc/rc.d/rc.xrdp.new
+config etc/xrdp/rsakeys.ini.new
+config etc/xrdp/sesman.ini.new
+config etc/xrdp/xrdp.ini.new
+
diff --git a/network/xrdp/slack-desc b/network/xrdp/slack-desc
new file mode 100644
index 0000000000..68972661d6
--- /dev/null
+++ b/network/xrdp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler---------------------------------------------------------|
+xrdp: xrdp - Remote Desktop Server for Linux
+xrdp:
+xrdp: Xrdp provides a fully functional Linux terminal server, capable of
+xrdp: accepting connections from rdesktop and Microsoft's own terminal server
+xrdp: and/or remote desktop clients.
+xrdp:
+xrdp: Xrdp uses Xvnc or X11rdp (installed separately) to manage the X session.
+xrdp:
+xrdp: http://xrdp.sourceforge.net/
+xrdp:
+xrdp:
diff --git a/network/xrdp/xrdp.SlackBuild b/network/xrdp/xrdp.SlackBuild
new file mode 100644
index 0000000000..24e9b2b690
--- /dev/null
+++ b/network/xrdp/xrdp.SlackBuild
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Slackware build script for xrdp
+# Written by Phil Warner <pc_warner@yahoo.com>
+
+PRGNAM=xrdp
+VERSION=0.4.0
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# If you have PAM installed and wish to install /etc/pam.d/sesman,
+# then run this script as: "USE_PAM=yes ./xrdp.SlackBuild"
+USE_PAM=${USE_PAM:-no}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+chmod -R a-s,u+rw,go-w .
+
+if [ ! "$USE_PAM" = "no" ]; then
+ patch < $CWD/Makefile.PAM.diff
+ make
+else
+ make nopam
+fi
+
+# Fix path in what will become the init script
+patch -d instfiles/ < $CWD/xrdp_control.sh.diff
+
+make install \
+ PKGDIR=$PKG \
+ DESTDIR=$PKG/usr/lib/$PRGNAM \
+ CFGDIR=$PKG/etc/$PRGNAM \
+ PIDDIR=$PKG/var/run \
+ MANDIR=$PKG/usr/man \
+ DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION
+
+# Install routines for man pages and docs missing from Makefile
+mkdir -p $PKG/usr/man/man5 $PKG/usr/man/man8
+cp -a docs/man/*.5 $PKG/usr/man/man5
+cp -a docs/man/*.8 $PKG/usr/man/man8
+
+# Fix permissions from install
+chmod a-x $PKG/etc/xrdp/*
+if [ -e $PKG/etc/pam.d/ ]; then
+ chmod a-x $PKG/etc/pam.d/sesman
+fi
+chmod a-x $PKG/usr/lib/$PRGNAM/{Tahoma-10.fv1,*.bmp,*.cur}
+
+# Let's make the xrdp_control.sh script the init script
+mkdir -p $PKG/etc/rc.d
+mv $PKG/usr/lib/$PRGNAM/xrdp_control.sh $PKG/etc/rc.d/rc.$PRGNAM.new
+
+# Let's not clobber existing configs
+cd $PKG/etc/xrdp
+ mv rsakeys.ini rsakeys.ini.new
+ mv sesman.ini sesman.ini.new
+ mv xrdp.ini xrdp.ini.new
+cd -
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING design.txt install.txt readme.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/network/xrdp/xrdp.info b/network/xrdp/xrdp.info
new file mode 100644
index 0000000000..4b1ed62a18
--- /dev/null
+++ b/network/xrdp/xrdp.info
@@ -0,0 +1,8 @@
+PRGNAM="xrdp"
+VERSION="0.4.0"
+HOMEPAGE="http://xrdp.sourceforge.net/"
+DOWNLOAD="http://downloads.sourceforge.net/xrdp/xrdp-0.4.0.tar.gz"
+MD5SUM="dc83d149e385c4cd402d990695691f55"
+MAINTAINER="Phil Warner"
+EMAIL="pc_warner@yahoo.com"
+APPROVED="rworkman"
diff --git a/network/xrdp/xrdp_control.sh.diff b/network/xrdp/xrdp_control.sh.diff
new file mode 100644
index 0000000000..f65954bd9c
--- /dev/null
+++ b/network/xrdp/xrdp_control.sh.diff
@@ -0,0 +1,14 @@
+Patch generated 20080116 by Phillip Warner <pc_warner@yahoo.com>
+Permission granted to use this patch as you see fit.
+
+--- instfiles/xrdp_control.sh.orig 2007-04-29 01:19:13.000000000 -0500
++++ instfiles/xrdp_control.sh 2008-01-16 01:05:01.000000000 -0600
+@@ -8,7 +8,7 @@
+ XRDP=xrdp
+ SESMAN=sesman
+ STARTWM=startwm.sh
+-XRDP_DIR=/usr/local/xrdp/
++XRDP_DIR=/usr/lib/xrdp/
+ LOG=/dev/null
+
+ cd $XRDP_DIR