All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2
@ 2016-01-21 22:37 Thomas Petazzoni
  2016-01-23 16:24 ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2016-01-21 22:37 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=d37ce8e1a4edc9a06831e6b0842996866534b1ea
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

 - 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.

Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
[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.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Config.in.legacy                                   |   7 ++
 ...01-Remove-man-from-BUILDDIRS-in-configure.patch |  29 +++++
 package/cups/0001-fix-static.patch                 |  28 -----
 package/cups/0002-Do-not-use-genstrings.patch      |  36 ++++++
 package/cups/0002-fix-stack-protector-check.patch  |  25 ----
 .../0003-Sanitize-the-installation-process.patch   | 131 +++++++++++++++++++++
 package/cups/0003-mantohtml.patch                  |  11 --
 package/cups/Config.in                             |  16 +--
 package/cups/cups.hash                             |   2 +
 package/cups/cups.mk                               |  50 +++++---
 10 files changed, 240 insertions(+), 95 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index 9111c01..793b116 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -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
diff --git a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
new file mode 100644
index 0000000..c0e87a4
--- /dev/null
+++ b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
@@ -0,0 +1,29 @@
+From a77bb18a5584bb23687ed3c522dbd91a9987d5a7 Mon Sep 17 00:00:00 2001
+From: Olivier Schonken <olivier.schonken@gmail.com>
+Date: Wed, 20 Jan 2016 22:13:11 +0200
+Subject: [PATCH] Remove man from BUILDDIRS in configure
+
+Since cups doesn't autoreconf properly, we directly patch the
+configure script.
+
+Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
+---
+ 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
+
diff --git a/package/cups/0001-fix-static.patch b/package/cups/0001-fix-static.patch
deleted file mode 100644
index 4c9d0d4..0000000
--- a/package/cups/0001-fix-static.patch
+++ /dev/null
@@ -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 <Vincent.Riera@imgtec.com>
---- 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@
diff --git a/package/cups/0002-Do-not-use-genstrings.patch b/package/cups/0002-Do-not-use-genstrings.patch
new file mode 100644
index 0000000..325483e
--- /dev/null
+++ b/package/cups/0002-Do-not-use-genstrings.patch
@@ -0,0 +1,36 @@
+From 193c8d8c55a3478ca5c9e161ce581e5794098c6d Mon Sep 17 00:00:00 2001
+From: Olivier Schonken <olivier.schonken@gmail.com>
+Date: Thu, 21 Jan 2016 23:04:49 +0100
+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 <olivier.schonken@gmail.com>
+[Thomas: completely remove call to genstrings rather than commenting
+it, remove useless and potentially confusing 'echo' before the
+genstrings call.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ ppdc/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/ppdc/Makefile b/ppdc/Makefile
+index 68bf6b2..d57a0c9 100644
+--- a/ppdc/Makefile
++++ b/ppdc/Makefile
+@@ -242,8 +242,6 @@ genstrings:		genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
+ 	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
+ 		libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
+ 		$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+-	echo Generating localization strings...
+-	./genstrings >sample.c
+ 
+ 
+ #
+-- 
+2.6.4
+
diff --git a/package/cups/0002-fix-stack-protector-check.patch b/package/cups/0002-fix-stack-protector-check.patch
deleted file mode 100644
index 1db35ff..0000000
--- a/package/cups/0002-fix-stack-protector-check.patch
+++ /dev/null
@@ -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 <jacmet@sunsite.dk>
----
- 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))
diff --git a/package/cups/0003-Sanitize-the-installation-process.patch b/package/cups/0003-Sanitize-the-installation-process.patch
new file mode 100644
index 0000000..25bfa42
--- /dev/null
+++ b/package/cups/0003-Sanitize-the-installation-process.patch
@@ -0,0 +1,131 @@
+From e35f809c435c224954a5c7bff3f5729c5b3bc0ba Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Thu, 21 Jan 2016 23:21:06 +0100
+Subject: [PATCH] Sanitize the installation process
+
+The installation process does two things that are not convenient when
+cross-compiling:
+
+ - It uses install's -s option to strip binaries, but this option uses
+   the host strip and not the cross strip, which fails at stripping
+   binaries. In addition, we do not necessarily want cups to strip its
+   binaries, we may want to keep the debugging symbols.
+
+ - It enforces ownership (user, group) which isn't possible since
+   "make install" isn't executed as root when cross-compiling.
+
+ - It installs many files and directories with permissions that
+   prevent overwriting those files/directories, which meant calling
+   "make install" twice was failing.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makedefs.in        | 12 ++++++------
+ conf/Makefile      |  6 +++---
+ notifier/Makefile  |  2 +-
+ scheduler/Makefile | 17 ++++++++---------
+ 4 files changed, 18 insertions(+), 19 deletions(-)
+
+diff --git a/Makedefs.in b/Makedefs.in
+index 3afef0a..3e4f1bd 100644
+--- a/Makedefs.in
++++ b/Makedefs.in
+@@ -40,14 +40,14 @@ SHELL		=	/bin/sh
+ # Installation programs...
+ #
+ 
+-INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_COMPDATA =	$(INSTALL) -c -m 444 @INSTALL_GZIP@
++INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 755
++INSTALL_COMPDATA =	$(INSTALL) -c -m 644 @INSTALL_GZIP@
+ INSTALL_CONFIG	=	$(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
+-INSTALL_DATA	=	$(INSTALL) -c -m 444
++INSTALL_DATA	=	$(INSTALL) -c -m 644
+ INSTALL_DIR	=	$(INSTALL) -d
+-INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_MAN	=	$(INSTALL) -c -m 444
+-INSTALL_SCRIPT	=	$(INSTALL) -c -m 555
++INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 755
++INSTALL_MAN	=	$(INSTALL) -c -m 644
++INSTALL_SCRIPT	=	$(INSTALL) -c -m 755
+ 
+ #
+ # Default user, group, and system groups for the scheduler...
+diff --git a/conf/Makefile b/conf/Makefile
+index 933d7d9..6ac5e19 100644
+--- a/conf/Makefile
++++ b/conf/Makefile
+@@ -72,11 +72,11 @@ install:	all install-data install-headers install-libs install-exec
+ install-data:
+ 	for file in $(KEEP); do \
+ 		if test -r $(SERVERROOT)/$$file ; then \
+-			$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.N ; \
++			$(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.N ; \
+ 		else \
+-			$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT) ; \
++			$(INSTALL_CONFIG) $$file $(SERVERROOT) ; \
+ 		fi ; \
+-		$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.default; \
++		$(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.default; \
+ 	done
+ 	$(INSTALL_DIR) -m 755 $(DATADIR)/mime
+ 	for file in $(REPLACE); do \
+diff --git a/notifier/Makefile b/notifier/Makefile
+index 3206dd0..c34a4d7 100644
+--- a/notifier/Makefile
++++ b/notifier/Makefile
+@@ -62,7 +62,7 @@ install:	all install-data install-headers install-libs install-exec
+ #
+ 
+ install-data:
+-	$(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)/rss
++	$(INSTALL_DIR) -m 775 $(CACHEDIR)/rss
+ 
+ 
+ #
+diff --git a/scheduler/Makefile b/scheduler/Makefile
+index c7d244d..a96a528 100644
+--- a/scheduler/Makefile
++++ b/scheduler/Makefile
+@@ -148,30 +148,29 @@ install-data:
+ 	echo Creating $(SERVERBIN)/driver...
+ 	$(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
+ 	echo Creating $(SERVERROOT)...
+-	$(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
++	$(INSTALL_DIR) -m 755 $(SERVERROOT)
+ 	echo Creating $(SERVERROOT)/interfaces...
+-	$(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/interfaces
++	$(INSTALL_DIR) -m 755 $(SERVERROOT)/interfaces
+ 	echo Creating $(SERVERROOT)/ppd...
+-	$(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
++	$(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
+ 	if test "x`uname`" != xDarwin; then \
+ 		echo Creating $(SERVERROOT)/ssl...; \
+-		$(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
++		$(INSTALL_DIR) -m 700 $(SERVERROOT)/ssl; \
+ 	fi
+ 	if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
+ 		echo Creating $(STATEDIR)...; \
+ 		$(INSTALL_DIR) -m 755 $(STATEDIR); \
+ 	fi
+ 	echo Creating $(STATEDIR)/certs...
+-	$(INSTALL_DIR) -m 511 -o $(CUPS_USER) -g $(CUPS_PRIMARY_SYSTEM_GROUP) \
+-		$(STATEDIR)/certs
++	$(INSTALL_DIR) -m 711 $(STATEDIR)/certs
+ 	echo Creating $(LOGDIR)...
+ 	$(INSTALL_DIR) -m 755 $(LOGDIR)
+ 	echo Creating $(REQUESTS)...
+-	$(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
++	$(INSTALL_DIR) -m 710 $(REQUESTS)
+ 	echo Creating $(REQUESTS)/tmp...
+-	$(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
++	$(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
+ 	echo Creating $(CACHEDIR)...
+-	$(INSTALL_DIR) -m 770 -g $(CUPS_GROUP) $(CACHEDIR)
++	$(INSTALL_DIR) -m 770 $(CACHEDIR)
+ 	if test "x$(INITDIR)" != x; then \
+ 		echo Installing init scripts...; \
+ 		$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
+-- 
+2.6.4
+
diff --git a/package/cups/0003-mantohtml.patch b/package/cups/0003-mantohtml.patch
deleted file mode 100644
index e6a10b0..0000000
--- a/package/cups/0003-mantohtml.patch
+++ /dev/null
@@ -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
- 
- 
- #
diff --git a/package/cups/Config.in b/package/cups/Config.in
index 8e60221..3f5460c 100644
--- a/package/cups/Config.in
+++ b/package/cups/Config.in
@@ -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
diff --git a/package/cups/cups.hash b/package/cups/cups.hash
new file mode 100644
index 0000000..f38399f
--- /dev/null
+++ b/package/cups/cups.hash
@@ -0,0 +1,2 @@
+# Locally calculated:
+sha256 bab0ca3ba80eae48319b3a6b19a5b14fad5ce230f30151a0cfa4c0271df281ad  cups-2.1.2-source.tar.bz2
diff --git a/package/cups/cups.mk b/package/cups/cups.mk
index c028ef4..c07dcb4 100644
--- a/package/cups/cups.mk
+++ b/package/cups/cups.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CUPS_VERSION = 1.3.11
+CUPS_VERSION = 2.1.2
 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.bz2
 CUPS_SITE = http://www.cups.org/software/$(CUPS_VERSION)
 CUPS_LICENSE = GPLv2 LGPLv2
@@ -12,20 +12,24 @@ CUPS_LICENSE_FILES = LICENSE.txt
 CUPS_INSTALL_STAGING = YES
 CUPS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) DSTROOT=$(STAGING_DIR) install
 CUPS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) DSTROOT=$(TARGET_DIR) install
+
 CUPS_CONF_OPTS = \
 	--without-perl \
 	--without-java \
 	--without-php \
-	--disable-gnutls \
 	--disable-gssapi \
 	--libdir=/usr/lib
 CUPS_CONFIG_SCRIPTS = cups-config
-
 CUPS_DEPENDENCIES = \
-	$(if $(BR2_PACKAGE_ZLIB),zlib) \
-	$(if $(BR2_PACKAGE_LIBPNG),libpng) \
-	$(if $(BR2_PACKAGE_JPEG),jpeg) \
-	$(if $(BR2_PACKAGE_TIFF),tiff)
+	$(if $(BR2_PACKAGE_ZLIB),zlib)
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+CUPS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system \
+	--enable-systemd
+CUPS_DEPENDENCIES += systemd
+else
+CUPS_CONF_OPTS += --disable-systemd
+endif
 
 ifeq ($(BR2_PACKAGE_DBUS),y)
 CUPS_CONF_OPTS += --enable-dbus
@@ -34,8 +38,11 @@ else
 CUPS_CONF_OPTS += --disable-dbus
 endif
 
-ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
-CUPS_DEPENDENCIES += xlib_libX11
+ifeq ($(BR2_PACKAGE_GNUTLS),y)
+CUPS_CONF_OPTS += --enable-gnutls
+CUPS_DEPENDENCIES += gnutls
+else
+CUPS_CONF_OPTS += --disable-gnutls
 endif
 
 ifeq ($(BR2_PACKAGE_PYTHON),y)
@@ -45,18 +52,25 @@ else
 CUPS_CONF_OPTS += --without-python
 endif
 
-ifeq ($(BR2_PACKAGE_CUPS_PDFTOPS),y)
-CUPS_CONF_OPTS += --enable-pdftops
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
+CUPS_CONF_OPTS += --enable-libusb
+CUPS_DEPENDENCIES += libusb
 else
-CUPS_CONF_OPTS += --disable-pdftops
+CUPS_CONF_OPTS += --disable-libusb
 endif
 
-# standard autoreconf fails with autoheader failures
-define CUPS_FIXUP_AUTOCONF
-	cd $(@D) && $(AUTOCONF)
-endef
-CUPS_DEPENDENCIES += host-autoconf
+ifeq ($(BR2_PACKAGE_LIBPAPER),y)
+CUPS_CONF_OPTS += --enable-libpaper
+CUPS_DEPENDENCIES += libpaper
+else
+CUPS_CONF_OPTS += --disable-libpaper
+endif
 
-CUPS_PRE_CONFIGURE_HOOKS += CUPS_FIXUP_AUTOCONF
+ifeq ($(BR2_PACKAGE_AVAHI),y)
+CUPS_DEPENDENCIES += avahi
+CUPS_CONF_OPTS += --enable-avahi
+else
+CUPS_CONF_OPTS += --disable-avahi
+endif
 
 $(eval $(autotools-package))

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2
  2016-01-21 22:37 [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2 Thomas Petazzoni
@ 2016-01-23 16:24 ` Yann E. MORIN
  2016-01-23 17:06   ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2016-01-23 16:24 UTC (permalink / raw)
  To: buildroot

Olivier, Thomas, All,

On 2016-01-21 23:37 +0100, Thomas Petazzoni spake thusly:
> commit: http://git.buildroot.net/buildroot/commit/?id=d37ce8e1a4edc9a06831e6b0842996866534b1ea
> branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> 
>  - 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.

This is causing circular dependencies in make:

    make[1]: Circular cups-all-source <- avahi-all-source dependency dropped.

I'm investigating (simply enabling cups and avahi is not enough to
trigger the issue, maybe there's a package in-between htat causes the
circular dep...).

Regards,
Yann E. MORIN.

> Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
> [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.]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  Config.in.legacy                                   |   7 ++
>  ...01-Remove-man-from-BUILDDIRS-in-configure.patch |  29 +++++
>  package/cups/0001-fix-static.patch                 |  28 -----
>  package/cups/0002-Do-not-use-genstrings.patch      |  36 ++++++
>  package/cups/0002-fix-stack-protector-check.patch  |  25 ----
>  .../0003-Sanitize-the-installation-process.patch   | 131 +++++++++++++++++++++
>  package/cups/0003-mantohtml.patch                  |  11 --
>  package/cups/Config.in                             |  16 +--
>  package/cups/cups.hash                             |   2 +
>  package/cups/cups.mk                               |  50 +++++---
>  10 files changed, 240 insertions(+), 95 deletions(-)
> 
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 9111c01..793b116 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -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
> diff --git a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
> new file mode 100644
> index 0000000..c0e87a4
> --- /dev/null
> +++ b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch
> @@ -0,0 +1,29 @@
> +From a77bb18a5584bb23687ed3c522dbd91a9987d5a7 Mon Sep 17 00:00:00 2001
> +From: Olivier Schonken <olivier.schonken@gmail.com>
> +Date: Wed, 20 Jan 2016 22:13:11 +0200
> +Subject: [PATCH] Remove man from BUILDDIRS in configure
> +
> +Since cups doesn't autoreconf properly, we directly patch the
> +configure script.
> +
> +Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
> +---
> + 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
> +
> diff --git a/package/cups/0001-fix-static.patch b/package/cups/0001-fix-static.patch
> deleted file mode 100644
> index 4c9d0d4..0000000
> --- a/package/cups/0001-fix-static.patch
> +++ /dev/null
> @@ -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 <Vincent.Riera@imgtec.com>
> ---- 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@
> diff --git a/package/cups/0002-Do-not-use-genstrings.patch b/package/cups/0002-Do-not-use-genstrings.patch
> new file mode 100644
> index 0000000..325483e
> --- /dev/null
> +++ b/package/cups/0002-Do-not-use-genstrings.patch
> @@ -0,0 +1,36 @@
> +From 193c8d8c55a3478ca5c9e161ce581e5794098c6d Mon Sep 17 00:00:00 2001
> +From: Olivier Schonken <olivier.schonken@gmail.com>
> +Date: Thu, 21 Jan 2016 23:04:49 +0100
> +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 <olivier.schonken@gmail.com>
> +[Thomas: completely remove call to genstrings rather than commenting
> +it, remove useless and potentially confusing 'echo' before the
> +genstrings call.]
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> +---
> + ppdc/Makefile | 2 --
> + 1 file changed, 2 deletions(-)
> +
> +diff --git a/ppdc/Makefile b/ppdc/Makefile
> +index 68bf6b2..d57a0c9 100644
> +--- a/ppdc/Makefile
> ++++ b/ppdc/Makefile
> +@@ -242,8 +242,6 @@ genstrings:		genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
> + 	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
> + 		libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
> + 		$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
> +-	echo Generating localization strings...
> +-	./genstrings >sample.c
> + 
> + 
> + #
> +-- 
> +2.6.4
> +
> diff --git a/package/cups/0002-fix-stack-protector-check.patch b/package/cups/0002-fix-stack-protector-check.patch
> deleted file mode 100644
> index 1db35ff..0000000
> --- a/package/cups/0002-fix-stack-protector-check.patch
> +++ /dev/null
> @@ -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 <jacmet@sunsite.dk>
> ----
> - 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))
> diff --git a/package/cups/0003-Sanitize-the-installation-process.patch b/package/cups/0003-Sanitize-the-installation-process.patch
> new file mode 100644
> index 0000000..25bfa42
> --- /dev/null
> +++ b/package/cups/0003-Sanitize-the-installation-process.patch
> @@ -0,0 +1,131 @@
> +From e35f809c435c224954a5c7bff3f5729c5b3bc0ba Mon Sep 17 00:00:00 2001
> +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> +Date: Thu, 21 Jan 2016 23:21:06 +0100
> +Subject: [PATCH] Sanitize the installation process
> +
> +The installation process does two things that are not convenient when
> +cross-compiling:
> +
> + - It uses install's -s option to strip binaries, but this option uses
> +   the host strip and not the cross strip, which fails at stripping
> +   binaries. In addition, we do not necessarily want cups to strip its
> +   binaries, we may want to keep the debugging symbols.
> +
> + - It enforces ownership (user, group) which isn't possible since
> +   "make install" isn't executed as root when cross-compiling.
> +
> + - It installs many files and directories with permissions that
> +   prevent overwriting those files/directories, which meant calling
> +   "make install" twice was failing.
> +
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> +---
> + Makedefs.in        | 12 ++++++------
> + conf/Makefile      |  6 +++---
> + notifier/Makefile  |  2 +-
> + scheduler/Makefile | 17 ++++++++---------
> + 4 files changed, 18 insertions(+), 19 deletions(-)
> +
> +diff --git a/Makedefs.in b/Makedefs.in
> +index 3afef0a..3e4f1bd 100644
> +--- a/Makedefs.in
> ++++ b/Makedefs.in
> +@@ -40,14 +40,14 @@ SHELL		=	/bin/sh
> + # Installation programs...
> + #
> + 
> +-INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
> +-INSTALL_COMPDATA =	$(INSTALL) -c -m 444 @INSTALL_GZIP@
> ++INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 755
> ++INSTALL_COMPDATA =	$(INSTALL) -c -m 644 @INSTALL_GZIP@
> + INSTALL_CONFIG	=	$(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
> +-INSTALL_DATA	=	$(INSTALL) -c -m 444
> ++INSTALL_DATA	=	$(INSTALL) -c -m 644
> + INSTALL_DIR	=	$(INSTALL) -d
> +-INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
> +-INSTALL_MAN	=	$(INSTALL) -c -m 444
> +-INSTALL_SCRIPT	=	$(INSTALL) -c -m 555
> ++INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 755
> ++INSTALL_MAN	=	$(INSTALL) -c -m 644
> ++INSTALL_SCRIPT	=	$(INSTALL) -c -m 755
> + 
> + #
> + # Default user, group, and system groups for the scheduler...
> +diff --git a/conf/Makefile b/conf/Makefile
> +index 933d7d9..6ac5e19 100644
> +--- a/conf/Makefile
> ++++ b/conf/Makefile
> +@@ -72,11 +72,11 @@ install:	all install-data install-headers install-libs install-exec
> + install-data:
> + 	for file in $(KEEP); do \
> + 		if test -r $(SERVERROOT)/$$file ; then \
> +-			$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.N ; \
> ++			$(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.N ; \
> + 		else \
> +-			$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT) ; \
> ++			$(INSTALL_CONFIG) $$file $(SERVERROOT) ; \
> + 		fi ; \
> +-		$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.default; \
> ++		$(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.default; \
> + 	done
> + 	$(INSTALL_DIR) -m 755 $(DATADIR)/mime
> + 	for file in $(REPLACE); do \
> +diff --git a/notifier/Makefile b/notifier/Makefile
> +index 3206dd0..c34a4d7 100644
> +--- a/notifier/Makefile
> ++++ b/notifier/Makefile
> +@@ -62,7 +62,7 @@ install:	all install-data install-headers install-libs install-exec
> + #
> + 
> + install-data:
> +-	$(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)/rss
> ++	$(INSTALL_DIR) -m 775 $(CACHEDIR)/rss
> + 
> + 
> + #
> +diff --git a/scheduler/Makefile b/scheduler/Makefile
> +index c7d244d..a96a528 100644
> +--- a/scheduler/Makefile
> ++++ b/scheduler/Makefile
> +@@ -148,30 +148,29 @@ install-data:
> + 	echo Creating $(SERVERBIN)/driver...
> + 	$(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
> + 	echo Creating $(SERVERROOT)...
> +-	$(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
> ++	$(INSTALL_DIR) -m 755 $(SERVERROOT)
> + 	echo Creating $(SERVERROOT)/interfaces...
> +-	$(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/interfaces
> ++	$(INSTALL_DIR) -m 755 $(SERVERROOT)/interfaces
> + 	echo Creating $(SERVERROOT)/ppd...
> +-	$(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
> ++	$(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
> + 	if test "x`uname`" != xDarwin; then \
> + 		echo Creating $(SERVERROOT)/ssl...; \
> +-		$(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
> ++		$(INSTALL_DIR) -m 700 $(SERVERROOT)/ssl; \
> + 	fi
> + 	if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
> + 		echo Creating $(STATEDIR)...; \
> + 		$(INSTALL_DIR) -m 755 $(STATEDIR); \
> + 	fi
> + 	echo Creating $(STATEDIR)/certs...
> +-	$(INSTALL_DIR) -m 511 -o $(CUPS_USER) -g $(CUPS_PRIMARY_SYSTEM_GROUP) \
> +-		$(STATEDIR)/certs
> ++	$(INSTALL_DIR) -m 711 $(STATEDIR)/certs
> + 	echo Creating $(LOGDIR)...
> + 	$(INSTALL_DIR) -m 755 $(LOGDIR)
> + 	echo Creating $(REQUESTS)...
> +-	$(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
> ++	$(INSTALL_DIR) -m 710 $(REQUESTS)
> + 	echo Creating $(REQUESTS)/tmp...
> +-	$(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
> ++	$(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
> + 	echo Creating $(CACHEDIR)...
> +-	$(INSTALL_DIR) -m 770 -g $(CUPS_GROUP) $(CACHEDIR)
> ++	$(INSTALL_DIR) -m 770 $(CACHEDIR)
> + 	if test "x$(INITDIR)" != x; then \
> + 		echo Installing init scripts...; \
> + 		$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
> +-- 
> +2.6.4
> +
> diff --git a/package/cups/0003-mantohtml.patch b/package/cups/0003-mantohtml.patch
> deleted file mode 100644
> index e6a10b0..0000000
> --- a/package/cups/0003-mantohtml.patch
> +++ /dev/null
> @@ -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
> - 
> - 
> - #
> diff --git a/package/cups/Config.in b/package/cups/Config.in
> index 8e60221..3f5460c 100644
> --- a/package/cups/Config.in
> +++ b/package/cups/Config.in
> @@ -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
> diff --git a/package/cups/cups.hash b/package/cups/cups.hash
> new file mode 100644
> index 0000000..f38399f
> --- /dev/null
> +++ b/package/cups/cups.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated:
> +sha256 bab0ca3ba80eae48319b3a6b19a5b14fad5ce230f30151a0cfa4c0271df281ad  cups-2.1.2-source.tar.bz2
> diff --git a/package/cups/cups.mk b/package/cups/cups.mk
> index c028ef4..c07dcb4 100644
> --- a/package/cups/cups.mk
> +++ b/package/cups/cups.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -CUPS_VERSION = 1.3.11
> +CUPS_VERSION = 2.1.2
>  CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.bz2
>  CUPS_SITE = http://www.cups.org/software/$(CUPS_VERSION)
>  CUPS_LICENSE = GPLv2 LGPLv2
> @@ -12,20 +12,24 @@ CUPS_LICENSE_FILES = LICENSE.txt
>  CUPS_INSTALL_STAGING = YES
>  CUPS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) DSTROOT=$(STAGING_DIR) install
>  CUPS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) DSTROOT=$(TARGET_DIR) install
> +
>  CUPS_CONF_OPTS = \
>  	--without-perl \
>  	--without-java \
>  	--without-php \
> -	--disable-gnutls \
>  	--disable-gssapi \
>  	--libdir=/usr/lib
>  CUPS_CONFIG_SCRIPTS = cups-config
> -
>  CUPS_DEPENDENCIES = \
> -	$(if $(BR2_PACKAGE_ZLIB),zlib) \
> -	$(if $(BR2_PACKAGE_LIBPNG),libpng) \
> -	$(if $(BR2_PACKAGE_JPEG),jpeg) \
> -	$(if $(BR2_PACKAGE_TIFF),tiff)
> +	$(if $(BR2_PACKAGE_ZLIB),zlib)
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +CUPS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system \
> +	--enable-systemd
> +CUPS_DEPENDENCIES += systemd
> +else
> +CUPS_CONF_OPTS += --disable-systemd
> +endif
>  
>  ifeq ($(BR2_PACKAGE_DBUS),y)
>  CUPS_CONF_OPTS += --enable-dbus
> @@ -34,8 +38,11 @@ else
>  CUPS_CONF_OPTS += --disable-dbus
>  endif
>  
> -ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
> -CUPS_DEPENDENCIES += xlib_libX11
> +ifeq ($(BR2_PACKAGE_GNUTLS),y)
> +CUPS_CONF_OPTS += --enable-gnutls
> +CUPS_DEPENDENCIES += gnutls
> +else
> +CUPS_CONF_OPTS += --disable-gnutls
>  endif
>  
>  ifeq ($(BR2_PACKAGE_PYTHON),y)
> @@ -45,18 +52,25 @@ else
>  CUPS_CONF_OPTS += --without-python
>  endif
>  
> -ifeq ($(BR2_PACKAGE_CUPS_PDFTOPS),y)
> -CUPS_CONF_OPTS += --enable-pdftops
> +ifeq ($(BR2_PACKAGE_LIBUSB),y)
> +CUPS_CONF_OPTS += --enable-libusb
> +CUPS_DEPENDENCIES += libusb
>  else
> -CUPS_CONF_OPTS += --disable-pdftops
> +CUPS_CONF_OPTS += --disable-libusb
>  endif
>  
> -# standard autoreconf fails with autoheader failures
> -define CUPS_FIXUP_AUTOCONF
> -	cd $(@D) && $(AUTOCONF)
> -endef
> -CUPS_DEPENDENCIES += host-autoconf
> +ifeq ($(BR2_PACKAGE_LIBPAPER),y)
> +CUPS_CONF_OPTS += --enable-libpaper
> +CUPS_DEPENDENCIES += libpaper
> +else
> +CUPS_CONF_OPTS += --disable-libpaper
> +endif
>  
> -CUPS_PRE_CONFIGURE_HOOKS += CUPS_FIXUP_AUTOCONF
> +ifeq ($(BR2_PACKAGE_AVAHI),y)
> +CUPS_DEPENDENCIES += avahi
> +CUPS_CONF_OPTS += --enable-avahi
> +else
> +CUPS_CONF_OPTS += --disable-avahi
> +endif
>  
>  $(eval $(autotools-package))
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2
  2016-01-23 16:24 ` Yann E. MORIN
@ 2016-01-23 17:06   ` Yann E. MORIN
  2016-01-24  6:23     ` Olivier Schonken
  0 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2016-01-23 17:06 UTC (permalink / raw)
  To: buildroot

Olivier, Thomas, All,

On 2016-01-23 17:24 +0100, Yann E. MORIN spake thusly:
> On 2016-01-21 23:37 +0100, Thomas Petazzoni spake thusly:
> > commit: http://git.buildroot.net/buildroot/commit/?id=d37ce8e1a4edc9a06831e6b0842996866534b1ea
> > branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> > 
> >  - 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.
> 
> This is causing circular dependencies in make:
> 
>     make[1]: Circular cups-all-source <- avahi-all-source dependency dropped.

I managed to get the reason for that. Here's what we have:

    cups depends on avahi depends on libgtk3 depends on cups

So, we must cut the dependency chain somewhere. Ideas?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2
  2016-01-23 17:06   ` Yann E. MORIN
@ 2016-01-24  6:23     ` Olivier Schonken
  2016-01-24 13:57       ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Olivier Schonken @ 2016-01-24  6:23 UTC (permalink / raw)
  To: buildroot

Hi Yann, Thomas, All,

That's a tough one.  I don't see an easy way to break the dependency
without building one of the dependant packages twice.

To me it seems like we would have to decide on which functionality is least
important at this stage.  Disabling Avahi LibGTK support when building Cups
with Avahi and LibGTK, or disabling Cups Avahi support when building Cups
with Avahi and LibGTK, or disabling LibGTK Cups support. (Unfortunately
those are the easy fixes that lose some functionality)

I'm open to suggestions.

Regards
Olivier



On 23 January 2016 at 19:06, Yann E. MORIN <yann.morin.1998@free.fr> wrote:

> Olivier, Thomas, All,
>
> On 2016-01-23 17:24 +0100, Yann E. MORIN spake thusly:
> > On 2016-01-21 23:37 +0100, Thomas Petazzoni spake thusly:
> > > commit:
> http://git.buildroot.net/buildroot/commit/?id=d37ce8e1a4edc9a06831e6b0842996866534b1ea
> > > branch:
> http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> > >
> > >  - 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.
> >
> > This is causing circular dependencies in make:
> >
> >     make[1]: Circular cups-all-source <- avahi-all-source dependency
> dropped.
>
> I managed to get the reason for that. Here's what we have:
>
>     cups depends on avahi depends on libgtk3 depends on cups
>
> So, we must cut the dependency chain somewhere. Ideas?
>
> Regards,
> Yann E. MORIN.
>
> --
>
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
> conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___
>      |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There
> is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v
>  conspiracy.  |
>
> '------------------------------^-------^------------------^--------------------'
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160124/790796af/attachment-0001.html>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2
  2016-01-24  6:23     ` Olivier Schonken
@ 2016-01-24 13:57       ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2016-01-24 13:57 UTC (permalink / raw)
  To: buildroot

Olivier, All,

On 2016-01-24 08:23 +0200, Olivier Schonken spake thusly:
> That's a tough one.  I don't see an easy way to break the dependency
> without building one of the dependant packages twice.
> 
> To me it seems like we would have to decide on which functionality is least
> important at this stage.  Disabling Avahi LibGTK support when building Cups
> with Avahi and LibGTK, or disabling Cups Avahi support when building Cups
> with Avahi and LibGTK, or disabling LibGTK Cups support. (Unfortunately
> those are the easy fixes that lose some functionality)

I've settled on cutting the libgtk{2,3} -> cups dependency, which I'll
send soonish.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-01-24 13:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-21 22:37 [Buildroot] [git commit] package/cups: Un-deprecate, and update CUPS to 2.1.2 Thomas Petazzoni
2016-01-23 16:24 ` Yann E. MORIN
2016-01-23 17:06   ` Yann E. MORIN
2016-01-24  6:23     ` Olivier Schonken
2016-01-24 13:57       ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.