rpm-software-management / rpmlint

Tool for checking common errors in rpm packages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

invalid-desktopfile value "1.5" for key "Version"

yecril71pl opened this issue · comments

I get the following → error:

E: invalid-desktopfile /usr/share/applications/org.kde.kmail-refresh-settings.desktop value "1.5" for key "Version" in group "Desktop Entry" is not a known version

I tried both desktop-file-validate and configparser on this file; neither reports any error.

What is going on here?

commented

This error is because of the version of desktop-file-validate, if you run the rpmlint from tumbleweed everything is okay, but looks like the version in OBS build environment is not the latest one.

The errors that rpmlint shows in your case are related to the update in the desktop file spec version "1.5":
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.5.html#idm45633745928992

The utility desktop-file-validate is part of the package desktop-file-utils. Both Tumbleweed and the build environment have the package desktop-file-utils-0.26-6.1 installed. I have checked that before reporting here.

commented

Ok, looking carefully I've found that the problem is in the rpmlint-mini package, that's what it's using and this package has its own version of desktop-file-utils and it's not patched with the "1.5" version update:

https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint-mini

commented

I've just sent an update for the rpmlint-mini package to fix this issue: https://build.opensuse.org/request/show/1088515

In any case, this problem is not related to the rpmlint code, it's the package itself so we can close this issue.

But why do we use our own copy of desktop-file-utils in the first place? It violates ODR and it is extremely confusing.

commented

But why do we use our own copy of desktop-file-utils in the first place? It violates ODR and it is extremely confusing.

So that it's self-contained, and we don't "pollute" pristine build chroots with the requirements for rpmlint