Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added AppStream metadata XML listing supported hardware. #1399

Merged

Conversation

petterreinholdtsen
Copy link
Contributor

The AppStream metadata is package metadata shared across Linux distributions, see https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html . It include support for mapping to relevant hardware IDs, like USB IDs in this case. This allow programs like isenkram to map relevant hardware to this package, and propose to install the package when supported hardware is available or inserted in a computer.

This patch was originally submitted to Debian as https://bugs.debian.org/1077343 .

The patch include installation rules to install the XML file and referred XDG desktop file.

@GPSBabelDeveloper
Copy link
Collaborator

GPSBabelDeveloper commented Jan 15, 2025 via email

@petterreinholdtsen
Copy link
Contributor Author

petterreinholdtsen commented Jan 15, 2025 via email

Copy link
Collaborator

@tsteven4 tsteven4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am amenable to accepting the metainfo.xml files, but I am reluctant to accept the cmake changes. We don't use the cmake install command at all, instead we require the linux packagers to install the files they want where the want them. Historically it has been difficult to implement a linux install that works for everyone.

gui/org.gpsbabel.gui.metainfo.xml Outdated Show resolved Hide resolved
org.gpsbabel.tool.metainfo.xml Outdated Show resolved Hide resolved
org.gpsbabel.tool.metainfo.xml Outdated Show resolved Hide resolved
org.gpsbabel.tool.metainfo.xml Outdated Show resolved Hide resolved
@petterreinholdtsen
Copy link
Contributor Author

petterreinholdtsen commented Jan 16, 2025 via email

@tsteven4
Copy link
Collaborator

@petterreinholdtsen Thanks for introducing this. After looking at the documentation link you provided I suggest the following changes included in the attached patch. Do they look OK to you? They do pass "appstreamcli validate".

@GPSBabelDeveloper are you OK with the proposed metadata license MIT? Or would you prefer one of the others from https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-metadata_license?

0001-enhance-metainfo-content.patch

@petterreinholdtsen
Copy link
Contributor Author

petterreinholdtsen commented Jan 18, 2025 via email

@petterreinholdtsen
Copy link
Contributor Author

Is there anything more I can do to get this change ready to go into master?

@tsteven4
Copy link
Collaborator

Is there anything more I can do to get this change ready to go into master?

After I hear from @robertlipe about the metadata license I will push the patch and merge. Thanks.

@robertlipe
Copy link
Collaborator

I'm fine with that.

Was there a decision on how to handle the serial units? The comment was marked 'resolved', but I didn't see any code change.

@petterreinholdtsen
Copy link
Contributor Author

petterreinholdtsen commented Jan 22, 2025 via email

@tsteven4 tsteven4 self-requested a review January 22, 2025 13:56
@tsteven4
Copy link
Collaborator

The list of devices is incomplete, but it is difficult to see what to add without having each device in hand. Some hints can be found at https://gitlab.com/gpsd/gpsd/-/blob/master/gpsd.rules.in?ref_type=heads, but without testing I am reluctant to add more modaliases.

I note the referenced file has commented out entries for some popular serial port converters, e.g. "FTDI 8U232AM / FT232" and "Prolific Technology, Inc. PL2303 Serial Port". It remarks: "rule disabled because it matches way too many generic serial converters and creates more harm than good"

@robertlipe
Copy link
Collaborator

robertlipe commented Jan 22, 2025 via email

@tsteven4
Copy link
Collaborator

The macos regression failures seem to be related to a change in a homebrew package. If the cache has been flushed we pick up a new version of jing-trang:
jing-trang--20220510.ventura.bottle.1.tar.gz ->jing-trang--20241231.ventura.bottle.tar.gz
jing-trang--20220510.arm64_sonoma.bottle.1.tar.gz -> jing-trang--20241231.arm64_sonoma.bottle.tar.gz
jing-trang--20220510.arm64_sequoia.bottle.1.tar.gz-> jing-trang--20241231.arm64_sequoia.bottle.tar.gz

The AppStream metadata is package metadata shared across Linux distributions,
see https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html .
It include support for mapping to relevant hardware IDs, like USB IDs in this
case.  This allow programs like isenkram to map relevant hardware to this
package, and propose to install the package when supported hardware is available
or inserted in a computer.

This patch was originally submitted to Debian as https://bugs.debian.org/1077343 .

The patch do not include installation rules to install the XML file and
referred XDG desktop file on request from tsteven4.

The XML files include metainfo enhancments from tsteven4.
@petterreinholdtsen petterreinholdtsen force-pushed the appstream-metainfo-hw-mapping branch from 248d4f0 to a544923 Compare January 22, 2025 19:08
@petterreinholdtsen
Copy link
Contributor Author

petterreinholdtsen commented Jan 22, 2025 via email

@tsteven4
Copy link
Collaborator

I squashed the change into one unified commit.

thanks, I do like to keep the history clean. I usually just hit the squash and merge button.

@tsteven4 tsteven4 merged commit fd37f27 into GPSBabel:master Jan 22, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants