flathub-infra / flatpak-builder-lint

A linter for flatpak-builder manifests
MIT License
50 stars 126 forks source link

metainfo: Check that launchable value matches appid #378

Closed bbhtt closed 5 months ago

bbhtt commented 5 months ago
from lxml import etree

# curl -sL https://hub.flathub.org/repo/appstream/x86_64/appstream.xml.gz | gunzip -- > appstream.xml
components = etree.parse("appstream.xml").getroot()
for component in components.iterchildren(tag="component"):
   if component.attrib.get("type") not in ("desktop","desktop-application"):
        continue
   flatpak_id = component.find("bundle").text.split("/")[1]
   launchable = component.xpath("launchable[@type='desktop-id']/text()")
   if launchable:
      l_value = str(launchable[0])
      if l_value != flatpak_id + ".desktop":
        print(flatpak_id)

These 5 are need to be notified, some of them have multiple launchables defined which is discouraged in the spec.

cat.xtec.clic.JClic
com.github.debauchee.barrier
com.sigmyne.crush
io.itch.tx00100xt.SeriousSamClassic-VK
io.itch.tx00100xt.SeriousSamClassic
net.openra.OpenRA
bbhtt commented 5 months ago

Issues: