Bug 2171887 - “appstreamcli validate “ shows a confusing error message when only a translated screenshot exists but no screenshot for the default locale
Summary: “appstreamcli validate “ shows a confusing error message when only a translat...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: appstream
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-20 18:10 UTC by Mike FABIAN
Modified: 2024-11-27 21:07 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-11-27 21:07:11 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Mike FABIAN 2023-02-20 18:10:03 UTC
https://download.copr.fedorainfracloud.org/results/mfabian/ibus-typing-booster/fedora-rawhide-x86_64/05549617-ibus-typing-booster/build.log.gz

fails with 

+ appstreamcli validate --pedantic --no-net /builddir/build/BUILDROOT/ibus-typing-booster-2.21.4-1.fc39.x86_64//usr/share/metainfo/emoji-picker.appdata.xml /builddir/build/BUILDROOT/ibus-typing-booster-2.21.4-1.fc39.x86_64//usr/share/metainfo/typing-booster.appdata.xml
emoji-picker.appdata.xml
  E: org.freedesktop.ibus.engine.typing_booster.emoji_picker:18: screenshot-image-source-missing
emoji-picker.appdata.xml
  E: org.freedesktop.ibus.engine.typing_booster.emoji_picker:18: screenshot-image-source-missing
typing-booster.appdata.xml
  E: org.freedesktop.ibus.engine.typing_booster:22: screenshot-image-source-missing
✘ Validation failed: errors: 3
error: Bad exit status from /var/tmp/rpm-tmp.edFYrs (%check)
    Bad exit status from /var/tmp/rpm-tmp.edFYrs (%check)

But the files `appstreamcli validate --pedantic --no-net` complains about **do** have screenshot sources:

https://github.com/mike-fabian/ibus-typing-booster/blob/main/emoji-picker.appdata.xml

contains:

```xml
  <screenshots>
    <screenshot type="default">
      <image type="source" xml:lang="en">
        https://mike-fabian.github.io/ibus-typing-booster/images/emoji-picker.png
      </image>
      <caption>Emoji Picker screenshot</caption>
    </screenshot>
  </screenshots>
```

https://github.com/mike-fabian/ibus-typing-booster/blob/main/typing-booster.appdata.xml

contains:

```xml
  <screenshots>
    <screenshot type="default">
      <image type="source" width="956" height="233" xml:lang="en">
      https://mike-fabian.github.io/ibus-typing-booster/images/typing-emoji-and-context-sensitive-completion.png
      </image>
      <caption>Typing Booster screenshot</caption>
    </screenshot>
    <screenshot>
      <video container="webm" codec="vp9" xml:lang="en">
        https://mike-fabian.github.io/ibus-typing-booster/videos/overview-demo-setup-use-typing-booster-emoji-picker.webm
      </video>
      <caption>Typing booster demo video</caption>
    </screenshot>
  </screenshots>
```

These screenshots are given as URLs, and they point to existing files.

But I think because of the `--no-net` option `appstreamcli validate` should not try to validate these at all.

Comment 1 Yaakov Selkowitz 2023-02-21 00:00:50 UTC
FWIW the packaging guidelines mandate the use of appstream-util (from libappstream-glib) rather than appstreamcli, and it doesn't have this problem.

Comment 2 Mike FABIAN 2023-04-17 08:44:52 UTC
(In reply to Yaakov Selkowitz from comment #1)
> FWIW the packaging guidelines mandate the use of appstream-util (from
> libappstream-glib) rather than appstreamcli, and it doesn't have this
> problem.

https://blogs.gnome.org/uraeus/2022/06/10/how-to-get-your-application-to-show-up-in-gnome-software/#comment-26956

says:

* Use `appstreamcli` not `appstream-util`. The latter is unmaintained.

Comment 3 Yaakov Selkowitz 2023-04-17 16:18:07 UTC
The Fedora packaging guidelines take precedence:

https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/#_app_data_validate_usage

Comment 4 Mike FABIAN 2023-04-19 14:54:18 UTC
(In reply to Yaakov Selkowitz from comment #3)
> The Fedora packaging guidelines take precedence:
> 
> https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/
> #_app_data_validate_usage

If the upstream developers of appstream say `appstream-util` is unmaintained and one should use `appstreamcli`, then I think the Fedora guidelines need to change.

Comment 5 Yaakov Selkowitz 2023-04-19 15:31:49 UTC
(In reply to Mike FABIAN from comment #4)
> If the upstream developers of appstream say `appstream-util` is unmaintained
> and one should use `appstreamcli`, then I think the Fedora guidelines need
> to change.

Perhaps, but there is a procedure that would need to be followed.  One step in that process should be to try modifying and rebuilding everything which currently uses libappstream-glib/appstream-util with appstream/appstreamcli in a COPR.  If you are interested in taking a lead on this effort, I suggest being in touch with FPC.

In the meantime, please follow the existing guidelines so that the package in question can be built.

Comment 6 Mike FABIAN 2023-04-25 08:25:07 UTC
I reported the appstreamcli problem upstream: https://github.com/ximion/appstream/issues/494

and got a response which made me realize that I had just misunderstood the error message `screenshot-image-source-missing`. It does not mean that https://mike-fabian.github.io/ibus-typing-booster/images/emoji-picker.png does not exist, this error message was there because of the `xml:lang="en"`. To appstreamcli this looked like there was only a translated screenshot and no screenshot for the default locale. The error message is very confusing.

After removing xml:lang="en" both appstream-util and appstreamcli find no errors in the files.

Comment 7 Fedora Release Engineering 2023-08-16 07:10:01 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.

Comment 8 Aoife Moloney 2024-11-08 10:48:00 UTC
This message is a reminder that Fedora Linux 39 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 39 on 2024-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '39'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 39 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 9 Aoife Moloney 2024-11-27 21:07:11 UTC
Fedora Linux 39 entered end-of-life (EOL) status on 2024-11-26.

Fedora Linux 39 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.