net/xrdp-devel: resurrect and update to 0.9.14

This commit is contained in:
Koichiro Iwao 2020-12-17 02:04:47 +00:00
parent 637f815882
commit 9932c6b2bb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=558251
11 changed files with 356 additions and 1 deletions

1
MOVED
View File

@ -10434,7 +10434,6 @@ graphics/OpenEXR|graphics/openexr|2018-09-22|Renamed to match upstream distribut
math/mtl||2018-09-27|Has expired: fails to fetch: mastersite times out
dns/dnscrypt-proxy|dns/dnscrypt-proxy2|2018-09-27|Has expired: Deprecated by upstream, use dns/dnscrypt-proxy2 instead
www/waterfox||2018-09-29|Has expired: experiment ended: unsustainable
net/xrdp-devel|net/xrdp|2018-09-30|Has expired: Use net/xrdp instead
net/tigervnc-devel|net/tigervnc|2018-09-30|Has expired: Use net/tigervnc instead
net/unison-devel|net/unison|2018-09-30|Has expired: Use net/unison instead
textproc/p5-IDNA-Punycode||2018-09-30|Has expired: Deprecated by upstream

View File

@ -1540,6 +1540,7 @@
SUBDIR += xprobe
SUBDIR += xrdesktop2
SUBDIR += xrdp
SUBDIR += xrdp-devel
SUBDIR += yami4
SUBDIR += yaph
SUBDIR += yate

95
net/xrdp-devel/Makefile Normal file
View File

