diff options
author | Markus Volk <f_l_k@t-online.de> | 2023-10-29 17:48:49 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-10-30 17:12:19 +0000 |
commit | 3681db6bb311ae291bdf1204aa8f06ec41fb8a1a (patch) | |
tree | 87d106e39d81bbbd561ea98648bbe58bdab15988 | |
parent | 57e3f6ff2846e0f253c5e5c7117fde09a31c6013 (diff) | |
download | poky-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.inc | 1 | ||||
-rw-r--r-- | meta/recipes-core/gettext/gettext/use-pkgconfig.patch | 319 | ||||
-rw-r--r-- | meta/recipes-core/gettext/gettext_0.22.bb | 6 | ||||
-rw-r--r-- | meta/recipes-support/libcroco/files/CVE-2020-12825.patch | 192 | ||||
-rw-r--r-- | meta/recipes-support/libcroco/libcroco_0.6.13.bb | 26 |
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>" | |||
320 | RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>" | 320 | RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>" |
321 | RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>" | 321 | RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>" |
322 | RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>" | 322 | RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>" |
323 | RECIPE_MAINTAINER:pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>" | ||
324 | RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>" | 323 | RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>" |
325 | RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>" | 324 | RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>" |
326 | RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>" | 325 | RECIPE_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 | ||
27 | diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4 | 22 | diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4 |
28 | index 0340490..0355388 100644 | 23 | index 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]) |
150 | diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c | ||
151 | index 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" | ||
176 | diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4 | ||
177 | index 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]) | ||
293 | diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4 | 145 | diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4 |
294 | index 7ee5029..bb1e5e4 100644 | 146 | index 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]) |
417 | diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4 | ||
418 | index 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]) | ||
534 | diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4 | 269 | diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4 |
535 | index 7ee5029..bb1e5e4 100644 | 270 | index 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]) |
658 | diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c | ||
659 | index 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" | ||
684 | diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c | ||
685 | index 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 |
11 | LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}" | 11 | LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}" |
12 | LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', 'file://libtextstyle/lib/libxml/COPYING;md5=2044417e2e5006b65a8b9067b683fcf1', d)}" | 12 | LIC_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 | ||
14 | LIC_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 |
16 | LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}" | 14 | LIC_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 | " |
49 | EXTRA_OECONF:append:class-target = " \ | 48 | EXTRA_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 | ||
57 | PACKAGECONFIG ??= "croco glib libxml" | 56 | PACKAGECONFIG ??= "glib libxml" |
58 | PACKAGECONFIG:class-native = "" | 57 | PACKAGECONFIG:class-native = "" |
59 | PACKAGECONFIG:class-nativesdk = "" | 58 | PACKAGECONFIG:class-nativesdk = "" |
60 | 59 | ||
61 | PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco" | ||
62 | PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0" | 60 | PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0" |
63 | PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2" | 61 | PACKAGECONFIG[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 @@ | |||
1 | From fdf78a4877afa987ba646a8779b513f258e6d04c Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Catanzaro <mcatanzaro@gnome.org> | ||
3 | Date: Fri, 31 Jul 2020 15:21:53 -0500 | ||
4 | Subject: [PATCH] libcroco: Limit recursion in block and any productions | ||
5 | |||
6 | (CVE-2020-12825) | ||
7 | |||
8 | If we don't have any limits, we can recurse forever and overflow the | ||
9 | stack. | ||
10 | |||
11 | Fixes #8 | ||
12 | This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8 | ||
13 | |||
14 | https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404 | ||
15 | |||
16 | CVE: CVE-2020-12825 | ||
17 | Upstream-Status: Backport [https://gitlab.gnome.org/Archive/libcroco/-/commit/6eb257e5c731c691eb137fca94e916ca73941a5a] | ||
18 | Comment: No refreshing changes done. | ||
19 | Signed-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 | |||
25 | diff --git a/src/cr-parser.c b/src/cr-parser.c | ||
26 | index 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 @@ | |||
1 | SUMMARY = "Cascading Style Sheet (CSS) parsing and manipulation toolkit" | ||
2 | DESCRIPTION = "The Libcroco project is an effort to build a generic \ | ||
3 | Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be \ | ||
4 | used by GNOME applications in need of CSS support." | ||
5 | HOMEPAGE = "http://www.gnome.org/" | ||
6 | BUGTRACKER = "https://bugzilla.gnome.org/" | ||
7 | |||
8 | LICENSE = "LGPL-2.0-only & LGPL-2.1-only" | ||
9 | LIC_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 | |||
13 | SECTION = "x11/utils" | ||
14 | DEPENDS = "glib-2.0 libxml2 zlib" | ||
15 | BBCLASSEXTEND = "native nativesdk" | ||
16 | EXTRA_OECONF += "--enable-Bsymbolic=auto" | ||
17 | |||
18 | BINCONFIG = "${bindir}/croco-0.6-config" | ||
19 | |||
20 | inherit gnomebase gtk-doc binconfig-disabled | ||
21 | |||
22 | SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce" | ||
23 | SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4" | ||
24 | |||
25 | SRC_URI +="file://CVE-2020-12825.patch \ | ||
26 | " | ||