Bug#838783: hplip: Please announce supported hardware using AppStream
Control: tags -1 + patch
Here is a patch to ensure the hplib-gui package is proposed when
relevant hardware is present on the machine. Perhaps more binary
packages should include appstream information?
>From 3a32b29aa41e3d75462d580fb05603fcf7e44c78 Mon Sep 17 00:00:00 2001
From: Petter Reinholdtsen <pere@debian.org>
Date: Sat, 17 Aug 2024 08:32:16 +0200
Subject: [PATCH] Added AppStream metainfo XML with hardware provide info.
---
Makefile.am | 6 +-
...maging_and_printing.hplib_gui.metainfo.xml | 89 +++++++++++++
debian/hplip-gui.install | 1 +
debian/patches/1000-appstream-metainfo.patch | 122 ++++++++++++++++++
debian/patches/series | 1 +
5 files changed, 218 insertions(+), 1 deletion(-)
create mode 100644 com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
create mode 100644 debian/patches/1000-appstream-metainfo.patch
diff --git a/Makefile.am b/Makefile.am
index e293b444..886bdddb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,11 +12,15 @@ apparmordir = /etc/apparmor.d
docdir = $(hpdocdir)
htmldir = $(hphtmldir)
doc_DATA = COPYING copyright prnt/hpijs/README_LIBJPG
-EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright
+EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright \
+ com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
UNAME = $(shell uname -m)
EXPORT_PATH=$(shell export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/prnt/hpcups/)
EXPORT_PATH1=$(shell export LIBRARY_PATH=$LIBRARY_PATH:$PWD/prnt/hpcups/)
+dist_metainfo_DATA = com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
+metainfodir = $(datarootdir)/metainfo
+
dist_noinst_SCRIPTS =
dist_noinst_DATA =
noinst_PROGRAMS =
diff --git a/com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml b/com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
new file mode 100644
index 00000000..bd9bdbe8
--- /dev/null
+++ b/com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component>
+ <id>com.hp.developers.hp_linux_imaging_and_printing.hplib_gui</id>
+ <metadata_license>MIT</metadata_license>
+ <name>hplip-gui</name>
+ <summary>HP Linux Printing and Imaging System (HPLIP)</summary>
+ <description>
+ <p>The HP Linux Printing and Imaging System provides full support
+ for printing on most HP SFP (single function peripheral) inkjets
+ and many LaserJets, and for scanning, sending faxes and for
+ photo-card access on most HP MFP (multi-function peripheral)
+ printers.</p>
+
+ <p>HPLIP is composed of:</p>
+
+ <ul>
+ <li>System services to handle communications with the printers</li>
+ <li>HP CUPS backend driver (hp:) with bi-directional communication with
+ HP printers (provides printer status feedback to CUPS and enhanced
+ HPIJS functionality such as 4-side full-bleed printing support)</li>
+ <li>HP CUPS backend driver for sending faxes (hpfax:)</li>
+ <li>hpcups CUPS Raster driver to turn rasterized input from the CUPS
+ filter chain into the printer's native format (PCL, LIDIL, ...).
+ (hpcups is shipped in a separate package)</li>
+ <li>HPIJS Ghostscript IJS driver to rasterize output from PostScript(tm)
+ files or from any other input format supported by Ghostscript, and
+ also for PostScript(tm) to fax conversion support
+ (HPIJS is shipped in a separate package)</li>
+ <li>Command line utilities to perform printer maintenance, such as
+ ink-level monitoring or pen cleaning and calibration</li>
+ <li>GUI and command line utility to download data from the photo card
+ interfaces in MFP devices</li>
+ <li>GUI and command line utilities to interface with the fax functions</li>
+ <li>A GUI toolbox to access all these functions in a friendly way</li>
+ <li>HPAIO SANE backend (hpaio) for flatbed and Automatic Document Feeder
+ (ADF) scanning using MFP devices</li>
+ </ul>
+ <p>USB and JetDirect (network) devices are supported.</p>
+ </description>
+ <url type="homepage">https://developers.hp.com/hp-linux-imaging-and-printing</url>
+ <launchable type="desktop-id">hplip.desktop</launchable>
+ <provides>
+ <modalias>usb:v03F0p0004d*</modalias>
+ <modalias>usb:v03F0p0104d*</modalias>
+ <modalias>usb:v03F0p0111d*</modalias>
+ <modalias>usb:v03F0p0204d*</modalias>
+ <modalias>usb:v03F0p0304d*</modalias>
+ <modalias>usb:v03F0p0311d*</modalias>
+ <modalias>usb:v03F0p0404d*</modalias>
+ <modalias>usb:v03F0p0504d*</modalias>
+ <modalias>usb:v03F0p0604d*</modalias>
+ <modalias>usb:v03F0p0704d*</modalias>
+ <modalias>usb:v03F0p0712d*</modalias>
+ <modalias>usb:v03F0p0804d*</modalias>
+ <modalias>usb:v03F0p0904d*</modalias>
+ <modalias>usb:v03F0p1004d*</modalias>
+ <modalias>usb:v03F0p1104d*</modalias>
+ <modalias>usb:v03F0p1151d*</modalias>
+ <modalias>usb:v03F0p1204d*</modalias>
+ <modalias>usb:v03F0p1504d*</modalias>
+ <modalias>usb:v03F0p1604d*</modalias>
+ <modalias>usb:v03F0p1904d*</modalias>
+ <modalias>usb:v03F0p1C17d*</modalias>
+ <modalias>usb:v03F0p1E11d*</modalias>
+ <modalias>usb:v03F0p2004d*</modalias>
+ <modalias>usb:v03F0p2104d*</modalias>
+ <modalias>usb:v03F0p2304d*</modalias>
+ <modalias>usb:v03F0p2811d*</modalias>
+ <modalias>usb:v03F0p2D11d*</modalias>
+ <modalias>usb:v03F0p3102d*</modalias>
+ <modalias>usb:v03F0p3104d*</modalias>
+ <modalias>usb:v03F0p3304d*</modalias>
+ <modalias>usb:v03F0p3404d*</modalias>
+ <modalias>usb:v03F0p3504d*</modalias>
+ <modalias>usb:v03F0p3C02d*</modalias>
+ <modalias>usb:v03F0p3D11d*</modalias>
+ <modalias>usb:v03F0p3F11d*</modalias>
+ <modalias>usb:v03F0p5004d*</modalias>
+ <modalias>usb:v03F0p6004d*</modalias>
+ <modalias>usb:v03F0p6104d*</modalias>
+ <modalias>usb:v03F0p6204d*</modalias>
+ <modalias>usb:v03F0p6602d*</modalias>
+ <modalias>usb:v03F0p7004d*</modalias>
+ <modalias>usb:v03F0p7104d*</modalias>
+ <modalias>usb:v03F0p7204d*</modalias>
+ <modalias>usb:v03F0p7304d*</modalias>
+ <modalias>usb:v03F0pA004d*</modalias>
+ </provides>
+</component>
diff --git a/debian/hplip-gui.install b/debian/hplip-gui.install
index 249d208c..7b5c71c3 100644
--- a/debian/hplip-gui.install
+++ b/debian/hplip-gui.install
@@ -16,3 +16,4 @@ usr/bin/hp-systray
usr/bin/hp-toolbox
usr/bin/hp-wificonfig
usr/share/applications
+usr/share/metainfo/com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
diff --git a/debian/patches/1000-appstream-metainfo.patch b/debian/patches/1000-appstream-metainfo.patch
new file mode 100644
index 00000000..54644b48
--- /dev/null
+++ b/debian/patches/1000-appstream-metainfo.patch
@@ -0,0 +1,122 @@
+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-17
+---
+Index: hplip-salsa/Makefile.am
+===================================================================
+--- hplip-salsa.orig/Makefile.am 2024-08-17 08:08:20.588178009 +0200
++++ hplip-salsa/Makefile.am 2024-08-17 08:08:20.564177808 +0200
+@@ -12,11 +12,15 @@
+ docdir = $(hpdocdir)
+ htmldir = $(hphtmldir)
+ doc_DATA = COPYING copyright prnt/hpijs/README_LIBJPG
+-EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright
++EXTRA_DIST = prnt/hpijs/gdevijs-krgb-1.5-gs8.61.patch prnt/hpijs/README_LIBJPG copyright \
++ com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
+ UNAME = $(shell uname -m)
+ EXPORT_PATH=$(shell export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/prnt/hpcups/)
+ EXPORT_PATH1=$(shell export LIBRARY_PATH=$LIBRARY_PATH:$PWD/prnt/hpcups/)
+
++dist_metainfo_DATA = com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
++metainfodir = $(datarootdir)/metainfo
++
+ dist_noinst_SCRIPTS =
+ dist_noinst_DATA =
+ noinst_PROGRAMS =
+Index: hplip-salsa/com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ hplip-salsa/com.hp.developers.hp_linux_imaging_and_printing.hplib_gui.metainfo.xml 2024-08-17 08:12:29.590266922 +0200
+@@ -0,0 +1,89 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<component>
++ <id>com.hp.developers.hp_linux_imaging_and_printing.hplib_gui</id>
++ <metadata_license>MIT</metadata_license>
++ <name>hplip-gui</name>
++ <summary>HP Linux Printing and Imaging System (HPLIP)</summary>
++ <description>
++ <p>The HP Linux Printing and Imaging System provides full support
++ for printing on most HP SFP (single function peripheral) inkjets
++ and many LaserJets, and for scanning, sending faxes and for
++ photo-card access on most HP MFP (multi-function peripheral)
++ printers.</p>
++
++ <p>HPLIP is composed of:</p>
++
++ <ul>
++ <li>System services to handle communications with the printers</li>
++ <li>HP CUPS backend driver (hp:) with bi-directional communication with
++ HP printers (provides printer status feedback to CUPS and enhanced
++ HPIJS functionality such as 4-side full-bleed printing support)</li>
++ <li>HP CUPS backend driver for sending faxes (hpfax:)</li>
++ <li>hpcups CUPS Raster driver to turn rasterized input from the CUPS
++ filter chain into the printer's native format (PCL, LIDIL, ...).
++ (hpcups is shipped in a separate package)</li>
++ <li>HPIJS Ghostscript IJS driver to rasterize output from PostScript(tm)
++ files or from any other input format supported by Ghostscript, and
++ also for PostScript(tm) to fax conversion support
++ (HPIJS is shipped in a separate package)</li>
++ <li>Command line utilities to perform printer maintenance, such as
++ ink-level monitoring or pen cleaning and calibration</li>
++ <li>GUI and command line utility to download data from the photo card
++ interfaces in MFP devices</li>
++ <li>GUI and command line utilities to interface with the fax functions</li>
++ <li>A GUI toolbox to access all these functions in a friendly way</li>
++ <li>HPAIO SANE backend (hpaio) for flatbed and Automatic Document Feeder
++ (ADF) scanning using MFP devices</li>
++ </ul>
++ <p>USB and JetDirect (network) devices are supported.</p>
++ </description>
++ <url type="homepage">https://developers.hp.com/hp-linux-imaging-and-printing</url>
++ <launchable type="desktop-id">hplip.desktop</launchable>
++ <provides>
++ <modalias>usb:v03F0p0004d*</modalias>
++ <modalias>usb:v03F0p0104d*</modalias>
++ <modalias>usb:v03F0p0111d*</modalias>
++ <modalias>usb:v03F0p0204d*</modalias>
++ <modalias>usb:v03F0p0304d*</modalias>
++ <modalias>usb:v03F0p0311d*</modalias>
++ <modalias>usb:v03F0p0404d*</modalias>
++ <modalias>usb:v03F0p0504d*</modalias>
++ <modalias>usb:v03F0p0604d*</modalias>
++ <modalias>usb:v03F0p0704d*</modalias>
++ <modalias>usb:v03F0p0712d*</modalias>
++ <modalias>usb:v03F0p0804d*</modalias>
++ <modalias>usb:v03F0p0904d*</modalias>
++ <modalias>usb:v03F0p1004d*</modalias>
++ <modalias>usb:v03F0p1104d*</modalias>
++ <modalias>usb:v03F0p1151d*</modalias>
++ <modalias>usb:v03F0p1204d*</modalias>
++ <modalias>usb:v03F0p1504d*</modalias>
++ <modalias>usb:v03F0p1604d*</modalias>
++ <modalias>usb:v03F0p1904d*</modalias>
++ <modalias>usb:v03F0p1C17d*</modalias>
++ <modalias>usb:v03F0p1E11d*</modalias>
++ <modalias>usb:v03F0p2004d*</modalias>
++ <modalias>usb:v03F0p2104d*</modalias>
++ <modalias>usb:v03F0p2304d*</modalias>
++ <modalias>usb:v03F0p2811d*</modalias>
++ <modalias>usb:v03F0p2D11d*</modalias>
++ <modalias>usb:v03F0p3102d*</modalias>
++ <modalias>usb:v03F0p3104d*</modalias>
++ <modalias>usb:v03F0p3304d*</modalias>
++ <modalias>usb:v03F0p3404d*</modalias>
++ <modalias>usb:v03F0p3504d*</modalias>
++ <modalias>usb:v03F0p3C02d*</modalias>
++ <modalias>usb:v03F0p3D11d*</modalias>
++ <modalias>usb:v03F0p3F11d*</modalias>
++ <modalias>usb:v03F0p5004d*</modalias>
++ <modalias>usb:v03F0p6004d*</modalias>
++ <modalias>usb:v03F0p6104d*</modalias>
++ <modalias>usb:v03F0p6204d*</modalias>
++ <modalias>usb:v03F0p6602d*</modalias>
++ <modalias>usb:v03F0p7004d*</modalias>
++ <modalias>usb:v03F0p7104d*</modalias>
++ <modalias>usb:v03F0p7204d*</modalias>
++ <modalias>usb:v03F0p7304d*</modalias>
++ <modalias>usb:v03F0pA004d*</modalias>
++ </provides>
++</component>
diff --git a/debian/patches/series b/debian/patches/series
index 5039505c..5a0f89cb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -82,3 +82,4 @@
0082-Some-of-the-print-modes-for-DeskJet-815C-are-incorre.patch
0083-add-format-string-to-snprintf.patch
0084-take-care-of-implicit-declaration-of-functions.patch
+1000-appstream-metainfo.patch
--
2.39.2
--
Happy hacking
Petter Reinholdtsen
Reply to: