shithub: choc

Download patch

ref: 4ec9978b44011e85eae623ce7be7c705f05ca491
parent: 2b6357b106899d01c3d058e9f9cbfe370ca5b6cd
author: Mike Swanson <[email protected]>
date: Sat Sep 7 06:43:57 EDT 2019

Update to latest AppStream (formerly AppData) standards

Install files into ${prefix}/share/metainfo rather than
${prefix}/share/appdata, name files by reverse-DNS and suffixed
.metainfo.xml.

"appstream-util validate" still complains about a missing
update_contact tag and issues with the caption tags being either short
or long, but the specification at
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
says these are not errors.

--- a/configure.ac
+++ b/configure.ac
@@ -167,14 +167,14 @@
 rpm.spec
 data/Makefile
 src/Makefile
-src/doom.appdata.xml
+src/Doom.metainfo.xml
 src/doom.desktop
 src/doom-screensaver.desktop
 src/doom/Makefile
-src/heretic.appdata.xml
+src/Heretic.metainfo.xml
 src/heretic.desktop
 src/heretic/Makefile
-src/hexen.appdata.xml
+src/Hexen.metainfo.xml
 src/hexen.desktop
 src/hexen/Makefile
 src/resource.rc
@@ -182,7 +182,7 @@
 src/setup/Makefile
 src/setup/setup.desktop
 src/setup/setup-manifest.xml
-src/strife.appdata.xml
+src/Strife.metainfo.xml
 src/strife.desktop
 src/strife/Makefile
 textscreen/Makefile
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -17,6 +17,6 @@
 *.desktop
 *.txt
 !CMakeLists.txt
-*.appdata.xml
+*.metainfo.xml
 tags
 TAGS
--- /dev/null
+++ b/src/Doom.metainfo.xml.in
@@ -1,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@[email protected]</id>
+  <name>@PACKAGE_SHORTNAME@ Doom</name>
+  <summary>@PACKAGE_SHORTDESC@</summary>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Doom is a conservative,
+      historically-accurate Doom source port, which is compatible with
+      the thousands of mods and levels that were made before the Doom
+      source code was released.  Unlike other source ports, the goal
+      is to preserve the original look, feel, limitations, and bugs of
+      the original DOS executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided, for
+      all of the original Doom games, Chex Quest, and Hacx.  Unlike
+      the original executable, network play is implemented on the IP
+      network stack, allowing it to function on modern LANs and the
+      Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>https://www.chocolate-doom.org/wiki/images/9/97/GNOME_FreeDM_DEMO4.png</image>
+      <caption>FreeDM, DM05: Metal</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/a/a6/GNOME_Doom_II_DEMO2.png</image>
+      <caption>Doom II, Level 5: The Waste Tunnels</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/4/41/GNOME_Doomsday_of_UAC.png</image>
+      <caption>Doomsday of UAC (uac_dead.wad)</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/2/2a/GNOME_Freedoom_DTWID_DEMO3.png</image>
+      <caption>Doom the Way id Did, on Freedoom. Level 3-2: City of Corpses</caption>
+    </screenshot>
+  </screenshots>
+</component>
--- /dev/null
+++ b/src/Heretic.metainfo.xml.in
@@ -1,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@[email protected]</id>
+  <name>@PACKAGE_SHORTNAME@ Heretic</name>
+  <summary>@PACKAGE_SHORTDESC@</summary>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Heretic is a conservative,
+      historically-accurate Heretic source port, which is compatible
+      with mods and levels that were made before the Heretic source
+      code was released.  Unlike other source ports, the goal is to
+      preserve the original look, feel, limitations, and bugs of the
+      original DOS executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided.
+      Unlike the original executable, network play is implemented on
+      the IP network stack, allowing it to function on modern LANs and
+      the Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>https://www.chocolate-doom.org/wiki/images/9/93/GNOME_Heretic_E5M4.png</image>
+      <caption>Level E5M4: Courtyard</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/1/14/GNOME_Heretic_Shareware_DEMO3.png</image>
+      <caption>Shareware Level E1M9: The Graveyard</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/3/34/GNOME_Heretic_E4M1.png</image>
+      <caption>Level E4M1: Catafalque</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/4/42/GNOME_Heretic_Shareware_DEMO1.png</image>
+      <caption>Shareware Level E1M3: The Gatehouse</caption>
+    </screenshot>
+  </screenshots>
+</component>
--- /dev/null
+++ b/src/Hexen.metainfo.xml.in
@@ -1,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@[email protected]</id>
+  <name>@PACKAGE_SHORTNAME@ Hexen</name>
+  <summary>@PACKAGE_SHORTDESC@</summary>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Hexen is a conservative,
+      historically-accurate Hexen source port, which is compatible
+      with mods and levels that were made before the Hexen source code
+      was released.  Unlike other source ports, the goal is to
+      preserve the original look, feel, limitations, and bugs of the
+      original DOS executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided.
+      Unlike the original executable, network play is implemented on
+      the IP network stack, allowing it to function on modern LANs and
+      the Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>https://www.chocolate-doom.org/wiki/images/0/0f/GNOME_Hexen_Guardian_of_Fire.png</image>
+      <caption>Level "Guardian of Fire"</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/5/5c/GNOME_Hexen_Effluvium.png</image>
+      <caption>Level "Effluvium"</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/c/c1/GNOME_Hexen_Dragon_Chapel.png</image>
+      <caption>Level "Dragon Chapel"</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/a/a7/GNOME_Hexen_Darkmere.png</image>
+      <caption>Level "Darkmere"</caption>
+    </screenshot>
+  </screenshots>
+</component>
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -220,24 +220,24 @@
         doom-screensaver.desktop.in \
         manifest.xml
 
