[Debian-med-packaging] Bug#1079978: eegdev-plugins-free: Add Appstream metainfo announcing HW support

Petter Reinholdtsen pere at hungry.com
Thu Aug 29 08:40:30 BST 2024


Package: eegdev-plugins-free
Version: 0.2-9
Tags: patch
User: pere at hungry.com
Usertags: appstream-modalias

Here is a draft patch to add Appstream metainfo XML announcing the
hardware handled by this package.  The USB ID were fetched from one
listed in debian/eegdev-plugins-free.udev.  This should fix the
'appstream-metadata-missing-modalias-provide' lintian warning.

Including this information in the package will ensure programs mapping
hardware to packages using Appstream information, like the isenkram
package, will know that this package is useful on machines where the
hardware is discovered.

The appstream metadata file can be checked using this command after
package build:

  appstreamcli validate-tree  --no-net --explain debian/eegdev-plugins-free

diff --git a/debian/eegdev-plugins-free.install b/debian/eegdev-plugins-free.install
index a4ffec9..1b16d80 100644
--- a/debian/eegdev-plugins-free.install
+++ b/debian/eegdev-plugins-free.install
@@ -1 +1,2 @@
 usr/lib/*/eegdev/*.so
+usr/share/metainfo/net.sourceforge.projects.eegdev.plugins.metainfo.xml
diff --git a/debian/patches/1000-appstream-metainfo.patch b/debian/patches/1000-appstream-metainfo.patch
new file mode 100644
index 0000000..1d75fdd
--- /dev/null
+++ b/debian/patches/1000-appstream-metainfo.patch
@@ -0,0 +1,62 @@
+Description: Added AppStream metainfo XML with hardware provide info.
+ This allow isenkram to propose this package when the relevant hardware is
+ present.
+Author: Petter Reinholdtsen
+Forwarded: no
+Last-Update: 2024-08-29
+---
+Index: eegdev-salsa/Makefile.am
+===================================================================
+--- eegdev-salsa.orig/Makefile.am      2024-08-29 07:30:22.641891713 +0000
++++ eegdev-salsa/Makefile.am   2024-08-29 07:30:22.637891670 +0000
+@@ -1,7 +1,11 @@
+ ACLOCAL_AMFLAGS = -I m4 --install
+ SUBDIRS = gnulib-local lib src/core src/plugins doc tests
+-EXTRA_DIST = autogen.sh m4/gnulib-cache.m4 README_build
+-
++EXTRA_DIST = autogen.sh m4/gnulib-cache.m4 README_build \
++      net.sourceforge.projects.eegdev.plugins.metainfo.xml
++
++dist_metainfo_DATA = net.sourceforge.projects.eegdev.plugins.metainfo.xml
++metainfodir = $(datarootdir)/metainfo
++
+ install-usb-plugdev:
+       @echo "Installing 50-usb-plugdev.rules into /etc/udev/rules.d/ ..." \
+       && $(INSTALL) $(top_srcdir)/auxconfig/50-usb-plugdev.rules /etc/udev/rules.d \
+Index: eegdev-salsa/net.sourceforge.projects.eegdev.plugins.metainfo.xml
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ eegdev-salsa/net.sourceforge.projects.eegdev.plugins.metainfo.xml  2024-08-29 07:32:15.143118549 +0000
+@@ -0,0 +1,32 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<component>
++  <id>net.sourceforge.projects.eegdev.plugins</id>
++  <metadata_license>MIT</metadata_license>
++  <name>eegdev-plugins-free</name>
++  <summary>Biosignal acquisition device library (free plugins)</summary>
++  <description>
++    <p>eegdev is a library that provides a unified interface for
++    accessing various EEG (and other biosignals) acquisition
++    systems. This interface has been designed to be both flexible and
++    efficient. The device specific part is implemented by the mean of
++    plugins which makes adding new device backend fairly easy even if
++    the library does not support them yet officially.</p>
++
++    <p>The core library not only provides to users a unified and
++    consistent interfaces to the acquisition device but it also
++    provides many functionalities to the device backends (plugins)
++    ranging from configuration to data casting and scaling making
++    writing new device backend an easy task.</p>
++
++    <p>This library is particularly useful to handle the acquisition
++    part of a Brain Computer Interface (BCI) or any realtime
++    multi-electrode acquisition in neurophysiological research.</p>
++
++    <p>This package contains the devices plugins that depends only on
++    free components.</p>
++  </description>
++  <url type="homepage">https://sourceforge.net/projects/eegdev/</url>
++  <provides>
++    <modalias>usb:v0547p1005d*</modalias>
++  </provides>
++</component>
diff --git a/debian/patches/series b/debian/patches/series
index 0bb15cc..221b926 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@ include-config_h.patch
 fix-unaligned-memory-access.patch
 fix-autoconf-FTBFS.patch
 work-around-flex-bug.patch
+1000-appstream-metainfo.patch 

-- 
Happy hacking
Petter Reinholdtsen



More information about the Debian-med-packaging mailing list