#901245 Handling of -e violates policy for x-terminal-emulator

#901245#5
Date:
2018-06-10 14:30:20 UTC
From:
To:
Dear Maintainer,

I am trying to run a shell command as parameter of x-terminal-emulator.
Manpage implies that "x-terminal-emulator -e ..." should work just like
xterm. But it is not the case.

Example:
xterm -e sh -c 'if test -x /bin/ss ; then watch -t ss -putsw; else netstat -c; fi'

This works just fine. But:
x-terminal-emulator -e sh -c 'if test -x /bin/ss ; then watch -t ss -putsw; else netstat -c; fi'

(x-terminal-emulator:2723): dbind-WARNING **: 16:23:57.951: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

And that's it. If no Terminator window existed yet, the window comes up
and disappears immediately.

Best regards,
Eduard.

#901245#10
Date:
2020-02-27 16:24:13 UTC
From:
To:
This blocks updating policy version past 4.0.1 since 4.1.0 mandates that
-e works in this way:
https://www.debian.org/doc/debian-policy/ch-customized-programs.html#packages-providing-a-terminal-emulator


(This is the only item I've noticed in the upgrading checklist up
through 4.5.0)

#901245#17
Date:
2023-02-14 05:51:28 UTC
From:
To:
Dear Maintainer,

the faulty parsing of the -e option when running Terminator as x-terminal-emulator was fixed upstream some time ago, but unfortunately reappeared with version 2.1.2.

The cause may have been a switch from the "optparse" library to "argparse" at commit 4d00f83 [1], after ver 2.1.1
A fix appeared at commit 91cc928 [2], too late to be included in 2.1.2

I have confirmed that applying that commit as a patch [3] to 2.1.2-1 builds a terminator which seems to correctly parse arguments following the -e option when being run as x-terminal-emulator.

As it is, Terminator in bookworm is violating Debian Policy 11.8.3 [4] because it claims to provide x-terminal-emulator and sets itself up as an alternative in its debian/postinst script.

The upstream developer said recently he "hopes to have a new release out soon" [5] but with bookworm freezes coming, is waiting for 2.1.3 a viable option?

Other options could be adding the above git commit [2] as a patch or dropping the claim to provide x-terminal-emulator.

Best wishes,
John Crawley

[1] https://github.com/gnome-terminator/terminator/commit/4d00f83084499b3f57b2c57d81e3c064fc0e06a4

[2] https://github.com/gnome-terminator/terminator/commit/91cc928f0de1f9d6d51136cf50f06c35b5faca62

[3] https://github.com/gnome-terminator/terminator/commit/91cc928f0de1f9d6d51136cf50f06c35b5faca62.patch

[4] https://www.debian.org/doc/debian-policy/ch-customized-programs.html#packages-providing-a-terminal-emulator

[5] https://github.com/gnome-terminator/terminator/issues/700#issuecomment-1409638960

#901245#24
Date:
2023-02-25 19:07:18 UTC
From:
To:
user debian-release@lists.debian.org

usertag 901245 + bsp-2023-02-ca-montreal
thank you

Thanks for the excellent debugging session :)

I've tried to apply the patch [1] but it does not seem to fix the bug
itself.

I'll try to dig further during the Montreal BSP.

Cheers,

[1]:
https://github.com/gnome-terminator/terminator/commit/91cc928f0de1f9d6d51136cf50f06c35b5faca62.patch

#901245#29
Date:
2023-02-25 21:23:10 UTC
From:
To:
Ok, so pushing further.
------------------------------------------------ $ x-terminal-emulator -e bash -c 'watch /' (x-terminal-emulator:98199): dbind-WARNING **: 14:48:34.964: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files usage: x-terminal-emulator [-h] [-v] [-m] [-M] [-f] [-b] [-H] [-T FORCEDTITLE] [--geometry GEOMETRY] [--command COMMAND] [-e EXECUTE] [-g CONFIG] [-j CONFIGJSON] [-x EXECUTE] [--working-directory DIR] [-i FORCEDICON] [-r ROLE] [-l LAYOUT] [-s] [-p PROFILE] [-u] [-d] [--debug-classes DEBUG_CLASSES] [--debug-methods DEBUG_METHODS] [--new-tab] [--unhide] [--list-profiles] [--list-layouts] ------------------------------------------------ This error does seem to be caused by the issue John pointed out. Applying the upstream patch, calling this command doesn't error out anymore, but now replicates the "the window comes up and disappears immediately." issue: x-terminal-emulator -e bash -c 'watch /' This command still works fine though: x-terminal-emulator -e 'watch /' All this to say, I'm not sure this bug is serious? It seems the -e option does work? I'll try to see what to do with this bug tomorrow.
#901245#36
Date:
2023-02-26 16:27:17 UTC
From:
To:
retitle 901245 terminator: x-terminal-emulator -c stumbles upon shell oneliner
severity 901245 normal
found 901245 2.1.2-1
retitle 1032013 terminator: --execute flag is broken
thanks

I've split this bug in two, since it's actually two different bugs.

The original bug about "-c " is different from the one John reported about
the --execute flag being broken.

I'll upload a patch for 1032013 today, but I won't be fixing the original bug.
In my opinion, it's not as severe as 1032013, as it's not a policy violation.

Cheers,