Skip to contentSkip to conversation

Buildroot Printing with Cups

PATCH New Olivier Schonken 4 participants 13 messages Jan 20, 2016 – Feb 21, 2016

lore
Share & tools
lore
#0 lore raw

v4 cover Buildroot Printing with Cups

I'm resubbmitting this patch series. It seems that the previous sub- mission got lost due to a mail server or other issue. The versions has been updated to the latest available.
CUPS 2.1.0 adds support for 3D printing. Lots of possibilities...

CUPS-filters provides backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc. From CUPS 1.6.0 forward, cups-filters is required for using printer drivers with CUPS under linux. It is maintained by the openprinting group of the linux foundation.

Changes V1 -> V2
Modify Cups makefile to not use -fPIE and -pie when doing static builds. (Vicente Olivert Riera)

Changes V2 -> V3 (Suggestions by Thomas Pettazoni)
Cups:
Modify Cups patches to show [PATCH] instead of [PATCH 1/2]. Add comment to cups genstrings patch to explain why it is being built. Remove AVAHI configuration selection, enable/disable according to BR_PACKAGE_AVAHI
Add BR2_PACKAGE_CUPS_PDFTOPS to Config.in.legacy
Add locally calculated sh256 hash to cups.hash
Add zlib as cups dependency

HPLIP:
Remove +HPLIP_MAKE_OPTS += LDFLAGS+=-lpthread - Not necessary for succesful compilation

Cups-filters
Add dependencies depends on lines and comments for when the dependencies are not available.
Remove AVAHI configuration selection, enable/disable according to BR_PACKAGE_AVAHI
Fix indentation in cups-filters.mk
Remove --disable-avahi and --without-png from default configuration. Create a separate commit to enable xpdf-headers for poppler
Add selection of BR2_PACKAGE_CUPS_FILTERS_PDFTOPS to Config.in.legacy

Changes V3 -> V4 (Suggestions by Samuel Martin, and updates) Cups:
Update to version 2.1.2
Update Config.in.legacy
Remove building of manpages from configure script (DIRS uses $(BUILDDIRS) which is passed by configure. Autoreconf not working due to missing defines) Add comment for case when toolchain dependency is not met
Remove PIE-removal section for static builds
Add --enable-systemd and else case for --disable-systemd

HPLIP:
Update to version 3.15.11
Remove inapropriate comment.

Gutenprint:
Remove inapropriate comment.

Cups-filters
Update to 1.7.0
Change dependencies in Config.in to select statements
Remove comments for dependencies
Remove trailing slash in download link
Add dependency on dynamic libraries.(With static libs it failed to find -lcups)

Olivier Schonken (5):
package/cups: Un-deprecate, and update CUPS to 2.1.2 package/hplip: Un-deprecate and bump version to 3.15.11 package/gutenprint: Un-deprecate and bump version to 5.2.10 Enable xpdf-headers in poppler to enable building of cups-filters package/cups-filters: Add new package cups-filters 1.7.0

 Config.in.legacy                                   |  8 +++
 package/Config.in                                  |  1 +
 package/cups-filters/Config.in                     | 41 ++++++++++++++++
 package/cups-filters/cups-filters.hash             |  2 +
 package/cups-filters/cups-filters.mk               | 57 ++++++++++++++++++++++
 ...01-Remove-man-from-BUILDDIRS-in-configure.patch | 28 +++++++++++
 package/cups/0001-fix-static.patch                 | 28 -----------
 package/cups/0002-Do-not-use-genstrings.patch      | 30 ++++++++++++
 package/cups/0002-fix-stack-protector-check.patch  | 25 ----------
 package/cups/0003-mantohtml.patch                  | 11 -----
 package/cups/Config.in                             | 16 ++----
 package/cups/cups.hash                             |  2 +
 package/cups/cups.mk                               | 50 ++++++++++++-------
 package/gutenprint/Config.in                       |  2 -
 package/gutenprint/gutenprint.hash                 |  2 +-
 package/gutenprint/gutenprint.mk                   |  2 +-
 package/hplip/0001-fix-make.patch                  | 40 +++++++--------
 package/hplip/Config.in                            |  2 -
 package/hplip/hplip.hash                           |  2 +-
 package/hplip/hplip.mk                             |  2 +-
 package/poppler/poppler.mk                         |  3 +-
 21 files changed, 230 insertions(+), 124 deletions(-)
 create mode 100644 package/cups-filters/Config.in
 create mode 100644 package/cups-filters/cups-filters.hash
 create mode 100644 package/cups-filters/cups-filters.mk
 create mode 100644 package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
 delete mode 100644 package/cups/0001-fix-static.patch
 create mode 100644 package/cups/0002-Do-not-use-genstrings.patch
 delete mode 100644 package/cups/0002-fix-stack-protector-check.patch
 delete mode 100644 package/cups/0003-mantohtml.patch
 create mode 100644 package/cups/cups.hash
