Package Details: xrdp-git 0.10.0_beta.3.r83.gcc7d5ef9-1

Git Clone URL: https://aur.archlinux.org/xrdp-git.git (read-only, click to copy)
Package Base: xrdp-git
Description: An open source remote desktop protocol (RDP) server. Git version, devel branch.
Upstream URL: https://github.com/neutrinolabs/xrdp
Licenses: Apache-2.0
Conflicts: xrdp
Provides: xrdp
Submitter: realturner
Maintainer: Jat
Last Packager: Jat
Votes: 30
Popularity: 0.000029
First Submitted: 2011-02-19 10:07 (UTC)
Last Updated: 2024-04-23 08:26 (UTC)

Latest Comments

1 2 3 4 5 6 .. 8 Next › Last »

dodecahedron commented on 2024-10-11 14:14 (UTC)

The check() part currently fails for me with

In file included from ../../xrdp/xrdp.h:25,
                 from test_xrdp_keymap.c:10:
../../common/arch.h:40:26: error: conflicting types for ‘int64_t’; have ‘long long int’
   40 | typedef signed long long int64_t;
      |                          ^~~~~~~
In file included from /usr/include/stdint.h:34,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h:9,
                 from /usr/include/check_stdint.h:35,
                 from /usr/include/check.h:30,
                 from test_xrdp.h:4,
                 from test_xrdp_keymap.c:8:
/usr/include/bits/stdint-intn.h:27:19: note: previous declaration of ‘int64_t’ with type ‘int64_t’ {aka ‘long int’}
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
../../common/arch.h:41:28: error: conflicting types for ‘uint64_t’; have ‘long long unsigned int’
   41 | typedef unsigned long long uint64_t;
      |                            ^~~~~~~~
In file included from /usr/include/stdint.h:37:
/usr/include/bits/stdint-uintn.h:27:20: note: previous declaration of ‘uint64_t’ with type ‘uint64_t’ {aka ‘long unsigned int’}
   27 | typedef __uint64_t uint64_t;
      |                    ^~~~~~~~
In file included from ../../xrdp/xrdp.h:25,
                 from test_tconfig.c:7:
../../common/arch.h:40:26: error: conflicting types for ‘int64_t’; have ‘long long int’
   40 | typedef signed long long int64_t;
      |                          ^~~~~~~
In file included from /usr/include/stdint.h:34,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h:9,
                 from /usr/include/check_stdint.h:35,
                 from /usr/include/check.h:30,
                 from test_xrdp.h:4,
                 from test_tconfig.c:6:
/usr/include/bits/stdint-intn.h:27:19: note: previous declaration of ‘int64_t’ with type ‘int64_t’ {aka ‘long int’}
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
../../common/arch.h:41:28: error: conflicting types for ‘uint64_t’; have ‘long long unsigned int’
   41 | typedef unsigned long long uint64_t;
      |                            ^~~~~~~~
In file included from /usr/include/stdint.h:37:
/usr/include/bits/stdint-uintn.h:27:20: note: previous declaration of ‘uint64_t’ with type ‘uint64_t’ {aka ‘long unsigned int’}
   27 | typedef __uint64_t uint64_t;
      |                    ^~~~~~~~

I got around it by commenting out those lines in common/arch.h but you can also just skip the tests.

In addition, @Jat could you please add a systemd sysusers file for an xrdp user since xrdp devel now supports running as a nonroot user? Something like this:

u xrdp - "xrdp daemon user"

NyanCatTW1 commented on 2023-08-02 02:38 (UTC)

arch-config.diff broke at some point. Here is an updated patch:

diff -up src/xrdp/instfiles/xrdp.service.in.orig src/xrdp/instfiles/xrdp.service.in
--- src/xrdp/instfiles/xrdp.service.in.orig     2023-08-02 10:30:54.342001965 +0800
+++ src/xrdp/instfiles/xrdp.service.in  2023-08-02 10:31:07.345793098 +0800
@@ -6,9 +6,7 @@

 [Service]
 Type=exec
-EnvironmentFile=-@sysconfdir@/sysconfig/xrdp
-EnvironmentFile=-@sysconfdir@/default/xrdp
-ExecStart=@sbindir@/xrdp $XRDP_OPTIONS --nodaemon
+ExecStart=@sbindir@/xrdp --nodaemon
 SystemCallArchitectures=native
 SystemCallFilter=@basic-io @file-system @io-event @ipc @network-io @process @signal ioctl madvise sysinfo uname

diff -up src/xrdp/instfiles/xrdp-sesman.service.in.orig src/xrdp/instfiles/xrdp-sesman.service.in
--- src/xrdp/instfiles/xrdp-sesman.service.in.orig      2020-06-26 05:13:58.000000000 -0600
+++ src/xrdp/instfiles/xrdp-sesman.service.in   2021-05-12 17:06:31.690000000 -0600
@@ -7,10 +7,8 @@ BindsTo=xrdp.service

 [Service]
 Type=exec
