[poky] [PATCH 4/5] cups: add cups 1.4.6

Koen Kooi koen at dominion.thruhere.net
Sun Jan 30 01:14:42 PST 2011


FWIW, there's also a cleaned-up cups in meta-oe

Op 30 jan 2011, om 08:36 heeft Jingdong Lu het volgende geschreven:

> From: Jingdong Lu <jingdong.lu at windriver.com>
> 
> This package has been added from Open Embedded.
> Changes from the Open Embedded version:
> * Update to version 1.4.6
> * Add SUMMARY, LIC_FILES_CHKSUM, checksum of source
> * Remove skip_tools.patch
> * Remove fakeroot and rename libusb0 to libusb for dependence.
> 
> Signed-off-by: Jingdong Lu <jingdong.lu at windriver.com>
> ---
> .../cups/cups-1.4.6/configure.patch                |  117 ++++++++++++++++++++
> .../cups/cups-1.4.6/use_echo_only_in_init.patch    |   11 ++
> meta/recipes-extended/cups/cups.inc                |   88 +++++++++++++++
> meta/recipes-extended/cups/cups_1.4.6.bb           |   17 +++
> 4 files changed, 233 insertions(+), 0 deletions(-)
> create mode 100644 meta/recipes-extended/cups/cups-1.4.6/configure.patch
> create mode 100644 meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch
> create mode 100644 meta/recipes-extended/cups/cups.inc
> create mode 100644 meta/recipes-extended/cups/cups_1.4.6.bb
> 
> diff --git a/meta/recipes-extended/cups/cups-1.4.6/configure.patch b/meta/recipes-extended/cups/cups-1.4.6/configure.patch
> new file mode 100644
> index 0000000..877e8d3
> --- /dev/null
> +++ b/meta/recipes-extended/cups/cups-1.4.6/configure.patch
> @@ -0,0 +1,117 @@
> +--- cups-1.4.3/configure.orig	2010-04-08 11:14:19.092296014 +0200
> ++++ cups-1.4.3/configure	2010-04-08 11:19:02.661417938 +0200
> +@@ -10940,114 +10940,6 @@
> +     		OPTIM="-fPIC $OPTIM"
> + 	fi
> + 
> +-	# The -fstack-protector option is available with some versions of
> +-	# GCC and adds "stack canaries" which detect when the return address
> +-	# has been overwritten, preventing many types of exploit attacks.
> +-	{ echo "$as_me:$LINENO: checking if GCC supports -fstack-protector" >&5
> +-echo $ECHO_N "checking if GCC supports -fstack-protector... $ECHO_C" >&6; }
> +-	OLDCFLAGS="$CFLAGS"
> +-	CFLAGS="$CFLAGS -fstack-protector"
> +-	cat >conftest.$ac_ext <<_ACEOF
> +-/* confdefs.h.  */
> +-_ACEOF
> +-cat confdefs.h >>conftest.$ac_ext
> +-cat >>conftest.$ac_ext <<_ACEOF
> +-/* end confdefs.h.  */
> +-
> +-int
> +-main ()
> +-{
> +-
> +-  ;
> +-  return 0;
> +-}
> +-_ACEOF
> +-rm -f conftest.$ac_objext conftest$ac_exeext
> +-if { (ac_try="$ac_link"
> +-case "(($ac_try" in
> +-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +-  *) ac_try_echo=$ac_try;;
> +-esac
> +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +-  (eval "$ac_link") 2>conftest.er1
> +-  ac_status=$?
> +-  grep -v '^ *+' conftest.er1 >conftest.err
> +-  rm -f conftest.er1
> +-  cat conftest.err >&5
> +-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +-  (exit $ac_status); } && {
> +-	 test -z "$ac_c_werror_flag" ||
> +-	 test ! -s conftest.err
> +-       } && test -s conftest$ac_exeext &&
> +-       $as_test_x conftest$ac_exeext; then
> +-  OPTIM="$OPTIM -fstack-protector"
> +-		{ echo "$as_me:$LINENO: result: yes" >&5
> +-echo "${ECHO_T}yes" >&6; }
> +-else
> +-  echo "$as_me: failed program was:" >&5
> +-sed 's/^/| /' conftest.$ac_ext >&5
> +-
> +-	{ echo "$as_me:$LINENO: result: no" >&5
> +-echo "${ECHO_T}no" >&6; }
> +-fi
> +-
> +-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
> +-      conftest$ac_exeext conftest.$ac_ext
> +-	CFLAGS="$OLDCFLAGS"
> +-
> +-	# The -pie option is available with some versions of GCC and adds
> +-	# randomization of addresses, which avoids another class of exploits
> +-	# that depend on a fixed address for common functions.
> +-	{ echo "$as_me:$LINENO: checking if GCC supports -pie" >&5
> +-echo $ECHO_N "checking if GCC supports -pie... $ECHO_C" >&6; }
> +-	OLDCFLAGS="$CFLAGS"
> +-	CFLAGS="$CFLAGS -pie -fPIE"
> +-	cat >conftest.$ac_ext <<_ACEOF
> +-/* confdefs.h.  */
> +-_ACEOF
> +-cat confdefs.h >>conftest.$ac_ext
> +-cat >>conftest.$ac_ext <<_ACEOF
> +-/* end confdefs.h.  */
> +-
> +-int
> +-main ()
> +-{
> +-
> +-  ;
> +-  return 0;
> +-}
> +-_ACEOF
> +-rm -f conftest.$ac_objext
> +-if { (ac_try="$ac_compile"
> +-case "(($ac_try" in
> +-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +-  *) ac_try_echo=$ac_try;;
> +-esac
> +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +-  (eval "$ac_compile") 2>conftest.er1
> +-  ac_status=$?
> +-  grep -v '^ *+' conftest.er1 >conftest.err
> +-  rm -f conftest.er1
> +-  cat conftest.err >&5
> +-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +-  (exit $ac_status); } && {
> +-	 test -z "$ac_c_werror_flag" ||
> +-	 test ! -s conftest.err
> +-       } && test -s conftest.$ac_objext; then
> +-  PIEFLAGS="-pie -fPIE"
> +-		{ echo "$as_me:$LINENO: result: yes" >&5
> +-echo "${ECHO_T}yes" >&6; }
> +-else
> +-  echo "$as_me: failed program was:" >&5
> +-sed 's/^/| /' conftest.$ac_ext >&5
> +-
> +-	{ echo "$as_me:$LINENO: result: no" >&5
> +-echo "${ECHO_T}no" >&6; }
> +-fi
> +-
> +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> +-	CFLAGS="$OLDCFLAGS"
> +-
> + 	if test "x$with_optim" = x; then
> + 		# Add useful warning options for tracking down problems...
> + 		OPTIM="-Wall -Wno-format-y2k $OPTIM"
> diff --git a/meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch b/meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch
> new file mode 100644
> index 0000000..21ff0e5
> --- /dev/null
> +++ b/meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch
> @@ -0,0 +1,11 @@
> +--- a/init/cups.sh.in.orig	2008-10-04 16:50:46.000000000 -0300
> ++++ b/init/cups.sh.in	2008-10-04 16:51:39.000000000 -0300
> +@@ -68,7 +68,7 @@
> + 		ECHO_ERROR=:
> + 		;;
> + 
> +-	Linux*)
> ++	DISABLELinux*)
> + 		IS_ON=/bin/true
> + 		if test -f /etc/init.d/functions; then
> + 			. /etc/init.d/functions
> diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
> new file mode 100644
> index 0000000..c4fec42
> --- /dev/null
> +++ b/meta/recipes-extended/cups/cups.inc
> @@ -0,0 +1,88 @@
> +SUMMARY = "An Internet printing system for Unix"
> +DESCRIPTION = "CUPS is a standards-based, open source printing system \
> +developed by Apple Inc. for Mac OS® X and other UNIX®-like operating systems.\
> +CUPS uses the Internet Printing Protocol ("IPP") and provides System V and Berkeley \
> +command-line interfaces, a web interface, and a C API to manage printers and \
> +print jobs."
> +SECTION = "console/utils"
> +LICENSE = "GPL LGPL"
> +DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib"
> +PROVIDES = "cups"
> +
> +SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2"
> +
> +LEAD_SONAME = "libcupsdriver.so"
> +
> +inherit autotools binconfig
> +
> +EXTRA_OECONF = " \
> +                --enable-gnutls \
> +		--enable-dbus \
> +		--enable-browsing \
> +                --disable-openssl \
> +		--disable-tiff \
> +		--without-php \
> +		--without-perl \
> +		--without-python \
> +		--without-java \
> +               "
> +
> +
> +do_configure() {
> +	gnu-configize
> +	libtoolize --force
> +	DSOFLAGS="${LDFLAGS}" oe_runconf
> +}
> +
> +do_compile () {
> +	sed -i s:STRIP:NOSTRIP: Makedefs
> +	sed -i s:serial:: backend/Makefile
> +
> +	echo "all:"    >  man/Makefile
> +	echo "libs:" >> man/Makefile
> +	echo "install:" >> man/Makefile
> +	echo "install-data:" >> man/Makefile
> +	echo "install-exec:" >> man/Makefile
> +	echo "install-headers:" >> man/Makefile
> +	echo "install-libs:" >> man/Makefile
> +
> +	oe_runmake "SSLLIBS=-lgnutls -L${STAGING_LIBDIR}" \
> +		   "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
> +		   "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
> +		   "LIBZ=-lz -L${STAGING_LIBDIR}" \
> +		   "-I."
> +}
> +
> +do_install () {
> +	oe_runmake "DSTROOT=${D}" install
> +
> +	# This directory gets installed with perms 511, which makes packaging fail
> +	chmod 0711 "${D}/${localstatedir}/run/cups/certs"
> +}
> +
> +python do_package_append() {
> +	# Change permissions back the way they were, they probably had a reason...
> +	workdir = bb.data.getVar('WORKDIR', d, 1)
> +	os.system('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir)
> +}
> +
> +PACKAGES =+ "${PN}-lib ${PN}-libimage"
> +
> +FILES_${PN}-lib = "${libdir}/libcups.so.*"
> +
> +FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
> +
> +FILES_${PN}-dbg += "${libdir}/cups/backend/.debug \
> +                    ${libdir}/cups/cgi-bin/.debug \
> +		    ${libdir}/cups/filter/.debug \
> +		    ${libdir}/cups/monitor/.debug \
> +		    ${libdir}/cups/notifier/.debug \
> +		    ${libdir}/cups/daemon/.debug \
> +		    "
> +#package the html for the webgui inside the main packages (~1MB uncompressed)
> +
> +FILES_${PN} += "${datadir}/doc/cups/images \
> +		${datadir}/doc/cups/*html \
> +		${datadir}/doc/cups/*.css \
> +                ${datadir}/icons/ \
> +	       "
> diff --git a/meta/recipes-extended/cups/cups_1.4.6.bb b/meta/recipes-extended/cups/cups_1.4.6.bb
> new file mode 100644
> index 0000000..8c83160
> --- /dev/null
> +++ b/meta/recipes-extended/cups/cups_1.4.6.bb
> @@ -0,0 +1,17 @@
> +require cups.inc
> +
> +SRC_URI += " \
> +	file://use_echo_only_in_init.patch \
> +	file://configure.patch \
> +	"
> +PR = "r0"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=956e7600195e6139f12de8c2a5bbefa9"
> +
> +SRC_URI[md5sum] = "de8fb5a29c36554925c0c6a6e2c0dae1"
> +SRC_URI[sha256sum] = "f08711702a77b52c7150f96fe1f45482f6151cb95ef601268c528607fe6ad514"
> +
> +DEFAULT_PREFERENCE = "-1"
> +DEPENDS += "libusb"
> +EXTRA_OECONF += " --disable-gssapi --disable-largefile --enable-debug --disable-relro --enable-libusb"
> +CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
> -- 
> 1.7.0.4
> 
> _______________________________________________
> poky mailing list
> poky at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky




More information about the poky mailing list