-appdatadir = $(prefix)/share/metainfo
-appdata_DATA =                              \
-        @[email protected]    \
-        @[email protected] \
-        @[email protected]   \
-        @[email protected]
+metainfodir = $(prefix)/share/metainfo
+metainfo_DATA =                             \
+        @[email protected]    \
+        @[email protected] \
+        @[email protected]   \
+        @[email protected]
 
-@[email protected] : doom.appdata.xml
-	cp doom.appdata.xml $@
+@[email protected] : Doom.metainfo.xml
+	cp Doom.metainfo.xml $@
 
-@[email protected] : heretic.appdata.xml
-	cp heretic.appdata.xml $@
+@[email protected] : Heretic.metainfo.xml
+	cp Heretic.metainfo.xml $@
 
-@[email protected] : hexen.appdata.xml
-	cp hexen.appdata.xml $@
+@[email protected] : Hexen.metainfo.xml
+	cp Hexen.metainfo.xml $@
 
-@[email protected] : strife.appdata.xml
-	cp strife.appdata.xml $@
+@[email protected] : Strife.metainfo.xml
+	cp Strife.metainfo.xml $@
 
 appdir = $(prefix)/share/applications
 app_DATA =                                 \
--- /dev/null
+++ b/src/Strife.metainfo.xml.in
@@ -1,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<component type="desktop">
+  <id>@[email protected]</id>
+  <name>@PACKAGE_SHORTNAME@ Strife</name>
+  <summary>@PACKAGE_SHORTDESC@</summary>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
+  <url type="homepage">@PACKAGE_URL@</url>
+  <url type="bugtracker">@PACKAGE_ISSUES@</url>
+  <description>
+    <p>
+      @PACKAGE_SHORTNAME@ Strife is a conservative,
+      historically-accurate recreation of the Strife engine.  It is
+      completely compatible with the original game and mods created
+      with the original engine in mind.  Made with a great reverse
+      engineering effort, it has the goal of preserving the original
+      look, feel, limitations, and bugs of the original DOS
+      executable.
+    </p>
+    <p>
+      Full support for single- and multi-player games is provided.
+      Unlike the original executable, network play is implemented on
+      the IP network stack, allowing it to function on modern LANs and
+      the Internet.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      <image>https://www.chocolate-doom.org/wiki/images/b/b2/GNOME_Strife_Rowan.png</image>
+      <caption>Talking to Rowan</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/1/1f/GNOME_Strife_Town.png</image>
+      <caption>The Town</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/8/8a/GNOME_Strife_Opening.png</image>
+      <caption>Opening Cinematic</caption>
+    </screenshot>
+    <screenshot>
+      <image>https://www.chocolate-doom.org/wiki/images/c/c4/GNOME_Strife_Sewage.png</image>
+      <caption>In the sewage</caption>
+    </screenshot>
+  </screenshots>
+</component>
--- a/src/doom.appdata.xml.in
+++ /dev/null
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component type="desktop">
-  <id>@[email protected]</id>
-  <name>@PACKAGE_SHORTNAME@ Doom</name>
-  <summary>@PACKAGE_SHORTDESC@</summary>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
-  <url type="homepage">@PACKAGE_URL@</url>
-  <url type="bugtracker">@PACKAGE_ISSUES@</url>
-  <description>
-    <p>
-      @PACKAGE_SHORTNAME@ Doom is a conservative,
-      historically-accurate Doom source port, which is compatible with
-      the thousands of mods and levels that were made before the Doom
-      source code was released.  Unlike other source ports, the goal
-      is to preserve the original look, feel, limitations, and bugs of
-      the original DOS executable.
-    </p>
-    <p>
-      Full support for single- and multi-player games is provided, for
-      all of the original Doom games, Chex Quest, and Hacx.  Unlike
-      the original executable, network play is implemented on the IP
-      network stack, allowing it to function on modern LANs and the
-      Internet.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot type="default">
-      <image>https://www.chocolate-doom.org/wiki/images/9/97/GNOME_FreeDM_DEMO4.png</image>
-      <caption>FreeDM, DM05: Metal</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/a/a6/GNOME_Doom_II_DEMO2.png</image>
-      <caption>Doom II, Level 5: The Waste Tunnels</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/4/41/GNOME_Doomsday_of_UAC.png</image>
-      <caption>Doomsday of UAC (uac_dead.wad)</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/2/2a/GNOME_Freedoom_DTWID_DEMO3.png</image>
-      <caption>Doom the Way id Did, on Freedoom. Level 3-2: City of Corpses</caption>
-    </screenshot>
-  </screenshots>
-</component>
--- a/src/heretic.appdata.xml.in
+++ /dev/null
@@ -1,46 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component type="desktop">
-  <id>@[email protected]</id>
-  <name>@PACKAGE_SHORTNAME@ Heretic</name>
-  <summary>@PACKAGE_SHORTDESC@</summary>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
-  <url type="homepage">@PACKAGE_URL@</url>
-  <url type="bugtracker">@PACKAGE_ISSUES@</url>
-  <description>
-    <p>
-      @PACKAGE_SHORTNAME@ Heretic is a conservative,
-      historically-accurate Heretic source port, which is compatible
-      with mods and levels that were made before the Heretic source
-      code was released.  Unlike other source ports, the goal is to
-      preserve the original look, feel, limitations, and bugs of the
-      original DOS executable.
-    </p>
-    <p>
-      Full support for single- and multi-player games is provided.
-      Unlike the original executable, network play is implemented on
-      the IP network stack, allowing it to function on modern LANs and
-      the Internet.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot type="default">
-      <image>https://www.chocolate-doom.org/wiki/images/9/93/GNOME_Heretic_E5M4.png</image>
-      <caption>Level E5M4: Courtyard</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/1/14/GNOME_Heretic_Shareware_DEMO3.png</image>
-      <caption>Shareware Level E1M9: The Graveyard</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/3/34/GNOME_Heretic_E4M1.png</image>
-      <caption>Level E4M1: Catafalque</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/4/42/GNOME_Heretic_Shareware_DEMO1.png</image>
-      <caption>Shareware Level E1M3: The Gatehouse</caption>
-    </screenshot>
-  </screenshots>
-</component>
--- a/src/hexen.appdata.xml.in
+++ /dev/null
@@ -1,46 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component type="desktop">
-  <id>@[email protected]</id>
-  <name>@PACKAGE_SHORTNAME@ Hexen</name>
-  <summary>@PACKAGE_SHORTDESC@</summary>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
-  <url type="homepage">@PACKAGE_URL@</url>
-  <url type="bugtracker">@PACKAGE_ISSUES@</url>
-  <description>
-    <p>
-      @PACKAGE_SHORTNAME@ Hexen is a conservative,
-      historically-accurate Hexen source port, which is compatible
-      with mods and levels that were made before the Hexen source code
-      was released.  Unlike other source ports, the goal is to
-      preserve the original look, feel, limitations, and bugs of the
-      original DOS executable.
-    </p>
-    <p>
-      Full support for single- and multi-player games is provided.
-      Unlike the original executable, network play is implemented on
-      the IP network stack, allowing it to function on modern LANs and
-      the Internet.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot type="default">
-      <image>https://www.chocolate-doom.org/wiki/images/0/0f/GNOME_Hexen_Guardian_of_Fire.png</image>
-      <caption>Level "Guardian of Fire"</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/5/5c/GNOME_Hexen_Effluvium.png</image>
-      <caption>Level "Effluvium"</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/c/c1/GNOME_Hexen_Dragon_Chapel.png</image>
-      <caption>Level "Dragon Chapel"</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/a/a7/GNOME_Hexen_Darkmere.png</image>
-      <caption>Level "Darkmere"</caption>
-    </screenshot>
-  </screenshots>
-</component>
--- a/src/strife.appdata.xml.in
+++ /dev/null
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component type="desktop">
-  <id>@[email protected]</id>
-  <name>@PACKAGE_SHORTNAME@ Strife</name>
-  <summary>@PACKAGE_SHORTDESC@</summary>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license>GPL-2.0+</project_license>
-  <developer_name>@PACKAGE_MAINTAINER@</developer_name>
-  <url type="homepage">@PACKAGE_URL@</url>
-  <url type="bugtracker">@PACKAGE_ISSUES@</url>
-  <description>
-    <p>
-      @PACKAGE_SHORTNAME@ Strife is a conservative,
-      historically-accurate recreation of the Strife engine.  It is
-      completely compatible with the original game and mods created
-      with the original engine in mind.  Made with a great reverse
-      engineering effort, it has the goal of preserving the original
-      look, feel, limitations, and bugs of the original DOS
-      executable.
-    </p>
-    <p>
-      Full support for single- and multi-player games is provided.
-      Unlike the original executable, network play is implemented on
-      the IP network stack, allowing it to function on modern LANs and
-      the Internet.
-    </p>
-  </description>
-  <screenshots>
-    <screenshot type="default">
-      <image>https://www.chocolate-doom.org/wiki/images/b/b2/GNOME_Strife_Rowan.png</image>
-      <caption>Talking to Rowan</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/1/1f/GNOME_Strife_Town.png</image>
-      <caption>The Town</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/8/8a/GNOME_Strife_Opening.png</image>
-      <caption>Opening Cinematic</caption>
-    </screenshot>
-    <screenshot>
-      <image>https://www.chocolate-doom.org/wiki/images/c/c4/GNOME_Strife_Sewage.png</image>
-      <caption>In the sewage</caption>
-    </screenshot>
-  </screenshots>
-</component>