diff options
Diffstat (limited to 'system/xrdp/xrdp.SlackBuild')
-rw-r--r-- | system/xrdp/xrdp.SlackBuild | 85 |
1 files changed, 59 insertions, 26 deletions
diff --git a/system/xrdp/xrdp.SlackBuild b/system/xrdp/xrdp.SlackBuild index d5ff39cc11..13ec540299 100644 --- a/system/xrdp/xrdp.SlackBuild +++ b/system/xrdp/xrdp.SlackBuild @@ -1,12 +1,19 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for xrdp # Written by Phillip Warner <pc_warner@yahoo.com> +# Amended by David Allen <david.a58@optusnet.com.au> + +# 20220414 bkw: Modified by SlackBuilds.org, BUILD=2: +# - add a couple missing .new config files to doinst.sh. + +cd $(dirname $0) ; CWD=$(pwd) PRGNAM=xrdp -VERSION=${VERSION:-0.9.4} -BUILD=${BUILD:-1} +VERSION=${VERSION:-0.9.12} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -16,7 +23,11 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -25,6 +36,10 @@ OUTPUT=${OUTPUT:-/tmp} # then run this script as: "USE_PAM=YES ./xrdp.SlackBuild" USE_PAM=${USE_PAM:-NO} +# If you want drive redirection and shared clipboard support, +# then run this script as: "USE_GVFS=YES ./xrdp.SlackBuild" +USE_GVFS=${USE_GVFS:-NO} + if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" @@ -50,9 +65,9 @@ cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ + -exec chmod 755 {} \+ -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ # uses autoreconf now autoreconf -vfi @@ -63,9 +78,12 @@ else NOPAM_OPT="" fi -# Optional config options if built with FreeRDP: -# --enable-freerdp Build freerdp module (default: no) -# --enable-freerdp1 Build freerdp1 module (default: no) +if [ "$USE_GVFS" = "NO" ]; then + NOGVFS_OPT="--disable-fuse" +else + NOGVFS_OPT="--enable-fuse" +fi + CFLAGS="$SLKCFLAGS" \ CPPFLAGS="$SLKCFLAGS" \ ./configure \ @@ -78,16 +96,21 @@ CPPFLAGS="$SLKCFLAGS" \ --build=$ARCH-slackware-linux \ --disable-painter \ --disable-rfxcodec \ + --disable-static \ + $NOGVFS_OPT \ $NOPAM_OPT -# Fix path in what will become the init script -sed -i "s/SBINDIR=\/usr\/local\/sbin/SBINDIR=\/usr\/sbin/" instfiles/xrdp.sh - -# Change xinit script name to xrdp-xinitrc -sed -i "s/startwm.sh/xrdp-xinitrc/" instfiles/xrdp.sh - -# Build fails if a copy of config.{c,h} is not in sesman/tools/ -cp -v sesman/config.{c,h} sesman/tools/ +## Use sed rather than patch as line locations change between versions +# Change LogLevel to INFO instead of DEBUG +sed -i "s/LogLevel=DEBUG/LogLevel=INFO/" xrdp/xrdp.ini +sed -i "s/SyslogLevel=DEBUG/SyslogLevel=INFO/" xrdp/xrdp.ini +sed -i "s/LogLevel=DEBUG/LogLevel=INFO/" sesman/sesman.ini +sed -i "s/SyslogLevel=DEBUG/SyslogLevel=INFO/" sesman/sesman.ini +# Disable Root logins by default +sed -i "s/AllowRootLogin=true/AllowRootLogin=false/" sesman/sesman.ini +# Set default RDP session xinit script to /etc/xrdp/xrdp-xinitrc +sed -i "s/UserWindowManager=startwm.sh/UserWindowManager=.xrdp-xinitrc/" sesman/sesman.ini +sed -i "s/DefaultWindowManager=startwm.sh/DefaultWindowManager=xrdp-xinitrc/" sesman/sesman.ini make make install DESTDIR=$PKG @@ -95,24 +118,35 @@ make install DESTDIR=$PKG # Make sure log directory is there mkdir -p $PKG/var/log -# Let's make the xrdp_control.sh script the init script -mkdir -p $PKG/etc/rc.d -mv $PKG/etc/$PRGNAM/xrdp.sh $PKG/etc/rc.d/rc.$PRGNAM.new - # Change startwm.sh name for more consistency with previous SlackBuild # and corresponding user file name mv $PKG/etc/$PRGNAM/startwm.sh $PKG/etc/$PRGNAM/xrdp-xinitrc.new +# Install the xrdp-xwmconfig utility +install -D -m 0755 -o root -g root $CWD/xrdp-xwmconfig \ + $PKG/usr/bin/xrdp-xwmconfig + # Let's not clobber existing configs ( cd $PKG/etc/$PRGNAM mv rsakeys.ini rsakeys.ini.new mv sesman.ini sesman.ini.new mv xrdp.ini xrdp.ini.new + mv xrdp_keyboard.ini xrdp_keyboard.ini.new + mv reconnectwm.sh reconnectwm.sh.new + rename ini ini.new km-????????.ini ) -# Install the xrdp-xwmconfig utility -install -D -m 0755 $CWD/xrdp-xwmconfig \ - $PKG/usr/bin/xrdp-xwmconfig +# Used to make the init script from instfiles/xrdp.sh, +# but it was removed from xrdp-0.9.12, +# so it is included in the SlackBuild files +install -D -m 0755 -o root -g root $CWD/rc.xrdp \ + $PKG/etc/rc.d/rc.xrdp.new + +# Install logrotate scripts +install -D -m 0644 -o root -g root $CWD/xrdp \ + $PKG/etc/logrotate.d/xrdp.new +install -D -m 0644 -o root -g root $CWD/xrdp-sesman \ + $PKG/etc/logrotate.d/xrdp-sesman.new find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true @@ -121,7 +155,6 @@ find $PKG/usr/man -type f -exec gzip -9 {} \; mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a COPYING design.txt install.txt README.md faq-*.txt $PKG/usr/doc/$PRGNAM-$VERSION - # Keep a backup copy of startwm.sh in the docs cat sesman/startwm.sh > $PKG/usr/doc/$PRGNAM-$VERSION/startwm.sh-example cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild @@ -131,4 +164,4 @@ 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.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |