[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#33300: hplip 3.18.9 contains non-free binary blobs

From: Ludovic Courtès
Subject: bug#33300: hplip 3.18.9 contains non-free binary blobs
Date: Wed, 07 Nov 2018 11:19:35 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)


The tarball of hplip 3.18.9 contains several .so files that it installs

--8<---------------cut here---------------start------------->8---
address@hidden ~/src/guix$ (cd /tmp; tar xf $(guix build -S hplip))
address@hidden ~/src/guix$ find /tmp/hplip-3.18.9 -name \*.so
--8<---------------cut here---------------end--------------->8---

I tried removing them with a snippet (patch attached), but installation
eventually fails while trying to link against libImageProcessor, which
is now missing.

In <https://bugs.launchpad.net/hplip/+bug/1785230/> people suggest that
3.18.6 is the last known-good version.  Indeed that version does not
have the obnoxious libImageProcessor, so that should be fine.  It does
come with the non-free binary plug-ins, though these are just plugins so
removing them will be easier:

--8<---------------cut here---------------start------------->8---
address@hidden ~/src/guix$ find /tmp/hplip-3.18.6/ -name \*.so
--8<---------------cut here---------------end--------------->8---

Thus, I propose to:

  1. Revert to 3.18.6 (we’ll upgrade if and when hplip becomes free

  2. Add a snippet to remove the non-free plugins.



diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 4259648c69..c0ac365691 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -410,6 +410,19 @@ device-specific programs to convert and print many types 
of files.")
                   (substitute* "prnt/hpcups/genPCLm.cpp"
                     (("boolean") "bool"))
+                  ;; Starting from version 3.18.9, hplip comes with binary
+                  ;; blobs under prnt/hpcups and prnt/plugins.  Remove them.
+                  (for-each delete-file (find-files "." "\\.so$"))
+                  ;; This trick changes the behavior of the
+                  ;; 'install-data-hook' target so that it doesn't install the
+                  ;; binary blobs.
+                  (substitute* "Makefile.in"
+                    (("^UNAME =.*")
+                     "UNAME = free-software-only-thanks\n")
+                    (("prnt/hpcups/libImageProcessor-([[:graph:]]+)\\.so")
+                     ""))
     (build-system gnu-build-system)
     (home-page "https://developers.hp.com/hp-linux-imaging-and-printing";)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]