summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/xrdp/PKGBUILD71
-rw-r--r--pcr/xrdp/fixups.patch79
-rw-r--r--pcr/xrdp/xrdp-sesman.service15
-rw-r--r--pcr/xrdp/xrdp.install15
-rw-r--r--pcr/xrdp/xrdp.service14
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