[OE-core] [PATCH] flex: update to 2.6.0
Alexander Kanavin
alexander.kanavin at linux.intel.com
Tue Dec 15 11:59:34 UTC 2015
Drop backported 0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch
Test cases have been completely rearranged upstream, so ptest support
is fully rewritten. Flex is now using its own binary both during
compilation and test running, so the target recipe depends on the native
version on itself unconditionally now, and the location of the flex binary
is adjusted when building for the target.
Signed-off-by: Alexander Kanavin <alexander.kanavin at linux.intel.com>
---
...fixes-Do-not-use-obsolete-bison-construct.patch | 80 ----------------------
meta/recipes-devtools/flex/files/run-ptest | 30 +-------
meta/recipes-devtools/flex/flex.inc | 22 +++---
...-target-for-building-tests-without-runnin.patch | 28 ++++++++
meta/recipes-devtools/flex/flex_2.5.39.bb | 9 ---
meta/recipes-devtools/flex/flex_2.6.0.bb | 13 ++++
6 files changed, 54 insertions(+), 128 deletions(-)
delete mode 100644 meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch
create mode 100644 meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch
delete mode 100644 meta/recipes-devtools/flex/flex_2.5.39.bb
create mode 100644 meta/recipes-devtools/flex/flex_2.6.0.bb
diff --git a/meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch b/meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch
deleted file mode 100644
index 3504f54..0000000
--- a/meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 7fbc074901129ffaff9e18fadacae62d8053ad95 Mon Sep 17 00:00:00 2001
-From: Manoj Srivastava <srivasta at golden-gryphon.com>
-Date: Wed, 9 Apr 2014 00:23:07 -0700
-Subject: [PATCH] Do not use obsolete bison constructs in tests.
-
-In Bison 3.0, support for YYLEX_PARAM and YYPARSE_PARAM has been
-removed (deprecated in Bison 1.875): use %lex-param, %parse-param, or
-%param. This commit fixes the tests so they still work.
-
-Signed-off-by: Manoj Srivastava <srivasta at golden-gryphon.com>
-
-Upstream-Status: Backport [from http://sourceforge.net/p/flex/bugs/169/]
-
-Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
----
- tests/test-bison-yylloc/parser.y | 4 ++--
- tests/test-bison-yylval/parser.y | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tests/test-bison-yylloc/parser.y b/tests/test-bison-yylloc/parser.y
-index e8f4e56..224d252 100644
---- a/tests/test-bison-yylloc/parser.y
-+++ b/tests/test-bison-yylloc/parser.y
-@@ -22,6 +22,7 @@
- */
-
- %parse-param { void* scanner }
-+%lex-param { void* scanner }
-
- /*
- How to compile:
-@@ -34,7 +35,6 @@
- #include "config.h"
-
- #define YYERROR_VERBOSE 1
--#define YYLEX_PARAM scanner
-
- extern int testget_lineno(void*);
-
-@@ -52,7 +52,7 @@ int process_text(char* s) {
-
- %}
-
--%pure_parser
-+%pure-parser
-
- %union {
- int lineno;
-diff --git a/tests/test-bison-yylval/parser.y b/tests/test-bison-yylval/parser.y
-index 0ffdb89..626c5e7 100644
---- a/tests/test-bison-yylval/parser.y
-+++ b/tests/test-bison-yylval/parser.y
-@@ -26,6 +26,7 @@
- bison --defines --output-file="parser.c" --name-prefix="test" parser.y
- */
- %parse-param { void* scanner }
-+%lex-param { void* scanner }
- %{
- #include <stdio.h>
- #include <stdlib.h>
-@@ -33,7 +34,6 @@
- #include "config.h"
-
- #define YYERROR_VERBOSE 1
--#define YYLEX_PARAM scanner
-
-
- /* A dummy function. A check against seg-faults in yylval->str. */
-@@ -49,7 +49,7 @@ int process_text(char* s) {
-
- %}
-
--%pure_parser
-+%pure-parser
-
- %union {
- long unused;
---
-1.9.1
-
diff --git a/meta/recipes-devtools/flex/files/run-ptest b/meta/recipes-devtools/flex/files/run-ptest
index bffba16..19db337 100755
--- a/meta/recipes-devtools/flex/files/run-ptest
+++ b/meta/recipes-devtools/flex/files/run-ptest
@@ -1,29 +1,5 @@
#!/bin/sh
-test1="test-alloc-extra test-array-nr test-array-r test-basic-nr test-basic-r test-extended test-quotes \
-test-bison-nr test-bison-yylloc test-bison-yylval test-c++-basic test-c-cpp-nr test-prefix-nr test-ccl \
-test-c-cpp-r test-c++-multiple-scanners test-mem-r test-mem-nr test-debug-nr test-linedir-r test-noansi-r \
-test-yyextra test-header-r test-noansi-nr test-debug-r TEMPLATE test-top test-header-nr test-prefix-r"
-test2="test-multiple-scanners-nr test-posixly-correct test-posix test-string-r test-string-nr"
-test3="test-pthread test-include-by-push test-include-by-buffer test-include-by-reentrant"
-test4="test-lineno-nr test-lineno-r test-lineno-trailing"
-test5="test-c++-yywrap test-rescan-r test-rescan-nr"
-test6="test-reject-nr test-reject-r"
-test7="test-reject-ser test-reject-ver"
-test8="test-multiple-scanners-r"
-
-output() {
- if [ $? -eq 0 ]; \
- then echo "PASS: $i"; \
- else echo "FAIL: $i"; \
- fi;
-}
-
-for i in $test1; do $i/$i < $i/test.input >/dev/null; output; done
-for i in $test2; do $i/$i >/dev/null; output; done
-for i in $test3; do cd $i; ./$i test-1.input >/dev/null; output; cd ..; done
-for i in $test4; do test `$i/$i < $i/test.input` -eq `$i/$i 1 < $i/test.input` >/dev/null; output; done
-for i in $test5; do $i/$i $i/test.input >/dev/null; output; done
-for i in $test6; do test-reject/$i < test-reject/test.input >/dev/null; output; done
-for i in $test7; do test-reject/$i test-reject/$i.tables < test-reject/test.input >/dev/null; output; done
-cd $test8; ./$test8 >/dev/null; i=$test8 output
+# make would want to rebuild some files with a compiler otherwise :-/
+make FLEX=/usr/bin/flex -t check-TESTS || true
+make FLEX=/usr/bin/flex check-TESTS
diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc
index fbe921b..e23bb3d 100644
--- a/meta/recipes-devtools/flex/flex.inc
+++ b/meta/recipes-devtools/flex/flex.inc
@@ -5,12 +5,9 @@ HOMEPAGE = "http://sourceforge.net/projects/flex/"
SECTION = "devel"
LICENSE = "BSD"
-DEPENDS += "${@'bison-native flex-native' if '${PTEST_ENABLED}' == '1' else ''}"
+DEPENDS_class-target += "bison-native flex-native"
-SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
- file://0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch \
- file://run-ptest \
-"
+UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar"
inherit autotools gettext texinfo ptest
@@ -20,6 +17,7 @@ M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
EXTRA_OECONF += "ac_cv_path_M4=${M4}"
EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"
+EXTRA_OEMAKE_class-target += "FLEX=`which flex`"
do_install_append_class-native() {
create_wrapper ${D}/${bindir}/flex M4=${M4}
@@ -30,16 +28,16 @@ do_install_append_class-nativesdk() {
}
RDEPENDS_${PN} += "m4"
+RDEPENDS_${PN}-ptest += "bash gawk"
do_compile_ptest() {
- for i in `find ${S}/tests/ -type d |grep -Ev "concatenated-options|reject|table-opts" | awk -F/ '{print $NF}'`; \
- do oe_runmake -C ${S}/tests/$i -f ${B}/tests/$i/Makefile top_builddir=${B} FLEX=flex $i; \
- done
- oe_runmake -C ${S}/tests/test-reject -f ${B}/tests/test-reject/Makefile top_builddir=${B} FLEX=flex test-reject-nr test-reject-r test-reject-ser test-reject-ver
+ oe_runmake -C ${B}/tests -f ${B}/tests/Makefile top_builddir=${B} INCLUDES=-I${S}/src FLEX=`which flex` buildtests
}
do_install_ptest() {
- for i in `find ${S}/tests/ -type d | awk -F/ '{print $NF}'`; \
- do cp -r ${S}/tests/$i ${D}${PTEST_PATH}; \
- done
+ mkdir -p ${D}${PTEST_PATH}/build-aux/
+ cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
+ cp -r ${S}/tests/* ${D}${PTEST_PATH}
+ cp -r ${B}/tests/* ${D}${PTEST_PATH}
+ sed -e 's/^Makefile:/_Makefile:/' -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' -i ${D}${PTEST_PATH}/Makefile
}
diff --git a/meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch b/meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch
new file mode 100644
index 0000000..556c240
--- /dev/null
+++ b/meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch
@@ -0,0 +1,28 @@
+From b4aa18d939fc0c8825fa584dfcee1a7da61099cf Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin at gmail.com>
+Date: Thu, 10 Dec 2015 16:09:26 +0200
+Subject: [PATCH] tests: add a target for building tests without running them
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
+---
+ tests/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 4ac3c17..0025cfe 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -21,6 +21,9 @@
+
+ TESTS = $(check_PROGRAMS) options.cn
+
++# This allows building tests without running them
++buildtests: $(TESTS)
++
+ # The script testwrapper.sh will run most tests as is. A couple tests
+ # in the suite end in .reject, .table and the like so that we can pass
+ # different arguments to the test runner. We list those extensions so
+--
+2.6.2
+
diff --git a/meta/recipes-devtools/flex/flex_2.5.39.bb b/meta/recipes-devtools/flex/flex_2.5.39.bb
deleted file mode 100644
index 7485743..0000000
--- a/meta/recipes-devtools/flex/flex_2.5.39.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require flex.inc
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += "file://do_not_create_pdf_doc.patch"
-
-SRC_URI[md5sum] = "77d44c6bb8c0705e0017ab9a84a1502b"
-SRC_URI[sha256sum] = "add2b55f3bc38cb512b48fad7d72f43b11ef244487ff25fc00aabec1e32b617f"
diff --git a/meta/recipes-devtools/flex/flex_2.6.0.bb b/meta/recipes-devtools/flex/flex_2.6.0.bb
new file mode 100644
index 0000000..ecacd60
--- /dev/null
+++ b/meta/recipes-devtools/flex/flex_2.6.0.bb
@@ -0,0 +1,13 @@
+require flex.inc
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
+ file://run-ptest \
+ file://do_not_create_pdf_doc.patch \
+ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
+ "
+
+SRC_URI[md5sum] = "266270f13c48ed043d95648075084d59"
+SRC_URI[sha256sum] = "24e611ef5a4703a191012f80c1027dc9d12555183ce0ecd46f3636e587e9b8e9"
--
2.6.2
More information about the Openembedded-core
mailing list