diff options
-rw-r--r-- | pcr/xrdp/PKGBUILD | 71 | ||||
-rw-r--r-- | pcr/xrdp/fixups.patch | 79 | ||||
-rw-r--r-- | pcr/xrdp/xrdp-sesman.service | 15 | ||||
-rw-r--r-- | pcr/xrdp/xrdp.install | 15 | ||||
-rw-r--r-- | pcr/xrdp/xrdp.service | 14 |
5 files changed, 137 insertions, 57 deletions
diff --git a/pcr/xrdp/PKGBUILD b/pcr/xrdp/PKGBUILD index 2f7d98597..9884314c0 100644 --- a/pcr/xrdp/PKGBUILD +++ b/pcr/xrdp/PKGBUILD @@ -1,41 +1,56 @@ -# Maintainer (Arch): Tomasz Zok <tomasz.zok [at] gmail.com> -# Maintainer (Arch): techryda <techryda at silentdome dot com> -# Contributor (Arch): Mathias R. <pu154r@overlinux.org> -# Maintainer: Esteban Carnevale <alfplayer@mailoo.org> - +# Maintainer: Brian Bidulock <bidulock@openss7.org> +# Contributo: Jianhui Z <jianhui@outlook.com> +# Contributo: Tau Tsao <realturner at gmail.com> +# Contributor: Tomasz Zok <tomasz.zok [at] gmail.com> +# Contributor: techryda <techryda at silentdome dot com> +# Contributor: Mathias R. <pu154r@overlinux.org> pkgname=xrdp -pkgver=0.6.1 -pkgrel=1 +pkgver=0.8.0 +pkgrel=2 pkgdesc="An open source remote desktop protocol (RDP) server" url="http://xrdp.sourceforge.net/" arch=('i686' 'x86_64' 'armv6h') -license=('GPL') -depends=('tigervnc') -source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-v$pkgver.tar.gz" - 'xrdp.service' - 'xrdp-sesman.service') -md5sums=('26099c6588943262023607c1b4e774d8' - '0cb760b3e8a34f9bdf4daa871444d74c' - '58eb44bdc7ca5bb436d6fd66826f9b0f') +license=('Apache') +depends=('tigervnc' 'libjpeg-turbo' 'libxrandr' 'libpulse' 'fuse') +backup=('etc/xrdp/sesman.ini' 'etc/xrdp/xrdp.ini') +install=xrdp.install +source=(https://github.com/neutrinolabs/${pkgname}/archive/v${pkgver}.tar.gz + fixups.patch) +md5sums=('2b0c3affc65ee77ad251514c62896757' + '07f35f8700cd9384f5d13117fd3a4e04') prepare() { - cd "${pkgname}-v${pkgver}" - # Fix path in xrdp.sh file - sed -i 's|/usr/local/sbin|/usr/bin|' instfiles/xrdp.sh + cd "${pkgname}-${pkgver}" + + sed -i 's|/etc/sysconfig/xrdp|/etc/xrdp/xrdp.ini|' instfiles/xrdp.service + sed -i 's|/etc/sysconfig/xrdp|/etc/xrdp/xrdp.ini|' instfiles/xrdp-sesman.service + + sed -i 's|/usr/local/sbin|/usr/bin|' instfiles/xrdp.sh + sed -i 's|/usr/sbin|/usr/bin|' instfiles/xrdp.service + sed -i 's|/usr/sbin|/usr/bin|' instfiles/xrdp-sesman.service + + patch -p2 -b -z .orig <../fixups.patch + + ./bootstrap } build() { - cd "${pkgname}-v${pkgver}" - ./bootstrap - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin - make + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --sbindir=/usr/bin \ + --with-systemdsystemdunitdir=/usr/lib/systemd/system \ + --enable-jpeg \ + --enable-simplesound \ + --enable-fuse \ + --enable-loadpulsemodules + make V=0 } package() { - cd "${pkgname}-v${pkgver}" - make DESTDIR="$pkgdir" install - cd ${pkgdir} - # Install systemd service files - mkdir -p usr/lib/systemd/system - cp ${srcdir}/*.service usr/lib/systemd/system + cd "${pkgname}-${pkgver}" + make DESTDIR="$pkgdir" install + + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } diff --git a/pcr/xrdp/fixups.patch b/pcr/xrdp/fixups.patch new file mode 100644 index 000000000..b555486c7 --- /dev/null +++ b/pcr/xrdp/fixups.patch @@ -0,0 +1,79 @@ +diff -up src/xrdp-0.8.0/instfiles/Makefile.am.orig src/xrdp-0.8.0/instfiles/Makefile.am +--- src/xrdp-0.8.0/instfiles/Makefile.am.orig 2014-05-19 23:41:42.000000000 -0600 ++++ src/xrdp-0.8.0/instfiles/Makefile.am 2015-05-26 17:22:39.000000000 -0600 +@@ -28,5 +28,7 @@ startscript_DATA = \ + # must be tab below + install-data-hook: + chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh +- chmod 755 $(DESTDIR)$(sysconfdir)/init.d/xrdp +- sed -i 's|__BASE__|$(prefix)|' $(DESTDIR)$(sysconfdir)/init.d/xrdp; ++ if [ -f $(DESTDIR)$(sysconfdir)/init.d/xrdp ]; then \ ++ chmod 755 $(DESTDIR)$(sysconfdir)/init.d/xrdp; \ ++ sed -i 's|__BASE__|$(prefix)|' $(DESTDIR)$(sysconfdir)/init.d/xrdp; \ ++ fi +diff -up src/xrdp-0.8.0/instfiles/pam.d/xrdp-sesman.orig src/xrdp-0.8.0/instfiles/pam.d/xrdp-sesman +--- src/xrdp-0.8.0/instfiles/pam.d/xrdp-sesman.orig 2014-05-19 23:41:42.000000000 -0600 ++++ src/xrdp-0.8.0/instfiles/pam.d/xrdp-sesman 2015-05-26 17:22:39.000000000 -0600 +@@ -1,5 +1,9 @@ + #%PAM-1.0 +-@include common-auth +-@include common-account +-@include common-session +-@include common-password ++#@include common-auth ++#@include common-account ++#@include common-session ++#@include common-password ++auth include system-auth ++account include system-auth ++password include system-auth ++session include system-auth +diff -up src/xrdp-0.8.0/sesman/startwm.sh.orig src/xrdp-0.8.0/sesman/startwm.sh +--- src/xrdp-0.8.0/sesman/startwm.sh.orig 2014-05-19 23:41:42.000000000 -0600 ++++ src/xrdp-0.8.0/sesman/startwm.sh 2015-05-26 17:22:39.000000000 -0600 +@@ -8,6 +8,17 @@ wm_start() + export LANG LANGUAGE + fi + ++ # arch user ++ if [ -r ~/.xinitrc ]; then ++ . ~/.xinitrc ++ exit 0 ++ fi ++ # arch ++ if [ -r /etc/X11/xinit/xinitrc ]; then ++ . /etc/X11/xinit/xinitrc ++ exit 0 ++ fi ++ + # debian + if [ -r /etc/X11/Xsession ]; then + . /etc/X11/Xsession +diff -up src/xrdp-0.8.0/xrdp/xrdp.ini.orig src/xrdp-0.8.0/xrdp/xrdp.ini +--- src/xrdp-0.8.0/xrdp/xrdp.ini.orig 2014-05-19 23:41:42.000000000 -0600 ++++ src/xrdp-0.8.0/xrdp/xrdp.ini 2015-05-26 17:25:17.000000000 -0600 +@@ -36,7 +36,7 @@ grey=dedede + #red=ff0000 + #green=00ff00 + #background=626c72 +-#autorun=xrdp1 ++autorun=xrdp2 + #hidelogwindow=yes + + # when true, userid/password *must* be passed on cmd line +@@ -119,6 +119,15 @@ xrdpvr=true + # for debugging xrdp, add following line to section xrdp1 + # chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210 + ++[xrdp0] ++name=sesman-Xvnc-delay ++lib=libvnc.so ++username=ask ++password=ask ++ip=127.0.0.1 ++port=-1 ++delay_ms=2000 ++ + [xrdp1] + name=sesman-X11rdp + lib=libxup.so diff --git a/pcr/xrdp/xrdp-sesman.service b/pcr/xrdp/xrdp-sesman.service deleted file mode 100644 index 8222069b9..000000000 --- a/pcr/xrdp/xrdp-sesman.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=xrdp session manager -After=syslog.target network.target -StopWhenUnneeded=true - -[Service] -Type=forking -PIDFile=/var/run/xrdp-sesman.pid -EnvironmentFile=/etc/xrdp/xrdp.ini -ExecStart=/usr/bin/xrdp-sesman $SESMAN_OPTIONS -ExecStop=/usr/bin/xrdp-sesman $SESMAN_OPTIONS --kill - -[Install] -WantedBy=multi-user.target - diff --git a/pcr/xrdp/xrdp.install b/pcr/xrdp/xrdp.install new file mode 100644 index 000000000..e25056582 --- /dev/null +++ b/pcr/xrdp/xrdp.install @@ -0,0 +1,15 @@ +post_upgrade() { + if [ ! -e /etc/xrdp/rsakeys.ini ]; then + xrdp-keygen xrdp /etc/xrdp/rsakeys.ini + fi +} + +post_install() { + post_upgrade +} + +pre_remove() { + if [ -f /etc/xrdp/rsakeys.ini ]; then + rm /etc/xrdp/rsakeys.ini + fi +} diff --git a/pcr/xrdp/xrdp.service b/pcr/xrdp/xrdp.service deleted file mode 100644 index 269dff87b..000000000 --- a/pcr/xrdp/xrdp.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=xrdp daemon -Requires=xrdp-sesman.service -After=syslog.target network.target xrdp-sesman.service - -[Service] -Type=forking -PIDFile=/var/run/xrdp.pid -EnvironmentFile=/etc/xrdp/xrdp.ini -ExecStart=/usr/bin/xrdp $XRDP_OPTIONS -ExecStop=/usr/bin/xrdp $XRDP_OPTIONS --kill - -[Install] -WantedBy=multi-user.target |