Signature · 1 line
2.5.0
#1 lore raw

PATCH v4 1/5 package/cups: Un-deprecate, and update CUPS to 2.1.2

Remove 0001-fix-static.patch - Fixed upstream
Remove 0002-fix-stack-protector-check.patch - Fixed upstream Remove 0003-mantohtml.patch - Replaced by 0001-Remove-man-from-BUILDDIRS-in- configure.patch
Add 0002-Do-not-use-genstrings.patch
Add CUPS_PDFTOPS option to Config.in.legacy - This support was moved to the cups-filters package.

---
 Config.in.legacy                                   |  7 +++
 ...01-Remove-man-from-BUILDDIRS-in-configure.patch | 28 ++++++++++++
 package/cups/0001-fix-static.patch                 | 28 ------------
 package/cups/0002-Do-not-use-genstrings.patch      | 30 +++++++++++++
 package/cups/0002-fix-stack-protector-check.patch  | 25 -----------
 package/cups/0003-mantohtml.patch                  | 11 -----
 package/cups/Config.in                             | 16 ++-----
 package/cups/cups.hash                             |  2 +
 package/cups/cups.mk                               | 50 ++++++++++++++--------
 9 files changed, 102 insertions(+), 95 deletions(-)
 create mode 100644 package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
 delete mode 100644 package/cups/0001-fix-static.patch
 create mode 100644 package/cups/0002-Do-not-use-genstrings.patch
 delete mode 100644 package/cups/0002-fix-stack-protector-check.patch
 delete mode 100644 package/cups/0003-mantohtml.patch
 create mode 100644 package/cups/cups.hash
Config.in.legacy +7 -0
index 9111c01..793b116 100644
@@ -145,6 +145,13 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2016.02"
 
+config BR2_PACKAGE_CUPS_PDFTOPS
+	bool "Pdftops support has been removed from Cups"
+	select BR2_LEGACY
+	help
+	  Pdftops support has been removed from the cups package
+	  It is now part of the cups-filters package.
+
 config BR2_KERNEL_HEADERS_3_16
 	bool "kernel headers version 3.16.x are no longer supported"
 	select BR2_KERNEL_HEADERS_3_18
