Subject: Re: bug#48662: Freshen AppStream metadata

From: Peter Oliver <[email-masked]>
Date: Wed, 26 May 2021 15:38:17 +0100 (BST)

On Wed, 26 May 2021, Lars Ingebrigtsen wrote:

> Peter Oliver <[email-masked]> writes:
>
>> Attached are two patches to update and expand the AppStream metadata
>> included with Emacs.
>
> If there were patches included, they didn't make it to the issue
> tracker.  Can you re-send them?

Sorry, here they are.

-- 
Peter Oliver

From ce254a4a4ca1dc9fad63ec5b0ef2ca5429d0c85e Mon Sep 17 00:00:00 2001
From: Peter Oliver <[email-masked]>
Date: Tue, 25 May 2021 22:43:43 +0100
Subject: [PATCH 1/2] Rename emacs.appdata.xml to emacs.metainfo.xml

This is the name currently recommended by the spec at
<https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html>.

* Makefile.in: Replace "appdata" with "metainfo".
---
 Makefile.in                                   | 14 +++++++-------
 etc/{emacs.appdata.xml => emacs.metainfo.xml} |  0
 2 files changed, 7 insertions(+), 7 deletions(-)
 rename etc/{emacs.appdata.xml => emacs.metainfo.xml} (100%)

diff --git a/Makefile.in b/Makefile.in
index 65eceb2a0c..3facfa59a9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -185,8 +185,8 @@ x_default_search_path=
 # Where the etc/emacs.desktop file is to be installed.
 desktopdir=$(datarootdir)/applications
 
-# Where the etc/emacs.appdata.xml file is to be installed.
-appdatadir=$(datarootdir)/metainfo
+# Where the etc/emacs.metainfo.xml file is to be installed.
+metainfodir=$(datarootdir)/metainfo
 
 # Where the etc/emacs.service file is to be installed.
 # The system value (typically /usr/lib/systemd/user) can be
@@ -721,11 +721,11 @@ install-etc:
 	  ${srcdir}/etc/emacsclient.desktop > $${tmp}; \
 	${INSTALL_DATA} $${tmp} "$(DESTDIR)${desktopdir}/$${client_name}.desktop"; \
 	rm -f $${tmp}
-	umask 022; ${MKDIR_P} "$(DESTDIR)${appdatadir}"
-	tmp=etc/emacs.tmpappdata; rm -f $${tmp}; \
+	umask 022; ${MKDIR_P} "$(DESTDIR)${metainfodir}"
+	tmp=etc/emacs.tmpmetainfo; rm -f $${tmp}; \
 	sed -e "s/emacs\.desktop/${EMACS_NAME}.desktop/" \
-	  ${srcdir}/etc/emacs.appdata.xml > $${tmp}; \
-	${INSTALL_DATA} $${tmp} "$(DESTDIR)${appdatadir}/${EMACS_NAME}.appdata.xml"; \
+	  ${srcdir}/etc/emacs.metainfo.xml > $${tmp}; \
+	${INSTALL_DATA} $${tmp} "$(DESTDIR)${metainfodir}/${EMACS_NAME}.metainfo.xml"; \
 	rm -f $${tmp}
 	umask 022; $(MKDIR_P) "$(DESTDIR)$(systemdunitdir)"
 	tmp=etc/emacs.tmpservice; rm -f $${tmp}; \
@@ -811,7 +811,7 @@ uninstall:
 	     "hicolor/scalable/mimetypes/${EMACS_NAME}-document23.svg"; \
 	fi)
 	-rm -f "$(DESTDIR)${desktopdir}/${EMACS_NAME}.desktop"
-	-rm -f "$(DESTDIR)${appdatadir}/${EMACS_NAME}.appdata.xml"
+	-rm -f "$(DESTDIR)${metainfodir}/${EMACS_NAME}.metainfo.xml"
 	-rm -f "$(DESTDIR)$(systemdunitdir)/${EMACS_NAME}.service"
   ifneq (,$(use_gamedir))
 	for file in snake-scores tetris-scores; do \
diff --git a/etc/emacs.appdata.xml b/etc/emacs.metainfo.xml
similarity index 100%
rename from etc/emacs.appdata.xml
rename to etc/emacs.metainfo.xml
-- 
2.31.1

From 5204de22094fb324da5abe9455b1a82a759dc4a8 Mon Sep 17 00:00:00 2001
From: Peter Oliver <[email-masked]>
Date: Tue, 25 May 2021 23:18:37 +0100
Subject: [PATCH 2/2] Expand metainfo

* etc/emacs.metainfo.xml: Populate more fields, based on those
available in
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html.
---
 etc/emacs.metainfo.xml | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/etc/emacs.metainfo.xml b/etc/emacs.metainfo.xml
index ca6233a59a..7467b88e73 100644
--- a/etc/emacs.metainfo.xml
+++ b/etc/emacs.metainfo.xml
@@ -3,9 +3,9 @@
 <component type="desktop-application">
  <id>org.gnu.emacs</id>
  <metadata_license>GFDL-1.3+</metadata_license>
- <project_license>GPL-3.0+ and GFDL-1.3+</project_license>
  <name>GNU Emacs</name>
  <summary>An extensible text editor</summary>
+ <icon type="remote" width="128" height="128">https://www.gnu.org/software/emacs/images/emacs.png</icon>
  <description>
   <p>
    GNU Emacs is an extensible, customizable text editor - and more.
@@ -23,13 +23,26 @@
    interface, calendar, and more</li>
   </ul>
  </description>
+ <categories>
+   <category>Development</category>
+   <category>TextEditor</category>
+ </categories>
+ <url type="homepage">https://www.gnu.org/software/emacs</url>
+ <url type="bugtracker">https://debbugs.gnu.org/</url>
+ <url type="faq">https://www.gnu.org/software/emacs/manual/html_mono/efaq.html</url>
+ <url type="help">https://www.gnu.org/software/emacs/documentation.html</url>
+ <url type="donation">https://my.fsf.org/donate/</url>
+ <url type="contact">https://lists.gnu.org/mailman/listinfo/emacs-devel/</url>
+ <launchable type="desktop-id">emacs.desktop</launchable>
+ <launchable type="service">emacs.service</launchable>
+ <project_group>GNU</project_group>
+ <project_license>GPL-3.0+ and GFDL-1.3+</project_license>
+ <developer_name>Free Software Foundation</developer_name>
  <screenshots>
   <screenshot type="default">
-  <image type="source" width="632" height="354">https://www.gnu.org/software/emacs/images/appdata-26.png</image>
- </screenshot>
+    <image type="source" width="632" height="354">https://www.gnu.org/software/emacs/images/appdata-26.png</image>
+    <caption>Editing a Lisp program whilst viewing the Emacs manual.</caption>
+  </screenshot>
  </screenshots>
- <launchable type="desktop-id">emacs</launchable>
- <url type="homepage">https://www.gnu.org/software/emacs</url>
  <update_contact>emacs-devel_AT_gnu.org</update_contact>
- <project_group>GNU</project_group>
 </component>
-- 
2.31.1