@ -0,0 +1,95 @@
# Created by: alepulver
# $FreeBSD$
PORTNAME= xrdp
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.14
PORTEPOCH= 1
CATEGORIES= net
PKGNAMESUFFIX= -devel
DIST_SUBDIR?= ${PORTNAME}
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/
MAINTAINER= meta@FreeBSD.org
COMMENT= Open source Remote Desktop Protocol (RDP) server (development version)
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/bin/nasm:devel/nasm
RUN_DEPENDS= xterm:x11/xterm \
${LOCALBASE}/lib/xorg/modules/libxorgxrdp.so:x11-drivers/xorgxrdp \
${LOCALBASE}/lib/pulse-13.0/modules/module-xrdp-sink.so:audio/pulseaudio-module-xrdp
USES= autoreconf:build compiler:c11 jpeg localbase libtool pkgconfig \
ssl xorg
USE_XORG= ice pixman sm x11 xfixes xrandr
USE_LDCONFIG= ${PREFIX}/lib/xrdp
USE_GITHUB= yes
GNU_CONFIGURE= yes
GH_ACCOUNT= neutrinolabs
GH_PROJECT= xrdp librfxcodec:librfxcodec libpainter:libpainter
GH_TAGNAME= v0.1.5:librfxcodec v0.1.1:libpainter
CONFIGURE_ARGS= --localstatedir=/var --enable-strict-locations \
--with-pkgconfigdir=${LOCALBASE}/libdata/pkgconfig \
--enable-pam-config=freebsd \
--enable-jpeg --enable-pixman --enable-rfxcodec --enable-painter
LDFLAGS+= -lssl
CONFLICTS= xrdp-devel[0-9]*
INSTALL_TARGET= install-strip
SUB_FILES= pkg-deinstall pkg-install pkg-message
SUB_LIST= OPENSSLBASE=${OPENSSLBASE}
OPTIONS_DEFINE= DEBUG FUSE IPV6
OPTIONS_DEFAULT= FDKAAC OPUS
OPTIONS_GROUP= AUDIO_CODEC
OPTIONS_GROUP_AUDIO_CODEC= FDKAAC MP3LAME OPUS
FDKAAC_DESC= Enable Fraunhofer FDK AAC for audio redirection
FUSE_DESC= Enable drive redirection via FUSE (experimental)
MP3LAME_DESC= Enable MP3 Lame for audio redirection
OPUS_DESC= Enable Opus for audio redirection
DEBUG_CONFIGURE_ENABLE= xrdpdebug
FDKAAC_CONFIGURE_ENABLE= fdkaac
FDKAAC_LIB_DEPENDS= libfdk-aac.so:audio/fdk-aac
FUSE_CONFIGURE_ENABLE= fuse
FUSE_USES= fuse
IPV6_CONFIGURE_ENABLE= ipv6
MP3LAME_CONFIGURE_ENABLE= mp3lame
MP3LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
OPUS_CONFIGURE_ENABLE= opus
OPUS_LIB_DEPENDS= libopus.so:audio/opus
.include <bsd.port.pre.mk>
.if ${SSL_DEFAULT} == base
# As base OpenSSL doesn't install a .pc file, some flags such as -lcrypto
# cannot be obtained automatically via pkgconfig. When compiled with base
# OpenSSL, it needs to be specified explicitly.
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl"
.endif
post-extract:
# librfxcodec is provided as git submodule
@${CP} -r ${WRKSRC_librfxcodec}/ ${WRKSRC}/librfxcodec/
@${CP} -r ${WRKSRC_libpainter}/ ${WRKSRC}/libpainter/
pre-configure:
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./bootstrap
post-install:
${INSTALL_SCRIPT} ${FILESDIR}/startwm.sh ${STAGEDIR}${ETCDIR}
post-stage:
@${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/rsakeys.ini
@${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/cert.pem
@${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/key.pem
.for f in sesman.ini startwm.sh reconnectwm.sh xrdp.ini xrdp_keyboard.ini
@${MV} ${STAGEDIR}${PREFIX}/etc/xrdp/$f ${STAGEDIR}${PREFIX}/etc/xrdp/$f.sample
.endfor
.include <bsd.port.post.mk>

7
net/xrdp-devel/distinfo Normal file
View File

@ -0,0 +1,7 @@
TIMESTAMP = 1598856500
SHA256 (xrdp/neutrinolabs-xrdp-v0.9.14_GH0.tar.gz) = f46d90f3272531b9dec032fcf16104ea73d33b17f9720cd3d541203182df2c88
SIZE (xrdp/neutrinolabs-xrdp-v0.9.14_GH0.tar.gz) = 695062
SHA256 (xrdp/neutrinolabs-librfxcodec-v0.1.5_GH0.tar.gz) = 5710a65a9f877aca5b5bca9f2fb83b5904b59d465ab5c10bcf4ffc2b3416d0c8
SIZE (xrdp/neutrinolabs-librfxcodec-v0.1.5_GH0.tar.gz) = 48387
SHA256 (xrdp/neutrinolabs-libpainter-v0.1.1_GH0.tar.gz) = 6caee8444fbd72677ac5e125c7ac99490688474975451668e751a9d9187ee5e6
SIZE (xrdp/neutrinolabs-libpainter-v0.1.1_GH0.tar.gz) = 13929

View File

@ -0,0 +1,40 @@
--- configure.ac.orig 2017-12-27 14:40:24 UTC
+++ configure.ac
@@ -159,11 +159,35 @@ AC_CHECK_FUNC(dlopen, [],
AC_SUBST(DLOPEN_LIBS)
# checking for openssl
-PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [],
+if test "x$freebsd" = "xyes"; then
+ # FreeBSD may have two OpenSSL, base and port however
+ # base OpenSSL doesn.t have openssl.pc file.
+ PKG_CHECK_MODULES(
+ [OPENSSL],
+ [openssl >= 0],
+ [freebsd_openssl=port],
+ [
+ AC_CHECK_HEADER(
+ [openssl/rc4.h],
+ [freebsd_openssl=base],
+ [AC_MSG_ERROR([please install libssl-dev or openssl-devel])],
+ [#include <stdlib.h>])
+ ]
+ )
+
+ if test "x$freebsd_openssl" = "xport"; then
+ OPENSSL_BIN=`$PKG_CONFIG --variable=exec_prefix openssl`/bin
+ elif test "x$freebsd_openssl" = "xbase"; then
+ OPENSSL_BIN=/usr/bin
+ fi
+else
+ # OpenSSL detection for other OS
+ PKG_CHECK_MODULES([OPENSSL], [openssl >= 0], [],
[AC_MSG_ERROR([please install libssl-dev or openssl-devel])])
+ OPENSSL_BIN=`$PKG_CONFIG --variable=exec_prefix openssl`/bin
+fi
# look for openssl binary
-OPENSSL_BIN=`$PKG_CONFIG --variable=exec_prefix openssl`/bin
AC_PATH_PROGS([OPENSSL], [openssl], [:], [$OPENSSL_BIN:$PATH])
# checking for pam variation

View File

@ -0,0 +1,13 @@
--- sesman/sesman.ini.in.orig 2017-12-27 14:40:24 UTC
+++ sesman/sesman.ini.in
@@ -75,8 +75,8 @@ param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
-param=-logfile
-param=.xorgxrdp.%s.log
+#param=-logfile
+#param=.xorgxrdp.%s.log
[X11rdp]
param=X11rdp

View File

@ -0,0 +1,44 @@
#!/bin/sh
# vim:ts=4:sw=4:et
if [ $# -ne 2 ]; then
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
fi
case $2 in
PRE-INSTALL)
: nothing to do here
;;
POST-INSTALL)
RSAKEYS=%%PREFIX%%/etc/xrdp/rsakeys.ini
PRIVATEKEY=%%PREFIX%%/etc/xrdp/key.pem
CERTIFICATE=%%PREFIX%%/etc/xrdp/cert.pem
# make sure rsakeys and certificates are private
umask 077
# generate rsakeys.ini
[ -e "$RSAKEYS" ] || %%PREFIX%%/bin/xrdp-keygen xrdp "$RSAKEYS".sample && \
# generate self-signed certificate
[ -e "$PRIVATEKEY" -a -e "$CERTIFICATE" ] || \
%%OPENSSLBASE%%/bin/openssl req \
-x509 \
-newkey rsa:4096 \
-keyout "$PRIVATEKEY".sample \
-sha256 \
-nodes \
-out "$CERTIFICATE".sample \
-days 365 \
-subj "/CN=$(hostname)"
for f in "$RSAKEYS" "$PRIVATEKEY" "$CERTIFICATE"
do
[ -e "${f}" ] || cp -n "${f}.sample" "${f}"
done
;;
*)
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,16 @@
[
{ type: install
message: <<EOM
xrdp has been installed.
There is an rc.d script, so the service can be enabled by adding this line
in /etc/rc.conf:
xrdp_enable="YES"
xrdp_sesman_enable="YES" # if you want to run xrdp-sesman on the same machine
Do not forget to edit the configuration files in "%%PREFIX%%/etc/xrdp"
and the "%%PREFIX%%/etc/xrdp/startwm.sh" script.
EOM
}
]

View File

@ -0,0 +1,15 @@
#!/bin/sh
#
# This script is an example. Edit this to suit your needs.
# If ${HOME}/startwm.sh exists, xrdp-sesman will execute it instead of this.
#### set environment variables here if you want
# export LANG=en_US.UTF-8
#### start desktop environment
# exec gnome-session
# exec mate-session
# exec start-lumina-desktop
# exec startkde
# exec startxfce4
exec xterm

13
net/xrdp-devel/pkg-descr Normal file
View File

@ -0,0 +1,13 @@
Based on the work of rdesktop, xrdp uses the remote desktop protocol to
present a GUI to the user.
The goal of this project is to provide a fully functional Linux terminal
server, capable of accepting connections from rdesktop and Microsoft's own
terminal server / remote desktop clients.
Unlike Windows NT/2000/2003 server, xrdp will not display a Windows desktop
but an X window desktop to the user.
Xrdp uses Xvnc or X11rdp to manage the X session.
WWW: http://www.xrdp.org/

112
net/xrdp-devel/pkg-plist Normal file
View File

@ -0,0 +1,112 @@
bin/xrdp-dis
bin/xrdp-genkeymap
bin/xrdp-keygen
bin/xrdp-sesadmin
bin/xrdp-sesrun
lib/libpainter.a
lib/libpainter.so
lib/libpainter.so.0
lib/libpainter.so.0.0.0
lib/librfxencode.so
lib/librfxencode.so.0.0.0
lib/librfxencode.a
lib/librfxencode.so.0
include/ms-erref.h
include/ms-fscc.h
include/ms-rdpbcgr.h
include/ms-rdpefs.h
include/ms-rdpegdi.h
include/ms-rdpele.h
include/ms-rdperp.h
include/ms-smb2.h
include/painter.h
include/rfxcodec_common.h
include/rfxcodec_decode.h
include/rfxcodec_encode.h
include/xrdp_client_info.h
include/xrdp_constants.h
include/xrdp_rail.h
include/xrdp_sockets.h
libdata/pkgconfig/libpainter.pc
libdata/pkgconfig/rfxcodec.pc
libdata/pkgconfig/xrdp.pc
lib/xrdp/libcommon.a
lib/xrdp/libcommon.so
lib/xrdp/libcommon.so.0
lib/xrdp/libcommon.so.0.0.0
lib/xrdp/libmc.a
lib/xrdp/libmc.so
lib/xrdp/libscp.a
lib/xrdp/libscp.so
lib/xrdp/libscp.so.0
lib/xrdp/libscp.so.0.0.0
lib/xrdp/libvnc.a
lib/xrdp/libvnc.so
lib/xrdp/libxrdp.a
lib/xrdp/libxrdp.so
lib/xrdp/libxrdp.so.0
lib/xrdp/libxrdp.so.0.0.0
lib/xrdp/libxup.a
lib/xrdp/libxup.so
lib/xrdp/libxrdpapi.so
lib/xrdp/libxrdpapi.a
lib/xrdp/libxrdpapi.so.0
lib/xrdp/libxrdpapi.so.0.0.0
etc/pam.d/xrdp-sesman
etc/rc.d/xrdp
etc/rc.d/xrdp-sesman
%%ETCDIR%%/km-00000406.ini
%%ETCDIR%%/km-00000407.ini
%%ETCDIR%%/km-00000409.ini
%%ETCDIR%%/km-00010409.ini
%%ETCDIR%%/km-0000040a.ini
%%ETCDIR%%/km-0000040b.ini
%%ETCDIR%%/km-0000040c.ini
%%ETCDIR%%/km-00000410.ini
%%ETCDIR%%/km-00000411.ini
%%ETCDIR%%/km-00000412.ini
%%ETCDIR%%/km-00000414.ini
%%ETCDIR%%/km-00000415.ini
%%ETCDIR%%/km-00000416.ini
%%ETCDIR%%/km-00000419.ini
%%ETCDIR%%/km-0000041d.ini
%%ETCDIR%%/km-00000807.ini
%%ETCDIR%%/km-00000809.ini
%%ETCDIR%%/km-0000080a.ini
%%ETCDIR%%/km-0000080c.ini
%%ETCDIR%%/km-00000813.ini
%%ETCDIR%%/km-00000816.ini
%%ETCDIR%%/km-0000100c.ini
%%ETCDIR%%/km-19360409.ini
%%ETCDIR%%/pulse/default.pa
@postunexec if cmp -s %D/etc/xrdp/sesman.ini.sample %D/etc/xrdp/sesman.ini; then rm -f %D/etc/xrdp/sesman.ini; fi
@postunexec if cmp -s %D/etc/xrdp/startwm.sh.sample %D/etc/xrdp/startwm.sh; then rm -f %D/etc/xrdp/startwm.sh; fi
@postunexec if cmp -s %D/etc/xrdp/reconnectwm.sh.sample %D/etc/xrdp/reconnectwm.sh; then rm -f %D/etc/xrdp/reconnectwm.sh; fi
@postunexec if cmp -s %D/etc/xrdp/xrdp.ini.sample %D/etc/xrdp/xrdp.ini; then rm -f %D/etc/xrdp/xrdp.ini; fi
@postunexec if cmp -s %D/etc/xrdp/xrdp_keyboard.ini.sample %D/etc/xrdp/xrdp_keyboard.ini; then rm -f %D/etc/xrdp/xrdp_keyboard.ini; fi
@sample %%ETCDIR%%/sesman.ini.sample
@sample %%ETCDIR%%/startwm.sh.sample
@sample %%ETCDIR%%/reconnectwm.sh.sample
@sample %%ETCDIR%%/xrdp.ini.sample
@sample %%ETCDIR%%/xrdp_keyboard.ini.sample
man/man1/xrdp-dis.1.gz
man/man5/sesman.ini.5.gz
man/man8/xrdp.8.gz
man/man5/xrdp.ini.5.gz
man/man8/xrdp-chansrv.8.gz
man/man8/xrdp-genkeymap.8.gz
man/man8/xrdp-keygen.8.gz
man/man8/xrdp-sesadmin.8.gz
man/man8/xrdp-sesman.8.gz
man/man8/xrdp-sesrun.8.gz
sbin/xrdp
sbin/xrdp-chansrv
sbin/xrdp-sesman
%%DATADIR%%/ad24b.bmp
%%DATADIR%%/ad256.bmp
%%DATADIR%%/cursor0.cur
%%DATADIR%%/cursor1.cur
%%DATADIR%%/sans-10.fv1
%%DATADIR%%/xrdp24b.bmp
%%DATADIR%%/xrdp256.bmp
%%DATADIR%%/xrdp_logo.bmp