rafalcieslak / harmonySEQ

MIDI sequencer designed for live performances
https://harmonyseq.wordpress.com/
GNU General Public License v3.0
11 stars 2 forks source link

Provide AppData XML file #5

Open musicinmybrain opened 3 years ago

musicinmybrain commented 3 years ago

I’m the new volunteer maintainer of the harmonyseq package in Fedora Linux.

Along with a harmonyseq.desktop file, harmonySEQ should provide a harmonyseq.metainfo.xml file containing AppStream metadata so that it can show up in places like the GNOME Software Center. See https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps and also https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/.

As I finish bringing the package in Fedora Linux up to date, I plan to write a harmonyseq.metainfo.xml file and offer it upstream by attaching it to this issue.

musicinmybrain commented 3 years ago

Here’s a trivial AppData XML file, which I plan to use in the Fedora package:

com.wordpress.harmonyseq.metainfo.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2021 Benjamin A. Beasley <code@musicinmybrain.net> -->
<component type="desktop-application">
  <id>com.wordpress.harmonyseq</id>

  <name>harmonySEQ</name>
  <summary>MIDI sequencer designed for live performances</summary>

  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0-or-later</project_license>

  <description>
    <p>
      A MIDI software sequencer designed for live performances and jams.
    </p>
  </description>

  <launchable type="desktop-id">harmonyseq.desktop</launchable>
  <url type="homepage">https://harmonyseq.wordpress.com/</url>
</component>

You could improve it, if you choose, by:

You also might like to rename the desktop file to match the reverse-DNS scheme unique identifier (https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic) used in the XML file. This seems to be common practice.

rafalcieslak commented 3 years ago

Hi @musicinmybrain, thanks a lot for your advice. While I can't maintain packages for various distros myself, I can at least do my best to help other maintainers. I don't mind adding this kind of metadata directly to repository and release distributions, especially if it makes desktop integration easier. I hope to soon prepare the relevant changes according to your template; thanks for these useful links :+1:

One thing to note: I'd prefer that wordpress not be considered the vendor of harmonyseq. They are a non-affiliated third party, merely hosting the website, but relying on their domains to guarantee package name uniqueness doesn't seem right. I own cielak.org which is under my control, I've registered harmonyseq.cielak.org (and configured it to redirect to harmonyseq.wordpress.com), so that domain should be a better fit for a package ID.

I'll address your other remarks (and also #6) in a PR which I hope to prepare soon. Would you be so kind to review these changes before I merge them? Once they are done, would it be convenient for you if I released a 0.17.1 consisting merely of these changes so that relevant metadata is available in an official release, or is that unnecessary?

musicinmybrain commented 3 years ago

Thanks for looking at this.

I agree that org.cielak.harmonyseq is a better application ID.

I will be happy to review the changes when you are ready. There is no hurry; I am still working on getting the package in Fedora updated to 0.17.

Whether you make a new release is up to you. If you do, I will package it; if you don’t, I will patch in the changes from git until the next release happens. Either is easy enough for me.