From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] cups: Add new package
Date: Wed, 30 May 2012 09:39:11 +0200 [thread overview]
Message-ID: <20120530073911.GN19394@pengutronix.de> (raw)
In-Reply-To: <1338208981-8681-7-git-send-email-bartvdrmeulen@gmail.com>
On Mon, May 28, 2012 at 02:42:33PM +0200, Bart vdr. Meulen wrote:
> From: Remy Bohmer <linux@bohmer.net>
>
> Add The Common Unix Printing System (cups)
>
> Signed-off-by: Remy Bohmer <linux@bohmer.net>
> ---
> .../cups-fix-stack-protector-check.patch | 25 +++++
> .../cups-genstrings-runs-on-build-system.patch | 19 ++++
> patches/cups-1.4.5/cups-mantohtml.patch | 19 ++++
> patches/cups-1.4.5/cups-no-tests-man.patch | 17 ++++
> patches/cups-1.4.5/series | 4 +
> rules/cups.in | 38 +++++++
> rules/cups.make | 106 ++++++++++++++++++++
> 7 files changed, 228 insertions(+)
> create mode 100644 patches/cups-1.4.5/cups-fix-stack-protector-check.patch
> create mode 100644 patches/cups-1.4.5/cups-genstrings-runs-on-build-system.patch
> create mode 100644 patches/cups-1.4.5/cups-mantohtml.patch
> create mode 100644 patches/cups-1.4.5/cups-no-tests-man.patch
> create mode 100644 patches/cups-1.4.5/series
> create mode 100644 rules/cups.in
> create mode 100644 rules/cups.make
>
> diff --git a/patches/cups-1.4.5/cups-fix-stack-protector-check.patch b/patches/cups-1.4.5/cups-fix-stack-protector-check.patch
> new file mode 100644
> index 0000000..1db35ff
> --- /dev/null
> +++ b/patches/cups-1.4.5/cups-fix-stack-protector-check.patch
> @@ -0,0 +1,25 @@
> +[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/patches/cups-1.4.5/cups-genstrings-runs-on-build-system.patch b/patches/cups-1.4.5/cups-genstrings-runs-on-build-system.patch
> new file mode 100644
> index 0000000..234447e
> --- /dev/null
> +++ b/patches/cups-1.4.5/cups-genstrings-runs-on-build-system.patch
> @@ -0,0 +1,19 @@
Patch headers for all patches please.
> +---
> + ppdc/Makefile | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +Index: cups-1.4.5/ppdc/Makefile
> +===================================================================
> +--- cups-1.4.5.orig/ppdc/Makefile
> ++++ cups-1.4.5/ppdc/Makefile
> +@@ -243,8 +243,8 @@ genstrings: genstrings.o libcupsppdc.a
> + $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
> + libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
> + $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
> +- echo Generating localization strings...
> +- ./genstrings >sample.c
> ++ #echo Generating localization strings...
> ++ #./genstrings >sample.c
> +
> +
> + #
> diff --git a/patches/cups-1.4.5/cups-mantohtml.patch b/patches/cups-1.4.5/cups-mantohtml.patch
> new file mode 100644
> index 0000000..68d8727
> --- /dev/null
> +++ b/patches/cups-1.4.5/cups-mantohtml.patch
> @@ -0,0 +1,19 @@
> +---
> + man/Makefile | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +Index: cups-1.4.5/man/Makefile
> +===================================================================
> +--- cups-1.4.5.orig/man/Makefile
> ++++ cups-1.4.5/man/Makefile
> +@@ -226,8 +226,8 @@ html: $(MAN1) $(MAN5) $(MAN7) $(MAN8) ma
> + done
> +
> + mantohtml: mantohtml.o
> +- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ mantohtml.o
> +-
> ++ #$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ mantohtml.o
> ++ gcc -I/usr/include -I../ -L/usr/lib mantohtml.c -o mantohtml
> +
> + #
> + # End of "$Id: Makefile 9181 2010-06-22 21:42:44Z mike $".
> diff --git a/patches/cups-1.4.5/cups-no-tests-man.patch b/patches/cups-1.4.5/cups-no-tests-man.patch
> new file mode 100644
> index 0000000..78999c6
> --- /dev/null
> +++ b/patches/cups-1.4.5/cups-no-tests-man.patch
> @@ -0,0 +1,17 @@
> +---
> + Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +Index: cups-1.4.5/Makefile
> +===================================================================
> +--- cups-1.4.5.orig/Makefile
> ++++ cups-1.4.5/Makefile
> +@@ -20,7 +20,7 @@ include Makedefs
> + # Directories to make...
> + #
> +
> +-DIRS = cups filter backend berkeley cgi-bin driver locale man monitor \
> ++DIRS = cups filter backend berkeley cgi-bin driver locale monitor \
This looks wrong. In the last patch you fix man/Makefile and now you
disable it?
> + notifier ppdc scheduler systemv test \
> + $(PHPDIR) \
> + conf data doc examples $(FONTS) templates
> diff --git a/patches/cups-1.4.5/series b/patches/cups-1.4.5/series
> new file mode 100644
> index 0000000..6ed5667
> --- /dev/null
> +++ b/patches/cups-1.4.5/series
> @@ -0,0 +1,4 @@
> +#cups-fix-stack-protector-check.patch
> +cups-mantohtml.patch
> +cups-no-tests-man.patch
> +cups-genstrings-runs-on-build-system.patch
> diff --git a/rules/cups.in b/rules/cups.in
> new file mode 100644
> index 0000000..15ab2db
> --- /dev/null
> +++ b/rules/cups.in
> @@ -0,0 +1,38 @@
> +## SECTION=networking
> +
> +config CUPS
> + tristate
> + prompt "cups"
> + select ZLIB
The dependencies must be listed here. Use 'if RUNTIME' if they are only
runtime dependencies. And don't forget the c++ libs.
> + help
> + The Common Unix Printing System
> +
> + http://www.cups.org
> +
> +if CUPS
> +
> +config CUPS_DBUS
> + bool "dbus support"
> + select DBUS
> + help
> + Enable dbus support
> +
> +config CUPS_PHP5
> + bool "php 5 support"
> + select PHP5
> + help
> + Enable php5 support
> +
> +config CUPS_PYTHON
> + bool "Python support"
> + select PYTHON
> + help
> + Enable Pyhton support
> +
> +config CUPS_PDFTOPS
> + bool "pdftops support"
> + help
> + Enable pdftops support
> + (C++ compiler and runtime libs required)
> +
> +endif
> diff --git a/rules/cups.make b/rules/cups.make
> new file mode 100644
> index 0000000..4d969d7
> --- /dev/null
> +++ b/rules/cups.make
> @@ -0,0 +1,106 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2010 by Remy Bohmer <linux@bohmer.net>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_CUPS) += cups
> +
> +#
> +# Paths and names
> +#
> +CUPS_VERSION := 1.4.5
> +CUPS_MD5 := 50729f6fc46ba54223e0eaf5009f3419
> +CUPS := cups-$(CUPS_VERSION)
> +CUPS_SUFFIX := tar.bz2
> +CUPS_URL := http://ftp.easysw.com/pub/cups/$(CUPS_VERSION)/$(CUPS)-source.$(CUPS_SUFFIX)
> +CUPS_SOURCE := $(SRCDIR)/$(CUPS)-source.$(CUPS_SUFFIX)
> +CUPS_DIR := $(BUILDDIR)/$(CUPS)
> +CUPS_LICENSE := GPLv2+
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +CUPS_CONF_ENV := \
> + $(CROSS_ENV) \
> + DSOFLAGS="$(CROSS_LDFLAGS)"
> +
> +#
> +# autoconf
> +#
> +CUPS_CONF_TOOL := autoconf
> +CUPS_CONF_OPT := \
> + $(CROSS_AUTOCONF_USR) \
> + --disable-perl \
> + --disable-java \
> + --disable-gssapi
> +
> +ifdef PTXCONF_CUPS_DBUS
> +CUPS_CONF_OPT += --enable-dbus
> +else
> +CUPS_CONF_OPT += --disable-dbus
> +endif
> +
> +ifdef PTXCONF_CUPS_PHP5
> +CUPS_CONF_OPT += --with-php
> +else
> +CUPS_CONF_OPT += --disable-php
> +endif
> +
> +ifdef PTXCONF_CUPS_PYTHON
> +CUPS_CONF_OPT += --with-python
> +else
> +CUPS_CONF_OPT += --disable-python
> +endif
> +
> +ifdef PTXCONF_CUPS_PDFTOPS
> +CUPS_CONF_OPT += --enable-pdftops
> +else
> +CUPS_CONF_OPT += --disable-pdftops
> +endif
> +
> +# ----------------------------------------------------------------------------
> +# Install
> +# ----------------------------------------------------------------------------
> +
> +CUPS_INSTALL_OPT := DESTDIR=$(CUPS_PKGDIR) DSTROOT=$(CUPS_PKGDIR) install
DESTDIR should be set in the environment. Is that not enough?
> +
> +# Buildroot does these steps during install, why?
> +# sed "s,^prefix=.*,prefix=\'$(CUPS_PKGDIR)/usr\',g" $(CUPS_PKGDIR)/usr/bin/cups-config
> +# sed "s,^exec_prefix=.*,exec_prefix=\'$(CUPS_PKGDIR)/usr\',g" $(CUPS_PKGDIR)/usr/bin/cups-config
> +# sed "s,^includedir=.*,includedir=\'$(CUPS_PKGDIR)/usr/include\',g" $(CUPS_PKGDIR)/usr/bin/cups-config
> +# sed "s,^libdir=.*,libdir=\'$(CUPS_PKGDIR)/usr/lib\',g" $(CUPS_PKGDIR)/usr/bin/cups-config
We do something similar in install.post. sysroot-cross/bin/cups-config
should exist and any paths should contain the sysroot prefix.
> +#$(STATEDIR)/cups.install:
> +# @$(call targetinfo)
> +# $(call world/install, CUPS)
> +# @$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/cups.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, cups)
> + @$(call install_fixup, cups,PRIORITY,optional)
> + @$(call install_fixup, cups,SECTION,base)
> + @$(call install_fixup, cups,AUTHOR,"Remy Bohmer <linux@bohmer.net>")
> + @$(call install_fixup, cups,DESCRIPTION,missing)
> +
> +# @$(call install_copy, cups, 0, 0, 0755, $(CUPS_DIR)/foobar, /dev/null)
> +# @$(call install_lib, cups, 0, 0, 0644, libcups)
Hu? Why is nothing installed here?
Michael
> +
> + @$(call install_finish, cups)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 1.7.9.5
>
>
> --
> ptxdist mailing list
> ptxdist@pengutronix.de
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2012-05-30 7:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-28 12:42 Bart vdr. Meulen
2012-05-30 7:39 ` Michael Olbrich [this message]
2012-05-30 8:09 ` Juergen Beisert
2013-07-20 20:45 Pawel Suchanecki
2013-07-22 8:36 ` Jürgen Beisert
2013-07-22 12:36 ` Pawel Suchanecki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120530073911.GN19394@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox