network/xrdp: Added to 12.0 repository

This commit is contained in:
Phil Warner 2010-05-11 20:01:47 +02:00 committed by Robby Workman
parent 56672fac5a
commit 62c1699c5a
7 changed files with 216 additions and 0 deletions

View file

@ -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:

30
network/xrdp/README Normal file
View file

@ -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.

25
network/xrdp/doinst.sh Normal file
View file

@ -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

19
network/xrdp/slack-desc Normal file
View file

@ -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:

View file

@ -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

8
network/xrdp/xrdp.info Normal file
View file

@ -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"

View file

@ -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