mak added a comment.

  In D23306#515666 <https://phabricator.kde.org/D23306#515666>, @kossebau wrote:
  
  > In D23306#515662 <https://phabricator.kde.org/D23306#515662>, @mak wrote:
  >
  > > In D23306#515616 <https://phabricator.kde.org/D23306#515616>, @kossebau 
wrote:
  > >
  > > > Thanks! Though reading it, leaves open questions with me:
  > > >
  > > > - what is meant by "referenced"? only via <launchable>?
  > >
  > >
  > > In modern metainfo files yes, only via `launchable`. However, if a 
component `id` has a .desktop suffix, as was required in the past, and a 
matching .desktop file is found, that also counts as referenced and the 
desktop-entry file will be read.
  >
  >
  > As developer trying to write metainfo files, I would welcome this logic 
also documented n the docs. The current content of the docs is confusing to me 
at least.
  >
  > >> - if there are two desktop files referenced by <launchable> where one 
has the ignore entry set, will this overrule the "Data will only be fetched 
from a desktop file if one <launchable/> tag is present" rules above?
  > > 
  > > No. A `launchable` tag always beats whatever was defined in the 
desktop-entry file itself, so if there is one launchable tag, the .desktop 
entry file will be taken into consideration no matter what was defined in it 
(to e.g. merge in category information). Any equivalent data in the metainfo 
file beats that of the desktop-entry file though. If there are multiple 
`launchable` entries, the generator has no idea which .desktop file to read, so 
rather than reading any and getting information wrong, it will read none 
(requiring the metainfo author to add all data they want in there explicitly).
  > >  This could maybe be made smarter, but tbh this case is so rare that just 
making the metainfo files more complete in such events seems like the better 
approach.
  >
  > So, in our case here, `<launchable 
type="desktop-id">systemsettings.desktop</launchable>` actually means there is 
no need to add `X-AppStream-Ignore=true` to "kdesystemsettings.desktop" ? 
Because the generators would ignore it already due to a `<launchable>` present 
and pointing to the other desktop file?
  
  
  No, you need `X-AppStream-Ignore=true` in `kdesystemsettings.desktop`, 
because since the desktop filename is different, the AppStream generator will 
see those as different applications and create entries for both. You however do 
not need to add the AppStream-ignore field to the `systemsettings.desktop` 
file, as that one is referenced from the metainfo file and therefore the 
metadata generator will know that the two files belong together and describe 
just one application. (if there was another launchable entry for 
`kdesystemsettings.desktop`, that would also be the case, but it would break 
the "Launch" dialog in software centers, so having one .desktop file ignored is 
the way to go)

REPOSITORY
  R124 System Settings

REVISION DETAIL
  https://phabricator.kde.org/D23306

To: ngraham, apol, mak, #plasma
Cc: kossebau, plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, 
fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, mart

Reply via email to