Bug#956822: Bug#981715: RFS: xpra/3.0.9+dfsg1-1.1 [NMU] [RC] -- tool to detach/reattach running X programs

2021-02-05 Thread Gianfranco Costamagna
control: tags -1 pending

Uploaded the following thanks!

diff -Nru xpra-3.0.9+dfsg1/debian/changelog xpra-3.0.9+dfsg1/debian/changelog
--- xpra-3.0.9+dfsg1/debian/changelog   2021-02-03 07:22:38.0 +0100
+++ xpra-3.0.9+dfsg1/debian/changelog   2021-02-05 20:23:02.0 +0100
@@ -1,3 +1,12 @@
+xpra (3.0.9+dfsg1-1.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  [ Antonio Russo ]
+  * Add xvfb runtime dependency on armhf (Closes: #921700, #956822)
+- This should fix autopkgtests
+
+ -- Gianfranco Costamagna   Fri, 05 Feb 2021 
20:23:02 +0100
+
 xpra (3.0.9+dfsg1-1.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru xpra-3.0.9+dfsg1/debian/control xpra-3.0.9+dfsg1/debian/control
--- xpra-3.0.9+dfsg1/debian/control 2021-02-03 00:47:00.0 +0100
+++ xpra-3.0.9+dfsg1/debian/control 2021-02-05 20:23:00.0 +0100
@@ -42,6 +42,7 @@
 ,python3-gi-cairo
 ,x11-xserver-utils
 ,xserver-xorg-video-dummy
+,xvfb [armhf]
 # Packet Encoding (http://xpra.org/trac/wiki/PacketEncoding):
 ,python3-rencode
 Recommends: ${misc:Recommends}


On Fri, 5 Feb 2021 07:46:16 -0700 Antonio Russo  wrote:
> control: tag -1 patch
> 
> On 2/5/21 3:22 AM, Gianfranco Costamagna wrote:
> > control: reopen -1
> > control: notfixed -1 3.0.9+dfsg1-1.1
> > 
> > Hello, I reuse this bug, to point out that now the package has an 
> > autopkgtest failure on armhf, probably due to an incomplete patch or a 
> > missing xvfb dependency on debian/tests/control
> 
> 
> Thanks---digging into this more, I think I understand what's going on:
> 
> xpra/scripts/config.py:detect_xvfb_command specifically wants Xvfb
> In particular:
> 
> if platform.uname()[4].startswith("arm"):
> #arm struggles to launch Xdummy, so use Xvfb:
> 
> (But, why this _is_ working on arm64, I do _not_ understand---presumably,
> some other case-handling causes xpra to change its mind elsewhere.)
> 
> It would, then, seem that all we need is to depend on Xvfb on the failure
> architecture:
> 
> diff --git a/debian/control b/debian/control
> index 6befbb9..77ef63c 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -42,6 +42,7 @@ Depends: ${misc:Depends}, ${python3:Depends}, 
> ${shlibs:Depends}
>  ,python3-gi-cairo
>  ,x11-xserver-utils
>  ,xserver-xorg-video-dummy
> +,xvfb [armhf]
>  # Packet Encoding (http://xpra.org/trac/wiki/PacketEncoding):
>  ,python3-rencode
>  Recommends: ${misc:Recommends}


xpra_3.0.9+dfsg1-1.2.debian.tar.xz
Description: application/xz


Bug#956822: Bug#981715: RFS: xpra/3.0.9+dfsg1-1.1 [NMU] [RC] -- tool to detach/reattach running X programs

2021-02-05 Thread Antonio Russo
control: tag -1 patch

On 2/5/21 3:22 AM, Gianfranco Costamagna wrote:
> control: reopen -1
> control: notfixed -1 3.0.9+dfsg1-1.1
> 
> Hello, I reuse this bug, to point out that now the package has an autopkgtest 
> failure on armhf, probably due to an incomplete patch or a missing xvfb 
> dependency on debian/tests/control


Thanks---digging into this more, I think I understand what's going on:

xpra/scripts/config.py:detect_xvfb_command specifically wants Xvfb
In particular:

if platform.uname()[4].startswith("arm"):
#arm struggles to launch Xdummy, so use Xvfb:

(But, why this _is_ working on arm64, I do _not_ understand---presumably,
some other case-handling causes xpra to change its mind elsewhere.)

It would, then, seem that all we need is to depend on Xvfb on the failure
architecture:

diff --git a/debian/control b/debian/control
index 6befbb9..77ef63c 100644
--- a/debian/control
+++ b/debian/control
@@ -42,6 +42,7 @@ Depends: ${misc:Depends}, ${python3:Depends}, 
${shlibs:Depends}
 ,python3-gi-cairo
 ,x11-xserver-utils
 ,xserver-xorg-video-dummy
+,xvfb [armhf]
 # Packet Encoding (http://xpra.org/trac/wiki/PacketEncoding):
 ,python3-rencode
 Recommends: ${misc:Recommends}


OpenPGP_0xB01C53D5DED4A4EE.asc
Description: application/pgp-keys


OpenPGP_signature
Description: OpenPGP digital signature


Bug#956822: Bug#981715: RFS: xpra/3.0.9+dfsg1-1.1 [NMU] [RC] -- tool to detach/reattach running X programs

2021-02-05 Thread Gianfranco Costamagna
control: reopen -1
control: notfixed -1 3.0.9+dfsg1-1.1

> I've tested the builds on arm64 and armhf. I'm short of non-headless
> boxes here to test the X functionality on.
> 
> So I've uploaded to get the migration going and allow others to test. I
> should be able to contrive a non-headless armhf machine too, given a
> bit of time (not today)

Hello, I reuse this bug, to point out that now the package has an autopkgtest 
failure on armhf, probably due to an incomplete patch or a missing xvfb 
dependency on debian/tests/control

https://ci.debian.net/data/autopkgtest/testing/armhf/x/xpra/10248252/log.gz



+ env
MAIL=/var/mail/debci
USER=debci
XDG_SESSION_TYPE=unspecified
SHLVL=2
HOME=/home/debci
OLDPWD=/
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
AUTOPKGTEST_TMP=/tmp/autopkgtest-lxc.o21_ufmh/downtmp/autopkgtest_tmp
LOGNAME=debci
AUTOPKGTEST_ARTIFACTS=/tmp/autopkgtest-lxc.o21_ufmh/downtmp/server-artifacts
ADTTMP=/tmp/autopkgtest-lxc.o21_ufmh/downtmp/autopkgtest_tmp
_=/tmp/autopkgtest-lxc.o21_ufmh/downtmp/build.iSN/src/debian/tests/server
XDG_SESSION_CLASS=background
XDG_SESSION_ID=c2
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
XDG_RUNTIME_DIR=/run/user/1000
LANG=C.UTF-8
DEB_BUILD_OPTIONS=parallel=32
DEBIAN_FRONTEND=noninteractive
SHELL=/bin/bash
PWD=/tmp/autopkgtest-lxc.o21_ufmh/downtmp/build.iSN/src
ADT_ARTIFACTS=/tmp/autopkgtest-lxc.o21_ufmh/downtmp/server-artifacts
+ id
uid=1000(debci) gid=1000(debci) groups=1000(debci)
+ whoami
debci
+ pwd
+ cat /etc/xpra/conf.d/55_server_x11.conf
/tmp/autopkgtest-lxc.o21_ufmh/downtmp/build.iSN/src

# X11 Server Environment:

# Set the _NET_WM_NAME,
# used by some application that make too many assumptions (ie: Java)
# To workaround JDK6 window positioning issues, use:
#wm-name = Sawfish
wm-name = Xpra

# Input methods
# To disable input method completely:
#input-method=none
# To keep the environment unchanged:
#input-method=keep
# Other possible options:
#input-method=IBus
#input-method=SCIM
#input-method=uim
input-method=none

# Paint the windows on the xvfb so that
# screen grabs and screen recorders will work
# (repaint delay in milliseconds, 0 to disable)
# sync-xvfb = 200
# sync-xvfb = 50
sync-xvfb = 0

# Fake Xinerama:
#fake-xinerama=no
#fake-xinerama=auto
#fake-xinerama=/path/to/libfakeXinerama.so
fake-xinerama = no

# Virtual display command:
# - Old Xvfb option (required on Ubuntu where Xorg is broken):
# xvfb = Xvfb -nolisten tcp -noreset \
#+extension GLX +extension Composite \
#-auth $XAUTHORITY \
#-screen 0 5760x2560x24+32
# - With Xorg 1.12 or newer and the dummy driver:
# xvfb = /usr/bin/Xorg -noreset -nolisten tcp \
#+extension GLX +extension RANDR +extension RENDER \
#-auth $XAUTHORITY \
#-logfile auto/Xorg.${DISPLAY}.log \
#-configdir ${XDG_RUNTIME_DIR}/.xpra/xorg.conf.d/$PID \
#-config /etc/xpra/xorg.conf
#
# Selecting virtual X server:
xvfb = Xvfb +extension GLX +extension Composite -screen 0 5760x2560x24+32 -dpi 
96 -nolisten tcp -noreset -auth $XAUTHORITY
+ [ /run/user/1000 =  ]
+ trap set +x; xpra stop :314 2>>/dev/null || true EXIT
+ xpra --version
xpra v3.0.9-r26127
+ DISPLAY=:314 xset q
+ printf :: server is not running prior to start.\n
+ xpra start :314 --systemd-run=no --start-child=xeyes --exit-with-children
:: server is not running prior to start.
:: server is starting.
+ printf :: server is starting.\n
+ DISPLAY=:314 timeout 11 sh -c until xset q 2>>/dev/null; do sleep 1; done
Entering daemon mode; any further errors will be reported to:
  /run/user/1000/xpra/:314.log
+ [ 124 -ne 0 ]
+ cat /run/user/1000/xpra/:314.log
2021-02-05 10:13:29,763 Error: cannot enable SSH socket upgrades:
2021-02-05 10:13:29,764  No module named 'paramiko'
2021-02-05 10:13:29,767 cannot access python uinput module:
2021-02-05 10:13:29,767  No module named 'uinput'
xpra main error:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/xpra/scripts/main.py", line 121, in main
return run_mode(script_file, err, options, args, mode, defaults)
  File "/usr/lib/python3/dist-packages/xpra/scripts/main.py", line 455, in 
run_mode
return run_server(error_cb, options, mode, script_file, args, 
current_display)
  File "/usr/lib/python3/dist-packages/xpra/scripts/server.py", line 340, in 
run_server
return do_run_server(error_cb, opts, mode, xpra_file, extra_args, 
desktop_display)
  File "/usr/lib/python3/dist-packages/xpra/scripts/server.py", line 640, in 
do_run_server
xvfb, display_name, cleanups = start_Xvfb(opts.xvfb, pixel_depth, 
display_name, cwd,
  File "/usr/lib/python3/dist-packages/xpra/x11/vfb_util.py", line 292, in 
start_Xvfb
xvfb = Popen(xvfb_cmd, executable=xvfb_executable, close_fds=True,
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subproce