GNU bug report logs - #33300
hplip 3.18.9 contains non-free binary blobs

Previous Next

Package: guix;

Reported by: ludo <at> gnu.org (Ludovic Courtès)

Date: Wed, 7 Nov 2018 10:21:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Subject: bug#33300: closed (Re: bug#33300: hplip 3.18.9 contains non-free
 binary blobs)
Date: Sun, 11 Nov 2018 17:31:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#33300: hplip 3.18.9 contains non-free binary blobs

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 33300 <at> debbugs.gnu.org.

-- 
33300: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33300
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 33300-done <at> debbugs.gnu.org, efraim <at> flashner.co.il
Subject: Re: bug#33300: hplip 3.18.9 contains non-free binary blobs
Date: Sun, 11 Nov 2018 18:30:07 +0100
Closing this bug, which Efraim addressed in commit
b44b1f08f6945ea8370746cfdadb44c7dea9ea3e.

Thanks!

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: bug-guix <at> gnu.org
Cc: Tobias Geerinckx-Rice <me <at> tobias.gr>,
 Efraim Flashner <efraim <at> flashner.co.il>
Subject: hplip 3.18.9 contains non-free binary blobs
Date: Wed, 07 Nov 2018 11:19:35 +0100
[Message part 4 (text/plain, inline)]
Hello,

The tarball of hplip 3.18.9 contains several .so files that it installs
as-is:

--8<---------------cut here---------------start------------->8---
ludo <at> ribbon ~/src/guix$ (cd /tmp; tar xf $(guix build -S hplip))
ludo <at> ribbon ~/src/guix$ find /tmp/hplip-3.18.9 -name \*.so
/tmp/hplip-3.18.9/prnt/plugins/hbpl1-arm32.so
/tmp/hplip-3.18.9/prnt/plugins/hbpl1-x86_64.so
/tmp/hplip-3.18.9/prnt/plugins/lj-x86_32.so
/tmp/hplip-3.18.9/prnt/plugins/hbpl1-arm64.so
/tmp/hplip-3.18.9/prnt/plugins/hbpl1-x86_32.so
/tmp/hplip-3.18.9/prnt/plugins/lj-arm64.so
/tmp/hplip-3.18.9/prnt/plugins/lj-x86_64.so
/tmp/hplip-3.18.9/prnt/plugins/lj-arm32.so
/tmp/hplip-3.18.9/prnt/hpcups/libImageProcessor-x86_32.so
/tmp/hplip-3.18.9/prnt/hpcups/libImageProcessor-x86_64.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---
ludo <at> ribbon ~/src/guix$ find /tmp/hplip-3.18.6/ -name \*.so
/tmp/hplip-3.18.6/prnt/plugins/hbpl1-arm32.so
/tmp/hplip-3.18.6/prnt/plugins/hbpl1-x86_64.so
/tmp/hplip-3.18.6/prnt/plugins/lj-x86_32.so
/tmp/hplip-3.18.6/prnt/plugins/hbpl1-arm64.so
/tmp/hplip-3.18.6/prnt/plugins/hbpl1-x86_32.so
/tmp/hplip-3.18.6/prnt/plugins/lj-arm64.so
/tmp/hplip-3.18.6/prnt/plugins/lj-x86_64.so
/tmp/hplip-3.18.6/prnt/plugins/lj-arm32.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
     again.)

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

Thoughts?

Thanks,
Ludo’.

[Message part 5 (text/x-patch, inline)]
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.")
                '(begin
                   (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")
+                     ""))
                   #t))))
     (build-system gnu-build-system)
     (home-page "https://developers.hp.com/hp-linux-imaging-and-printing")

This bug report was last modified 6 years and 192 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.