Activity log for bug #297195

Date Who What changed Old value New value Message
2008-11-12 13:56:03 Roderick B. Greening bug added bug
2008-11-12 14:31:18 Harald Sitter description Binary package hint: kdelibs5-data Since Gnome uses the default applications.menu to house its menu structure, KDE is forced to use an alternate prefix like kde4-applications.menu, to prevent menu collisions. To make this happen, a simple patch was introduced to tell KDE to use the new prefix. Unfortunately, the inadvertant side effect is that the prefix is inherited, and used to for DefaultMergeDirs, which means applications-merged never gets searched for new menu entries. A proper fix needs to be introduced to allow KDE to use the DefaultMergeDirs directive correctly. For now, if you manually insert a MergeDir directive into the kde4-applications.menu, pointing at applications-merged, things will work, but this is not the correct way as the spec is stil broken at this point. Since Gnome uses the default applications.menu to house its menu structure, KDE is forced to use an alternate prefix like kde4-applications.menu, to prevent menu collisions. To make this happen, a simple patch was introduced to tell KDE to use the new prefix. Unfortunately, the inadvertant side effect is that the prefix is inherited, and used to for DefaultMergeDirs, which means applications-merged never gets searched for new menu entries. A proper fix needs to be introduced to allow KDE to use the DefaultMergeDirs directive correctly. For now, if you manually insert a MergeDir directive into the kde4-applications.menu, pointing at applications-merged, things will work, but this is not the correct way as the spec is stil broken at this point. The issue is caused by kbuildsycoca4 (the component responsible for parsing desktop files and creating the menu tree) using the variable which holds the default file name ($XDG_CONFIG_DIRS/menus/applications.menu) in order to compose the path for the applications-merged/ directory (which holds menu files from 3rd parties which are to be merged into the desktop's default structure or enhance the very same). Since Ubuntu includes GNOME, KDE 3 and KDE 4 we have applications.menu (GNOME) kde-applications.menu (KDE 3) and kde4-applications.menu (KDE 4). Because kbuildsycoca4 uses the default file's basename to compose the merged directorie's with the current patch it will end up with kde4-applications-merged. This is for one pointless because this directory would only be used by someone who wants to manipulate KDE 4's menu structure only and for another breaking the spec implimentation: Quoting about the applications-merged directory [1]: Note that a system that uses either gnome-applications.menu or kde-applications.menu depending on the desktop environment in use must still use applications-merged as the default merge directory in both cases. KDE 4 doesn't do this because it composes kde4-applications-merged as default merge directory. One possible fix would be to alter the affected patch to hardcode applications-merged as directory name. However, this approach would still not follow the specification completely. The very first section of [1] describes the most accurate way to handle multiple desktop installation. Applied to KDE this means: revising the affected to patch to only change the installation path to kde4-applications.menu, but not the hardcoded name, and adding export $XDG_MENU_PREFIX="kde4-" to startkde (or possibly a custom start script) in order to make kbuildsycoca4 use this file instead of applications.menu. In addition to this GNOME should use the very same approach and most importantly use gnome-applications.menu rather than applications.menu. This is a different bug though. [1] http://standards.freedesktop.org/menu-spec/menu-spec-latest.html
2008-11-12 14:32:45 Harald Sitter bug assigned to kdebase-workspace (Ubuntu)
2008-11-12 14:33:08 Harald Sitter kde4libs: status New Triaged
2008-11-12 14:33:08 Harald Sitter kde4libs: importance Undecided High
2008-11-12 14:33:08 Harald Sitter kde4libs: statusexplanation
2008-11-12 14:33:26 Harald Sitter kdebase-workspace: status New Triaged
2008-11-12 14:33:26 Harald Sitter kdebase-workspace: importance Undecided High
2008-11-12 14:33:26 Harald Sitter kdebase-workspace: statusexplanation
2008-11-12 14:39:37 Roderick B. Greening kde4libs: assignee roderick-greening
2008-11-12 14:39:51 Roderick B. Greening kdebase-workspace: assignee roderick-greening
2008-11-12 15:20:13 Roderick B. Greening bug added attachment 'kubuntu_65_kde4_applications_menu.diff' (kubuntu_65_kde4_applications_menu.diff)
2008-11-12 15:20:59 Roderick B. Greening bug added attachment 'kubuntu_65_kde4_applications_menu.diff' (kubuntu_65_kde4_applications_menu.diff)
2008-11-12 15:48:57 Roderick B. Greening bug added attachment 'kubuntu_54_use_xdg_menu_prefix.diff' (kubuntu_54_use_xdg_menu_prefix.diff)
2008-11-12 17:33:34 Harald Sitter kdebase-workspace: status Triaged Invalid
2008-11-12 17:33:34 Harald Sitter kdebase-workspace: statusexplanation Changes have to made in kdelibs exclusively, various standard KDE widgets rely on the menutree, so setting the env var in startkde would be insufficient.
2008-11-12 18:03:39 Roderick B. Greening bug added attachment 'kubuntu_65_kde4_applications_menu.diff' (kubuntu_65_kde4_applications_menu.diff)
2008-11-12 18:04:46 Roderick B. Greening bug added attachment 'kubuntu_65_kde4_applications_menu.diff' (kubuntu_65_kde4_applications_menu.diff)
2008-11-26 12:40:14 Harald Sitter kdebase-workspace: status New Invalid
2008-11-26 12:40:14 Harald Sitter kdebase-workspace: statusexplanation
2008-11-26 12:40:47 Harald Sitter kde4libs: status Triaged In Progress
2008-11-26 12:40:47 Harald Sitter kde4libs: assignee roderick-greening apachelogger
2008-11-26 12:40:47 Harald Sitter kde4libs: statusexplanation
2008-11-26 12:41:37 Harald Sitter kde4libs: status New Triaged
2008-11-26 12:41:37 Harald Sitter kde4libs: assignee roderick-greening
2008-11-26 12:41:37 Harald Sitter kde4libs: statusexplanation http://svn.debian.org/wsvn/pkg-kde/branches/kde4/packages/kdelibs/debian
2008-11-26 12:42:16 Harald Sitter kde4libs: importance Undecided High
2008-11-26 12:42:16 Harald Sitter kde4libs: statusexplanation http://svn.debian.org/wsvn/pkg-kde/branches/kde4/packages/kdelibs/debian
2008-12-01 14:15:22 Harald Sitter kde4libs: status In Progress Fix Released
2008-12-01 14:15:22 Harald Sitter kde4libs: statusexplanation kde4libs (4:4.1.80-0ubuntu1) jaunty; urgency=low [ Jonathan Thomas ] * New upstream beta release - kdelibs5 conflicts/replaces kio-bookmarks since the KIO slave is in kdelibs now - Updated various .install files, several trailing whitespace fixes - Bump build-dep and runtime-dep versions * Add /usr/bin/preparetips to debian/not-installed [ Harald Sitter ] * Renamed 11_kde4_applications_menu.diff to kubuntu_54_use_xdg_menu_prefix.diff + Made the patch not break the menu spec implementation. The spec suggests to set the XDG_PREFIX_MENU var, however various KDE widgets rely on a working menutree, so we are forcing the appropriate variable within the parsing code to always use "kde4-" as prefix, unless the user overrides this with the mentioned environment variable (LP: 297195) -- Harald Sitter < apachelogger@ubuntu.com> Sun, 23 Nov 2008 14:35:19 +0100
2010-03-30 20:59:34 Sergio Zanchetta kde4libs (Ubuntu Intrepid): status Triaged Won't Fix