package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch new file +28 -0
new file mode 100644
index 0000000..253bd0e
@@ -0,0 +1,28 @@
+From a77bb18a5584bb23687ed3c522dbd91a9987d5a7 Mon Sep 17 00:00:00 2001
+From: Olivier Schonken <[email protected]>
+Date: Wed, 20 Jan 2016 22:13:11 +0200
+Subject: [PATCH] Remove man from BUILDDIRS in configure
+
+Removing it by using AUTORECONF and makedefs.in causes a lot of missing template errors
+
+Signed-off-by: Olivier Schonken <[email protected]>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 4170ff3..3879a75 100755
+--- a/configure
++++ b/configure
+@@ -5921,7 +5921,7 @@ fi
+ 
+ case "$COMPONENTS" in
+ 	all)
+-		BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
++		BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale doc examples templates"
+ 		;;
+ 
+ 	core)
+-- 
+2.5.0
+
package/cups/0001-fix-static.patch deleted +0 -28
deleted file mode 100644
index 4c9d0d4..0000000
@@ -1,28 +0,0 @@
-cups: fix static linking
-
-Append -lz to the cups linking libs to fix a problem like this one:
-
-../cups/libcups.a(file.o): In function `cupsFileSeek':
-/home/test/test/1/output/build/cups-1.3.11/cups/file.c:1444: undefined 
-reference to `inflateEnd'
-collect2: error: ld returned 1 exit status
-make[2]: *** [ipp] Error 1
-make[2]: *** Waiting for unfinished jobs....
-
-This solution is the same used upstream in newer versions.
-
-Fixes:
-   http://autobuild.buildroot.net/results/f3d/f3d4f67ce7ee1d54f5bd4c87dfddb7417db614e5/
-
-Signed-off-by: Vicente Olivert Riera <[email protected]>
---- cups-1.3.11/Makedefs.in.orig	2014-03-05 13:28:10.175437880 +0000
-+++ cups-1.3.11/Makedefs.in	2014-03-05 13:28:35.398845162 +0000
-@@ -132,7 +132,7 @@ LDFLAGS		=	-L../cups -L../filter @LDARCH
- LEGACY_BACKENDS	=	@LEGACY_BACKENDS@
- LIBCUPSORDER	=	@LIBCUPSORDER@
- LIBCUPSIMAGEORDER =	@LIBCUPSIMAGEORDER@
--LINKCUPS	=	@LINKCUPS@ $(SSLLIBS)
-+LINKCUPS	=	@LINKCUPS@ $(SSLLIBS) $(LIBZ)
- LINKCUPSIMAGE	=	@LINKCUPSIMAGE@
- LIBS		=	$(LINKCUPS) $(COMMONLIBS)
- OPTIM		=	@OPTIM@
package/cups/0002-Do-not-use-genstrings.patch new file +30 -0
new file mode 100644
index 0000000..03af0c8
@@ -0,0 +1,30 @@
+From a863814f6dadda054c964897210789eafff6f605 Mon Sep 17 00:00:00 2001
+From: Olivier Schonken <[email protected]>
+Date: Wed, 18 Mar 2015 20:33:41 +0200
+Subject: [PATCH] Do not use genstrings
+
+Using cross compiled genstrings while cross-compiling will break compilation.
+Genstrings is still compiled because some power users might want to do ppd
+compilation on their target machine, and for that they would need to use the
+native compiled genstrings binary, to generate a sample.c file for their target
+
+Signed-off-by: Olivier Schonken <[email protected]>
+---
+ ppdc/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ppdc/Makefile b/ppdc/Makefile
+index bc8bb64..f6bae25 100644
+--- a/ppdc/Makefile
++++ b/ppdc/Makefile
+@@ -243,7 +243,7 @@ genstrings:		genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
+		libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
+		$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+	echo Generating localization strings...
+-	./genstrings >sample.c
++	#./genstrings >sample.c
+
+
+ #
+--
+1.9.1
package/cups/0002-fix-stack-protector-check.patch deleted +0 -25
deleted file mode 100644
index 1db35ff..0000000
@@ -1,25 +0,0 @@
-[PATCH]: use AC_TRY_LINK for stack protector check
-
-Actually try to link an executable to test for stack protector support,
-as gcc seems to accept the -fstack-protector argument even when it's
-compiled with --disable-libssp (but linking fails with a error
-finding -lssp_nonshared).
-
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- config-scripts/cups-compiler.m4 |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: cups-1.3.9/config-scripts/cups-compiler.m4
-===================================================================
---- cups-1.3.9.orig/config-scripts/cups-compiler.m4
-+++ cups-1.3.9/config-scripts/cups-compiler.m4
-@@ -109,7 +109,7 @@ if test -n "$GCC"; then
- 	AC_MSG_CHECKING(if GCC supports -fstack-protector)
- 	OLDCFLAGS="$CFLAGS"
- 	CFLAGS="$CFLAGS -fstack-protector"
--	AC_TRY_COMPILE(,,
-+	AC_TRY_LINK(,,
- 		OPTIM="$OPTIM -fstack-protector"
- 		AC_MSG_RESULT(yes),
- 		AC_MSG_RESULT(no))
package/cups/0003-mantohtml.patch deleted +0 -11
deleted file mode 100644
index e6a10b0..0000000
@@ -1,11 +0,0 @@
---- cups-1.3.5/man/Makefile	2007-07-12 21:01:14.000000000 -0400
-+++ cups-1.3.5/man/Makefile	2008-02-11 08:55:24.000000000 -0500
-@@ -173,7 +173,7 @@ html:	$(MAN1) $(MAN5) $(MAN7) $(MAN8) ma
- 	done
- 
- mantohtml:	mantohtml.o
--	$(CC) $(LDFLAGS) -o $@ mantohtml.o
-+	gcc -I/usr/include -I../ -L/usr/lib mantohtml.c -o mantohtml
- 
- 
- #
package/cups/Config.in +3 -13
index 8e60221..3f5460c 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_CUPS
 	bool "cups"
-	# serious security issues, needs upgrading
-	depends on BR2_DEPRECATED_SINCE_2015_05
+	# needs libstdcpp for ppdc
+	depends on BR2_INSTALL_LIBSTDCPP
 	# needs fork()
 	depends on BR2_USE_MMU
 	help
@@ -9,15 +9,5 @@ config BR2_PACKAGE_CUPS
 
 	  http://www.cups.org
 
-if BR2_PACKAGE_CUPS
-
-config BR2_PACKAGE_CUPS_PDFTOPS
-	bool "pdftops support"
-	depends on BR2_INSTALL_LIBSTDCPP
-	help
-	  Enable pdftops support
-
-comment "pdftops support needs a toolchain w/ C++"
+comment "cups needs a toolchain w/ C++"
 	depends on !BR2_INSTALL_LIBSTDCPP
-
-endif
package/cups/cups.hash new file +2 -0
new file mode 100644
index 0000000..f38399f
@@ -0,0 +1,2 @@
+# Locally calculated:
+sha256 bab0ca3ba80eae48319b3a6b19a5b14fad5ce230f30151a0cfa4c0271df281ad  cups-2.1.2-source.tar.bz2
package/cups/cups.mk +32 -18

85 lines not on this page · raw message

Signature · 1 line
2.5.0
#2 lore raw

PATCH v4 1/5 package/cups: Un-deprecate, and update CUPS to 2.1.2

Olivier,

Quoted 18 lines · Olivier Schonken

Remove 0001-fix-static.patch - Fixed upstream
Remove 0002-fix-stack-protector-check.patch - Fixed upstream Remove 0003-mantohtml.patch - Replaced by 0001-Remove-man-from-BUILDDIRS-in- configure.patch
Add 0002-Do-not-use-genstrings.patch
Add CUPS_PDFTOPS option to Config.in.legacy - This support was moved to the cups-filters package.

---
 Config.in.legacy                                   |  7 +++
 ...01-Remove-man-from-BUILDDIRS-in-configure.patch | 28 ++++++++++++
 package/cups/0001-fix-static.patch                 | 28 ------------
 package/cups/0002-Do-not-use-genstrings.patch      | 30 +++++++++++++
 package/cups/0002-fix-stack-protector-check.patch  | 25 -----------
 package/cups/0003-mantohtml.patch                  | 11 -----
 package/cups/Config.in                             | 16 ++-----
 package/cups/cups.hash                             |  2 +
Quoted 8 lines
 package/cups/cups.mk                               | 50 ++++++++++++++--------
 9 files changed, 102 insertions(+), 95 deletions(-)
 create mode 100644 package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
 delete mode 100644 package/cups/0001-fix-static.patch
 create mode 100644 package/cups/0002-Do-not-use-genstrings.patch
 delete mode 100644 package/cups/0002-fix-stack-protector-check.patch
 delete mode 100644 package/cups/0003-mantohtml.patch
 create mode 100644 package/cups/cups.hash

Applied after doing a few changes:

[Thomas:
- rewrap patch description in patch 0001
- adjust patch 0002 to completely remove the call to genstrings instead of commenting it, and remove the potentially confusing 'echo' above it
- add a third patch that sanitizes the installation process to avoid non-working stripping, owernship changes, etc.]

If you could work with upstream to submit those patches (they will have to be done in a better way to be acceptable upstream), it would be good.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v4 2/5 package/hplip: Un-deprecate and bump version to 3.15.11

In reply to Olivier Schonken
---
 package/hplip/0001-fix-make.patch | 40 +++++++++++++++++++--------------------
 package/hplip/Config.in           |  2 --
 package/hplip/hplip.hash          |  2 +-
 package/hplip/hplip.mk            |  2 +-
 4 files changed, 22 insertions(+), 24 deletions(-)
package/hplip/0001-fix-make.patch +20 -20
index da05d03..9105d6f 100644
@@ -1,35 +1,35 @@
-From 6019d012246578ae1a191d3510284e7b894fb528 Mon Sep 17 00:00:00 2001
+From c1822a19e75bae8e044cd46a257a234cd9649896 Mon Sep 17 00:00:00 2001
 From: Olivier Schonken <[email protected]>
-Date: Sat, 2 Mar 2013 18:01:03 +0200
+Date: Wed, 20 Jan 2016 23:46:50 +0200
 Subject: [PATCH] Changed Makefile.am to allow cross-compilation of HPLIP
 
 Signed-off-by: Olivier Schonken <[email protected]>
 ---
- Makefile.am |   28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 16ea902..b22f46a 100644
+index 73fed2e..23aa0ec 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -72,7 +72,7 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/
- 	  io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \
- 	  io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb_libusb01.c
+@@ -92,7 +92,7 @@ libhpmud_la_SOURCES += io/hpmud/musb_libusb01.c
+ libhpmud_la_LDFLAGS += -lusb
  else
--libhpmud_la_CFLAGS = -I/usr/include/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
-+libhpmud_la_CFLAGS = -I$(includedir)/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
- libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/pml.c \
- 	  io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \
- 	  io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb.c
-@@ -292,7 +292,7 @@ hpmudext_la_LIBADD = libhpmud.la
- if LIBUSB01_BUILD
- hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
- else
--hpmudext_la_CFLAGS =-I/usr/include/libusb-1.0 -I$(PYTHONINCLUDEDIR)
-+hpmudext_la_CFLAGS =-I$(includedir)/libusb-1.0 -I$(PYTHONINCLUDEDIR)
+ libhpmud_la_SOURCES += io/hpmud/musb.c 
+-libhpmud_la_CFLAGS  += -I/usr/include/libusb-1.0
++libhpmud_la_CFLAGS  += -I$(includedir)/libusb-1.0
+ libhpmud_la_LDFLAGS += -lusb-1.0
+ endif
+ 
+@@ -314,7 +314,7 @@ hpmudext_la_LIBADD = libhpmud.la libhpdiscovery.la
+ hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) -Iprotocol/discovery
+ 
+ if !LIBUSB01_BUILD
+-hpmudext_la_CFLAGS +=-I/usr/include/libusb-1.0 
++hpmudext_la_CFLAGS +=-I$(includedir)/libusb-1.0 
  endif
  
  # ui (qt3)
 -- 
