mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
libcroco: drop recipe
libcroco has been deprecated and was archived by the gnome-project https://gitlab.gnome.org/Archive/libcroco (From OE-Core rev: d53c1aca794ce256b057d63a9a8eaae5bf71fae5) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
57e3f6ff28
commit
3681db6bb3
@@ -320,7 +320,6 @@ RECIPE_MAINTAINER:pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
|||||||
RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
|
RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
|
||||||
RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>"
|
RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>"
|
||||||
RECIPE_MAINTAINER:pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
|
|
||||||
RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||||
RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||||
|
|||||||
@@ -15,14 +15,9 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|||||||
|
|
||||||
---
|
---
|
||||||
gettext-tools/gnulib-m4/libxml.m4 | 105 +----------------
|
gettext-tools/gnulib-m4/libxml.m4 | 105 +----------------
|
||||||
.../gnulib-local/lib/term-styled-ostream.oo.c | 12 +-
|
|
||||||
libtextstyle/gnulib-local/m4/libcroco.m4 | 98 +++-------------
|
|
||||||
libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++---------------
|
libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++---------------
|
||||||
libtextstyle/gnulib-m4/libcroco.m4 | 98 +++-------------
|
|
||||||
libtextstyle/gnulib-m4/libglib.m4 | 106 +++---------------
|
libtextstyle/gnulib-m4/libglib.m4 | 106 +++---------------
|
||||||
libtextstyle/lib/term-styled-ostream.c | 12 +-
|
3 files changed, 79 insertions(+), 470 deletions(-)
|
||||||
libtextstyle/lib/term-styled-ostream.oo.c | 12 +-
|
|
||||||
8 files changed, 79 insertions(+), 470 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
|
diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
|
||||||
index 0340490..0355388 100644
|
index 0340490..0355388 100644
|
||||||
@@ -147,149 +142,6 @@ index 0340490..0355388 100644
|
|||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
AC_SUBST([LIBXML])
|
AC_SUBST([LIBXML])
|
||||||
diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
|
|
||||||
index 2ff978f..5ffb17a 100644
|
|
||||||
--- a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
|
|
||||||
+++ b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
|
|
||||||
@@ -22,15 +22,15 @@
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
-#include <cr-om-parser.h>
|
|
||||||
-#include <cr-sel-eng.h>
|
|
||||||
-#include <cr-style.h>
|
|
||||||
-#include <cr-rgb.h>
|
|
||||||
+#include <libcroco/cr-om-parser.h>
|
|
||||||
+#include <libcroco/cr-sel-eng.h>
|
|
||||||
+#include <libcroco/cr-style.h>
|
|
||||||
+#include <libcroco/cr-rgb.h>
|
|
||||||
/* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
|
|
||||||
#ifndef __CR_FONTS_H__
|
|
||||||
-# include <cr-fonts.h>
|
|
||||||
+# include <libcroco/cr-fonts.h>
|
|
||||||
#endif
|
|
||||||
-#include <cr-string.h>
|
|
||||||
+#include <libcroco/cr-string.h>
|
|
||||||
|
|
||||||
#include "term-ostream.h"
|
|
||||||
#include "mem-hash-map.h"
|
|
||||||
diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4
|
|
||||||
index 39e72b1..042915a 100644
|
|
||||||
--- a/libtextstyle/gnulib-local/m4/libcroco.m4
|
|
||||||
+++ b/libtextstyle/gnulib-local/m4/libcroco.m4
|
|
||||||
@@ -6,97 +6,29 @@ dnl with or without modifications, as long as this notice is preserved.
|
|
||||||
|
|
||||||
dnl From Bruno Haible.
|
|
||||||
|
|
||||||
-dnl gl_LIBCROCO
|
|
||||||
-dnl gives the user the option to decide whether to use the included or
|
|
||||||
-dnl an external libcroco.
|
|
||||||
-dnl gl_LIBCROCO(FORCE-INCLUDED)
|
|
||||||
-dnl forces the use of the included or an external libcroco.
|
|
||||||
AC_DEFUN([gl_LIBCROCO],
|
|
||||||
[
|
|
||||||
- ifelse([$1], [yes], , [
|
|
||||||
- dnl libcroco depends on libglib.
|
|
||||||
- AC_REQUIRE([gl_LIBGLIB])
|
|
||||||
- ])
|
|
||||||
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
|
||||||
+ dnl libcroco depends on libglib.
|
|
||||||
+ AC_REQUIRE([gl_LIBGLIB])
|
|
||||||
|
|
||||||
- ifelse([$1], , [
|
|
||||||
- AC_MSG_CHECKING([whether included libcroco is requested])
|
|
||||||
- AC_ARG_WITH([included-libcroco],
|
|
||||||
- [ --with-included-libcroco use the libcroco included here],
|
|
||||||
- [gl_cv_libcroco_force_included=$withval],
|
|
||||||
- [gl_cv_libcroco_force_included=no])
|
|
||||||
- AC_MSG_RESULT([$gl_cv_libcroco_force_included])
|
|
||||||
- ], [gl_cv_libcroco_force_included=$1])
|
|
||||||
+ AC_MSG_CHECKING([whether included libcroco is requested])
|
|
||||||
+ AC_ARG_WITH([included-libcroco],
|
|
||||||
+ [ --with-included-libcroco use the libcroco included here],
|
|
||||||
+ [gl_cv_libcroco_force_included=$withval],
|
|
||||||
+ [gl_cv_libcroco_force_included=no])
|
|
||||||
+ AC_MSG_RESULT([$gl_cv_libcroco_force_included])
|
|
||||||
|
|
||||||
gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
|
|
||||||
LIBCROCO=
|
|
||||||
LTLIBCROCO=
|
|
||||||
INCCROCO=
|
|
||||||
- ifelse([$1], [yes], , [
|
|
||||||
- if test "$gl_cv_libcroco_use_included" != yes; then
|
|
||||||
- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
|
|
||||||
- dnl use the included one.
|
|
||||||
- AC_CACHE_VAL([gl_cv_libcroco], [
|
|
||||||
- gl_cv_libcroco=no
|
|
||||||
- gl_cv_LIBCROCO=
|
|
||||||
- gl_cv_LTLIBCROCO=
|
|
||||||
- gl_cv_INCCROCO=
|
|
||||||
- gl_save_LIBS="$LIBS"
|
|
||||||
- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
|
|
||||||
- dnl INCCROCO_0_6 accordingly.
|
|
||||||
- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
|
|
||||||
- dnl cross-compiling or when the C compiler in use is different from the
|
|
||||||
- dnl one that built the library.
|
|
||||||
- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
|
|
||||||
- LIBS="$gl_save_LIBS $LIBCROCO_0_6"
|
|
||||||
- AC_LINK_IFELSE(
|
|
||||||
- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
|
|
||||||
- [[const char *version = LIBCROCO_VERSION; return !version;]])],
|
|
||||||
- [gl_cv_libcroco=yes
|
|
||||||
- gl_cv_LIBCROCO="$LIBCROCO_0_6"
|
|
||||||
- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
|
|
||||||
- ])
|
|
||||||
- if test "$gl_cv_libcroco" != yes; then
|
|
||||||
- gl_save_CPPFLAGS="$CPPFLAGS"
|
|
||||||
- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
|
|
||||||
- AC_LINK_IFELSE(
|
|
||||||
- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
|
|
||||||
- [[const char *version = LIBCROCO_VERSION; return !version;]])],
|
|
||||||
- [gl_cv_libcroco=yes
|
|
||||||
- gl_cv_LIBCROCO="$LIBCROCO_0_6"
|
|
||||||
- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
|
|
||||||
- gl_cv_INCCROCO="$INCCROCO_0_6"
|
|
||||||
- ])
|
|
||||||
- if test "$gl_cv_libcroco" != yes; then
|
|
||||||
- dnl Often the include files are installed in
|
|
||||||
- dnl /usr/include/libcroco-0.6/libcroco.
|
|
||||||
- AC_LINK_IFELSE(
|
|
||||||
- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
|
|
||||||
- [[const char *version = LIBCROCO_VERSION; return !version;]])],
|
|
||||||
- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
|
|
||||||
- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
|
|
||||||
- if test -d "$libcroco_include_dir"; then
|
|
||||||
- gl_cv_libcroco=yes
|
|
||||||
- gl_cv_LIBCROCO="$LIBCROCO_0_6"
|
|
||||||
- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
|
|
||||||
- gl_cv_INCCROCO="-I$libcroco_include_dir"
|
|
||||||
- fi
|
|
||||||
- ])
|
|
||||||
- fi
|
|
||||||
- CPPFLAGS="$gl_save_CPPFLAGS"
|
|
||||||
- fi
|
|
||||||
- LIBS="$gl_save_LIBS"
|
|
||||||
- ])
|
|
||||||
- AC_MSG_CHECKING([for libcroco])
|
|
||||||
- AC_MSG_RESULT([$gl_cv_libcroco])
|
|
||||||
- if test $gl_cv_libcroco = yes; then
|
|
||||||
- LIBCROCO="$gl_cv_LIBCROCO"
|
|
||||||
- LTLIBCROCO="$gl_cv_LTLIBCROCO"
|
|
||||||
- INCCROCO="$gl_cv_INCCROCO"
|
|
||||||
- else
|
|
||||||
- gl_cv_libcroco_use_included=yes
|
|
||||||
- fi
|
|
||||||
- fi
|
|
||||||
- ])
|
|
||||||
+ if test "$gl_cv_libcroco_use_included" != yes; then
|
|
||||||
+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
|
|
||||||
+ LIBCROCO=$CROCO_LIBS
|
|
||||||
+ LTLIBCROCO=$CROCO_LIBS
|
|
||||||
+ INCCROCO=$CROCO_CFLAGS
|
|
||||||
+ fi
|
|
||||||
AC_SUBST([LIBCROCO])
|
|
||||||
AC_SUBST([LTLIBCROCO])
|
|
||||||
AC_SUBST([INCCROCO])
|
|
||||||
diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
|
diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
|
||||||
index 7ee5029..bb1e5e4 100644
|
index 7ee5029..bb1e5e4 100644
|
||||||
--- a/libtextstyle/gnulib-local/m4/libglib.m4
|
--- a/libtextstyle/gnulib-local/m4/libglib.m4
|
||||||
@@ -414,123 +266,6 @@ index 7ee5029..bb1e5e4 100644
|
|||||||
AC_SUBST([LIBGLIB])
|
AC_SUBST([LIBGLIB])
|
||||||
AC_SUBST([LTLIBGLIB])
|
AC_SUBST([LTLIBGLIB])
|
||||||
AC_SUBST([INCGLIB])
|
AC_SUBST([INCGLIB])
|
||||||
diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4
|
|
||||||
index 39e72b1..042915a 100644
|
|
||||||
--- a/libtextstyle/gnulib-m4/libcroco.m4
|
|
||||||
+++ b/libtextstyle/gnulib-m4/libcroco.m4
|
|
||||||
@@ -6,97 +6,29 @@ dnl with or without modifications, as long as this notice is preserved.
|
|
||||||
|
|
||||||
dnl From Bruno Haible.
|
|
||||||
|
|
||||||
-dnl gl_LIBCROCO
|
|
||||||
-dnl gives the user the option to decide whether to use the included or
|
|
||||||
-dnl an external libcroco.
|
|
||||||
-dnl gl_LIBCROCO(FORCE-INCLUDED)
|
|
||||||
-dnl forces the use of the included or an external libcroco.
|
|
||||||
AC_DEFUN([gl_LIBCROCO],
|
|
||||||
[
|
|
||||||
- ifelse([$1], [yes], , [
|
|
||||||
- dnl libcroco depends on libglib.
|
|
||||||
- AC_REQUIRE([gl_LIBGLIB])
|
|
||||||
- ])
|
|
||||||
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
|
||||||
+ dnl libcroco depends on libglib.
|
|
||||||
+ AC_REQUIRE([gl_LIBGLIB])
|
|
||||||
|
|
||||||
- ifelse([$1], , [
|
|
||||||
- AC_MSG_CHECKING([whether included libcroco is requested])
|
|
||||||
- AC_ARG_WITH([included-libcroco],
|
|
||||||
- [ --with-included-libcroco use the libcroco included here],
|
|
||||||
- [gl_cv_libcroco_force_included=$withval],
|
|
||||||
- [gl_cv_libcroco_force_included=no])
|
|
||||||
- AC_MSG_RESULT([$gl_cv_libcroco_force_included])
|
|
||||||
- ], [gl_cv_libcroco_force_included=$1])
|
|
||||||
+ AC_MSG_CHECKING([whether included libcroco is requested])
|
|
||||||
+ AC_ARG_WITH([included-libcroco],
|
|
||||||
+ [ --with-included-libcroco use the libcroco included here],
|
|
||||||
+ [gl_cv_libcroco_force_included=$withval],
|
|
||||||
+ [gl_cv_libcroco_force_included=no])
|
|
||||||
+ AC_MSG_RESULT([$gl_cv_libcroco_force_included])
|
|
||||||
|
|
||||||
gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
|
|
||||||
LIBCROCO=
|
|
||||||
LTLIBCROCO=
|
|
||||||
INCCROCO=
|
|
||||||
- ifelse([$1], [yes], , [
|
|
||||||
- if test "$gl_cv_libcroco_use_included" != yes; then
|
|
||||||
- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
|
|
||||||
- dnl use the included one.
|
|
||||||
- AC_CACHE_VAL([gl_cv_libcroco], [
|
|
||||||
- gl_cv_libcroco=no
|
|
||||||
- gl_cv_LIBCROCO=
|
|
||||||
- gl_cv_LTLIBCROCO=
|
|
||||||
- gl_cv_INCCROCO=
|
|
||||||
- gl_save_LIBS="$LIBS"
|
|
||||||
- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
|
|
||||||
- dnl INCCROCO_0_6 accordingly.
|
|
||||||
- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
|
|
||||||
- dnl cross-compiling or when the C compiler in use is different from the
|
|
||||||
- dnl one that built the library.
|
|
||||||
- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
|
|
||||||
- LIBS="$gl_save_LIBS $LIBCROCO_0_6"
|
|
||||||
- AC_LINK_IFELSE(
|
|
||||||
- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
|
|
||||||
- [[const char *version = LIBCROCO_VERSION; return !version;]])],
|
|
||||||
- [gl_cv_libcroco=yes
|
|
||||||
- gl_cv_LIBCROCO="$LIBCROCO_0_6"
|
|
||||||
- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
|
|
||||||
- ])
|
|
||||||
- if test "$gl_cv_libcroco" != yes; then
|
|
||||||
- gl_save_CPPFLAGS="$CPPFLAGS"
|
|
||||||
- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
|
|
||||||
- AC_LINK_IFELSE(
|
|
||||||
- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
|
|
||||||
- [[const char *version = LIBCROCO_VERSION; return !version;]])],
|
|
||||||
- [gl_cv_libcroco=yes
|
|
||||||
- gl_cv_LIBCROCO="$LIBCROCO_0_6"
|
|
||||||
- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
|
|
||||||
- gl_cv_INCCROCO="$INCCROCO_0_6"
|
|
||||||
- ])
|
|
||||||
- if test "$gl_cv_libcroco" != yes; then
|
|
||||||
- dnl Often the include files are installed in
|
|
||||||
- dnl /usr/include/libcroco-0.6/libcroco.
|
|
||||||
- AC_LINK_IFELSE(
|
|
||||||
- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
|
|
||||||
- [[const char *version = LIBCROCO_VERSION; return !version;]])],
|
|
||||||
- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
|
|
||||||
- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
|
|
||||||
- if test -d "$libcroco_include_dir"; then
|
|
||||||
- gl_cv_libcroco=yes
|
|
||||||
- gl_cv_LIBCROCO="$LIBCROCO_0_6"
|
|
||||||
- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
|
|
||||||
- gl_cv_INCCROCO="-I$libcroco_include_dir"
|
|
||||||
- fi
|
|
||||||
- ])
|
|
||||||
- fi
|
|
||||||
- CPPFLAGS="$gl_save_CPPFLAGS"
|
|
||||||
- fi
|
|
||||||
- LIBS="$gl_save_LIBS"
|
|
||||||
- ])
|
|
||||||
- AC_MSG_CHECKING([for libcroco])
|
|
||||||
- AC_MSG_RESULT([$gl_cv_libcroco])
|
|
||||||
- if test $gl_cv_libcroco = yes; then
|
|
||||||
- LIBCROCO="$gl_cv_LIBCROCO"
|
|
||||||
- LTLIBCROCO="$gl_cv_LTLIBCROCO"
|
|
||||||
- INCCROCO="$gl_cv_INCCROCO"
|
|
||||||
- else
|
|
||||||
- gl_cv_libcroco_use_included=yes
|
|
||||||
- fi
|
|
||||||
- fi
|
|
||||||
- ])
|
|
||||||
+ if test "$gl_cv_libcroco_use_included" != yes; then
|
|
||||||
+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
|
|
||||||
+ LIBCROCO=$CROCO_LIBS
|
|
||||||
+ LTLIBCROCO=$CROCO_LIBS
|
|
||||||
+ INCCROCO=$CROCO_CFLAGS
|
|
||||||
+ fi
|
|
||||||
AC_SUBST([LIBCROCO])
|
|
||||||
AC_SUBST([LTLIBCROCO])
|
|
||||||
AC_SUBST([INCCROCO])
|
|
||||||
diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
|
diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
|
||||||
index 7ee5029..bb1e5e4 100644
|
index 7ee5029..bb1e5e4 100644
|
||||||
--- a/libtextstyle/gnulib-m4/libglib.m4
|
--- a/libtextstyle/gnulib-m4/libglib.m4
|
||||||
@@ -655,55 +390,3 @@ index 7ee5029..bb1e5e4 100644
|
|||||||
AC_SUBST([LIBGLIB])
|
AC_SUBST([LIBGLIB])
|
||||||
AC_SUBST([LTLIBGLIB])
|
AC_SUBST([LTLIBGLIB])
|
||||||
AC_SUBST([INCGLIB])
|
AC_SUBST([INCGLIB])
|
||||||
diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c
|
|
||||||
index 5484800..16793fa 100644
|
|
||||||
--- a/libtextstyle/lib/term-styled-ostream.c
|
|
||||||
+++ b/libtextstyle/lib/term-styled-ostream.c
|
|
||||||
@@ -28,15 +28,15 @@
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
-#include <cr-om-parser.h>
|
|
||||||
-#include <cr-sel-eng.h>
|
|
||||||
-#include <cr-style.h>
|
|
||||||
-#include <cr-rgb.h>
|
|
||||||
+#include <libcroco/cr-om-parser.h>
|
|
||||||
+#include <libcroco/cr-sel-eng.h>
|
|
||||||
+#include <libcroco/cr-style.h>
|
|
||||||
+#include <libcroco/cr-rgb.h>
|
|
||||||
/* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
|
|
||||||
#ifndef __CR_FONTS_H__
|
|
||||||
-# include <cr-fonts.h>
|
|
||||||
+# include <libcroco/cr-fonts.h>
|
|
||||||
#endif
|
|
||||||
-#include <cr-string.h>
|
|
||||||
+#include <libcroco/cr-string.h>
|
|
||||||
|
|
||||||
#include "term-ostream.h"
|
|
||||||
#include "mem-hash-map.h"
|
|
||||||
diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c
|
|
||||||
index 2ff978f..5ffb17a 100644
|
|
||||||
--- a/libtextstyle/lib/term-styled-ostream.oo.c
|
|
||||||
+++ b/libtextstyle/lib/term-styled-ostream.oo.c
|
|
||||||
@@ -22,15 +22,15 @@
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
-#include <cr-om-parser.h>
|
|
||||||
-#include <cr-sel-eng.h>
|
|
||||||
-#include <cr-style.h>
|
|
||||||
-#include <cr-rgb.h>
|
|
||||||
+#include <libcroco/cr-om-parser.h>
|
|
||||||
+#include <libcroco/cr-sel-eng.h>
|
|
||||||
+#include <libcroco/cr-style.h>
|
|
||||||
+#include <libcroco/cr-rgb.h>
|
|
||||||
/* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
|
|
||||||
#ifndef __CR_FONTS_H__
|
|
||||||
-# include <cr-fonts.h>
|
|
||||||
+# include <libcroco/cr-fonts.h>
|
|
||||||
#endif
|
|
||||||
-#include <cr-string.h>
|
|
||||||
+#include <libcroco/cr-string.h>
|
|
||||||
|
|
||||||
#include "term-ostream.h"
|
|
||||||
#include "mem-hash-map.h"
|
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
|
|||||||
# without libxml in PACKAGECONFIG vendor copy of the lib will be used
|
# without libxml in PACKAGECONFIG vendor copy of the lib will be used
|
||||||
LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}"
|
LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}"
|
||||||
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', 'file://libtextstyle/lib/libxml/COPYING;md5=2044417e2e5006b65a8b9067b683fcf1', d)}"
|
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', 'file://libtextstyle/lib/libxml/COPYING;md5=2044417e2e5006b65a8b9067b683fcf1', d)}"
|
||||||
# without croco in PACKAGECONFIG vendor copy of the lib will be used
|
|
||||||
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'croco', '', 'file://libtextstyle/lib/libcroco/libcroco.h;md5=424013a9ed5401aa58cf83f3188c6865;beginline=10;endline=28', d)}"
|
|
||||||
# without glib in PACKAGECONFIG vendor copy of the lib will be used
|
# without glib in PACKAGECONFIG vendor copy of the lib will be used
|
||||||
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}"
|
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}"
|
||||||
|
|
||||||
@@ -44,6 +42,7 @@ EXTRA_OECONF += "--without-lispdir \
|
|||||||
--without-emacs \
|
--without-emacs \
|
||||||
--without-cvs \
|
--without-cvs \
|
||||||
--without-git \
|
--without-git \
|
||||||
|
--without-included-libcroco \
|
||||||
--cache-file=${B}/config.cache \
|
--cache-file=${B}/config.cache \
|
||||||
"
|
"
|
||||||
EXTRA_OECONF:append:class-target = " \
|
EXTRA_OECONF:append:class-target = " \
|
||||||
@@ -54,11 +53,10 @@ EXTRA_OECONF:append:class-target = " \
|
|||||||
gt_cv_locale_de=de_DE.ISO-8859-1 \
|
gt_cv_locale_de=de_DE.ISO-8859-1 \
|
||||||
"
|
"
|
||||||
|
|
||||||
PACKAGECONFIG ??= "croco glib libxml"
|
PACKAGECONFIG ??= "glib libxml"
|
||||||
PACKAGECONFIG:class-native = ""
|
PACKAGECONFIG:class-native = ""
|
||||||
PACKAGECONFIG:class-nativesdk = ""
|
PACKAGECONFIG:class-nativesdk = ""
|
||||||
|
|
||||||
PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
|
|
||||||
PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
|
PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
|
||||||
PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
|
PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
|
||||||
# Need paths here to avoid host contamination but this can cause RPATH warnings
|
# Need paths here to avoid host contamination but this can cause RPATH warnings
|
||||||
|
|||||||
@@ -1,192 +0,0 @@
|
|||||||
From fdf78a4877afa987ba646a8779b513f258e6d04c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
|
||||||
Date: Fri, 31 Jul 2020 15:21:53 -0500
|
|
||||||
Subject: [PATCH] libcroco: Limit recursion in block and any productions
|
|
||||||
|
|
||||||
(CVE-2020-12825)
|
|
||||||
|
|
||||||
If we don't have any limits, we can recurse forever and overflow the
|
|
||||||
stack.
|
|
||||||
|
|
||||||
Fixes #8
|
|
||||||
This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404
|
|
||||||
|
|
||||||
CVE: CVE-2020-12825
|
|
||||||
Upstream-Status: Backport [https://gitlab.gnome.org/Archive/libcroco/-/commit/6eb257e5c731c691eb137fca94e916ca73941a5a]
|
|
||||||
Comment: No refreshing changes done.
|
|
||||||
Signed-off-by: Saloni Jain <Saloni.Jain@kpit.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
src/cr-parser.c | 44 +++++++++++++++++++++++++++++---------------
|
|
||||||
1 file changed, 29 insertions(+), 15 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/cr-parser.c b/src/cr-parser.c
|
|
||||||
index 18c9a01..f4a62e3 100644
|
|
||||||
--- a/src/cr-parser.c
|
|
||||||
+++ b/src/cr-parser.c
|
|
||||||
@@ -136,6 +136,8 @@ struct _CRParserPriv {
|
|
||||||
|
|
||||||
#define CHARS_TAB_SIZE 12
|
|
||||||
|
|
||||||
+#define RECURSIVE_CALLERS_LIMIT 100
|
|
||||||
+
|
|
||||||
/**
|
|
||||||
* IS_NUM:
|
|
||||||
*@a_char: the char to test.
|
|
||||||
@@ -344,9 +346,11 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this);
|
|
||||||
|
|
||||||
static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this);
|
|
||||||
|
|
||||||
-static enum CRStatus cr_parser_parse_any_core (CRParser * a_this);
|
|
||||||
+static enum CRStatus cr_parser_parse_any_core (CRParser * a_this,
|
|
||||||
+ guint n_calls);
|
|
||||||
|
|
||||||
-static enum CRStatus cr_parser_parse_block_core (CRParser * a_this);
|
|
||||||
+static enum CRStatus cr_parser_parse_block_core (CRParser * a_this,
|
|
||||||
+ guint n_calls);
|
|
||||||
|
|
||||||
static enum CRStatus cr_parser_parse_value_core (CRParser * a_this);
|
|
||||||
|
|
||||||
@@ -784,7 +788,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
|
|
||||||
cr_parser_try_to_skip_spaces_and_comments (a_this);
|
|
||||||
|
|
||||||
do {
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, 0);
|
|
||||||
} while (status == CR_OK);
|
|
||||||
|
|
||||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr,
|
|
||||||
@@ -795,7 +799,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
|
|
||||||
cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
|
|
||||||
token);
|
|
||||||
token = NULL;
|
|
||||||
- status = cr_parser_parse_block_core (a_this);
|
|
||||||
+ status = cr_parser_parse_block_core (a_this, 0);
|
|
||||||
CHECK_PARSING_STATUS (status,
|
|
||||||
FALSE);
|
|
||||||
goto done;
|
|
||||||
@@ -930,11 +934,11 @@ cr_parser_parse_selector_core (CRParser * a_this)
|
|
||||||
|
|
||||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
|
||||||
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, 0);
|
|
||||||
CHECK_PARSING_STATUS (status, FALSE);
|
|
||||||
|
|
||||||
do {
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, 0);
|
|
||||||
|
|
||||||
} while (status == CR_OK);
|
|
||||||
|
|
||||||
@@ -956,10 +960,12 @@ cr_parser_parse_selector_core (CRParser * a_this)
|
|
||||||
*in chapter 4.1 of the css2 spec.
|
|
||||||
*block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*;
|
|
||||||
*@param a_this the current instance of #CRParser.
|
|
||||||
+ *@param n_calls used to limit recursion depth
|
|
||||||
*FIXME: code this function.
|
|
||||||
*/
|
|
||||||
static enum CRStatus
|
|
||||||
-cr_parser_parse_block_core (CRParser * a_this)
|
|
||||||
+cr_parser_parse_block_core (CRParser * a_this,
|
|
||||||
+ guint n_calls)
|
|
||||||
{
|
|
||||||
CRToken *token = NULL;
|
|
||||||
CRInputPos init_pos;
|
|
||||||
@@ -967,6 +973,9 @@ cr_parser_parse_block_core (CRParser * a_this)
|
|
||||||
|
|
||||||
g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR);
|
|
||||||
|
|
||||||
+ if (n_calls > RECURSIVE_CALLERS_LIMIT)
|
|
||||||
+ return CR_ERROR;
|
|
||||||
+
|
|
||||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
|
||||||
|
|
||||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token);
|
|
||||||
@@ -996,13 +1005,13 @@ cr_parser_parse_block_core (CRParser * a_this)
|
|
||||||
} else if (token->type == CBO_TK) {
|
|
||||||
cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
|
|
||||||
token = NULL;
|
|
||||||
- status = cr_parser_parse_block_core (a_this);
|
|
||||||
+ status = cr_parser_parse_block_core (a_this, n_calls + 1);
|
|
||||||
CHECK_PARSING_STATUS (status, FALSE);
|
|
||||||
goto parse_block_content;
|
|
||||||
} else {
|
|
||||||
cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
|
|
||||||
token = NULL;
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
|
||||||
CHECK_PARSING_STATUS (status, FALSE);
|
|
||||||
goto parse_block_content;
|
|
||||||
}
|
|
||||||
@@ -1109,7 +1118,7 @@ cr_parser_parse_value_core (CRParser * a_this)
|
|
||||||
status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
|
|
||||||
token);
|
|
||||||
token = NULL;
|
|
||||||
- status = cr_parser_parse_block_core (a_this);
|
|
||||||
+ status = cr_parser_parse_block_core (a_this, 0);
|
|
||||||
CHECK_PARSING_STATUS (status, FALSE);
|
|
||||||
ref++;
|
|
||||||
goto continue_parsing;
|
|
||||||
@@ -1123,7 +1132,7 @@ cr_parser_parse_value_core (CRParser * a_this)
|
|
||||||
status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
|
|
||||||
token);
|
|
||||||
token = NULL;
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, 0);
|
|
||||||
if (status == CR_OK) {
|
|
||||||
ref++;
|
|
||||||
goto continue_parsing;
|
|
||||||
@@ -1162,10 +1171,12 @@ cr_parser_parse_value_core (CRParser * a_this)
|
|
||||||
* | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*;
|
|
||||||
*
|
|
||||||
*@param a_this the current instance of #CRParser.
|
|
||||||
+ *@param n_calls used to limit recursion depth
|
|
||||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
|
||||||
*/
|
|
||||||
static enum CRStatus
|
|
||||||
-cr_parser_parse_any_core (CRParser * a_this)
|
|
||||||
+cr_parser_parse_any_core (CRParser * a_this,
|
|
||||||
+ guint n_calls)
|
|
||||||
{
|
|
||||||
CRToken *token1 = NULL,
|
|
||||||
*token2 = NULL;
|
|
||||||
@@ -1174,6 +1185,9 @@ cr_parser_parse_any_core (CRParser * a_this)
|
|
||||||
|
|
||||||
g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR);
|
|
||||||
|
|
||||||
+ if (n_calls > RECURSIVE_CALLERS_LIMIT)
|
|
||||||
+ return CR_ERROR;
|
|
||||||
+
|
|
||||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
|
||||||
|
|
||||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1);
|
|
||||||
@@ -1212,7 +1226,7 @@ cr_parser_parse_any_core (CRParser * a_this)
|
|
||||||
*We consider parameter as being an "any*" production.
|
|
||||||
*/
|
|
||||||
do {
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
|
||||||
} while (status == CR_OK);
|
|
||||||
|
|
||||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
|
||||||
@@ -1237,7 +1251,7 @@ cr_parser_parse_any_core (CRParser * a_this)
|
|
||||||
}
|
|
||||||
|
|
||||||
do {
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
|
||||||
} while (status == CR_OK);
|
|
||||||
|
|
||||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
|
||||||
@@ -1265,7 +1279,7 @@ cr_parser_parse_any_core (CRParser * a_this)
|
|
||||||
}
|
|
||||||
|
|
||||||
do {
|
|
||||||
- status = cr_parser_parse_any_core (a_this);
|
|
||||||
+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
|
||||||
} while (status == CR_OK);
|
|
||||||
|
|
||||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
SUMMARY = "Cascading Style Sheet (CSS) parsing and manipulation toolkit"
|
|
||||||
DESCRIPTION = "The Libcroco project is an effort to build a generic \
|
|
||||||
Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be \
|
|
||||||
used by GNOME applications in need of CSS support."
|
|
||||||
HOMEPAGE = "http://www.gnome.org/"
|
|
||||||
BUGTRACKER = "https://bugzilla.gnome.org/"
|
|
||||||
|
|
||||||
LICENSE = "LGPL-2.0-only & LGPL-2.1-only"
|
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
|
|
||||||
file://src/cr-rgb.c;endline=22;md5=31d5f0944d556c8589d04ea6055fcc66 \
|
|
||||||
file://tests/cr-test-utils.c;endline=21;md5=2382c27934cae1d3792fcb17a6142c4e"
|
|
||||||
|
|
||||||
SECTION = "x11/utils"
|
|
||||||
DEPENDS = "glib-2.0 libxml2 zlib"
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
|
||||||
EXTRA_OECONF += "--enable-Bsymbolic=auto"
|
|
||||||
|
|
||||||
BINCONFIG = "${bindir}/croco-0.6-config"
|
|
||||||
|
|
||||||
inherit gnomebase gtk-doc binconfig-disabled
|
|
||||||
|
|
||||||
SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce"
|
|
||||||
SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4"
|
|
||||||
|
|
||||||
SRC_URI +="file://CVE-2020-12825.patch \
|
|
||||||
"
|
|
||||||
Reference in New Issue
Block a user