Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 189364 - [Tracker] Many KDE ebuilds fail desktop entry validity check
Summary: [Tracker] Many KDE ebuilds fail desktop entry validity check
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords: Tracker
Depends on: 186942 187371 188755 189551 190006 190758 210057
Blocks: kde-3.5.10
  Show dependency tree
 
Reported: 2007-08-18 13:47 UTC by Martin von Gagern
Modified: 2017-01-19 18:47 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
desktop validation errors for 61 packages (189364_errors.txt,59.55 KB, text/plain)
2007-08-24 08:25 UTC, Martin von Gagern
Details
remaining packages (3.5.10_failures.txt,1.86 KB, text/plain)
2009-05-26 15:54 UTC, Theo Chatzimichos (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2007-08-18 13:47:27 UTC
I'm remerging major parts of my KDE 3.5.7 ebuilds due to changed USE flags. I got lots of mails from elog warning about invalid desktop entries. Traced this to validate_desktop_entries in eutils.eclass which calls desktop-file-validate from dev-util/desktop-file-utils if available.

To reproduce the error messages for installed entries, this seems to work:
for i in /usr/kde/3.5/share/applications/kde/*.desktop; do
  desktop-file-validate $i
done | grep error

Typical examples, in order of decreasing frequency:
* value "..." for string list key "MimeType" in group "Desktop Entry"
  does not have a semicolon (';') as trailing character
* value "..." for key "Categories" in group "Desktop Entry"
  contains an unregistered value "..."
* file contains key "..." in group "Desktop Entry",
  but keys extending the format should start with "X-"

In case you have trouble reproducing this, I can give you the complete messages from my elog mails or the complete output from the loop described above.

I have kde-base/kde-meta-3.5.7 and dev-util/desktop-file-utils-0.13

Maybe the check errors (perhaps even warnings) should be QA warnings, not simple ewarn messages which will be logged for most users though I guess most are unlikely to do anything about them.
Comment 1 Martin von Gagern 2007-08-20 17:01:49 UTC
As you made this a Tracker and have sub-bugs for individual ebuilds, I matched the errors I can find on my system to the corresponding ebuilds. Do you want to open a bug report for each of these? Or only packages outside kde-base?

kde-base/ark-3.5.7 (ark.desktop)
kde-base/certmanager-3.5.7-r1 (kleopatra_import.desktop)
kde-base/kaboodle-3.5.7 (kaboodle.desktop)
kde-base/kaddressbook-3.5.7 (kaddressbook.desktop)
kde-base/kate-3.5.7-r1 (kate.desktop, kwrite.desktop)
kde-base/kcontrol-3.5.7-r1 (installktheme.desktop, kfontview.desktop)
kde-base/kdelirc-3.5.7 (irkick.desktop)
kde-base/kdemultimedia-arts-3.5.7 (artsbuilder.desktop)
kde-base/kdeprint-3.5.7 (printers.desktop)
kde-base/kedit-3.5.7 (KEdit.desktop)
kde-base/keduca-3.5.7 (keducabuilder.desktop, keduca.desktop)
kde-base/kfax-3.5.7 (kfaxview.desktop)
kde-base/kghostview-3.5.7 (kghostview.desktop)
kde-base/kgpg-3.5.7 (kgpg.desktop)
kde-base/kimagemapeditor-3.5.7 (kimagemapeditor.desktop)
kde-base/klaptopdaemon-3.5.7-r1 (laptop.desktop)
kde-base/kmail-3.5.7-r2 (kmail_view.desktop)
kde-base/kmid-3.5.7 (kmid.desktop)
kde-base/kmplot-3.5.7 (kmplot.desktop)
kde-base/kolf-3.5.7 (kolf.desktop)
kde-base/kolourpaint-3.5.7 (kolourpaint.desktop)
kde-base/kommander-3.5.7 (kmdr-editor.desktop)
kde-base/konqueror-3.5.7-r2 (kfmclient_dir.desktop, kfmclient_war.desktop)
kde-base/konsole-3.5.7 (konsolesu.desktop)
kde-base/kopete-3.5.7-r1 (kopete.desktop)
kde-base/kpdf-3.5.7-r1 (kpdf.desktop)
kde-base/kpoker-3.5.7 (kpoker.desktop)
kde-base/ksysguard-3.5.7 (ksysguard.desktop)
kde-base/ktouch-3.5.7 (ktouch.desktop)
kde-base/ktuberling-3.5.7 (ktuberling.desktop)
kde-base/kuickshow-3.5.5 (kuickshow.desktop)
kde-base/kview-3.5.7 (kview.desktop)
kde-base/kwalletmanager-3.5.7 (kwalletmanager.desktop)
kde-base/noatun-3.5.7 (noatun.desktop)
kde-base/quanta-3.5.7 (quanta.desktop)
kde-base/superkaramba-3.5.7 (superkaramba.desktop)
kde-base/umbrello-3.5.7 (umbrello.desktop)
Comment 2 Wulf Krueger (RETIRED) gentoo-dev 2007-08-23 18:02:42 UTC
Martin, please only file individual bugs for packages outside of kde-base.
Comment 3 Martin von Gagern 2007-08-24 08:25:34 UTC
Created attachment 129050 [details]
desktop validation errors for 61 packages

Now I ran this command on my system:

locate \*.desktop | grep -vE '^/usr/portage|^/usr/local' | while read i; do
  desktop-file-validate $i
done | grep error | cut -d: -f1 | qfile -v -f - | cut -d\  -f1 | sort -u

to find out which other desktop files on my system are broken. I found KOffice, for which I filed bug 190006, and 61 more packages outside kde-base. I don't know which of these ebuilds run validate_desktop_entries, but whether or not, a bad desktop entry is a bad thing in any case, right?

Right now I don't have the time to file 61 bug reports, especially since I can't specify a block with the initial submission, so I'd have to edit each report twice. Also I wouldn't consider my system representative, so perhaps the above command could be run on one of the tinderboxes or some other host with a large collection of built packages?

I'm attaching the list of errors, in case someone is curious or willing to file a bunch of bugs for them, maybe using some bulk submission tool.
Comment 4 Wulf Krueger (RETIRED) gentoo-dev 2007-08-24 11:11:52 UTC
Thanks, Martin! Not filing individual bugs for all these is better anyway. I simply didn't expect that many. We'll look at your list instead.
Comment 5 Martin von Gagern 2007-08-27 08:40:16 UTC
Do you plan to provide some desktop entry fixing function in some eclass?
In this case it would be nice to let Thomas A. know about it, as he's preparing fixes to individual ebuilds in bug 190006.

Missing semicolon can be fixed easily, and forbidden keys kan be removed or prefixed with X-. To fix the Categories, the ebuild must probably provide the correct category, but the actual text replacement can be in some eclass as well. The same goes for missing names. Incorrect UTF-8 format can be handled by finding these sequences, assuming they are ISO-8859-1, and recoding them. This Version business I haven't understood yet, will probably have to read the sources of the checker or some desktop file format spec.

I guess I would want an eclass for desktop entry mangling, inherited by kde eclass and some individual ebuilds. I would want a separate function for each fix, such that the ebuild still has to say what's wrong, but in a readable way, so that you know what it is fixing, not so much how it is fixing it. You still could have some auto-fix function calling the individual ones if absolutely needed. In this case that function should probably be versioned somehow, so that you can write one with different corrections in the future without modifying the behavior of current ebuilds.
Comment 6 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2009-05-26 15:54:12 UTC
Created attachment 192506 [details]
remaining packages
Comment 7 Jonathan Callen (RETIRED) gentoo-dev 2009-10-24 21:39:52 UTC
KDE 3.5 is going away soon, this won't be fixed