-1.7.10.4
+2.5.0
 
package/hplip/Config.in +0 -2
index a8a5f69..7565671 100644
@@ -1,7 +1,5 @@
 config BR2_PACKAGE_HPLIP
 	bool "hplip"
-	# because of cups security issues
-	depends on BR2_DEPRECATED_SINCE_2015_05
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_PACKAGE_CUPS
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
package/hplip/hplip.hash +1 -1
index fb7d4e7..75ff7d3 100644
@@ -1,2 +1,2 @@
 # Locally computed:
-sha256  a8122cd824398ac6374154f86152e24fdf5c0100b5c1d6518e853308362e627d  hplip-3.13.10.tar.gz
+sha256  33c4711bde04a34b81f3f70e6277a0375dded171469e5aa8b9cef1a14a407c6d  hplip-3.15.11.tar.gz
package/hplip/hplip.mk +1 -1
index 2cdddca..aea1f0c 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HPLIP_VERSION = 3.13.10
+HPLIP_VERSION = 3.15.11
 HPLIP_SITE = http://downloads.sourceforge.net/hplip/hplip
 HPLIP_AUTORECONF = YES
 HPLIP_DEPENDENCIES = cups libusb jpeg
Signature · 1 line
2.5.0
#4 lore raw

PATCH v4 2/5 package/hplip: Un-deprecate and bump version to 3.15.11

