← Back to team overview

desktop-packages team mailing list archive

[Bug 1517956] Re: xdg-settings assumes desktop files have exactly one Exec line

 

Launchpad has imported 2 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=92170.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2015-09-28T22:23:42+00:00 Chad Miller wrote:

Example command:

xdg-settings set default-web-browser chromium-browser.desktop


In searching the desktop file for suitability, it scans for all lines that begin "Exec", and takes the result and packs it into a variable.

If there is exactly one Exec line, this takes out a command name to test
for existence, but when more than one matches, the program name is
captured as "firstexecprog\nsecondexecprog\nthirdexecprog", and "which"
doesn't know how to look up a program like that and the subsequent tests
fail.

Output with sh's "-x" option on:


+ grep -E ^Exec(\[[^]=]*])?= /usr/share//applications/chromium-browser.desktop
+ command=chromium-browser
chromium-browser
chromium-browser
chromium-browser
+ which chromium-browser
chromium-browser
chromium-browser
chromium-browser
+ command=
+ readlink -f
+ return
+ binary=
+ [  ]
+ exit_failure_file_missing
+ [ 0 -gt 0 ]


In desktop_file_to_binary and binary_to_desktop_file functions, it makes false assumptions how many times grep may match. Those should treat each Exec match separately.

Reply at: https://bugs.launchpad.net/ubuntu/+source/xdg-
utils/+bug/1517956/comments/0

------------------------------------------------------------------------
On 2015-09-28T22:30:30+00:00 Chad Miller wrote:

Created attachment 118501
desktopfile/binary mapping works for multi-Exec destop files

Patch against git tip to treat each matched line as a separate program.

Reply at: https://bugs.launchpad.net/ubuntu/+source/xdg-
utils/+bug/1517956/comments/1


** Changed in: xdg-utils
       Status: Unknown => Confirmed

** Changed in: xdg-utils
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xdg-utils in Ubuntu.
https://bugs.launchpad.net/bugs/1517956

Title:
  xdg-settings assumes desktop files have exactly one Exec line

Status in Xdg-utils:
  Confirmed
Status in xdg-utils package in Ubuntu:
  New

Bug description:
  In searching the desktop file for suitability, it scans for all lines
  that begin "Exec", and takes the result and packs it into a variable.

  If there is exactly one Exec line, this takes out a command name to
  test for existence, but when more than one matches, the program name
  is captured as "firstexecprog\nsecondexecprog\nthirdexecprog", and
  "which" doesn't know how to look up a program like that and the
  subsequent tests fail.

To manage notifications about this bug go to:
https://bugs.launchpad.net/xdg-utils/+bug/1517956/+subscriptions


References