GNU bug report logs -
#33300
hplip 3.18.9 contains non-free binary blobs
Previous Next
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
[Message part 1 (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 2 (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.