guix-commits
[Top][All Lists]
Advanced

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

01/01: gnu: hplip: Remove bundled non-free blobs.


From: Efraim Flashner
Subject: 01/01: gnu: hplip: Remove bundled non-free blobs.
Date: Wed, 7 Nov 2018 16:16:55 -0500 (EST)

efraim pushed a commit to branch master
in repository guix.

commit b44b1f08f6945ea8370746cfdadb44c7dea9ea3e
Author: Efraim Flashner <address@hidden>
Date:   Wed Nov 7 23:13:02 2018 +0200

    gnu: hplip: Remove bundled non-free blobs.
    
    This fixes <https://bugs.gnu.org/32184>.
    
    * gnu/packages/cups.scm (hplip)[source]: Add patch. Update snippet to
    remove non-free code and binary blobs.
    * gnu/packages/patches/hplip-remove-imageprocessor.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                       |   1 +
 gnu/packages/cups.scm                              |   6 +-
 .../patches/hplip-remove-imageprocessor.patch      | 232 +++++++++++++++++++++
 3 files changed, 238 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 9a8330a..c627577 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -808,6 +808,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/higan-remove-march-native-flag.patch    \
   %D%/packages/patches/hubbub-sort-entities.patch              \
   %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch        \
+  %D%/packages/patches/hplip-remove-imageprocessor.patch       \
   %D%/packages/patches/hydra-disable-darcs-test.patch          \
   %D%/packages/patches/icecat-avoid-bundled-libraries.patch    \
   %D%/packages/patches/icecat-CVE-2018-12383.patch             \
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 4259648..04a533d 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -405,9 +405,13 @@ device-specific programs to convert and print many types 
of files.")
                (base32
                 "0g3q5mm2crjyc1z4z6gv4lam6sc5d3diz704djrnpqadk4q3h290"))
               (modules '((guix build utils)))
+              (patches (search-patches "hplip-remove-imageprocessor.patch"))
               (snippet
-               ;; Fix type mismatch.
                '(begin
+                  ;; Delete non-free blobs
+                  (for-each delete-file (find-files "." "\\.so$"))
+                  (delete-file "prnt/hpcups/ImageProcessor.h")
+                  ;; Fix type mismatch.
                   (substitute* "prnt/hpcups/genPCLm.cpp"
                     (("boolean") "bool"))
                   #t))))
diff --git a/gnu/packages/patches/hplip-remove-imageprocessor.patch 
b/gnu/packages/patches/hplip-remove-imageprocessor.patch
new file mode 100644
index 0000000..cde3ecb
--- /dev/null
+++ b/gnu/packages/patches/hplip-remove-imageprocessor.patch
@@ -0,0 +1,232 @@
+This patch is based heavily on the Debian patch.
+
+https://salsa.debian.org/printing-team/hplip/raw/debian/3.18.10+dfsg0-1/debian/patches/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
+
+---
+ Makefile.am                  | 22 +++-------------------
+ Makefile.in                  | 33 +++++----------------------------
+ prnt/hpcups/HPCupsFilter.cpp | 21 ---------------------
+ 3 files changed, 8 insertions(+), 68 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ef6480f..ecada5c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -166,7 +166,7 @@ if !HPLIP_CLASS_DRIVER
+ dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
+ endif #HPLIP_CLASS_DRIVER
+ 
+-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template 
prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so 
prnt/hpcups/libImageProcessor-x86_32.so
++dist_noinst_DATA += prnt/drv/hpijs.drv.in.template 
prnt/drv/hpcups.drv.in.template
+ dist_noinst_SCRIPTS += dat2drv.py install.py  hplip-install 
init-suse-firewall init-iptables-firewall class_rpm_build.sh 
hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
+ 
+ if !HPLIP_CLASS_DRIVER
+@@ -590,11 +590,10 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp 
prnt/hpcups/HPCupsFilter.h prnt/hp
+       prnt/hpcups/flate_colorspace.h prnt/hpcups/RunLenEncoding.h 
prnt/hpcups/common_defines.h \
+       prnt/hpcups/genPCLm.h \
+       common/utils.c common/utils.h prnt/hpcups/Hbpl1_Wrapper.cpp 
prnt/hpcups/genPCLm.cpp \
+-      prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
+-      prnt/hpcups/ImageProcessor.h
++      prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
+ 
+ hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups 
-lcupsimage -lz $(DBUS_LIBS)
++hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz 
$(DBUS_LIBS)
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+@@ -679,21 +678,10 @@ printpluginsdir=$(cupsfilterdir)
+ 
+ 
+ dist_filter_DATA = hpcups hpps dat2drv
+-dist_printplugins_DATA = prnt/plugins/hbpl1-arm32.so 
prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so 
prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so prnt/plugins/lj-arm64.so 
prnt/plugins/lj-x86_32.so prnt/plugins/lj-x86_64.so
+ endif #HPLIP_CLASS_DRIVER
+ 
+ install-data-hook:
+ if HPLIP_BUILD
+-      if [ \( "$(UNAME)" = "x86_64" -a  -d "$(libdir)/" \) ]; then \
+-              cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
+-              chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
+-              ln -sf $(libdir)/libImageProcessor-x86_64.so 
$(libdir)/libImageProcessor.so ; \
+-      fi; \
+-      if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d 
"$(libdir)/" \) ]; then \
+-              cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
+-              chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
+-              ln -sf $(libdir)/libImageProcessor-x86_32.so 
$(libdir)/libImageProcessor.so ; \
+-      fi
+ if !HPLIP_CLASS_DRIVER
+ #        If scanner build, add hpaio entry to sane dll.conf.
+       if [ "$(scan_build)" = "yes" ]; then \
+@@ -874,10 +862,6 @@ if HPLIP_CLASS_DRIVER
+       rm -rf $(distdir)/setup.py
+       rm -rf $(distdir)/systray.py
+       rm -rf $(distdir)/timedate.py
+-      rm -rf $(distdir)/prnt/plugins/lj-arm32.so
+-      rm -rf $(distdir)/prnt/plugins/lj-arm64.so
+-      rm -rf $(distdir)/prnt/plugins/lj-x86_32.so
+-      rm -rf $(distdir)/prnt/plugins/lj-x86_64.so
+       rm -rf $(distdir)/hpijs-drv
+       rm -rf $(distdir)/prnt/hpcups/
+       rm -rf $(distdir)/prnt/ps/
+diff --git a/Makefile.in b/Makefile.in
+index 910a268..cd44203 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -103,7 +103,7 @@ DIST_COMMON = $(am__configure_deps) \
+ 
+ # ip library
+ @address@hidden = libhpip.la
address@hidden@@address@hidden = prnt/drv/hpijs.drv.in.template 
prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so 
prnt/hpcups/libImageProcessor-x86_32.so
address@hidden@@address@hidden = prnt/drv/hpijs.drv.in.template 
prnt/drv/hpcups.drv.in.template
+ @FULL_BUILD_TRUE@@address@hidden = dat2drv.py install.py  hplip-install 
init-suse-firewall init-iptables-firewall class_rpm_build.sh 
hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@address@hidden = scan/sane/hpaio.desc \
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ 
installer/text_install.py \
+@@ -500,8 +500,7 @@ am__hpcups_SOURCES_DIST = prnt/hpcups/HPCupsFilter.cpp \
+       prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
+       prnt/hpcups/genPCLm.h common/utils.c common/utils.h \
+       prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
+-      prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
+-      prnt/hpcups/ImageProcessor.h
++      prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
+ @address@hidden =  \
+ @HPCUPS_INSTALL_TRUE@ hpcups-HPCupsFilter.$(OBJEXT) \
+ @HPCUPS_INSTALL_TRUE@ hpcups-dbuscomm.$(OBJEXT) \
+@@ -723,8 +722,7 @@ am__dist_locatedriver_DATA_DIST = locatedriver
+ am__dist_models_DATA_DIST = data/models/models.dat
+ am__dist_noinst_DATA_DIST = prnt/drv/hpijs.drv.in.template \
+       prnt/drv/hpcups.drv.in.template \
+-      prnt/hpcups/libImageProcessor-x86_64.so \
+-      prnt/hpcups/libImageProcessor-x86_32.so scan/sane/hpaio.desc \
++      scan/sane/hpaio.desc \
+       installer/text_install.py data/localization/hplip_de.ts \
+       data/localization/hplip_es.ts data/localization/hplip_fr.ts \
+       data/localization/hplip_it.ts data/localization/hplip_pt.ts \
+@@ -1932,11 +1930,6 @@ am__dist_ppd_DATA_DIST = 
prnt/ps/hp-designjet_z6810ps_42in-ps.ppd.gz \
+       ppd/classppd/ps/hp-postscript-inkjet.ppd.gz \
+       ppd/classppd/ps/hp-postscript-laserjet-pro.ppd.gz \
+       ppd/classppd/ps/hp-postscript-laserjet.ppd.gz
+-am__dist_printplugins_DATA_DIST = prnt/plugins/hbpl1-arm32.so \
+-      prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so \
+-      prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so \
+-      prnt/plugins/lj-arm64.so prnt/plugins/lj-x86_32.so \
+-      prnt/plugins/lj-x86_64.so
+ am__dist_prnt_DATA_DIST = prnt/cups.py prnt/__init__.py prnt/ldl.py \
+       prnt/pcl.py prnt/colorcal.py
+ am__dist_rules_DATA_DIST = data/rules/56-hpmud.rules \
+@@ -4665,11 +4658,10 @@ libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
+ @HPCUPS_INSTALL_TRUE@ prnt/hpcups/flate_colorspace.h 
prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
+ @HPCUPS_INSTALL_TRUE@ prnt/hpcups/genPCLm.h \
+ @HPCUPS_INSTALL_TRUE@ common/utils.c common/utils.h 
prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
address@hidden@ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
address@hidden@ prnt/hpcups/ImageProcessor.h
address@hidden@ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
+ 
+ @address@hidden = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
address@hidden@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor 
-lcups -lcupsimage -lz $(DBUS_LIBS)
address@hidden@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage 
-lz $(DBUS_LIBS)
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+@@ -4717,7 +4709,6 @@ ppddir = $(hpppddir)
+ @address@hidden = $(cupsfilterdir)
+ @address@hidden = $(cupsfilterdir)
+ @address@hidden = hpcups hpps dat2drv
address@hidden@dist_printplugins_DATA = prnt/plugins/hbpl1-arm32.so 
prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so 
prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so prnt/plugins/lj-arm64.so 
prnt/plugins/lj-x86_32.so prnt/plugins/lj-x86_64.so
+ all: all-am
+ 
+ .SUFFIXES:
+@@ -9380,16 +9371,6 @@ uninstall-am: uninstall-apparmor_abstractionDATA \
+ 
+ 
+ install-data-hook:
address@hidden@ if [ \( "$(UNAME)" = "x86_64" -a  -d "$(libdir)/" \) ]; then \
address@hidden@         cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; 
\
address@hidden@         chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
address@hidden@         ln -sf $(libdir)/libImageProcessor-x86_64.so 
$(libdir)/libImageProcessor.so ; \
address@hidden@ fi; \
address@hidden@ if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d 
"$(libdir)/" \) ]; then \
address@hidden@         cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; 
\
address@hidden@         chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
address@hidden@         ln -sf $(libdir)/libImageProcessor-x86_32.so 
$(libdir)/libImageProcessor.so ; \
address@hidden@ fi
+ #        If scanner build, add hpaio entry to sane dll.conf.
+ @HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@  if [ "$(scan_build)" = "yes" ]; 
then \
+ @HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@     $(mkinstalldirs) 
$(DESTDIR)/etc/sane.d; \
+@@ -9556,10 +9537,6 @@ dist-hook:
+ @HPLIP_CLASS_DRIVER_TRUE@     rm -rf $(distdir)/setup.py
+ @HPLIP_CLASS_DRIVER_TRUE@     rm -rf $(distdir)/systray.py
+ @HPLIP_CLASS_DRIVER_TRUE@     rm -rf $(distdir)/timedate.py
address@hidden@ rm -rf $(distdir)/prnt/plugins/lj-arm32.so
address@hidden@ rm -rf $(distdir)/prnt/plugins/lj-arm64.so
address@hidden@ rm -rf $(distdir)/prnt/plugins/lj-x86_32.so
address@hidden@ rm -rf $(distdir)/prnt/plugins/lj-x86_64.so
+ @HPLIP_CLASS_DRIVER_TRUE@     rm -rf $(distdir)/hpijs-drv
+ @HPLIP_CLASS_DRIVER_TRUE@     rm -rf $(distdir)/prnt/hpcups/
+ @HPLIP_CLASS_DRIVER_TRUE@     rm -rf $(distdir)/prnt/ps/
+diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
+index 5b282d8..0bacfaf 100644
+--- a/prnt/hpcups/HPCupsFilter.cpp
++++ b/prnt/hpcups/HPCupsFilter.cpp
+@@ -31,7 +31,6 @@
+ 
\*****************************************************************************/
+ 
+ #include "HPCupsFilter.h"
+-#include "ImageProcessor.h"
+ 
+ #include <signal.h>
+ #include <sys/wait.h>
+@@ -637,16 +636,10 @@ int HPCupsFilter::processRasterData(cups_raster_t 
*cups_raster)
+ 
+ 
+     sprintf(hpPreProcessedRasterFile, 
"%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
+-    image_processor_t* imageProcessor = imageProcessorCreate();
+ 
+     while (cupsRasterReadHeader2(cups_raster, &cups_header))
+     {
+ 
+-        IMAGE_PROCESSOR_ERROR result = 
imageProcessorStartPage(imageProcessor, &cups_header);
+-        if (result != IPE_SUCCESS){
+-            dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", 
result);
+-        }
+-
+         current_page_number++;
+ 
+         if (current_page_number == 1) {
+@@ -745,12 +738,6 @@ int HPCupsFilter::processRasterData(cups_raster_t 
*cups_raster)
+             color_raster = rgbRaster;
+             black_raster = kRaster;
+ 
+-            result = imageProcessorProcessLine(imageProcessor, 
m_pPrinterBuffer, cups_header.cupsBytesPerLine);
+-            if (result != IPE_SUCCESS){
+-                dbglog("DEBUG: imageProcessorProcessLine failed result = 
%d\n", result);
+-            }
+-
+-
+             if ((y == 0) && !is_ljmono) {
+                 //For ljmono, make sure that first line is not a blankRaster 
line.Otherwise printer
+                 //may not skip blank lines before actual data
+@@ -780,12 +767,6 @@ int HPCupsFilter::processRasterData(cups_raster_t 
*cups_raster)
+             }
+         }  // for() loop end
+ 
+-        result = imageProcessorEndPage(imageProcessor);
+-        if (result != IPE_SUCCESS){
+-                dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", 
result);
+-        }
+-
+-
+         m_Job.NewPage();
+         if (err != NO_ERROR) {
+             break;
+@@ -800,8 +781,6 @@ int HPCupsFilter::processRasterData(cups_raster_t 
*cups_raster)
+         rgbRaster = NULL;
+     }
+ 
+-    imageProcessorDestroy(imageProcessor);
+-
+     unlink(hpPreProcessedRasterFile);
+     return ret_status;
+ }
+-- 
+2.19.1
+



reply via email to

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