As per the spec, we should also ignore certain errors where entry_type == "ServiceType". In these cases, there are further errors that should also be ignored: * error: file contains group "PropertyDef::X-variable_text-variable_text", but groups extending the format should start with "X-" * error: key "Exec" is present in group "Desktop Entry", but the type is "Service" while this key is only valid for type "Application" * error: key "Categories" is present in group "Desktop Entry", but the type is "Service" while this key is only valid for type "Application" In all probability there are further "extensions" that should be ignored. KDE upstream says "you shouldn't be running desktop-file-validate anyway, since we have several extensions that don't comply with the main format, and nothing besides KDE should be reading these anyway", so an alternative option is to just skip validating Service and ServiceType .desktop files completely.
Apparently kde-base/kdelibs and kde-base/kcontrol also install another type of desktop file in /usr/share/apps/kcm_componentchooser that we need to ignore. We can use the configurationType key to identify them, since none of the other desktop file appear to use this key.
Looking through my logs from my kde-4.9 update, there are also several other kinds that need to be ignored. Here's an incomplete list: kde-base/kdebase-data installs desktop files in /usr/share/locale/currency with single "[Currency Code]" section kde-base/kdepim-runtime installs desktop files in sub-directories of /usr/share/akonadi and /usr/share/apps/akonadi: /usr/share/akonadi/agents: Type=AkonadiAgent /usr/share/apps/akonadi/accountwizard: [Wizard] /usr/share/apps/akonadi/plugins: [Plugin]
Hopefully this filters most of the noise: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=8c8dcc663f90f36a81437a711b086ec3bc5d3eef
This is fixed in 2.1.11.12 and 2.2.0_alpha123.
More in 2.1.11.14 and 2.2.0_alpha125: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=04d156d56e1cf48f0d45d661c5e94e6863549fc2
New approach in 2.1.11.15 and 2.2.0_alpha126: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9f735963c000f0e925b513c5378b2552476c0e8e
QA_DESKTOP_FILE variable in 2.1.11.19 and 2.2.0_alpha130: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=8ba939d53e52a88c183a2db95d1e51f04b0d9bb6