summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2014-10-23 08:19:10 +0000
committerMichał Górny <mgorny@gentoo.org>2014-10-23 08:19:10 +0000
commit5c3621f04f5013688b9f9336ecad68ab4d287db5 (patch)
treee82403108814116812b35fc0fc4951f8105bc619 /net-misc
parentadding as maintainer for now (diff)
downloadgentoo-2-5c3621f04f5013688b9f9336ecad68ab4d287db5.tar.gz
gentoo-2-5c3621f04f5013688b9f9336ecad68ab4d287db5.tar.bz2
gentoo-2-5c3621f04f5013688b9f9336ecad68ab4d287db5.zip
Initial commit of net-misc/xrdp, bug #352363.
(Portage version: 2.2.14_rc1/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/xrdp/ChangeLog11
-rw-r--r--net-misc/xrdp/files/startwm.sh8
-rw-r--r--net-misc/xrdp/files/xrdp-initd28
-rw-r--r--net-misc/xrdp/files/xrdp-sesman.pamd4
-rw-r--r--net-misc/xrdp/metadata.xml11
-rw-r--r--net-misc/xrdp/xrdp-0.6.1.ebuild91
-rw-r--r--net-misc/xrdp/xrdp-0.8.0.ebuild124
7 files changed, 277 insertions, 0 deletions
diff --git a/net-misc/xrdp/ChangeLog b/net-misc/xrdp/ChangeLog
new file mode 100644
index 000000000000..218992d81df4
--- /dev/null
+++ b/net-misc/xrdp/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for net-misc/xrdp
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/ChangeLog,v 1.9 2014/10/23 08:19:10 mgorny Exp $
+
+*xrdp-0.8.0 (23 Oct 2014)
+*xrdp-0.6.1 (23 Oct 2014)
+
+ 23 Oct 2014; Michał Górny <mgorny@gentoo.org> +files/startwm.sh,
+ +files/xrdp-initd, +files/xrdp-sesman.pamd, +metadata.xml, +xrdp-0.6.1.ebuild,
+ +xrdp-0.8.0.ebuild:
+ Initial commit of net-misc/xrdp, bug #352363.
diff --git a/net-misc/xrdp/files/startwm.sh b/net-misc/xrdp/files/startwm.sh
new file mode 100644
index 000000000000..df3dd787f2b5
--- /dev/null
+++ b/net-misc/xrdp/files/startwm.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# try hard to respect Gentoo's wm choice
+. /etc/profile
+[ -f /etc/rc.conf ] && . /etc/rc.conf
+export XSESSION
+
+. /etc/X11/xinit/xinitrc
diff --git a/net-misc/xrdp/files/xrdp-initd b/net-misc/xrdp/files/xrdp-initd
new file mode 100644
index 000000000000..a6fbce01896b
--- /dev/null
+++ b/net-misc/xrdp/files/xrdp-initd
@@ -0,0 +1,28 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/files/xrdp-initd,v 1.3 2014/10/23 08:19:10 mgorny Exp $
+
+depend() {
+ use net logger
+}
+
+start() {
+ ebegin "Starting X remote desktop daemon"
+ start-stop-daemon --start --pidfile /var/run/xrdp.pid --exec /usr/bin/xrdp > /dev/null
+ eend $? || return $?
+
+ ebegin "Starting remote desktop session manager"
+ start-stop-daemon --start --pidfile /var/run/xrdp-sesman.pid --exec /usr/bin/xrdp-sesman > /dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping X remote desktop daemon"
+ start-stop-daemon --stop --pidfile /var/run/xrdp.pid
+ eend $?
+
+ ebegin "Stopping remote desktop session manager"
+ start-stop-daemon --stop --pidfile /var/run/xrdp-sesman.pid
+ eend $?
+}
diff --git a/net-misc/xrdp/files/xrdp-sesman.pamd b/net-misc/xrdp/files/xrdp-sesman.pamd
new file mode 100644
index 000000000000..4712aa8aec0d
--- /dev/null
+++ b/net-misc/xrdp/files/xrdp-sesman.pamd
@@ -0,0 +1,4 @@
+auth include system-remote-login
+account include system-remote-login
+password include system-remote-login
+session include system-remote-login
diff --git a/net-misc/xrdp/metadata.xml b/net-misc/xrdp/metadata.xml
new file mode 100644
index 000000000000..7ad52bdd6edd
--- /dev/null
+++ b/net-misc/xrdp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name='fuse'>Enable clipboard file / device redirection via <pkg>sys-fs/fuse</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/net-misc/xrdp/xrdp-0.6.1.ebuild b/net-misc/xrdp/xrdp-0.6.1.ebuild
new file mode 100644
index 000000000000..2a4aea071f63
--- /dev/null
+++ b/net-misc/xrdp/xrdp-0.6.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/xrdp-0.6.1.ebuild,v 1.1 2014/10/23 08:19:10 mgorny Exp $
+
+EAPI=5
+
+inherit autotools eutils pam systemd
+
+MY_P="${PN}-v${PV}"
+
+DESCRIPTION="An open source Remote Desktop Protocol server"
+HOMEPAGE="http://www.xrdp.org/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug kerberos pam"
+
+RDEPEND="dev-libs/openssl:0=
+ x11-libs/libX11:0=
+ x11-libs/libXfixes:0=
+ kerberos? ( virtual/krb5:0= )
+ pam? ( virtual/pam:0= )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # disallow root login by default
+ sed -i -e '/^AllowRootLogin/s/1/0/' sesman/sesman.ini || die
+
+ eautoreconf
+ # part of ./bootstrap
+ ln -s ../config.c sesman/tools/config.c || die
+}
+
+src_configure() {
+ use kerberos && use pam \
+ && ewarn "Both kerberos & pam auth enabled, kerberos will take precedence."
+
+ local myconf=(
+ # configure.ac is completed flawed
+
+ # -- authentication backends --
+ # kerberos is inside !SESMAN_NOPAM conditional for no reason
+ $(use pam || use kerberos || echo --enable-nopam)
+ $(usex kerberos --enable-kerberos '')
+ # pam_userpass is not in Gentoo at the moment
+ #--disable-pamuserpass
+
+ # -- others --
+ $(usex debug --enable-xrdpdebug '')
+
+ # --enable-freerdp1 does not work with 1.1 in gentoo
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+
+ # use our pam.d file
+ use pam && newpamd "${FILESDIR}"/xrdp-sesman.pamd xrdp-sesman
+ # and our startwm.sh
+ exeinto /etc/xrdp
+ doexe "${FILESDIR}"/startwm.sh
+
+ # package empty /etc/xrdp/rsakeys.ini rather than bundled keys :)
+ : > rsakeys.ini
+ insinto /etc/xrdp
+ doins rsakeys.ini
+
+ # contributed by Jan Psota <jasiupsota@gmail.com>
+ newinitd "${FILESDIR}/${PN}-initd" ${PN}
+}
+
+pkg_preinst() {
+ # either copy existing keys over to avoid CONFIG_PROTECT whining
+ # or generate new keys (but don't include them in binpkg!)
+ if [[ -f ${EROOT}/etc/xrdp/rsakeys.ini ]]; then
+ cp {"${EROOT}","${ED}"}/etc/xrdp/rsakeys.ini || die
+ else
+ einfo "Running xrdp-keygen to generate new rsakeys.ini ..."
+ "${S}"/keygen/xrdp-keygen xrdp "${ED}"/etc/xrdp/rsakeys.ini \
+ || die "xrdp-keygen failed to generate RSA keys"
+ fi
+}
diff --git a/net-misc/xrdp/xrdp-0.8.0.ebuild b/net-misc/xrdp/xrdp-0.8.0.ebuild
new file mode 100644
index 000000000000..9ebcc74a70ba
--- /dev/null
+++ b/net-misc/xrdp/xrdp-0.8.0.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/xrdp-0.8.0.ebuild,v 1.1 2014/10/23 08:19:10 mgorny Exp $
+
+EAPI=5
+
+inherit autotools eutils pam systemd
+
+DESCRIPTION="An open source Remote Desktop Protocol server"
+HOMEPAGE="http://www.xrdp.org/"
+# mirrored from https://github.com/neutrinolabs/xrdp/releases
+SRC_URI="http://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug fuse kerberos jpeg pam pulseaudio"
+
+RDEPEND="dev-libs/openssl:0=
+ x11-libs/libX11:0=
+ x11-libs/libXfixes:0=
+ x11-libs/libXrandr:0=
+ fuse? ( sys-fs/fuse:0= )
+ jpeg? ( virtual/jpeg:0= )
+ kerberos? ( virtual/krb5:0= )
+ pam? ( virtual/pam:0= )
+ pulseaudio? ( media-sound/pulseaudio:0= )"
+DEPEND="app-arch/xz-utils"
+
+# does not work with gentoo version of freerdp
+# neutrinordp? ( net-misc/freerdp:0= )
+# incompatible with current ffmpeg/libav (surprising, isn't it?)
+# xrdpvr? ( virtual/ffmpeg:0= )
+
+src_prepare() {
+ epatch_user
+
+ # don't let USE=debug adjust CFLAGS
+ sed -i -e 's:-g -O0::' configure.ac || die
+ # disallow root login by default
+ sed -i -e '/^AllowRootLogin/s/1/0/' sesman/sesman.ini || die
+ # Fedora files, not included here
+ sed -i -e '/EnvironmentFile=/d' instfiles/*.service || die
+ # reorder so that X11rdp comes last again since it's not supported
+ sed -i -e '/^\[xrdp1\]$/,/^$/{wxrdp.ini.tmp
+ ;d}' xrdp/xrdp.ini || die
+ # move newline to the beginning
+ sed -i -e 'x' xrdp.ini.tmp || die
+ cat xrdp.ini.tmp >> xrdp/xrdp.ini || die
+ rm -f xrdp.ini.tmp || die
+
+ eautoreconf
+ # part of ./bootstrap
+ ln -s ../config.c sesman/tools/config.c || die
+}
+
+src_configure() {
+ use kerberos && use pam \
+ && ewarn "Both kerberos & pam auth enabled, kerberos will take precedence."
+
+ local myconf=(
+ # configure.ac is completed flawed
+
+ # -- authentication backends --
+ # kerberos is inside !SESMAN_NOPAM conditional for no reason
+ $(use pam || use kerberos || echo --enable-nopam)
+ $(usex kerberos --enable-kerberos '')
+ # pam_userpass is not in Gentoo at the moment
+ #--disable-pamuserpass
+
+ # -- jpeg support --
+ $(usex jpeg --enable-jpeg '')
+ # the package supports explicit linking against libjpeg-turbo
+ # (no need for -ljpeg compat)
+ $(use jpeg && has_version 'media-libs/libjpeg-turbo:0' && echo --enable-tjpeg)
+
+ # -- sound support --
+ $(usex pulseaudio '--enable-simplesound --enable-loadpulsemodules' '')
+
+ # -- others --
+ $(usex debug --enable-xrdpdebug '')
+ $(usex fuse --enable-fuse '')
+ # $(usex neutrinordp --enable-neutrinordp '')
+ # $(usex xrdpvr --enable-xrdpvr '')
+
+ "$(systemd_with_unitdir)"
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+
+ # use our pam.d file since upstream's incompatible with Gentoo
+ use pam && newpamd "${FILESDIR}"/xrdp-sesman.pamd xrdp-sesman
+ # and our startwm.sh
+ exeinto /etc/xrdp
+ doexe "${FILESDIR}"/startwm.sh
+
+ # Fedora stuff
+ rm -r "${ED}"/etc/default || die
+
+ # own /etc/xrdp/rsakeys.ini
+ : > rsakeys.ini
+ insinto /etc/xrdp
+ doins rsakeys.ini
+
+ # contributed by Jan Psota <jasiupsota@gmail.com>
+ newinitd "${FILESDIR}/${PN}-initd" ${PN}
+}
+
+pkg_preinst() {
+ # either copy existing keys over to avoid CONFIG_PROTECT whining
+ # or generate new keys (but don't include them in binpkg!)
+ if [[ -f ${EROOT}/etc/xrdp/rsakeys.ini ]]; then
+ cp {"${EROOT}","${ED}"}/etc/xrdp/rsakeys.ini || die
+ else
+ einfo "Running xrdp-keygen to generate new rsakeys.ini ..."
+ "${S}"/keygen/xrdp-keygen xrdp "${ED}"/etc/xrdp/rsakeys.ini \
+ || die "xrdp-keygen failed to generate RSA keys"
+ fi
+}