Dear Olivier Schonken,

Quoted 7 lines · Olivier Schonken
---
 package/hplip/0001-fix-make.patch | 40 +++++++++++++++++++--------------------
 package/hplip/Config.in           |  2 --
 package/hplip/hplip.hash          |  2 +-
 package/hplip/hplip.mk            |  2 +-
 4 files changed, 22 insertions(+), 24 deletions(-)

I've applied. However, I was horrified to discover the 0001-fix-make.patch (which already existed before this patch). Using includedir this way is really wrong. So I fixed that up in a followup commit:

https://git.busybox.net/buildroot/commit/?id=ffca78cbcdab370a3916be51db3ca54ea03fba24

And also did another minor improvements:

https://git.busybox.net/buildroot/commit/?id=3fc77e5f81906d774be2710b16166fca48fb3e05

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v4 3/5 package/gutenprint: Un-deprecate and bump version to 5.2.10

In reply to Olivier Schonken
---
 package/gutenprint/Config.in       | 2 --
 package/gutenprint/gutenprint.hash | 2 +-
 package/gutenprint/gutenprint.mk   | 2 +-
 3 files changed, 2 insertions(+), 4 deletions(-)
package/gutenprint/Config.in +0 -2
index 686dbce..f93717c 100644
@@ -1,7 +1,5 @@
 config BR2_PACKAGE_GUTENPRINT
 	bool "gutenprint"