-EnvironmentFile=-@sysconfdir@/sysconfig/xrdp
-EnvironmentFile=-@sysconfdir@/default/xrdp
-ExecStart=@sbindir@/xrdp-sesman $SESMAN_OPTIONS --nodaemon
+ExecStart=@sbindir@/xrdp-sesman --nodaemon
 ExecReload=kill -HUP $MAINPID

 [Install]
 WantedBy=multi-user.target
diff -up src/xrdp/sesman/startwm.sh.orig src/xrdp/sesman/startwm.sh
--- src/xrdp/sesman/startwm.sh.orig     2020-12-28 07:03:43.000000000 -0700
+++ src/xrdp/sesman/startwm.sh  2021-05-12 17:06:31.690000000 -0600
@@ -75,11 +75,26 @@ get_xdg_session_startupcmd()
 #start the window manager
 wm_start()
 {
-  if [ -r /etc/default/locale ]; then
-    . /etc/default/locale
+  if [ -r /etc/locale.conf ]; then
+    . /etc/locale.conf
     export LANG LANGUAGE
   fi

+  # arch user
+  if [ -r ~/.xinitrc ]; then
+    pre_start
+    . ~/.xinitrc
+    post_start
+    exit 0
+  fi
+  # arch
+  if [ -r /etc/X11/xinit/xinitrc ]; then
+    pre_start
+    . /etc/X11/xinit/xinitrc
+    post_start
+    exit 0
+  fi
+
   # debian
   if [ -r /etc/X11/Xsession ]; then
     pre_start

travnick commented on 2023-05-23 07:03 (UTC)

it does not compile due to missing cmocka.h

test_xrdp_region.c:53:10: fatal error: cmocka.h: No such file or directory
    53 | #include <cmocka.h>
       |          ^~~~~~~~~~
compilation terminated.

gromit commented on 2023-05-13 11:14 (UTC)

This package currently fails to build:

==> Starting prepare()...
patching file instfiles/xrdp.service.in
patching file instfiles/xrdp-sesman.service.in
Hunk #1 FAILED at 8.
1 out of 1 hunk FAILED -- saving rejects to file instfiles/xrdp-sesman.service.in.rej
patching file sesman/sesman.ini.in
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file sesman/sesman.ini.in.rej
patching file sesman/startwm.sh
Hunk #1 succeeded at 80 (offset 17 lines).
==> ERROR: A failure occurred in prepare().
    Aborting...

noenthu commented on 2022-11-18 08:32 (UTC)

@cfr42, the patch file needs to be updated. I was able to muddle my way through updating the patch file for sesman.ini and xrdp-sesman.service. Just look in the src/xrdp-git/instfiles/ and src/xrdp-git/sesman/ for the original version of the files and you will notice a few changes vs what the diff is expecting

cfr42 commented on 2022-11-07 01:37 (UTC) (edited on 2022-11-07 01:39 (UTC) by cfr42)

I can't build this:

==> WARNING: PACKAGER should have the format 'Example Name 
<email@address.invalid>'
==> Making package: xrdp-git 1:0.9.18.r35.ge1c6afa3-1 (Dydd Llun 07 mis 
Tachwedd 2022 01:29:20 GMT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning xrdp-git git repo...
Cloning into bare repository '/home/software/sources/xrdp-git'...
remote: Enumerating objects: 30375, done.
remote: Counting objects: 100% (570/570), done.
remote: Compressing objects: 100% (339/339), done.
remote: Total 30375 (delta 287), reused 415 (delta 209), pack-reused 29805
Receiving objects: 100% (30375/30375), 16.18 MiB | 5.80 MiB/s, done.
Resolving deltas: 100% (20917/20917), done.
  -> Found arch-config.diff
==> Validating source files with sha256sums...
    xrdp-git ... Skipped
    arch-config.diff ... Passed
==> Extracting sources...
  -> Creating working copy of xrdp-git git repo...
    Cloning into 'xrdp-git'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
patching file instfiles/xrdp.service.in
patching file instfiles/xrdp-sesman.service.in
patching file sesman/sesman.ini.in
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file sesman/sesman.ini.in.rej
patching file sesman/startwm.sh
==> ERROR: A failure occurred in prepare().
    Aborting...

bidulock commented on 2021-05-12 23:33 (UTC)

Yes, pinned comment still true. Just haven't been updating xrdp-devel-git that well.

sshaikh commented on 2020-12-13 20:54 (UTC)

BTW is the pinned message still true? It seems this package now also uses the devel branch (probably because 0.9.14 doesn't build)

sshaikh commented on 2020-12-13 20:46 (UTC)

There appears to be a typo of an extra "d" in the configure which causes unit files not to be created in a chroot:

--with-systemdsystemdunitdir=/usr/lib/systemd/system \

Should be:

--with-systemdsystemunitdir=/usr/lib/systemd/system \

sshaikh commented on 2020-11-21 17:18 (UTC)

I had to wrap the sourcing of .xinit with calls to the pre_ and post_start in order to have the profile.d scripts called (LANG wasn't set for me).

Perhaps push that into your patch?