cups: add 1.4.3
authorTarjei Knapstad <tarjei.knapstad@gmail.com>
Thu, 8 Apr 2010 11:04:50 +0000 (13:04 +0200)
committerKoen Kooi <koen@openembedded.org>
Thu, 8 Apr 2010 11:04:50 +0000 (13:04 +0200)
recipes/cups/cups-1.4.3/configure.patch [new file with mode: 0644]
recipes/cups/cups-1.4.3/skip_tools.patch [new file with mode: 0644]
recipes/cups/cups-1.4.3/use_echo_only_in_init.patch [new file with mode: 0644]
recipes/cups/cups14.inc [new file with mode: 0644]
recipes/cups/cups_1.4.3.bb [new file with mode: 0644]

diff --git a/recipes/cups/cups-1.4.3/configure.patch b/recipes/cups/cups-1.4.3/configure.patch
new file mode 100644 (file)
index 0000000..877e8d3
--- /dev/null
@@ -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/recipes/cups/cups-1.4.3/skip_tools.patch b/recipes/cups/cups-1.4.3/skip_tools.patch
new file mode 100644 (file)
index 0000000..2721101
--- /dev/null
@@ -0,0 +1,51 @@
+--- cups-1.4.3/ppdc/Makefile.orig      2010-04-07 12:38:56.650327699 +0200
++++ cups-1.4.3/ppdc/Makefile   2010-04-07 12:40:05.842418876 +0200
+@@ -243,8 +243,8 @@
+       $(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
+ #
+@@ -261,9 +261,9 @@
+       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+-      echo Testing PPD compiler...
+-      ./ppdc-static -l en,fr -I ../data foo.drv
+-      ./ppdc-static -l en,fr -z -I ../data foo.drv
++#     echo Testing PPD compiler...
++#     ./ppdc-static -l en,fr -I ../data foo.drv
++#     ./ppdc-static -l en,fr -z -I ../data foo.drv
+ #
+@@ -291,15 +291,15 @@
+               $(COMMONLIBS) $(LIBZ)
+       echo Testing PPD importer...
+       $(RM) -r ppd ppd2 sample-import.drv
+-      ./ppdc-static -I ../data sample.drv
+-      ./ppdi-static -I ../data -o sample-import.drv ppd/*
+-      ./ppdc-static -I ../data -d ppd2 sample-import.drv
+-      if diff -qr ppd ppd2; then \
+-              echo PPD import OK; \
+-      else \
+-              echo PPD import FAILED; \
+-              exit 1; \
+-      fi
++#     ./ppdc-static -I ../data sample.drv
++#     ./ppdi-static -I ../data -o sample-import.drv ppd/*
++#     ./ppdc-static -I ../data -d ppd2 sample-import.drv
++#     if diff -qr ppd ppd2; then \
++#             echo PPD import OK; \
++#     else \
++#             echo PPD import FAILED; \
++#             exit 1; \
++#     fi
+ #
diff --git a/recipes/cups/cups-1.4.3/use_echo_only_in_init.patch b/recipes/cups/cups-1.4.3/use_echo_only_in_init.patch
new file mode 100644 (file)
index 0000000..21ff0e5
--- /dev/null
@@ -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/recipes/cups/cups14.inc b/recipes/cups/cups14.inc
new file mode 100644 (file)
index 0000000..8eac2b3
--- /dev/null
@@ -0,0 +1,93 @@
+DESCRIPTION = "An Internet printing system for Unix."
+SECTION = "console/utils"
+LICENSE = "GPL LGPL"
+DEPENDS = "gnutls dbus dbus-glib zlib fakeroot-native"
+PROVIDES = "cups14"
+
+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."
+}
+
+fakeroot 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"
+}
+
+do_stage () {
+       install -d ${STAGING_INCDIR}/cups
+       install ${S}/cups/*.h ${STAGING_INCDIR}/cups/
+       install ${S}/filter/*.h ${STAGING_INCDIR}/cups/
+       oe_libinstall -C cups -so libcups ${STAGING_LIBDIR}
+       oe_libinstall -C filter -so libcupsimage ${STAGING_LIBDIR}
+}
+
+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/recipes/cups/cups_1.4.3.bb b/recipes/cups/cups_1.4.3.bb
new file mode 100644 (file)
index 0000000..ade5227
--- /dev/null
@@ -0,0 +1,12 @@
+require cups14.inc
+
+SRC_URI += "file://use_echo_only_in_init.patch;patch=1 \
+                   file://skip_tools.patch;patch=1 \
+                   file://configure.patch;patch=1 \
+                       "
+
+PR = "r2"
+
+DEFAULT_PREFERENCE = "-1"
+
+EXTRA_OECONF += " --disable-gssapi --disable-largefile --enable-debug --disable-relro "