Public bug reported:

In the beginning of /usr/bin/startkde there is a check to assure that qdbus can 
be called.
A variable is set like this:

qdbus=QT_SELECT=qt4 qdbus

and later there is the real check:

if $qdbus >/dev/null 2>/dev/null; then
    : # ok
else

unfortunately this is completely wrong, the variable assignment would call 
qdbus directly with a wrong "qdbus=QT_SELECT=qt4" environment variable,
because the first unquoted space after a variable assignment separated the 
environment from the command line to start
as explained in the BASH bible: 
http://www.tldp.org/LDP/abs/html/varsubn.html#EX9, example:

GIT_DIR=/usr/src/repo/.git git status

Indeed, if I make qdbus non executable (or if I remove it) like `chmod
000 /usr/bin/qdbus` startkde would not complain as it should do.

This because the check `if $qdbus >/dev/null 2>/dev/null; then` is
always true as "$qdbus" evaluates to "qdbus=QT_SELECT=qt4" without
"qdbus" and an assignment is always succesfull in shell.

This bug was introduced when trying to fix
https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1304805

** Affects: kde-workspace (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1306086

Title:
  qdbus check is wrong in startkde

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1306086/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to