-	# because of cups security issues
-	depends on BR2_DEPRECATED_SINCE_2015_05
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_PACKAGE_CUPS
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
package/gutenprint/gutenprint.hash +1 -1
index 3cfe0e1..36c12cc 100644
@@ -1,2 +1,2 @@
 # Locally computed:
-sha256  4b27e4f06f32d30271df89ecb6089bb11bcf2caec5f60b0909e083095354bca0  gutenprint-5.2.9.tar.bz2
+sha256  431f352b412dfb9809d126a85a37a1fcd1c1826275ace8cdcd4fd9a6ee360e59  gutenprint-5.2.10.tar.bz2
package/gutenprint/gutenprint.mk +1 -1
index 3ff05b6..0bdc3bc 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 GUTENPRINT_VERSION_MAJOR = 5.2
-GUTENPRINT_VERSION = $(GUTENPRINT_VERSION_MAJOR).9
+GUTENPRINT_VERSION = $(GUTENPRINT_VERSION_MAJOR).10
 GUTENPRINT_SITE = http://downloads.sourceforge.net/project/gimp-print/gutenprint-$(GUTENPRINT_VERSION_MAJOR)/$(GUTENPRINT_VERSION)
 GUTENPRINT_SOURCE = gutenprint-$(GUTENPRINT_VERSION).tar.bz2
 GUTENPRINT_LICENSE = GPLv2+
Signature · 1 line
2.5.0
#6 lore raw

PATCH v4 3/5 package/gutenprint: Un-deprecate and bump version to 5.2.10

Dear Olivier Schonken,

Quoted 6 lines · Olivier Schonken
---
 package/gutenprint/Config.in       | 2 --
 package/gutenprint/gutenprint.hash | 2 +-
 package/gutenprint/gutenprint.mk   | 2 +-
 3 files changed, 2 insertions(+), 4 deletions(-)

This one doesn't build here:

print-olympus.c: In function ?dyesub_do_print?:
print-olympus.c:4909:2: error: #error "Unable to determine endianness, aborting compilation!"
#error "Unable to determine endianness, aborting compilation!"

Here is the defconfig to reproduce:

BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2015.11-rc1-71-g90d1299.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_CUPS=y
BR2_PACKAGE_GUTENPRINT=y
BR2_PACKAGE_HPLIP=y
# BR2_TARGET_ROOTFS_TAR is not set

It's late, I'm heading off to bed, so I haven't investigated at all. It might be trivial.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#7 lore raw

PATCH v4 3/5 package/gutenprint: Un-deprecate and bump version to 5.2.10

Hi Thomas, All

Attached is a patch that worked for fixing the build issue you had with Gutenprint. Seems they have a bit of issues with code quality control/review upstream.
For the print-olympus.c file the way in which they checked the endianess differed from the rest of the project, and the also had a variable in genppd.c that was dependant on a HAVE_ZLIB define, but not encased in an #ifdef block.

If the changes are in order I will resubmit using the usual methods.

Regards

Olivier Schonken

Quoted 44 lines · Thomas Petazzoni

Dear Olivier Schonken,

Quoted 6 lines · Olivier Schonken
---
 package/gutenprint/Config.in       | 2 --
 package/gutenprint/gutenprint.hash | 2 +-
 package/gutenprint/gutenprint.mk   | 2 +-
 3 files changed, 2 insertions(+), 4 deletions(-)

This one doesn't build here:

