summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2023-10-29 17:48:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-30 17:12:19 +0000
commit3681db6bb311ae291bdf1204aa8f06ec41fb8a1a (patch)
tree87d106e39d81bbbd561ea98648bbe58bdab15988
parent57e3f6ff2846e0f253c5e5c7117fde09a31c6013 (diff)
downloadpoky-3681db6bb311ae291bdf1204aa8f06ec41fb8a1a.tar.gz
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>
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/recipes-core/gettext/gettext/use-pkgconfig.patch319
-rw-r--r--meta/recipes-core/gettext/gettext_0.22.bb6
-rw-r--r--meta/recipes-support/libcroco/files/CVE-2020-12825.patch192
-rw-r--r--meta/recipes-support/libcroco/libcroco_0.6.13.bb26
5 files changed, 3 insertions, 541 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index b2579fc44c..35f8a72fa4 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -320,7 +320,6 @@ RECIPE_MAINTAINER:pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
320RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>" 320RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
321RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>" 321RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
322RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>" 322RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>"
323RECIPE_MAINTAINER:pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
324RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>" 323RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
325RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>" 324RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
326RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>" 325RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
diff --git a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
index c12e0d3b88..f1fb61de4e 100644
--- a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
+++ b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
@@ -15,14 +15,9 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
15 15
16--- 16---
17 gettext-tools/gnulib-m4/libxml.m4 | 105 +---------------- 17 gettext-tools/gnulib-m4/libxml.m4 | 105 +----------------
18 .../gnulib-local/lib/term-styled-ostream.oo.c | 12 +-
19 libtextstyle/gnulib-local/m4/libcroco.m4 | 98 +++-------------
20 libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++--------------- 18 libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++---------------
21 libtextstyle/gnulib-m4/libcroco.m4 | 98 +++-------------
22 libtextstyle/gnulib-m4/libglib.m4 | 106 +++--------------- 19 libtextstyle/gnulib-m4/libglib.m4 | 106 +++---------------
23 libtextstyle/lib/term-styled-ostream.c | 12 +- 20 3 files changed, 79 insertions(+), 470 deletions(-)
24 libtextstyle/lib/term-styled-ostream.oo.c | 12 +-
25 8 files changed, 79 insertions(+), 470 deletions(-)
26 21
27diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4 22diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
28index 0340490..0355388 100644 23index 0340490..0355388 100644
@@ -147,149 +142,6 @@ index 0340490..0355388 100644
147 fi 142 fi
148 ]) 143 ])
149 AC_SUBST([LIBXML]) 144 AC_SUBST([LIBXML])
150diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
151index 2ff978f..5ffb17a 100644
152--- a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
153+++ b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
154@@ -22,15 +22,15 @@
155
156 #include <stdlib.h>
157
158-#include <cr-om-parser.h>
159-#include <cr-sel-eng.h>
160-#include <cr-style.h>
161-#include <cr-rgb.h>
162+#include <libcroco/cr-om-parser.h>
163+#include <libcroco/cr-sel-eng.h>
164+#include <libcroco/cr-style.h>
165+#include <libcroco/cr-rgb.h>
166 /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
167 #ifndef __CR_FONTS_H__
168-# include <cr-fonts.h>
169+# include <libcroco/cr-fonts.h>
170 #endif
171-#include <cr-string.h>
172+#include <libcroco/cr-string.h>
173
174 #include "term-ostream.h"
175 #include "mem-hash-map.h"
176diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4
177index 39e72b1..042915a 100644
178--- a/libtextstyle/gnulib-local/m4/libcroco.m4
179+++ b/libtextstyle/gnulib-local/m4/libcroco.m4
180@@ -6,97 +6,29 @@ dnl with or without modifications, as long as this notice is preserved.
181
182 dnl From Bruno Haible.
183
184-dnl gl_LIBCROCO
185-dnl gives the user the option to decide whether to use the included or
186-dnl an external libcroco.
187-dnl gl_LIBCROCO(FORCE-INCLUDED)
188-dnl forces the use of the included or an external libcroco.
189 AC_DEFUN([gl_LIBCROCO],
190 [
191- ifelse([$1], [yes], , [
192- dnl libcroco depends on libglib.
193- AC_REQUIRE([gl_LIBGLIB])
194- ])
195+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
196+ dnl libcroco depends on libglib.
197+ AC_REQUIRE([gl_LIBGLIB])
198
199- ifelse([$1], , [
200- AC_MSG_CHECKING([whether included libcroco is requested])
201- AC_ARG_WITH([included-libcroco],
202- [ --with-included-libcroco use the libcroco included here],
203- [gl_cv_libcroco_force_included=$withval],
204- [gl_cv_libcroco_force_included=no])
205- AC_MSG_RESULT([$gl_cv_libcroco_force_included])
206- ], [gl_cv_libcroco_force_included=$1])
207+ AC_MSG_CHECKING([whether included libcroco is requested])
208+ AC_ARG_WITH([included-libcroco],
209+ [ --with-included-libcroco use the libcroco included here],
210+ [gl_cv_libcroco_force_included=$withval],
211+ [gl_cv_libcroco_force_included=no])
212+ AC_MSG_RESULT([$gl_cv_libcroco_force_included])
213
214 gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
215 LIBCROCO=
216 LTLIBCROCO=
217 INCCROCO=
218- ifelse([$1], [yes], , [
219- if test "$gl_cv_libcroco_use_included" != yes; then
220- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
221- dnl use the included one.
222- AC_CACHE_VAL([gl_cv_libcroco], [
223- gl_cv_libcroco=no
224- gl_cv_LIBCROCO=
225- gl_cv_LTLIBCROCO=
226- gl_cv_INCCROCO=
227- gl_save_LIBS="$LIBS"
228- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
229- dnl INCCROCO_0_6 accordingly.
230- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
231- dnl cross-compiling or when the C compiler in use is different from the
232- dnl one that built the library.
233- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
234- LIBS="$gl_save_LIBS $LIBCROCO_0_6"
235- AC_LINK_IFELSE(
236- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
237- [[const char *version = LIBCROCO_VERSION; return !version;]])],
238- [gl_cv_libcroco=yes
239- gl_cv_LIBCROCO="$LIBCROCO_0_6"
240- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
241- ])
242- if test "$gl_cv_libcroco" != yes; then
243- gl_save_CPPFLAGS="$CPPFLAGS"
244- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
245- AC_LINK_IFELSE(
246- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
247- [[const char *version = LIBCROCO_VERSION; return !version;]])],
248- [gl_cv_libcroco=yes
249- gl_cv_LIBCROCO="$LIBCROCO_0_6"
250- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
251- gl_cv_INCCROCO="$INCCROCO_0_6"
252- ])
253- if test "$gl_cv_libcroco" != yes; then
254- dnl Often the include files are installed in
255- dnl /usr/include/libcroco-0.6/libcroco.
256- AC_LINK_IFELSE(
257- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
258- [[const char *version = LIBCROCO_VERSION; return !version;]])],
259- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
260- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
261- if test -d "$libcroco_include_dir"; then
262- gl_cv_libcroco=yes
263- gl_cv_LIBCROCO="$LIBCROCO_0_6"
264- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
265- gl_cv_INCCROCO="-I$libcroco_include_dir"
266- fi
267- ])
268- fi
269- CPPFLAGS="$gl_save_CPPFLAGS"
270- fi
271- LIBS="$gl_save_LIBS"
272- ])
273- AC_MSG_CHECKING([for libcroco])
274- AC_MSG_RESULT([$gl_cv_libcroco])
275- if test $gl_cv_libcroco = yes; then
276- LIBCROCO="$gl_cv_LIBCROCO"
277- LTLIBCROCO="$gl_cv_LTLIBCROCO"
278- INCCROCO="$gl_cv_INCCROCO"
279- else
280- gl_cv_libcroco_use_included=yes
281- fi
282- fi
283- ])
284+ if test "$gl_cv_libcroco_use_included" != yes; then
285+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
286+ LIBCROCO=$CROCO_LIBS
287+ LTLIBCROCO=$CROCO_LIBS
288+ INCCROCO=$CROCO_CFLAGS
289+ fi
290 AC_SUBST([LIBCROCO])
291 AC_SUBST([LTLIBCROCO])
292 AC_SUBST([INCCROCO])
293diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4 145diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
294index 7ee5029..bb1e5e4 100644 146index 7ee5029..bb1e5e4 100644
295--- a/libtextstyle/gnulib-local/m4/libglib.m4 147--- a/libtextstyle/gnulib-local/m4/libglib.m4
@@ -414,123 +266,6 @@ index 7ee5029..bb1e5e4 100644
414 AC_SUBST([LIBGLIB]) 266 AC_SUBST([LIBGLIB])
415 AC_SUBST([LTLIBGLIB]) 267 AC_SUBST([LTLIBGLIB])
416 AC_SUBST([INCGLIB]) 268 AC_SUBST([INCGLIB])
417diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4
418index 39e72b1..042915a 100644
419--- a/libtextstyle/gnulib-m4/libcroco.m4
420+++ b/libtextstyle/gnulib-m4/libcroco.m4
421@@ -6,97 +6,29 @@ dnl with or without modifications, as long as this notice is preserved.
422
423 dnl From Bruno Haible.
424
425-dnl gl_LIBCROCO
426-dnl gives the user the option to decide whether to use the included or
427-dnl an external libcroco.
428-dnl gl_LIBCROCO(FORCE-INCLUDED)
429-dnl forces the use of the included or an external libcroco.
430 AC_DEFUN([gl_LIBCROCO],
431 [
432- ifelse([$1], [yes], , [
433- dnl libcroco depends on libglib.
434- AC_REQUIRE([gl_LIBGLIB])
435- ])
436+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
437+ dnl libcroco depends on libglib.
438+ AC_REQUIRE([gl_LIBGLIB])
439
440- ifelse([$1], , [
441- AC_MSG_CHECKING([whether included libcroco is requested])
442- AC_ARG_WITH([included-libcroco],
443- [ --with-included-libcroco use the libcroco included here],
444- [gl_cv_libcroco_force_included=$withval],
445- [gl_cv_libcroco_force_included=no])
446- AC_MSG_RESULT([$gl_cv_libcroco_force_included])
447- ], [gl_cv_libcroco_force_included=$1])
448+ AC_MSG_CHECKING([whether included libcroco is requested])
449+ AC_ARG_WITH([included-libcroco],
450+ [ --with-included-libcroco use the libcroco included here],
451+ [gl_cv_libcroco_force_included=$withval],
452+ [gl_cv_libcroco_force_included=no])
453+ AC_MSG_RESULT([$gl_cv_libcroco_force_included])
454
455 gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
456 LIBCROCO=
457 LTLIBCROCO=
458 INCCROCO=
459- ifelse([$1], [yes], , [
460- if test "$gl_cv_libcroco_use_included" != yes; then
461- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
462- dnl use the included one.
463- AC_CACHE_VAL([gl_cv_libcroco], [
464- gl_cv_libcroco=no
465- gl_cv_LIBCROCO=
466- gl_cv_LTLIBCROCO=
467- gl_cv_INCCROCO=
468- gl_save_LIBS="$LIBS"
469- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
470- dnl INCCROCO_0_6 accordingly.
471- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
472- dnl cross-compiling or when the C compiler in use is different from the
473- dnl one that built the library.
474- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
475- LIBS="$gl_save_LIBS $LIBCROCO_0_6"
476- AC_LINK_IFELSE(
477- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
478- [[const char *version = LIBCROCO_VERSION; return !version;]])],
479- [gl_cv_libcroco=yes
480- gl_cv_LIBCROCO="$LIBCROCO_0_6"
481- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
482- ])
483- if test "$gl_cv_libcroco" != yes; then
484- gl_save_CPPFLAGS="$CPPFLAGS"
485- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
486- AC_LINK_IFELSE(
487- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
488- [[const char *version = LIBCROCO_VERSION; return !version;]])],
489- [gl_cv_libcroco=yes
490- gl_cv_LIBCROCO="$LIBCROCO_0_6"
491- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
492- gl_cv_INCCROCO="$INCCROCO_0_6"
493- ])
494- if test "$gl_cv_libcroco" != yes; then
495- dnl Often the include files are installed in
496- dnl /usr/include/libcroco-0.6/libcroco.
497- AC_LINK_IFELSE(
498- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
499- [[const char *version = LIBCROCO_VERSION; return !version;]])],
500- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
501- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
502- if test -d "$libcroco_include_dir"; then
503- gl_cv_libcroco=yes
504- gl_cv_LIBCROCO="$LIBCROCO_0_6"
505- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
506- gl_cv_INCCROCO="-I$libcroco_include_dir"
507- fi
508- ])
509- fi
510- CPPFLAGS="$gl_save_CPPFLAGS"
511- fi
512- LIBS="$gl_save_LIBS"
513- ])
514- AC_MSG_CHECKING([for libcroco])
515- AC_MSG_RESULT([$gl_cv_libcroco])
516- if test $gl_cv_libcroco = yes; then
517- LIBCROCO="$gl_cv_LIBCROCO"
518- LTLIBCROCO="$gl_cv_LTLIBCROCO"
519- INCCROCO="$gl_cv_INCCROCO"
520- else
521- gl_cv_libcroco_use_included=yes
522- fi
523- fi
524- ])
525+ if test "$gl_cv_libcroco_use_included" != yes; then
526+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
527+ LIBCROCO=$CROCO_LIBS
528+ LTLIBCROCO=$CROCO_LIBS
529+ INCCROCO=$CROCO_CFLAGS
530+ fi
531 AC_SUBST([LIBCROCO])
532 AC_SUBST([LTLIBCROCO])
533 AC_SUBST([INCCROCO])
534diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4 269diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
535index 7ee5029..bb1e5e4 100644 270index 7ee5029..bb1e5e4 100644
536--- a/libtextstyle/gnulib-m4/libglib.m4 271--- a/libtextstyle/gnulib-m4/libglib.m4
@@ -655,55 +390,3 @@ index 7ee5029..bb1e5e4 100644
655 AC_SUBST([LIBGLIB]) 390 AC_SUBST([LIBGLIB])
656 AC_SUBST([LTLIBGLIB]) 391 AC_SUBST([LTLIBGLIB])
657 AC_SUBST([INCGLIB]) 392 AC_SUBST([INCGLIB])
658diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c
659index 5484800..16793fa 100644
660--- a/libtextstyle/lib/term-styled-ostream.c
661+++ b/libtextstyle/lib/term-styled-ostream.c
662@@ -28,15 +28,15 @@
663
664 #include <stdlib.h>
665
666-#include <cr-om-parser.h>
667-#include <cr-sel-eng.h>
668-#include <cr-style.h>
669-#include <cr-rgb.h>
670+#include <libcroco/cr-om-parser.h>
671+#include <libcroco/cr-sel-eng.h>
672+#include <libcroco/cr-style.h>
673+#include <libcroco/cr-rgb.h>
674 /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
675 #ifndef __CR_FONTS_H__
676-# include <cr-fonts.h>
677+# include <libcroco/cr-fonts.h>
678 #endif
679-#include <cr-string.h>
680+#include <libcroco/cr-string.h>
681
682 #include "term-ostream.h"
683 #include "mem-hash-map.h"
684diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c
685index 2ff978f..5ffb17a 100644
686--- a/libtextstyle/lib/term-styled-ostream.oo.c
687+++ b/libtextstyle/lib/term-styled-ostream.oo.c
688@@ -22,15 +22,15 @@
689
690 #include <stdlib.h>
691
692-#include <cr-om-parser.h>
693-#include <cr-sel-eng.h>
694-#include <cr-style.h>
695-#include <cr-rgb.h>
696+#include <libcroco/cr-om-parser.h>
697+#include <libcroco/cr-sel-eng.h>
698+#include <libcroco/cr-style.h>
699+#include <libcroco/cr-rgb.h>
700 /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
701 #ifndef __CR_FONTS_H__
702-# include <cr-fonts.h>
703+# include <libcroco/cr-fonts.h>
704 #endif
705-#include <cr-string.h>
706+#include <libcroco/cr-string.h>
707
708 #include "term-ostream.h"
709 #include "mem-hash-map.h"
diff --git a/meta/recipes-core/gettext/gettext_0.22.bb b/meta/recipes-core/gettext/gettext_0.22.bb
index f5290ac0e4..75474c8c30 100644
--- a/meta/recipes-core/gettext/gettext_0.22.bb
+++ b/meta/recipes-core/gettext/gettext_0.22.bb
@@ -10,8 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
10# without libxml in PACKAGECONFIG vendor copy of the lib will be used 10# without libxml in PACKAGECONFIG vendor copy of the lib will be used
11LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}" 11LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}"
12LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', 'file://libtextstyle/lib/libxml/COPYING;md5=2044417e2e5006b65a8b9067b683fcf1', d)}" 12LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', 'file://libtextstyle/lib/libxml/COPYING;md5=2044417e2e5006b65a8b9067b683fcf1', d)}"
13# without croco in PACKAGECONFIG vendor copy of the lib will be used
14LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'croco', '', 'file://libtextstyle/lib/libcroco/libcroco.h;md5=424013a9ed5401aa58cf83f3188c6865;beginline=10;endline=28', d)}"
15# without glib in PACKAGECONFIG vendor copy of the lib will be used 13# without glib in PACKAGECONFIG vendor copy of the lib will be used
16LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}" 14LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}"
17 15
@@ -44,6 +42,7 @@ EXTRA_OECONF += "--without-lispdir \
44 --without-emacs \ 42 --without-emacs \
45 --without-cvs \ 43 --without-cvs \
46 --without-git \ 44 --without-git \
45 --without-included-libcroco \
47 --cache-file=${B}/config.cache \ 46 --cache-file=${B}/config.cache \
48 " 47 "
49EXTRA_OECONF:append:class-target = " \ 48EXTRA_OECONF:append:class-target = " \
@@ -54,11 +53,10 @@ EXTRA_OECONF:append:class-target = " \
54 gt_cv_locale_de=de_DE.ISO-8859-1 \ 53 gt_cv_locale_de=de_DE.ISO-8859-1 \
55" 54"
56 55
57PACKAGECONFIG ??= "croco glib libxml" 56PACKAGECONFIG ??= "glib libxml"
58PACKAGECONFIG:class-native = "" 57PACKAGECONFIG:class-native = ""
59PACKAGECONFIG:class-nativesdk = "" 58PACKAGECONFIG:class-nativesdk = ""
60 59
61PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
62PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0" 60PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
63PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2" 61PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
64# Need paths here to avoid host contamination but this can cause RPATH warnings 62# Need paths here to avoid host contamination but this can cause RPATH warnings
diff --git a/meta/recipes-support/libcroco/files/CVE-2020-12825.patch b/meta/recipes-support/libcroco/files/CVE-2020-12825.patch
deleted file mode 100644
index 42f92e3607..0000000000
--- a/meta/recipes-support/libcroco/files/CVE-2020-12825.patch
+++ /dev/null
@@ -1,192 +0,0 @@
1From fdf78a4877afa987ba646a8779b513f258e6d04c Mon Sep 17 00:00:00 2001
2From: Michael Catanzaro <mcatanzaro@gnome.org>
3Date: Fri, 31 Jul 2020 15:21:53 -0500
4Subject: [PATCH] libcroco: Limit recursion in block and any productions
5
6 (CVE-2020-12825)
7
8If we don't have any limits, we can recurse forever and overflow the
9stack.
10
11Fixes #8
12This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8
13
14https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404
15
16CVE: CVE-2020-12825
17Upstream-Status: Backport [https://gitlab.gnome.org/Archive/libcroco/-/commit/6eb257e5c731c691eb137fca94e916ca73941a5a]
18Comment: No refreshing changes done.
19Signed-off-by: Saloni Jain <Saloni.Jain@kpit.com>
20
21---
22 src/cr-parser.c | 44 +++++++++++++++++++++++++++++---------------
23 1 file changed, 29 insertions(+), 15 deletions(-)
24
25diff --git a/src/cr-parser.c b/src/cr-parser.c
26index 18c9a01..f4a62e3 100644
27--- a/src/cr-parser.c
28+++ b/src/cr-parser.c
29@@ -136,6 +136,8 @@ struct _CRParserPriv {
30
31 #define CHARS_TAB_SIZE 12
32
33+#define RECURSIVE_CALLERS_LIMIT 100
34+
35 /**
36 * IS_NUM:
37 *@a_char: the char to test.
38@@ -344,9 +346,11 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this);
39
40 static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this);
41
42-static enum CRStatus cr_parser_parse_any_core (CRParser * a_this);
43+static enum CRStatus cr_parser_parse_any_core (CRParser * a_this,
44+ guint n_calls);
45
46-static enum CRStatus cr_parser_parse_block_core (CRParser * a_this);
47+static enum CRStatus cr_parser_parse_block_core (CRParser * a_this,
48+ guint n_calls);
49
50 static enum CRStatus cr_parser_parse_value_core (CRParser * a_this);
51
52@@ -784,7 +788,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
53 cr_parser_try_to_skip_spaces_and_comments (a_this);
54
55 do {
56- status = cr_parser_parse_any_core (a_this);
57+ status = cr_parser_parse_any_core (a_this, 0);
58 } while (status == CR_OK);
59
60 status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr,
61@@ -795,7 +799,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
62 cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
63 token);
64 token = NULL;
65- status = cr_parser_parse_block_core (a_this);
66+ status = cr_parser_parse_block_core (a_this, 0);
67 CHECK_PARSING_STATUS (status,
68 FALSE);
69 goto done;
70@@ -930,11 +934,11 @@ cr_parser_parse_selector_core (CRParser * a_this)
71
72 RECORD_INITIAL_POS (a_this, &init_pos);
73
74- status = cr_parser_parse_any_core (a_this);
75+ status = cr_parser_parse_any_core (a_this, 0);
76 CHECK_PARSING_STATUS (status, FALSE);
77
78 do {
79- status = cr_parser_parse_any_core (a_this);
80+ status = cr_parser_parse_any_core (a_this, 0);
81
82 } while (status == CR_OK);
83
84@@ -956,10 +960,12 @@ cr_parser_parse_selector_core (CRParser * a_this)
85 *in chapter 4.1 of the css2 spec.
86 *block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*;
87 *@param a_this the current instance of #CRParser.
88+ *@param n_calls used to limit recursion depth
89 *FIXME: code this function.
90 */
91 static enum CRStatus
92-cr_parser_parse_block_core (CRParser * a_this)
93+cr_parser_parse_block_core (CRParser * a_this,
94+ guint n_calls)
95 {
96 CRToken *token = NULL;
97 CRInputPos init_pos;
98@@ -967,6 +973,9 @@ cr_parser_parse_block_core (CRParser * a_this)
99
100 g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR);
101
102+ if (n_calls > RECURSIVE_CALLERS_LIMIT)
103+ return CR_ERROR;
104+
105 RECORD_INITIAL_POS (a_this, &init_pos);
106
107 status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token);
108@@ -996,13 +1005,13 @@ cr_parser_parse_block_core (CRParser * a_this)
109 } else if (token->type == CBO_TK) {
110 cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
111 token = NULL;
112- status = cr_parser_parse_block_core (a_this);
113+ status = cr_parser_parse_block_core (a_this, n_calls + 1);
114 CHECK_PARSING_STATUS (status, FALSE);
115 goto parse_block_content;
116 } else {
117 cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
118 token = NULL;
119- status = cr_parser_parse_any_core (a_this);
120+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
121 CHECK_PARSING_STATUS (status, FALSE);
122 goto parse_block_content;
123 }
124@@ -1109,7 +1118,7 @@ cr_parser_parse_value_core (CRParser * a_this)
125 status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
126 token);
127 token = NULL;
128- status = cr_parser_parse_block_core (a_this);
129+ status = cr_parser_parse_block_core (a_this, 0);
130 CHECK_PARSING_STATUS (status, FALSE);
131 ref++;
132 goto continue_parsing;
133@@ -1123,7 +1132,7 @@ cr_parser_parse_value_core (CRParser * a_this)
134 status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
135 token);
136 token = NULL;
137- status = cr_parser_parse_any_core (a_this);
138+ status = cr_parser_parse_any_core (a_this, 0);
139 if (status == CR_OK) {
140 ref++;
141 goto continue_parsing;
142@@ -1162,10 +1171,12 @@ cr_parser_parse_value_core (CRParser * a_this)
143 * | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*;
144 *
145 *@param a_this the current instance of #CRParser.
146+ *@param n_calls used to limit recursion depth
147 *@return CR_OK upon successfull completion, an error code otherwise.
148 */
149 static enum CRStatus
150-cr_parser_parse_any_core (CRParser * a_this)
151+cr_parser_parse_any_core (CRParser * a_this,
152+ guint n_calls)
153 {
154 CRToken *token1 = NULL,
155 *token2 = NULL;
156@@ -1174,6 +1185,9 @@ cr_parser_parse_any_core (CRParser * a_this)
157
158 g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR);
159
160+ if (n_calls > RECURSIVE_CALLERS_LIMIT)
161+ return CR_ERROR;
162+
163 RECORD_INITIAL_POS (a_this, &init_pos);
164
165 status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1);
166@@ -1212,7 +1226,7 @@ cr_parser_parse_any_core (CRParser * a_this)
167 *We consider parameter as being an "any*" production.
168 */
169 do {
170- status = cr_parser_parse_any_core (a_this);
171+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
172 } while (status == CR_OK);
173
174 ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
175@@ -1237,7 +1251,7 @@ cr_parser_parse_any_core (CRParser * a_this)
176 }
177
178 do {
179- status = cr_parser_parse_any_core (a_this);
180+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
181 } while (status == CR_OK);
182
183 ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
184@@ -1265,7 +1279,7 @@ cr_parser_parse_any_core (CRParser * a_this)
185 }
186
187 do {
188- status = cr_parser_parse_any_core (a_this);
189+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
190 } while (status == CR_OK);
191
192 ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
diff --git a/meta/recipes-support/libcroco/libcroco_0.6.13.bb b/meta/recipes-support/libcroco/libcroco_0.6.13.bb
deleted file mode 100644
index 419c962657..0000000000
--- a/meta/recipes-support/libcroco/libcroco_0.6.13.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Cascading Style Sheet (CSS) parsing and manipulation toolkit"
2DESCRIPTION = "The Libcroco project is an effort to build a generic \
3Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be \
4used by GNOME applications in need of CSS support."
5HOMEPAGE = "http://www.gnome.org/"
6BUGTRACKER = "https://bugzilla.gnome.org/"
7
8LICENSE = "LGPL-2.0-only & LGPL-2.1-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
10 file://src/cr-rgb.c;endline=22;md5=31d5f0944d556c8589d04ea6055fcc66 \
11 file://tests/cr-test-utils.c;endline=21;md5=2382c27934cae1d3792fcb17a6142c4e"
12
13SECTION = "x11/utils"
14DEPENDS = "glib-2.0 libxml2 zlib"
15BBCLASSEXTEND = "native nativesdk"
16EXTRA_OECONF += "--enable-Bsymbolic=auto"
17
18BINCONFIG = "${bindir}/croco-0.6-config"
19
20inherit gnomebase gtk-doc binconfig-disabled
21
22SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce"
23SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4"
24
25SRC_URI +="file://CVE-2020-12825.patch \
26"