changeset 20020:7dbb8aa43d56

Install correct freedesktop AppData file contents (bug #43279) * etc/icons/octave.appdata.xml.in: Move here from etc and add %OCTAVE_DESKTOP_FILE% substitution pattern. * etc/icons/Makefile.am (DESKTOP_FILE, VENDOR): New variables. (octave.appdata.xml): New rule. (install-data-local, uninstall-local): Install and uninstall octave.appdata.xml. (EXTRA_DIST): Include octave.appdata.xml.in in the list. (CLEANFILES): Include octave.appdata.xml in the list. * Makefile.am (EXTRA_DIST): Remove etc/octave.appdata.xml from the list.
author Mike Miller <mtmiller@ieee.org>
date Sat, 21 Feb 2015 16:37:01 -0500
parents 71770cf07c30
children 81078b0e39e8
files Makefile.am etc/icons/Makefile.am etc/icons/octave.appdata.xml.in etc/octave.appdata.xml
diffstat 3 files changed, 19 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am
+++ b/Makefile.am
@@ -63,7 +63,6 @@
   etc/README.gnuplot \
   etc/README.kpathsea \
   etc/gdbinit \
-  etc/octave.appdata.xml \
   run-octave.in
 
 include m4/module.mk
--- a/etc/icons/Makefile.am
+++ b/etc/icons/Makefile.am
@@ -47,7 +47,17 @@
   $(IMAGE_FILES) \
   octave-logo.ico
 
-all-local: octave.desktop $(BUILT_ICONS)
+VENDOR = www.octave.org
+
+DESKTOP_FILE = $(VENDOR)-octave.desktop
+
+all-local: octave.appdata.xml octave.desktop $(BUILT_ICONS)
+
+octave.appdata.xml: octave.appdata.xml.in Makefile
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(SED) < $< > $@-t \
+	  -e "s|%OCTAVE_DESKTOP_FILE%|${DESKTOP_FILE}|" && \
+	mv $@-t $@
 
 octave.desktop: octave.desktop.in Makefile
 	$(AM_V_GEN)rm -f $@-t $@ && \
@@ -69,7 +79,7 @@
 install-data-local:
 	-if test -n "$(DESKTOP_FILE_INSTALL)"; then \
 	  $(DESKTOP_FILE_INSTALL) --dir=$(DESTDIR)$(datadir)/applications \
-	    --vendor www.octave.org octave.desktop; \
+	    --vendor $(VENDOR) octave.desktop; \
 	fi
 	for f in $(BUILT_PNG_ICONS); do \
 	  size=`echo $$f | $(SED) -n -e "s/.*-\([0-9]\+\)\.png/\1/p"`; \
@@ -79,16 +89,19 @@
 	done
 	$(MKDIR_P) $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps
 	$(INSTALL_DATA) $(srcdir)/octave-logo.svg $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/octave.svg
+	$(MKDIR_P) $(DESTDIR)$(datadir)/appdata
+	$(INSTALL_DATA) octave.appdata.xml $(DESTDIR)$(datadir)/appdata/$(VENDOR)-octave.appdata.xml
 
 uninstall-local:
 	if test -n "$(DESKTOP_FILE_INSTALL)"; then \
-	  rm -f $(DESTDIR)$(datadir)/applications/www.octave.org-octave.desktop; \
+	  rm -f $(DESTDIR)$(datadir)/applications/$(DESKTOP_FILE); \
 	fi
 	for f in $(BUILT_PNG_ICONS); do \
 	  size=`echo $$f | $(SED) -n -e "s/.*-\([0-9]\+\)\.png/\1/p"`; \
 	  rm -f $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps/octave.png; \
 	done
 	rm -f $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/octave.svg
+	rm -f $(DESTDIR)$(datadir)/appdata/$(VENDOR)-octave.appdata.xml
 
 if AMCOND_HAVE_ICON_TOOLS
 else
@@ -99,9 +112,10 @@
 EXTRA_DIST = \
   $(BUILT_ICONS) \
   $(IMAGE_FILES) \
+  octave.appdata.xml.in \
   octave.desktop.in
 
-CLEANFILES = octave.desktop
+CLEANFILES = octave.appdata.xml octave.desktop
 
 MAINTAINERCLEANFILES = $(BUILT_ICONS)
 
rename from etc/octave.appdata.xml
rename to etc/icons/octave.appdata.xml.in
--- a/etc/octave.appdata.xml
+++ b/etc/icons/octave.appdata.xml.in
@@ -16,7 +16,7 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->
 <application>
-  <id type="desktop">octave.desktop</id>
+  <id type="desktop">%OCTAVE_DESKTOP_FILE%</id>
   <licence>GPLv3+</licence>
   <name>GNU Octave</name>
   <summary>Interactive programming environment for numerical computations</summary>