print-olympus.c: In function ?dyesub_do_print?:
print-olympus.c:4909:2: error: #error "Unable to determine endianness, aborting compilation!"
#error "Unable to determine endianness, aborting compilation!"

Here is the defconfig to reproduce:

BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="
http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2015.11-rc1-71-g90d1299.tar.bz2
"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_CUPS=y
BR2_PACKAGE_GUTENPRINT=y
BR2_PACKAGE_HPLIP=y
# BR2_TARGET_ROOTFS_TAR is not set

It's late, I'm heading off to bed, so I haven't investigated at all. It might be trivial.

Quoted 8 lines

Best regards,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160124/8d117a80/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-gutenprint-fixup.patch
Type: text/x-patch
Size: 1585 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160124/8d117a80/attachment.bin>

#8 lore raw

PATCH v4 3/5 package/gutenprint: Un-deprecate and bump version to 5.2.10

Quoted 11 lines · Olivier Schonken

Hi Thomas, All

Attached is a patch that worked for fixing the build issue you had with Gutenprint. Seems they have a bit of issues with code quality control/review upstream.
For the print-olympus.c file the way in which they checked the endianess differed from the rest of the project, and the also had a variable in genppd.c that was dependant on a HAVE_ZLIB define, but not encased in an #ifdef block.

If the changes are in order I will resubmit using the usual methods.

A few small comments:

It should be two separate patches, because they do two unrelated things.

The patch commit log for the endianness fix could be improved a little, e.g.

print-olympus.c: fix endianness detection

The __LITTLE_ENDIAN__ and __BIG_ENDIAN__ macros are not a reliable way to detect endianness. Instead, rely on __BYTE_ORDER like we do in the rest of the code.

There's a redundant newline in the patch description.

And finally, don't forget to send these patches upstream.

Thanks,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#9 lore raw

PATCH v4 4/5 Enable xpdf-headers in poppler to enable building of cups-filters

In reply to Olivier Schonken

Add --enable-xpdf-headers to poppler.mk. Required for succesfull build of cups-filters.

---
 package/poppler/poppler.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/poppler/poppler.mk +2 -1
index 6142cba..1113e4b 100644
@@ -11,7 +11,8 @@ POPPLER_DEPENDENCIES = fontconfig host-pkgconf
 POPPLER_LICENSE = GPLv2+
 POPPLER_LICENSE_FILES = COPYING
 POPPLER_INSTALL_STAGING = YES
-POPPLER_CONF_OPTS = --with-font-configuration=fontconfig
+POPPLER_CONF_OPTS = --with-font-configuration=fontconfig \
+	--enable-xpdf-headers
 
 ifeq ($(BR2_PACKAGE_LCMS2),y)
 POPPLER_CONF_OPTS += --enable-cms=lcms2
Signature · 1 line
2.5.0
#10 lore raw

PATCH v4 4/5 Enable xpdf-headers in poppler to enable building of cups-filters

Dear Olivier Schonken,

Quoted 8 lines · Olivier Schonken

Add --enable-xpdf-headers to poppler.mk. Required for succesfull build of cups-filters.

---
 package/poppler/poppler.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

The title of all commits touching packages should have the following form:

<package>: <what happens>

So, I've changed the commit title of this patch to:

poppler: install xpdf-headers to enable building of cups-filters

Applied to next with this change, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#11 lore raw

PATCH v4 5/5 package/cups-filters: Add new package cups-filters 1.7.0

In reply to Olivier Schonken
---
 Config.in.legacy                       |  1 +
 package/Config.in                      |  1 +
 package/cups-filters/Config.in         | 41 ++++++++++++++++++++++++
 package/cups-filters/cups-filters.hash |  2 ++
 package/cups-filters/cups-filters.mk   | 57 ++++++++++++++++++++++++++++++++++
 5 files changed, 102 insertions(+)
 create mode 100644 package/cups-filters/Config.in
 create mode 100644 package/cups-filters/cups-filters.hash
 create mode 100644 package/cups-filters/cups-filters.mk
Config.in.legacy +1 -0
index 793b116..cf509af 100644
@@ -147,6 +147,7 @@ comment "Legacy options removed in 2016.02"
 
 config BR2_PACKAGE_CUPS_PDFTOPS
 	bool "Pdftops support has been removed from Cups"
