← Back to team overview

desktop-packages team mailing list archive

[Bug 1432932] Re: xdg-desktop-menu uninstall hangs if menu file names have spaces

 

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

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 2013-07-05T00:39:59+00:00 Mgiuca-n wrote:

Steps to reproduce:

1. Create a .desktop file with a vendor prefix and a space in the name. e.g., "foo-bar baz.desktop".
2. Run: xdg-desktop-menu install --mode user "foo-bar baz.desktop"

Expected result: The file is copied to "~/.local/share/applications/foo-
bar baz.desktop".

Actual result:
xdg-desktop-menu: filename 'baz.desktop' does not have a proper vendor prefix
A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated
with a dash ("-"). An example filename is 'example-baz.desktop'
Use --novendor to override or 'xdg-desktop-menu --manual' for additional info.

This is because it thinks I am passing two separate filenames ("foo-bar"
and "baz.desktop") even though I correctly used quotes on the command
line. This is caused by line 998 of the script, which concatenates all
arguments ending in .desktop onto $desktop_files, separating each
argument with a space. After that point, it is impossible to tell which
spaces separate arguments and which are part of the filename.

(Note that if all of the space-separated parts of the filename contain a
"-", you don't see the above error, it just fails silently because it
can't find the files it is trying to copy.)

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

------------------------------------------------------------------------
On 2013-09-16T12:59:33+00:00 Rdieter-math wrote:

Fixing this could get a little ugly... in the meantime I would simply
and strongly recommend avoiding the use of .desktop filenames with
spaces (converting " " to "_" or something...)

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

------------------------------------------------------------------------
On 2015-04-04T07:12:08+00:00 MestreLion wrote:

This affects more than just installing `.desktop` files. It also affects
uninstalling *any* .directory file, with spaces or not, if
`XDG_CONFIG_HOME/menus/applications-merged` contains a `.menu` file with
spaces.

In this case, a simple `xdg-desktop-menu uninstall vendor-foo.directory
vendor-bar.desktop` *freezes*. Notice there's no spaces in those names!

This was reported in Ubuntu as https://bugs.launchpad.net/xdg-
utils/+bug/1432932 , and it contains a working patch that does not seem
ugly: it simply quotes the vars as they should be.

"avoiding the use of .desktop filenames with spaces" is not always an
option:  wine creates such files, and they do so by design (its .menu
files are named after their windows `.lnk` counterparts).

So if a user has wine-installed games, no other software will be able to
uninstall its own .directory files!

Any chance this patch could be merged?

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


** 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/1432932

Title:
  xdg-desktop-menu uninstall hangs if menu file names have spaces

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

Bug description:
  xdg-desktop-menu uninstall hangs if menu file names have spaces
  for example when uninstalling a custom menu it hangs on processing "$HOME/.config/menus/applications-merged/wine-Programs-Tina 9 - TI-Component Help.menu" file.

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


References