On Mon, Jul 04, 2016 at 04:45:53PM +0300, Maxin B. John wrote: > directfb.org has been down for about a year now. Since there > are active users for this recipe, it makes sense to move this > from oe-core to meta-oe.
Fails to apply: OE @ ~/meta-openembedded $ pwam 126087 2016-07-11 15:29:51 URL:https://patchwork.openembedded.org/patch/126087/mbox/ [33428] -> "pw-am-126087.patch" [1] Applying: directfb: move recipe to meta-oe .git/rebase-apply/patch:51: trailing whitespace. .git/rebase-apply/patch:53: trailing whitespace. .git/rebase-apply/patch:56: space before tab in indent. AC_MSG_ERROR([$DIRECTFB_PKG_ERRORS .git/rebase-apply/patch:59: trailing whitespace. -- .git/rebase-apply/patch:207: trailing whitespace. fatal: corrupt patch at line 401 Patch failed at 0001 directfb: move recipe to meta-oe The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". OE @ ~/meta-openembedded $ patch -p1 < pw-am-126087.patch patching file meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch patching file meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb patching file meta-oe/recipes-graphics/directfb/directfb.inc patching file meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch patching file meta-oe/recipes-graphics/directfb/directfb/bashism.patch patching file meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch patching file meta-oe/recipes-graphics/directfb/directfb/configurefix.patch patch: **** malformed patch at line 360: ages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib Because there is extra line feed in meta-oe/recipes-graphics/directfb/directfb/configurefix.patch (very long line), please check your sender configuration to prevent mangling the patches in future. This time I've fixed and applied it manually. > Signed-off-by: Maxin B. John <[email protected]> > --- > .../configure.in-Fix-string-argument-syntax.patch | 28 +++++ > .../directfb/directfb-examples_1.7.0.bb | 21 ++++ > meta-oe/recipes-graphics/directfb/directfb.inc | 80 ++++++++++++++ > ...direct-Aboid-usng-VLAs-and-printf-formats.patch | 61 +++++++++++ > .../directfb/directfb/bashism.patch | 18 ++++ > .../directfb/directfb/compar_fn_t.patch | 62 +++++++++++ > .../directfb/directfb/configurefix.patch | 60 +++++++++++ > .../fix-client-gfx_state-initialisation.patch | 38 +++++++ > .../directfb/directfb/fusion.patch | 36 +++++++ > .../directfb/directfb/union-sigval.patch | 19 ++++ > .../directfb/use-PTHREAD_MUTEX_RECURSIVE.patch | 116 > +++++++++++++++++++++ > .../recipes-graphics/directfb/directfb_1.7.7.bb | 8 ++ > 12 files changed, 547 insertions(+) > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb > create mode 100644 meta-oe/recipes-graphics/directfb/directfb.inc > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch > create mode 100644 meta-oe/recipes-graphics/directfb/directfb/bashism.patch > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb/configurefix.patch > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch > create mode 100644 meta-oe/recipes-graphics/directfb/directfb/fusion.patch > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch > create mode 100644 > meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch > create mode 100644 meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb > > diff --git > a/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch > > b/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch > new file mode 100644 > index 0000000..0717ea6 > --- /dev/null > +++ > b/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch > @@ -0,0 +1,28 @@ > +From 88077ed156a714f32bb408f422278d61611ffd41 Mon Sep 17 00:00:00 2001 > +From: Otavio Salvador <[email protected]> > +Date: Sat, 26 Jul 2014 16:57:46 -0300 > +Subject: [PATCH] configure.in: Fix string argument syntax > + > +Upstream-Status: Submitted > + > +Signed-off-by: Otavio Salvador <[email protected]> > +--- > + configure.in | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/configure.in b/configure.in > +index bfe1b82..e939bbd 100644 > +--- a/configure.in > ++++ b/configure.in > +@@ -65,7 +65,7 @@ fi) > + > + DIRECTFB_REQUIRED_VERSION=1.4.14 > + > +-PKG_CHECK_MODULES(DIRECTFB, directfb >= $DIRECTFB_REQUIRED_VERSION,[ > WATER=`$PKG_CONFIG --variable=water directfb` ], > ++PKG_CHECK_MODULES([DIRECTFB], directfb >= $DIRECTFB_REQUIRED_VERSION,[ > WATER=`$PKG_CONFIG --variable=water directfb` ], > + AC_MSG_ERROR([$DIRECTFB_PKG_ERRORS > + *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest > version > + *** of DirectFB is available from http://www.directfb.org/.])) > +-- > +1.7.10.4 > + > diff --git a/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb > b/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb > new file mode 100644 > index 0000000..7907c5c > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb > @@ -0,0 +1,21 @@ > +SUMMARY = "Example DirectFB applications" > +DESCRIPTION = "The DirectFB-examples package contains a set of simple > DirectFB \ > + applications that can be used to test and demonstrate various DirectFB > \ > + features" > +DEPENDS = "directfb" > +SECTION = "libs" > +LICENSE = "MIT" > + > +SRC_URI = " \ > + > http://downloads.yoctoproject.org/mirror/sources/DirectFB-examples-${PV}.tar.gz > \ > + file://configure.in-Fix-string-argument-syntax.patch \ > + " > + > +LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f" > + > +S = "${WORKDIR}/DirectFB-examples-${PV}" > + > +inherit autotools pkgconfig > + > +SRC_URI[md5sum] = "8b60c867af295481c32a8c7fc5802307" > +SRC_URI[sha256sum] = > "9a2104cc4da8123c8371813551b66b943198979f745cbebc034bb5e10844122a" > diff --git a/meta-oe/recipes-graphics/directfb/directfb.inc > b/meta-oe/recipes-graphics/directfb/directfb.inc > new file mode 100644 > index 0000000..46e0838 > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb.inc > @@ -0,0 +1,80 @@ > +SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device" > +DESCRIPTION = "DirectFB is a thin library that provides developers \ > +with hardware graphics acceleration, input device handling and \ > +abstraction, an integrated windowing system with support for \ > +translucent windows and multiple display layers on top of the \ > +Linux framebuffer device." > +SECTION = "libs" > +LICENSE = "LGPLv2.1" > +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" > + > +HOMEPAGE = "http://directfb.org" > +DEPENDS = "jpeg libpng freetype zlib tslib sysfsutils" > + > +SRC_URI = > "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.gz \ > + file://configurefix.patch \ > + file://fusion.patch \ > + file://bashism.patch \ > + file://0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch \ > + file://compar_fn_t.patch \ > + file://union-sigval.patch \ > + file://use-PTHREAD_MUTEX_RECURSIVE.patch \ > + file://fix-client-gfx_state-initialisation.patch \ > + " > + > +S = "${WORKDIR}/DirectFB-${PV}" > + > +LDFLAGS_append =" -lts -lm" > + > +# Workaround for linking issues seen with armv7a + gold > +LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', > ' -fuse-ld=bfd ', '', d)}" > + > +BINCONFIG = "${bindir}/directfb-config" > + > +inherit autotools binconfig-disabled pkgconfig > + > +PACKAGECONFIG ??= "" > +PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper" > +PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm" > +PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" > +PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" > + > +EXTRA_OECONF = "\ > + --with-gfxdrivers=none \ > + --enable-freetype=yes \ > + --enable-zlib \ > + --disable-imlib2 \ > + --disable-mesa \ > + --disable-sdl \ > + --disable-vnc \ > + --disable-x11 \ > +" > + > +#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as > default > +#this will cause directfb build failure on x86 arch, so filter out it. > +TARGET_CFLAGS_remove_x86 = "-fno-omit-frame-pointer" > + > +#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*" > +# > +#python populate_packages_prepend () { > +# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers') > +# do_split_packages(d, inputdrivers_libdir, '*.so$', > 'directfb-inputdrivers-%s', 'Directfb plugin for %s') > +#} > + > +# NOTE: monolithic packaging for now, should improve that eventually > + > +FILES_${PN}-dev += "\ > + ${bindir}/directfb-config \ > + ${libdir}/directfb-${RV}/systems/*.la \ > + ${libdir}/directfb-${RV}/inputdrivers/*.la \ > + ${libdir}/directfb-${RV}/interfaces/*/*.la \ > + ${libdir}/directfb-${RV}/wm/*.la \ > +" > + > +FILES_${PN} += "\ > + ${libdir}/directfb-${RV}/systems/*.so \ > + ${libdir}/directfb-${RV}/inputdrivers/*.so \ > + ${libdir}/directfb-${RV}/interfaces/*/*.so \ > + ${libdir}/directfb-${RV}/wm/*.so \ > + ${datadir}/directfb-${PV} \ > +" > diff --git > a/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch > > b/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch > new file mode 100644 > index 0000000..76e0f75 > --- /dev/null > +++ > b/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch > @@ -0,0 +1,61 @@ > +From f43ef44806ffb8e3b35d99070dde9b6cc1714d3d Mon Sep 17 00:00:00 2001 > +From: Khem Raj <[email protected]> > +Date: Tue, 8 Sep 2015 21:32:20 +0000 > +Subject: [PATCH] gfx,direct: Aboid usng VLAs and printf formats > + > +VLAs are flagged by clang when using non-POD types, therefore replace > +the usage with alloca which is exact same allocation on stack > + > + __attribute__((__format__ (__printf__))) is not portable as used here > + therefore disable the check for clang here, we lose no functionality > + > +Signed-off-by: Khem Raj <[email protected]> > +--- > +Upstream-Status: Pending > + > + lib/direct/util.h | 2 +- > + src/gfx/util.cpp | 8 ++++---- > + 2 files changed, 5 insertions(+), 5 deletions(-) > + > +diff --git a/lib/direct/util.h b/lib/direct/util.h > +index 72941e9..8e7fa4a 100644 > +--- a/lib/direct/util.h > ++++ b/lib/direct/util.h > +@@ -98,7 +98,7 @@ > + #define D_CONST_FUNC > + #endif > + > +-#if __GNUC__ >= 3 > ++#if __GNUC__ >= 3 && !defined __clang__ > + #define D_FORMAT_PRINTF(n) __attribute__((__format__ (__printf__, > n, n+1))) > + #define D_FORMAT_VPRINTF(n) __attribute__((__format__ (__printf__, > n, 0))) > + #else > +diff --git a/src/gfx/util.cpp b/src/gfx/util.cpp > +index 40032bc..d1015d4 100644 > +--- a/src/gfx/util.cpp > ++++ b/src/gfx/util.cpp > +@@ -294,8 +294,8 @@ dfb_gfx_copy_regions_stereo( CoreSurface > *source, > + { > + unsigned int i, n = 0; > + DFBRectangle rect = { 0, 0, source->config.size.w, > source->config.size.h }; > +- DFBRectangle rects[num]; > +- DFBPoint points[num]; > ++ DFBRectangle *rects = (DFBRectangle*)alloca( sizeof(struct > DFBRectangle) * num); > ++ DFBPoint *points = (DFBPoint*)alloca( sizeof(struct DFBPoint) * num); > + > + for (i=0; i<num; i++) { > + DFB_REGION_ASSERT( ®ions[i] ); > +@@ -351,8 +351,8 @@ dfb_gfx_copy_regions_client( CoreSurface > *source, > + { > + unsigned int i, n = 0; > + DFBRectangle rect = { 0, 0, source->config.size.w, > source->config.size.h }; > +- DFBRectangle rects[num]; > +- DFBPoint points[num]; > ++ DFBRectangle *rects = (DFBRectangle*)alloca( sizeof(struct > DFBRectangle) * num); > ++ DFBPoint *points = (DFBPoint*)alloca( sizeof(struct > DFBPoint) * num); > + CoreGraphicsStateClient *client = _client ? _client : > &StateClient::Get()->client; > + CardState *state = client->state; > + CardState backup; > +-- > +2.5.1 > + > diff --git a/meta-oe/recipes-graphics/directfb/directfb/bashism.patch > b/meta-oe/recipes-graphics/directfb/directfb/bashism.patch > new file mode 100644 > index 0000000..2ef4e93 > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb/bashism.patch > @@ -0,0 +1,18 @@ > +${x//y/} is a bash syntax. Replace with something dash compatible > + > +RP 2015/5/3 > +Upstream-Status: Pending > + > +Index: DirectFB-1.7.7/configure.in > +=================================================================== > +--- DirectFB-1.7.7.orig/configure.in > ++++ DirectFB-1.7.7/configure.in > +@@ -2696,7 +2696,7 @@ AM_CONDITIONAL(BUILD_TOOLS, test "$with_ > + AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes") > + > + CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS" > +-CXXFLAGS="$CXXFLAGS ${CFLAGS//-Werror-implicit-function-declaration/}" > ++CXXFLAGS="$CXXFLAGS $(printf '%s\n' "$CFLAGS" | sed > 's/-Werror-implicit-function-declaration//g')" > + DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS" > + > + CFLAGS="$CFLAGS $CFLAGS_STD" > diff --git a/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch > b/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch > new file mode 100644 > index 0000000..ee4d900 > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch > @@ -0,0 +1,62 @@ > +test for __compar_fn_t and if not defined by libc then define it > +help make directfb compile with musl > + > +Upstream-Status: Pending > +Signed-off-by: Khem Raj <[email protected]> > + > +Index: DirectFB-1.7.7/configure.in > +=================================================================== > +--- DirectFB-1.7.7.orig/configure.in > ++++ DirectFB-1.7.7/configure.in > +@@ -112,6 +112,17 @@ AC_CHECK_SIZEOF(long) > + AC_CHECK_SIZEOF(long long) > + AC_CHECK_FUNCS(fork) > + > ++AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [ > ++ AC_TRY_COMPILE( > ++ [#include <stdlib.h>], > ++ [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }], > ++ ccache_cv_COMPAR_FN_T=yes, > ++ ccache_cv_COMPAR_FN_T=no)]) > ++if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then > ++ AC_DEFINE(HAVE_COMPAR_FN_T, 1, > ++ Define to 1 if you have the `__compar_fn_t' typedef.) > ++fi > ++ > + AC_PATH_PROGS(PERL, perl5 perl) > + > + AC_PATH_PROG(MAN2HTML, man2html, no) > +Index: DirectFB-1.7.7/inputdrivers/lirc/lirc.c > +=================================================================== > +--- DirectFB-1.7.7.orig/inputdrivers/lirc/lirc.c > ++++ DirectFB-1.7.7/inputdrivers/lirc/lirc.c > +@@ -59,6 +59,11 @@ > + > + #include <core/input_driver.h> > + > ++#if HAVE_COMPAR_FN_T > ++#define COMPAR_FN_T __compar_fn_t > ++#else > ++typedef int (*COMPAR_FN_T)(const void *, const void *); > ++#endif > + > + DFB_INPUT_DRIVER( lirc ) > + > +@@ -97,7 +102,7 @@ static DFBInputDeviceKeySymbol lirc_pars > + qsort ( keynames, > + D_ARRAY_SIZE( keynames ), > + sizeof(keynames[0]), > +- (__compar_fn_t) keynames_sort_compare ); > ++ (COMPAR_FN_T) keynames_sort_compare ); > + keynames_sorted = true; > + } > + > +@@ -124,7 +129,7 @@ static DFBInputDeviceKeySymbol lirc_pars > + symbol_name = bsearch( name, keynames, > + D_ARRAY_SIZE( keynames ), > + sizeof(keynames[0]), > +- (__compar_fn_t) keynames_compare ); > ++ (COMPAR_FN_T) keynames_compare ); > + if (symbol_name) > + return symbol_name->symbol; > + break; > diff --git a/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch > b/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch > new file mode 100644 > index 0000000..dd8c019 > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch > @@ -0,0 +1,60 @@ > +Libtool needs these set correctly else we end up with pointless rpaths > +such as the QA warnings: > + > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/pack > ages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH > /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff > contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so > contains probably-redundant RPATH /usr/lib > +WARNING: QA Issue: directfb: > /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so > contains probably-redundant RPATH /usr/lib > + > +Upstream-Status: Pending > + > +RP 2012/03/16 > + > +Index: DirectFB-1.4.15/configure.in > +=================================================================== > +--- DirectFB-1.4.15.orig/configure.in 2012-03-16 13:32:23.692402879 > +0000 > ++++ DirectFB-1.4.15/configure.in 2012-03-16 13:33:22.312400960 +0000 > +@@ -97,13 +97,6 @@ > + AC_CHECK_SIZEOF(long long) > + AC_CHECK_FUNCS(fork) > + > +- > +-## Work around libstuhl during cross build... > +-if test "$host" != "$build"; then > +- sys_lib_dlsearch_path_spec="" > +- sys_lib_search_path_spec="" > +-fi > +- > + AC_PATH_PROGS(PERL, perl5 perl) > + > + AC_PATH_PROG(MAN2HTML, man2html, no) > diff --git > a/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch > > b/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch > new file mode 100644 > index 0000000..57a9b0d > --- /dev/null > +++ > b/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch > @@ -0,0 +1,38 @@ > +From 8e53c0b9cedb62b82e2b7680d793d433b647ae20 Mon Sep 17 00:00:00 2001 > +From: Andre McCurdy <[email protected]> > +Date: Mon, 13 Jun 2016 13:32:44 -0700 > +Subject: [PATCH] fix client->gfx_state initialisation > + > +Shortly before the DirectFB 1.7.7 release, an optimisation was added > +to CoreGraphicsStateClient_Init() to avoid creating an extended > +Graphics State object if it will not later be required: > + > + 4d422fb Client: Create extended Graphics State object when needed for > later usage > + > +Unfortunately the client->gfx_state variable used to track the > +extended Graphics State object is not initialised, which can lead to > +crashes etc due to creation of the Graphics State object erroneously > +being skipped. > + > +Upstream-Status: Pending > + > +Signed-off-by: Andre McCurdy <[email protected]> > +--- > + src/core/CoreGraphicsStateClient.cpp | 1 + > + 1 file changed, 1 insertion(+) > + > +diff --git a/src/core/CoreGraphicsStateClient.cpp > b/src/core/CoreGraphicsStateClient.cpp > +index 5d46f0e..5007755 100644 > +--- a/src/core/CoreGraphicsStateClient.cpp > ++++ b/src/core/CoreGraphicsStateClient.cpp > +@@ -364,6 +364,7 @@ CoreGraphicsStateClient_Init( CoreGraphicsStateClient > *client, > + client->renderer = NULL; > + client->requestor = NULL; > + client->throttle = NULL; > ++ client->gfx_state = NULL; > + > + if (dfb_config->task_manager) { > + if (dfb_config->call_nodirect) { > +-- > +1.9.1 > + > diff --git a/meta-oe/recipes-graphics/directfb/directfb/fusion.patch > b/meta-oe/recipes-graphics/directfb/directfb/fusion.patch > new file mode 100644 > index 0000000..1f81a67 > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb/fusion.patch > @@ -0,0 +1,36 @@ > +directfb: Fix for hangs in direct_test, fusion_skirmish on exit > + > +Upstream-Status: Pending > +Signed-off-by: Lauren Post <[email protected]> > + > +--- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800 > ++++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800 > +@@ -2853,9 +2853,14 @@ > + direct_mutex_lock( &world->event_dispatcher_mutex ); > + > + while (1) { > +- if (!world->event_dispatcher_buffers) > ++ if (!world->event_dispatcher_buffers){ > + direct_waitqueue_wait( &world->event_dispatcher_cond, > &world->event_dispatcher_mutex ); > +- > ++ if (world->dispatch_stop) { > ++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING > (dispatch_stop!)\n" ); > ++ direct_mutex_unlock( > &world->event_dispatcher_mutex ); > ++ return NULL; > ++ } > ++ } > + buf = (FusionEventDispatcherBuffer > *)world->event_dispatcher_buffers; > + D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer ); > + > +@@ -2872,6 +2877,11 @@ > + //D_INFO("waiting...\n"); > + D_ASSERT( buf->read_pos == buf->write_pos ); > + direct_waitqueue_wait( &world->event_dispatcher_cond, > &world->event_dispatcher_mutex ); > ++ if (world->dispatch_stop) { > ++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING > (dispatch_stop!)\n" ); > ++ direct_mutex_unlock( > &world->event_dispatcher_mutex ); > ++ return NULL; > ++ } > + } > + > + buf = (FusionEventDispatcherBuffer > *)world->event_dispatcher_buffers; > diff --git a/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch > b/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch > new file mode 100644 > index 0000000..29f45c7 > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch > @@ -0,0 +1,19 @@ > +This patch is taken from gentoo musl overlay > +sigval_t is glibc only construct, we use a union of sigval > +which pretty much is same effect as sigval_t > + > +Upstream-Status: Pending > +Signed-off-by: Khem Raj <[email protected]> > + > +diff -Naur DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c > DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c > +--- DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c 2014-07-15 > 02:54:58.000000000 -0400 > ++++ DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c 2015-07-18 > 16:55:35.077989166 -0400 > +@@ -111,7 +111,7 @@ > + void > + direct_trap( const char *domain, int sig ) > + { > +- sigval_t val; > ++ union sigval val; > + > + if (direct_config->delay_trap_ms) { > + D_LOG( Direct_Trap, VERBOSE, "NOT RAISING signal %d from %s, > waiting for %dms... attach gdb --pid=%d\n", sig, domain, > direct_config->delay_trap_ms, getpid() ); > diff --git > a/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch > > b/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch > new file mode 100644 > index 0000000..ac48f68 > --- /dev/null > +++ > b/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch > @@ -0,0 +1,116 @@ > +Remove use of DIRECT_RECURSIVE_MUTEX_INITIALIZER its not portable > +use portable way to initialize recursive mutex using pthread_once() and > direct_recursive_mutex_init() > + > +Upstream-Status: Pending > +Signed-off-by: Khem Raj <[email protected]> > +Index: DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h > +=================================================================== > +--- DirectFB-1.7.7.orig/lib/direct/os/linux/glibc/mutex.h > ++++ DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h > +@@ -46,7 +46,6 @@ struct __D_DirectMutex { > + > /**********************************************************************************************************************/ > + > + #define DIRECT_MUTEX_INITIALIZER(name) { > PTHREAD_MUTEX_INITIALIZER } > +-#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name) { > PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP } > + > + #endif > + > +Index: DirectFB-1.7.7/lib/direct/trace.c > +=================================================================== > +--- DirectFB-1.7.7.orig/lib/direct/trace.c > ++++ DirectFB-1.7.7/lib/direct/trace.c > +@@ -89,8 +89,15 @@ struct __D_DirectTraceBuffer { > + > /**************************************************************************************************/ > + > + static DirectLink *buffers; > +-static DirectMutex buffers_lock = > DIRECT_RECURSIVE_MUTEX_INITIALIZER(buffers_lock); > + > ++static pthread_once_t buffers_lock_init_once = PTHREAD_ONCE_INIT; > ++static DirectMutex buffers_lock; > ++ > ++static void > ++buffers_lock_init( void ) > ++{ > ++ direct_recursive_mutex_init(&buffers_lock); > ++} > + > /**************************************************************************************************/ > + > + __dfb_no_instrument_function__ > +@@ -113,6 +120,7 @@ get_trace_buffer( void ) > + > + D_MAGIC_SET( buffer, DirectTraceBuffer ); > + > ++ pthread_once(&buffers_lock_init_once, buffers_lock_init); > + direct_mutex_lock( &buffers_lock ); > + direct_list_append( &buffers, &buffer->link ); > + direct_mutex_unlock( &buffers_lock ); > +@@ -138,8 +146,14 @@ typedef struct { > + } SymbolTable; > + > + static DirectLink *tables = NULL; > +-static DirectMutex tables_lock = > DIRECT_RECURSIVE_MUTEX_INITIALIZER(tables_lock); > ++static pthread_once_t tables_lock_init_once = PTHREAD_ONCE_INIT; > ++static DirectMutex tables_lock; > + > ++static void > ++tables_lock_init( void ) > ++{ > ++ direct_recursive_mutex_init(&tabless_lock); > ++} > + > + __dfb_no_instrument_function__ > + static void > +@@ -370,6 +384,7 @@ direct_trace_lookup_symbol( const char * > + Symbol *symbol; > + SymbolTable *table; > + > ++ pthread_once(&tables_lock_init_once, tables_lock_init); > + direct_mutex_lock( &tables_lock ); > + > + table = find_table( filename ); > +@@ -514,6 +529,7 @@ direct_trace_print_stacks() > + DirectTraceBuffer *b; > + DirectTraceBuffer *buffer = get_trace_buffer(); > + > ++ pthread_once(&buffers_lock_init_once, buffers_lock_init); > + direct_mutex_lock( &buffers_lock ); > + > + if (buffer && buffer->level) > +@@ -611,6 +627,7 @@ direct_trace_free_buffer( DirectTraceBuf > + D_MAGIC_ASSERT( buffer, DirectTraceBuffer ); > + > + if (buffer->thread) { > ++ pthread_once(&buffers_lock_init_once, buffers_lock_init); > + direct_mutex_lock( &buffers_lock ); > + direct_list_remove( &buffers, &buffer->link ); > + direct_mutex_unlock( &buffers_lock ); > +Index: DirectFB-1.7.7/src/directfb.c > +=================================================================== > +--- DirectFB-1.7.7.orig/src/directfb.c > ++++ DirectFB-1.7.7/src/directfb.c > +@@ -99,6 +99,15 @@ const unsigned int directfb_micro_versio > + const unsigned int directfb_binary_age = DIRECTFB_BINARY_AGE; > + const unsigned int directfb_interface_age = DIRECTFB_INTERFACE_AGE; > + > ++static pthread_once_t lock_init_once = PTHREAD_ONCE_INIT; > ++static DirectMutex lock; > ++ > ++static void > ++lock_init( void ) > ++{ > ++ direct_recursive_mutex_init(&lock); > ++} > ++ > + const char * > + DirectFBCheckVersion( unsigned int required_major, > + unsigned int required_minor, > +@@ -215,8 +224,7 @@ DirectFBCreate( IDirectFB **interface_pt > + if (dfb_config->remote.host) > + return CreateRemote( dfb_config->remote.host, > dfb_config->remote.port, interface_ptr ); > + > +- static DirectMutex lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(lock); > +- > ++ pthread_once(&lock_init_once, lock_init); > + direct_mutex_lock( &lock ); > + > + if (!dfb_config->no_singleton && idirectfb_singleton) { > diff --git a/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb > b/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb > new file mode 100644 > index 0000000..c6c070e > --- /dev/null > +++ b/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb > @@ -0,0 +1,8 @@ > +require directfb.inc > + > +RV = "1.7-7" > + > +LEAD_SONAME = "libdirectfb-1.7.so.0" > + > +SRC_URI[md5sum] = "152cf1863b1a3a28aa1370e9053440bf" > +SRC_URI[sha256sum] = > "b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3" > -- > 2.4.0 > > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
