[OE-core] [PATCH] flex: fix reported executable name caused by OE wrapper

Saul Wold sgw at linux.intel.com
Thu May 9 17:55:27 UTC 2013


On 05/09/2013 07:31 AM, Martin Jansa wrote:
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>   meta/recipes-devtools/flex/flex.inc                 | 15 ++++++++++++++-
>   .../flex/flex/drop.suffix.from.wrapper.patch        | 21 +++++++++++++++++++++
>   2 files changed, 35 insertions(+), 1 deletion(-)
>   create mode 100644 meta/recipes-devtools/flex/flex/drop.suffix.from.wrapper.patch
>
> diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc
> index 517db16..344b716 100644
> --- a/meta/recipes-devtools/flex/flex.inc
> +++ b/meta/recipes-devtools/flex/flex.inc
> @@ -6,10 +6,23 @@ HOMEPAGE = "http://sourceforge.net/projects/flex/"
>   SECTION = "devel"
>   LICENSE = "BSD"
>
> -SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 "
> +SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
> +           file://drop.suffix.from.wrapper.patch \
> +"
>
>   inherit autotools gettext
>
> +# drop building doc, there is openembedded-core/scripts/help2man
> +# but that just returns exit 1 and flex.1 is immediately removed:
> +# openembedded-core/scripts/help2man --name='the fast lexical analyser generator' \
> +# --section=`echo $i | sed -e 's/.*\.\([^.]*\)$/\1/'` \
> +#  ../flex > $i || rm -f $i ; \
> +# and do_install fails, it wasn't failing before, because flex.1 included in
> +# release tarbal was valid until we patched main.c in drop.suffix.from.wrapper.patch
> +do_configure_prepend() {
> +	sed -i "/^\s*doc /d" Makefile.am
I think this needs a ${S} in front of the Makefile.am otherwise it's not 
found since we are doing the configure in ${B}

Thanks
	Sau!

> +}
> +
>   M4 = "${bindir}/m4"
>   M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
>
> diff --git a/meta/recipes-devtools/flex/flex/drop.suffix.from.wrapper.patch b/meta/recipes-devtools/flex/flex/drop.suffix.from.wrapper.patch
> new file mode 100644
> index 0000000..9bbd088
> --- /dev/null
> +++ b/meta/recipes-devtools/flex/flex/drop.suffix.from.wrapper.patch
> @@ -0,0 +1,21 @@
> +Upstream probably doesn't expect wrappers like we create for flex.
> +
> +This also fixes disabled C_plus_plus functions in flex++ if we ever create wrapper for flex++.
> +
> +Upstream-Status: Inappropriate [configuration]
> +
> +Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> +
> +--- flex-2.5.35/main.c.orig	2013-05-09 15:19:34.619281743 +0200
> ++++ flex-2.5.35/main.c	2013-05-09 15:19:10.216280868 +0200
> +@@ -984,6 +984,10 @@
> + 	/* Enable C++ if program name ends with '+'. */
> + 	program_name = basename2 (argv[0], 0);
> +
> ++	/* Drop trailing .real suffix if it's there */
> ++	if (strstr(program_name, ".real") != NULL && strstr(program_name, ".real") - program_name == strlen(program_name) - 5)
> ++	    program_name[strlen (program_name) - 5] = '\0';
> ++
> + 	if (program_name[0] != '\0' &&
> + 	    program_name[strlen (program_name) - 1] == '+')
> + 		C_plus_plus = true;
>




More information about the Openembedded-core mailing list