+	select BR2_PACKAGE_CUPS_FILTERS_PDFTOPS
 	select BR2_LEGACY
 	help
 	  Pdftops support has been removed from the cups package
package/Config.in +1 -0
index 8883bbf..9f52194 100644
@@ -1310,6 +1310,7 @@ menu "Networking applications"
 	source "package/crda/Config.in"
 	source "package/ctorrent/Config.in"
 	source "package/cups/Config.in"
+	source "package/cups-filters/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/dhcp/Config.in"
 endif
package/cups-filters/Config.in new file +41 -0

41 lines not on this page · raw message

package/cups-filters/cups-filters.hash new file +2 -0
new file mode 100644
index 0000000..1e553aa
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256	c6996e51b43e3baed99f0e386c1914e6d2245aa93c2cca182da0f59953cd6854  cups-filters-1.7.0.tar.gz
package/cups-filters/cups-filters.mk new file +57 -0

57 lines not on this page · raw message

Signature · 1 line
2.5.0
#12 lore raw

PATCH v4 5/5 package/cups-filters: Add new package cups-filters 1.7.0

Olivier,

Quoted 60 lines · Olivier Schonken
---
 Config.in.legacy                       |  1 +
 package/Config.in                      |  1 +
 package/cups-filters/Config.in         | 41 ++++++++++++++++++++++++
 package/cups-filters/cups-filters.hash |  2 ++
 package/cups-filters/cups-filters.mk   | 57 ++++++++++++++++++++++++++++++++++
 5 files changed, 102 insertions(+)
 create mode 100644 package/cups-filters/Config.in
 create mode 100644 package/cups-filters/cups-filters.hash
 create mode 100644 package/cups-filters/cups-filters.mk
Config.in.legacy +1 -0
index 793b116..cf509af 100644
@@ -147,6 +147,7 @@ comment "Legacy options removed in 2016.02"
 
 config BR2_PACKAGE_CUPS_PDFTOPS
        bool "Pdftops support has been removed from Cups"
+       select BR2_PACKAGE_CUPS_FILTERS_PDFTOPS
        select BR2_LEGACY
        help
          Pdftops support has been removed from the cups package
package/Config.in +1 -0
index 8883bbf..9f52194 100644
@@ -1310,6 +1310,7 @@ menu "Networking applications"
        source "package/crda/Config.in"
        source "package/ctorrent/Config.in"
        source "package/cups/Config.in"
+       source "package/cups-filters/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
        source "package/dhcp/Config.in"
 endif
package/cups-filters/Config.in new file +18 -0
new file mode 100644
index 0000000..1acfbe8
@@ -0,0 +1,41 @@
+config BR2_PACKAGE_CUPS_FILTERS
+       bool "cups-filters"
+       # needs fork()
+       depends on BR2_USE_MMU
+       depends on !BR2_STATIC_LIBS
+       select BR2_PACKAGE_CUPS
+       select BR2_PACKAGE_LIBGLIB2
+       select BR2_PACKAGE_IJS
+       select BR2_PACKAGE_LCMS2
+       select BR2_PACKAGE_POPPLER
+       select BR2_PACKAGE_QPDF
+       help
+         This project provides backends, filters, and other software that was
+         once part of the core CUPS distribution but is no longer maintained
+         by Apple Inc. In addition it contains additional filters and software
+         developed independently of Apple, especially filters for the PDF-
+         centric printing workflow introduced by OpenPrinting and a daemon
+         to browse Bonjour broadcasts of remote CUPS printers to make these

package/cups-filters/Config.in line 28

Quoted 10 lines
package/cups-filters/Config.in new file +10 -0
+         printers available locally and to provide backward compatibility to
+         the old CUPS broadcasting and browsing of CUPS 1.5.x and older.
+         From CUPS 1.6.0 on, this package is required for using printer drivers
+         with CUPS under Linux. With CUPS 1.5.x and earlier this package can be
+         used optionally to switch over to PDF-based printing.
+
+         http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters
+
+comment "cups-filters needs a toolchain w/ dynamic library"
+       depends on BR2_STATIC_LIBS

Nitpicking: if you move this comment before the config, the options in the below if-block will be intented in menuconfig (just to make the the look and feel better ;-]).

Otherwize, it looks good!

Regards,

Signature · 1 line
Samuel