From 3821e2741c4a7200c8149a2db2185d695c37d825 Mon Sep 17 00:00:00 2001 From: Patsy Franklin Date: Wed, 27 Jul 2016 13:59:22 -0400 Subject: [PATCH 01/43] Resolves: #1360744 Fix wrong type on num_to_read. --- flex-2.6.0-num_to_read.patch | 36 ++++++++++++++++++++++++++++++++++++ flex.spec | 7 ++++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 flex-2.6.0-num_to_read.patch diff --git a/flex-2.6.0-num_to_read.patch b/flex-2.6.0-num_to_read.patch new file mode 100644 index 0000000..8c1ab69 --- /dev/null +++ b/flex-2.6.0-num_to_read.patch @@ -0,0 +1,36 @@ +diff -Nrup a/src/flex.skl b/src/flex.skl +--- a/src/flex.skl 2016-07-27 11:11:48.528378027 -0400 ++++ b/src/flex.skl 2016-07-27 11:14:03.012351701 -0400 +@@ -1718,7 +1718,7 @@ int yyFlexLexer::yy_get_next_buffer() + + else + { +- yy_size_t num_to_read = ++ int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) +diff -Nrup a/src/scan.c b/src/scan.c +--- a/src/scan.c 2015-11-17 11:17:41.000000000 -0500 ++++ b/src/scan.c 2016-07-27 11:14:18.126674417 -0400 +@@ -4181,7 +4181,7 @@ static int yy_get_next_buffer (void) + + else + { +- yy_size_t num_to_read = ++ int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) +diff -Nrup a/src/skel.c b/src/skel.c +--- a/src/skel.c 2015-11-17 11:17:39.000000000 -0500 ++++ b/src/skel.c 2016-07-27 11:14:36.362857240 -0400 +@@ -1929,7 +1929,7 @@ const char *skel[] = { + "", + " else", + " {", +- " yy_size_t num_to_read =", ++ " int num_to_read =", + " YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;", + "", + " while ( num_to_read <= 0 )", diff --git a/flex.spec b/flex.spec index 765ed2b..6d67b67 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.0 -Release: 1%{?dist} +Release: 2%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -14,6 +14,7 @@ URL: http://flex.sourceforge.net/ Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 Patch0: flex-2.6.0-yyless.patch +Patch1: flex-2.6.0-num_to_read.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: m4 @@ -61,6 +62,7 @@ plain text and PDF formats. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %configure --docdir=%{_pkgdocdir} CFLAGS="-fPIC $RPM_OPT_FLAGS" @@ -133,6 +135,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Wed Jul 27 2016 Patsy Franklin - 2.6.0-2 + Fix wrong type on num_to_read. BZ #1360744 + * Thu Mar 10 2016 Patsy Franklin - 2.6.0-1 - Rebase to 2.6.0 - Pick up an additional patch requested in BZ #1281976 From e12b8361fac0e4be9aa5d3cf5759b8b2805c2040 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 13 Sep 2016 08:56:11 -0500 Subject: [PATCH 02/43] 2.6.1-1 - Rebase to 2.6.1 (#1318074,#1364943) - update URL (github), drop unused patches (#1238860) --- .gitignore | 1 + ...-Do-not-use-obsolete-bison-construct.patch | 79 ------------------- flex-2.6.0-num_to_read.patch | 36 --------- flex.spec | 14 ++-- sources | 2 +- 5 files changed, 10 insertions(+), 122 deletions(-) delete mode 100644 0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch delete mode 100644 flex-2.6.0-num_to_read.patch diff --git a/.gitignore b/.gitignore index 2c6fdac..bba8076 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ flex-2.5.35.tar.bz2 /flex-2.5.37.tar.bz2 /flex-2.5.39.tar.bz2 /flex-2.6.0.tar.bz2 +/flex-2.6.1.tar.xz diff --git a/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch b/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch deleted file mode 100644 index eb46be3..0000000 --- a/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 35aba3d6e3c99fcd527c677bef8efeb59963fe8a Mon Sep 17 00:00:00 2001 -Message-Id: <35aba3d6e3c99fcd527c677bef8efeb59963fe8a.1397340102.git.srivasta@golden-gryphon.com> -From: Manoj Srivastava -Date: Wed, 9 Apr 2014 00:23:07 -0700 -Subject: [PATCH 1/1] [bison-test-fixes] 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 ---- - tests/test-bison-yylloc/parser.y | 4 ++-- - tests/test-bison-yylval/parser.y | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - 50.0% tests/test-bison-yylloc/ - 50.0% tests/test-bison-yylval/ - -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 - #include -@@ -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.2 - diff --git a/flex-2.6.0-num_to_read.patch b/flex-2.6.0-num_to_read.patch deleted file mode 100644 index 8c1ab69..0000000 --- a/flex-2.6.0-num_to_read.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -Nrup a/src/flex.skl b/src/flex.skl ---- a/src/flex.skl 2016-07-27 11:11:48.528378027 -0400 -+++ b/src/flex.skl 2016-07-27 11:14:03.012351701 -0400 -@@ -1718,7 +1718,7 @@ int yyFlexLexer::yy_get_next_buffer() - - else - { -- yy_size_t num_to_read = -+ int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) -diff -Nrup a/src/scan.c b/src/scan.c ---- a/src/scan.c 2015-11-17 11:17:41.000000000 -0500 -+++ b/src/scan.c 2016-07-27 11:14:18.126674417 -0400 -@@ -4181,7 +4181,7 @@ static int yy_get_next_buffer (void) - - else - { -- yy_size_t num_to_read = -+ int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) -diff -Nrup a/src/skel.c b/src/skel.c ---- a/src/skel.c 2015-11-17 11:17:39.000000000 -0500 -+++ b/src/skel.c 2016-07-27 11:14:36.362857240 -0400 -@@ -1929,7 +1929,7 @@ const char *skel[] = { - "", - " else", - " {", -- " yy_size_t num_to_read =", -+ " int num_to_read =", - " YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;", - "", - " while ( num_to_read <= 0 )", diff --git a/flex.spec b/flex.spec index 6d67b67..3824420 100644 --- a/flex.spec +++ b/flex.spec @@ -2,19 +2,18 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex -Version: 2.6.0 -Release: 2%{?dist} +Version: 2.6.1 +Release: 1%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. # gettext.h (copied from gnulib) is under LGPLv2+ License: BSD and LGPLv2+ Group: Development/Tools -URL: http://flex.sourceforge.net/ -Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +URL: https://github.com/westes/flex +Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.xz Patch0: flex-2.6.0-yyless.patch -Patch1: flex-2.6.0-num_to_read.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: m4 @@ -62,7 +61,6 @@ plain text and PDF formats. %prep %setup -q %patch0 -p1 -%patch1 -p1 %build %configure --docdir=%{_pkgdocdir} CFLAGS="-fPIC $RPM_OPT_FLAGS" @@ -135,6 +133,10 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Tue Sep 13 2016 Rex Dieter - 2.6.1-1 +- Rebase to 2.6.1 (#1318074,#1364943) +- update URL (github), drop unused patches (#1238860) + * Wed Jul 27 2016 Patsy Franklin - 2.6.0-2 Fix wrong type on num_to_read. BZ #1360744 diff --git a/sources b/sources index 628235b..19ee67c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -266270f13c48ed043d95648075084d59 flex-2.6.0.tar.bz2 +cd3c86290fc2676a641aefafeb10848a flex-2.6.1.tar.xz From c92a3e6ae8436adf2239a9f58b0979a06a78b32a Mon Sep 17 00:00:00 2001 From: Patsy Franklin Date: Sun, 25 Sep 2016 15:09:09 -0400 Subject: [PATCH 03/43] Resolves: #1373601 - Fix several type comparison issues including BZ #1373601 --- flex-max_size.patch | 37 ++++++++++++++++++++++++++++++++++++ flex-new_size.patch | 19 +++++++++++++++++++ flex-yy_buf_size.patch | 43 ++++++++++++++++++++++++++++++++++++++++++ flex.spec | 11 ++++++++++- 4 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 flex-max_size.patch create mode 100644 flex-new_size.patch create mode 100644 flex-yy_buf_size.patch diff --git a/flex-max_size.patch b/flex-max_size.patch new file mode 100644 index 0000000..83d6753 --- /dev/null +++ b/flex-max_size.patch @@ -0,0 +1,37 @@ +commit 3946924ed5e77420c453bf841603c7278766093a +Author: rlar +Date: Sun Feb 28 15:20:31 2016 +0100 + + generated code, `max_size' seems to be of type `int', fix casts accordingly + +diff --git a/src/gen.c b/src/gen.c +index 21b27ae..d31aab3 100644 +--- a/src/gen.c ++++ b/src/gen.c +@@ -1875,7 +1875,7 @@ void make_tables (void) + if (!C_plus_plus) { + if (use_read) { + outn ("\terrno=0; \\"); +- outn ("\twhile ( (result = (int) read( fileno(yyin), buf, max_size )) < 0 ) \\"); ++ outn ("\twhile ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \\"); + outn ("\t{ \\"); + outn ("\t\tif( errno != EINTR) \\"); + outn ("\t\t{ \\"); +@@ -1891,7 +1891,7 @@ void make_tables (void) + outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); + outn ("\t\t{ \\"); + outn ("\t\tint c = '*'; \\"); +- outn ("\t\tsize_t n; \\"); ++ outn ("\t\tint n; \\"); + outn ("\t\tfor ( n = 0; n < max_size && \\"); + outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); + outn ("\t\t\tbuf[n] = (char) c; \\"); +@@ -1904,7 +1904,7 @@ void make_tables (void) + outn ("\telse \\"); + outn ("\t\t{ \\"); + outn ("\t\terrno=0; \\"); +- outn ("\t\twhile ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \\"); ++ outn ("\t\twhile ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \\"); + outn ("\t\t\t{ \\"); + outn ("\t\t\tif( errno != EINTR) \\"); + outn ("\t\t\t\t{ \\"); diff --git a/flex-new_size.patch b/flex-new_size.patch new file mode 100644 index 0000000..8de8bc3 --- /dev/null +++ b/flex-new_size.patch @@ -0,0 +1,19 @@ +commit 986bb5e29492a927a2ad157505c900f75c97016a +Author: rlar +Date: Sun Feb 28 15:20:31 2016 +0100 + + generated code, here `new_size' is of type `int', fix casts accordingly + +diff --git a/src/flex.skl b/src/flex.skl +index 2c25d21..540ce95 100644 +--- a/src/flex.skl ++++ b/src/flex.skl +@@ -1782,7 +1782,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], + /* Extend the array by 50%, plus the number we really need. */ + int new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( +- (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size M4_YY_CALL_LAST_ARG ); ++ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size M4_YY_CALL_LAST_ARG ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } diff --git a/flex-yy_buf_size.patch b/flex-yy_buf_size.patch new file mode 100644 index 0000000..7031eb7 --- /dev/null +++ b/flex-yy_buf_size.patch @@ -0,0 +1,43 @@ +commit 33dd868353ab98bc33363d43be5a8b0e7e049072 +Author: rlar +Date: Sun Feb 28 15:20:31 2016 +0100 + + generated code, `yy_buf_size' is of type `int', fix casts accordingly + +diff --git a/src/flex.skl b/src/flex.skl +index 0631725..2c25d21 100644 +--- a/src/flex.skl ++++ b/src/flex.skl +@@ -1732,7 +1732,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yyrealloc( (void *) b->yy_ch_buf, +- b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG ); ++ (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG ); + } + else + /* Can't grow it, we don't own it. */ +@@ -2102,12 +2102,12 @@ static void yy_load_buffer_state YYFARGS0(void) + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + +- b->yy_buf_size = (yy_size_t)size; ++ b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ +- b->yy_ch_buf = (char *) yyalloc( b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG ); ++ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + +@@ -2397,7 +2397,7 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size) + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + +- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ ++ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = NULL; diff --git a/flex.spec b/flex.spec index 3824420..49de7e9 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 1%{?dist} +Release: 2%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -14,6 +14,9 @@ URL: https://github.com/westes/flex Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.xz Patch0: flex-2.6.0-yyless.patch +Patch1: flex-max_size.patch +Patch2: flex-new_size.patch +Patch3: flex-yy_buf_size.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: m4 @@ -61,6 +64,9 @@ plain text and PDF formats. %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %configure --docdir=%{_pkgdocdir} CFLAGS="-fPIC $RPM_OPT_FLAGS" @@ -133,6 +139,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Sun Sep 25 2016 Patsy Franklin - 2.6.1-2 +- Fix several type comparison issues including BZ #1373601 + * Tue Sep 13 2016 Rex Dieter - 2.6.1-1 - Rebase to 2.6.1 (#1318074,#1364943) - update URL (github), drop unused patches (#1238860) From 26fe0dfe580bba78517ca44cb4bd755be0cde4f5 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 1 Feb 2017 20:01:52 -0500 Subject: [PATCH 04/43] Add missing %license macro --- flex.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/flex.spec b/flex.spec index 49de7e9..e7e4dd4 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 2%{?dist} +Release: 3%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -120,7 +120,7 @@ rm -rf ${RPM_BUILD_ROOT} %files -f flex.lang %defattr(-,root,root) %dir %{_pkgdocdir} -%{_pkgdocdir}/COPYING +%license COPYING %{_pkgdocdir}/NEWS %{_pkgdocdir}/README %{_bindir}/* @@ -131,7 +131,7 @@ rm -rf ${RPM_BUILD_ROOT} %files devel %defattr(-,root,root) %dir %{_pkgdocdir} -%{_pkgdocdir}/COPYING +%license COPYING %{_libdir}/*.a %files doc @@ -139,6 +139,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Wed Feb 01 2017 Stephen Gallagher - 2.6.1-3 +- Add missing %%license macro + * Sun Sep 25 2016 Patsy Franklin - 2.6.1-2 - Fix several type comparison issues including BZ #1373601 From cf8a163ba8ea2aaf443fef0e6eb463f39b215420 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 08:29:38 +0000 Subject: [PATCH 05/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index e7e4dd4..ae19ea3 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 3%{?dist} +Release: 4%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -139,6 +139,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 2.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Wed Feb 01 2017 Stephen Gallagher - 2.6.1-3 - Add missing %%license macro From c8b4c0b5fbb657371da79d56620e157b267099ca Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 20:38:20 +0000 Subject: [PATCH 06/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index ae19ea3..fd4538f 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 4%{?dist} +Release: 5%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -139,6 +139,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 2.6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 2.6.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 0ef95e75c4267f90bdc8aec66cfe4ef6e4f3dbad Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 09:48:40 +0000 Subject: [PATCH 07/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index fd4538f..3f93aea 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 5%{?dist} +Release: 6%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -139,6 +139,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 2.6.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Aug 02 2017 Fedora Release Engineering - 2.6.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 16384829830f22df4a91778c9b9c96bd6970754e Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 9 Feb 2018 09:04:29 +0100 Subject: [PATCH 08/43] Escape macros in %changelog Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/ Signed-off-by: Igor Gnatenko --- flex.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/flex.spec b/flex.spec index 3f93aea..14e2487 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 6%{?dist} +Release: 7%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -139,6 +139,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_pkgdocdir} %changelog +* Fri Feb 09 2018 Igor Gnatenko - 2.6.1-7 +- Escape macros in %%changelog + * Wed Feb 07 2018 Fedora Release Engineering - 2.6.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild @@ -191,7 +194,7 @@ rm -rf ${RPM_BUILD_ROOT} * Wed Apr 16 2014 Patsy Franklin - 2.5.37-5 - Add a patch to remove obsolete bison constructs YYLEX_PARAM and - YYPARSE_PARAM. Use %lex-param, %parse-param, or %param. + YYPARSE_PARAM. Use %%lex-param, %%parse-param, or %%param. * Tue Sep 3 2013 Petr Machata - 2.5.37-4 - Add a patch for "comparison between signed and unsigned" warnings From c7df4d76eee9babecb479e7da9aa120bcef291e8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 13 Feb 2018 23:22:34 +0100 Subject: [PATCH 09/43] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- flex.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/flex.spec b/flex.spec index 14e2487..79f5ecb 100644 --- a/flex.spec +++ b/flex.spec @@ -18,7 +18,6 @@ Patch1: flex-max_size.patch Patch2: flex-new_size.patch Patch3: flex-yy_buf_size.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: m4 BuildRequires: gettext bison m4 help2man Requires(post): /sbin/install-info From 3a93f140805c8c116d429229a100d50beb8d3840 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 09:06:51 +0100 Subject: [PATCH 10/43] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- flex.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/flex.spec b/flex.spec index 79f5ecb..37ee262 100644 --- a/flex.spec +++ b/flex.spec @@ -113,9 +113,6 @@ echo ============TESTING=============== make check echo ============END TESTING=========== -%clean -rm -rf ${RPM_BUILD_ROOT} - %files -f flex.lang %defattr(-,root,root) %dir %{_pkgdocdir} From 2aa1cb2053cbf192a27a5c3aa2ad002e82b251d9 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Wed, 27 Jun 2018 14:05:06 +0200 Subject: [PATCH 11/43] Include quilt tooling and convert patches to be used with quilt This is not a functional change and merely adds quilt scripts and a README explaining their usage. In addition, it rewrites patch levels to be in line with the result of 'quilt refresh -p ab'. No source changes are involved and the source files are identical. --- .gitignore | 1 + README.quilt | 40 ++++++++++++++++++++++++++++++++++++++++ flex-2.6.0-yyless.patch | 13 +++++++------ flex-max_size.patch | 4 ++-- flex-new_size.patch | 4 ++-- flex-yy_buf_size.patch | 8 ++++---- gen-quilt-series.sh | 34 ++++++++++++++++++++++++++++++++++ quilt-patch.sh | 22 ++++++++++++++++++++++ 8 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 README.quilt create mode 100755 gen-quilt-series.sh create mode 100755 quilt-patch.sh diff --git a/.gitignore b/.gitignore index bba8076..c92bc60 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ flex-2.5.35.tar.bz2 /flex-2.5.39.tar.bz2 /flex-2.6.0.tar.bz2 /flex-2.6.1.tar.xz +series diff --git a/README.quilt b/README.quilt new file mode 100644 index 0000000..e53b9b9 --- /dev/null +++ b/README.quilt @@ -0,0 +1,40 @@ +This package supports working with patch files using quilt. + +To regenerate the quilt series file run: +./gen-quilt-series.sh + +Setup environment: +export QUILT_PATCHES=$PWD + +Setup the source: +./quilt-patch.sh [-f] + +Use `-f` if you want to have quilt-patch always remove the existing +source directory before starting. Otherwise you'll be patching on top of +an already patched tree generated perhaps by `*pkg prep`. + +To add a new patch: + +Option 1: Create a new patch: + +cd flex-2.6.1/ +quilt new flex-rh1439367.patch +quilt add tests/test-bison-yylloc/parser.y +# edit tests/test-bison-yylloc/parser.y +# you may add and edit several files in the same fashion + +Option 2: Add an already prepared patch (e.g. from an upstream commit): + +cd flex-2.6.1/ +quilt import -P flex-rh1439367.patch ~/backport/obsolete-bison.patch +quilt push # if this fails, manually deal with conflicts (as in Option 1) + +Finally: +quilt refresh -p ab +cd .. +git add flex-rh1439367.patch +# edit flex.spec to build with the new patch +git add flex.spec +git commit + +You're done! diff --git a/flex-2.6.0-yyless.patch b/flex-2.6.0-yyless.patch index 4bb7c3e..bf7cf6f 100644 --- a/flex-2.6.0-yyless.patch +++ b/flex-2.6.0-yyless.patch @@ -1,7 +1,8 @@ -diff -Nrup a/src/flex.skl b/src/flex.skl ---- a/src/flex.skl 2015-11-10 18:28:54.000000000 -0500 -+++ b/src/flex.skl 2016-03-07 23:52:46.527139783 -0500 -@@ -506,7 +506,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], +Index: b/src/flex.skl +=================================================================== +--- a/src/flex.skl ++++ b/src/flex.skl +@@ -494,7 +494,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], */ #define YY_LESS_LINENO(n) \ do { \ @@ -10,7 +11,7 @@ diff -Nrup a/src/flex.skl b/src/flex.skl for ( yyl = n; yyl < yyleng; ++yyl )\ if ( yytext[yyl] == '\n' )\ --yylineno;\ -@@ -532,7 +532,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], +@@ -520,7 +520,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], do \ { \ /* Undo effects of setting up yytext. */ \ @@ -19,7 +20,7 @@ diff -Nrup a/src/flex.skl b/src/flex.skl YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = YY_G(yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ -@@ -2591,7 +2591,7 @@ void yyFlexLexer::LexerError( yyconst ch +@@ -2576,7 +2576,7 @@ void yyFlexLexer::LexerError( yyconst ch do \ { \ /* Undo effects of setting up yytext. */ \ diff --git a/flex-max_size.patch b/flex-max_size.patch index 83d6753..133cfc1 100644 --- a/flex-max_size.patch +++ b/flex-max_size.patch @@ -4,8 +4,8 @@ Date: Sun Feb 28 15:20:31 2016 +0100 generated code, `max_size' seems to be of type `int', fix casts accordingly -diff --git a/src/gen.c b/src/gen.c -index 21b27ae..d31aab3 100644 +Index: b/src/gen.c +=================================================================== --- a/src/gen.c +++ b/src/gen.c @@ -1875,7 +1875,7 @@ void make_tables (void) diff --git a/flex-new_size.patch b/flex-new_size.patch index 8de8bc3..8f7fb5c 100644 --- a/flex-new_size.patch +++ b/flex-new_size.patch @@ -4,8 +4,8 @@ Date: Sun Feb 28 15:20:31 2016 +0100 generated code, here `new_size' is of type `int', fix casts accordingly -diff --git a/src/flex.skl b/src/flex.skl -index 2c25d21..540ce95 100644 +Index: b/src/flex.skl +=================================================================== --- a/src/flex.skl +++ b/src/flex.skl @@ -1782,7 +1782,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], diff --git a/flex-yy_buf_size.patch b/flex-yy_buf_size.patch index 7031eb7..fcf1e2e 100644 --- a/flex-yy_buf_size.patch +++ b/flex-yy_buf_size.patch @@ -4,8 +4,8 @@ Date: Sun Feb 28 15:20:31 2016 +0100 generated code, `yy_buf_size' is of type `int', fix casts accordingly -diff --git a/src/flex.skl b/src/flex.skl -index 0631725..2c25d21 100644 +Index: b/src/flex.skl +=================================================================== --- a/src/flex.skl +++ b/src/flex.skl @@ -1732,7 +1732,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], @@ -17,7 +17,7 @@ index 0631725..2c25d21 100644 } else /* Can't grow it, we don't own it. */ -@@ -2102,12 +2102,12 @@ static void yy_load_buffer_state YYFARGS0(void) +@@ -2102,12 +2102,12 @@ static void yy_load_buffer_state YYFARG if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -32,7 +32,7 @@ index 0631725..2c25d21 100644 if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); -@@ -2397,7 +2397,7 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size) +@@ -2397,7 +2397,7 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2 if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); diff --git a/gen-quilt-series.sh b/gen-quilt-series.sh new file mode 100755 index 0000000..6a2fc3a --- /dev/null +++ b/gen-quilt-series.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Autogenerates the quilt `series` from the patch order in the spec file. +# We don't use `quilt setup` because it makes a huge mess and doesn't work. +component="flex" +rm -f series.new +extra_args="--fuzz=0" +count=0 +# Filter out the patches, and use `_` as our pseudo-IFS to prevent expansion. +for i in `grep '^%patch' flex.spec | sed -e 's,%patch,,g' -e 's, ,_,g'`; do + # Split the patch into number and arguments. + # 1 - Patch number. + # 2-N - Patch arguments. + # Get back our elements by undoing pseudo-IFS change. + elements=(`echo $i | sed -e 's,_, ,g'`) + num=${elements[0]} + args=${elements[@]:1} + # Find the next patch that applies in order and write it out. + # This way we transform the patch # list into a patch file list in order. + grep "Patch${num}: " flex.spec \ + | sed -e 's,Patch.*: ,,g' -e "s,\$, ${args[@]} ${extra_args},g" \ + | sed -e "s,%{name},${component},g" \ + >> series.new + ((count++)) +done +# Double check we processed the correct number of patches. +fcount=`wc -l series.new | sed -e 's, .*$,,g'` +if [ $fcount -ne $count ]; then + echo "Error! Processed patch count doesn't match spec file count ($fcount != $count)." + exit 1 +fi +echo "Processed $count patches." +mv series.new series +echo "Generated quilt ./series file. Please do not commit." +exit 0 diff --git a/quilt-patch.sh b/quilt-patch.sh new file mode 100755 index 0000000..686d320 --- /dev/null +++ b/quilt-patch.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Patches are in the current directory. +export QUILT_PATCHES=$PWD +# Extract source file name from sources file, +# and assume it's the same name as the directory. +source=`awk -F '[() ]+' '/^[A-Z0-9]+ /{print $2}; /^[0-9a-f]+ /{print $2}' sources` +srcdir=${source%.tar.xz} +if [ "$1" == "-f" ] && [ -d "$srcdir" ]; then + echo Cleaning up $srcdir + rm -rf $srcdir +fi +if [ -d "$srcdir" ]; then + # Don't overwrite existing source directory. + echo "ERROR: Source directory $srcdir already exists. Use -f to force cleanup step." + exit 1 +fi +tar xvf $source +echo "Entering $srcdir" +pushd $srcdir +# Apply all patches. +quilt push -a +popd From 967afaa6d03d053f00d05592a5bdf7cfa5a40fee Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Wed, 27 Jun 2018 14:43:04 +0200 Subject: [PATCH 12/43] Remove g++ signed/unsigned comparison warning in generated scanner Compiling a flex generated scanner with g++ with all warnings turned on (-Wall) produces a warning due to "comparison of integer expressions of different signedness". This change removes the warning by using the same signedness. This bug was a regression inherited from upstream flex during the rebase to flex-2.6.1. The same bug was fixed previously (albeit differently) by commit a3088c99e8. --- flex-yybytes_len.patch | 24 ++++++++++++++++++++++++ flex.spec | 7 ++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 flex-yybytes_len.patch diff --git a/flex-yybytes_len.patch b/flex-yybytes_len.patch new file mode 100644 index 0000000..9d204da --- /dev/null +++ b/flex-yybytes_len.patch @@ -0,0 +1,24 @@ +commit cf4121fa97abac8aeaa5e08b8fc0b2380228494e +Author: rlar +Date: Sat Feb 27 22:46:02 2016 +0100 + + generated code, `_yybytes_len' is of type `int', fix code accordingly + +Index: b/src/flex.skl +=================================================================== +--- a/src/flex.skl ++++ b/src/flex.skl +@@ -2451,11 +2451,11 @@ YY_BUFFER_STATE yy_scan_bytes YYFARGS2( + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; +- yy_size_t i; ++ int i; + m4_dnl M4_YY_DECL_GUTS_VAR(); + + /* Get memory for full buffer, including space for trailing EOB's. */ +- n = (yy_size_t) _yybytes_len + 2; ++ n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); diff --git a/flex.spec b/flex.spec index 37ee262..e8b73d7 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 7%{?dist} +Release: 8%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -17,6 +17,7 @@ Patch0: flex-2.6.0-yyless.patch Patch1: flex-max_size.patch Patch2: flex-new_size.patch Patch3: flex-yy_buf_size.patch +Patch4: flex-yybytes_len.patch Requires: m4 BuildRequires: gettext bison m4 help2man @@ -66,6 +67,7 @@ plain text and PDF formats. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build %configure --docdir=%{_pkgdocdir} CFLAGS="-fPIC $RPM_OPT_FLAGS" @@ -135,6 +137,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Wed Jun 27 2018 Arjun Shankar - 2.6.1-8 +- Remove g++ signed/unsigned comparison warning in generated scanner + * Fri Feb 09 2018 Igor Gnatenko - 2.6.1-7 - Escape macros in %%changelog From 46592962ea508cf4f2e36fb680b6ddb6f7378fb4 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:44 +0200 Subject: [PATCH 13/43] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- flex.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/flex.spec b/flex.spec index e8b73d7..608bec6 100644 --- a/flex.spec +++ b/flex.spec @@ -20,6 +20,7 @@ Patch3: flex-yy_buf_size.patch Patch4: flex-yybytes_len.patch Requires: m4 +BuildRequires: gcc BuildRequires: gettext bison m4 help2man Requires(post): /sbin/install-info Requires(preun): /sbin/install-info From 7ee751b935acaf1dc5d29900c4a480d24011c80c Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 00:50:56 -0500 Subject: [PATCH 14/43] Remove needless use of %defattr --- flex.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/flex.spec b/flex.spec index 608bec6..b78754a 100644 --- a/flex.spec +++ b/flex.spec @@ -117,7 +117,6 @@ make check echo ============END TESTING=========== %files -f flex.lang -%defattr(-,root,root) %dir %{_pkgdocdir} %license COPYING %{_pkgdocdir}/NEWS @@ -128,13 +127,11 @@ echo ============END TESTING=========== %{_infodir}/flex.info* %files devel -%defattr(-,root,root) %dir %{_pkgdocdir} %license COPYING %{_libdir}/*.a %files doc -%defattr(-,root,root) %{_pkgdocdir} %changelog From 24741c559e8bfd172e92f0f36323fd177b99909f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 00:38:51 +0000 Subject: [PATCH 15/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index b78754a..5f3bc5d 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 8%{?dist} +Release: 9%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -135,6 +135,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 2.6.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Jun 27 2018 Arjun Shankar - 2.6.1-8 - Remove g++ signed/unsigned comparison warning in generated scanner From c6ddf9b3288776a33b5b8efbfd6d6a88406926f9 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 23 Jul 2018 16:58:05 +0200 Subject: [PATCH 16/43] Add gcc-c++ to BuildRequires --- flex.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flex.spec b/flex.spec index 5f3bc5d..2dafd28 100644 --- a/flex.spec +++ b/flex.spec @@ -20,8 +20,7 @@ Patch3: flex-yy_buf_size.patch Patch4: flex-yybytes_len.patch Requires: m4 -BuildRequires: gcc -BuildRequires: gettext bison m4 help2man +BuildRequires: gettext bison m4 help2man gcc gcc-c++ Requires(post): /sbin/install-info Requires(preun): /sbin/install-info @@ -135,6 +134,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Mon Jul 23 2018 Arjun Shankar - 2.6.1-10 +- Add gcc-c++ as a build-time requirement + * Fri Jul 13 2018 Fedora Release Engineering - 2.6.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From ffa5f9318b2f8b35691ecc6e04791d9159002695 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 23 Jul 2018 18:13:55 +0200 Subject: [PATCH 17/43] Bump release The release bump was missed during the previous change. --- flex.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 2dafd28..36b75ac 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.1 -Release: 9%{?dist} +Release: 10%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. From c0c5e9ed4b9876af4c487143a10d0364c940e893 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 3 Sep 2018 18:20:44 +0200 Subject: [PATCH 18/43] Rebase to 2.6.4 (#1389575) This patch rebases flex to upstream version 2.6.4 and thus drops all backported upstream patches that the package has been carrying so far. One exception is flex-2.6.0-yyless.patch which has no equivalent upstream. I could not track the origin of this patch because flex development moved from SourceForge to GitHub and in the process, sourceforge bug tracker content has been lost. However, RHBZ #1281976 seems to suggest that this patch was included in order to fix a libreswan build failure caused by a flex integer comparison type mismatch bug. I dropped flex-2.6.0-yyless.patch and confirmed that the Fedora libreswan package corresponding to libreswan-3.25 builds successfully despite this patch being dropped. Additionally, flex-2.6.4 FTBFS because it uses reallocarray but does not define _GNU_SOURCE leading to a missing prototype for reallocarray. This commit also includes the upstream patch that fixes this. The patch modifies configure.ac, which necessitates executing autoreconf at build time and thus a corresponding set of new build dependencies. --- .gitignore | 1 + flex-2.6.0-yyless.patch | 31 ----------------------------- flex-max_size.patch | 37 ----------------------------------- flex-new_size.patch | 19 ------------------ flex-rh1389575.patch | 39 +++++++++++++++++++++++++++++++++++++ flex-yy_buf_size.patch | 43 ----------------------------------------- flex-yybytes_len.patch | 24 ----------------------- flex.spec | 27 +++++++++++++------------- quilt-patch.sh | 2 +- sources | 2 +- 10 files changed, 55 insertions(+), 170 deletions(-) delete mode 100644 flex-2.6.0-yyless.patch delete mode 100644 flex-max_size.patch delete mode 100644 flex-new_size.patch create mode 100644 flex-rh1389575.patch delete mode 100644 flex-yy_buf_size.patch delete mode 100644 flex-yybytes_len.patch diff --git a/.gitignore b/.gitignore index c92bc60..b3edfc9 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ flex-2.5.35.tar.bz2 /flex-2.5.39.tar.bz2 /flex-2.6.0.tar.bz2 /flex-2.6.1.tar.xz +/flex-2.6.4.tar.gz series diff --git a/flex-2.6.0-yyless.patch b/flex-2.6.0-yyless.patch deleted file mode 100644 index bf7cf6f..0000000 --- a/flex-2.6.0-yyless.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: b/src/flex.skl -=================================================================== ---- a/src/flex.skl -+++ b/src/flex.skl -@@ -494,7 +494,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], - */ - #define YY_LESS_LINENO(n) \ - do { \ -- int yyl;\ -+ yy_size_t yyl;\ - for ( yyl = n; yyl < yyleng; ++yyl )\ - if ( yytext[yyl] == '\n' )\ - --yylineno;\ -@@ -520,7 +520,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], - do \ - { \ - /* Undo effects of setting up yytext. */ \ -- int yyless_macro_arg = (n); \ -+ yy_size_t yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = YY_G(yy_hold_char); \ - YY_RESTORE_YY_MORE_OFFSET \ -@@ -2576,7 +2576,7 @@ void yyFlexLexer::LexerError( yyconst ch - do \ - { \ - /* Undo effects of setting up yytext. */ \ -- int yyless_macro_arg = (n); \ -+ yy_size_t yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = YY_G(yy_hold_char); \ - YY_G(yy_c_buf_p) = yytext + yyless_macro_arg; \ diff --git a/flex-max_size.patch b/flex-max_size.patch deleted file mode 100644 index 133cfc1..0000000 --- a/flex-max_size.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit 3946924ed5e77420c453bf841603c7278766093a -Author: rlar -Date: Sun Feb 28 15:20:31 2016 +0100 - - generated code, `max_size' seems to be of type `int', fix casts accordingly - -Index: b/src/gen.c -=================================================================== ---- a/src/gen.c -+++ b/src/gen.c -@@ -1875,7 +1875,7 @@ void make_tables (void) - if (!C_plus_plus) { - if (use_read) { - outn ("\terrno=0; \\"); -- outn ("\twhile ( (result = (int) read( fileno(yyin), buf, max_size )) < 0 ) \\"); -+ outn ("\twhile ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \\"); - outn ("\t{ \\"); - outn ("\t\tif( errno != EINTR) \\"); - outn ("\t\t{ \\"); -@@ -1891,7 +1891,7 @@ void make_tables (void) - outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); - outn ("\t\t{ \\"); - outn ("\t\tint c = '*'; \\"); -- outn ("\t\tsize_t n; \\"); -+ outn ("\t\tint n; \\"); - outn ("\t\tfor ( n = 0; n < max_size && \\"); - outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); - outn ("\t\t\tbuf[n] = (char) c; \\"); -@@ -1904,7 +1904,7 @@ void make_tables (void) - outn ("\telse \\"); - outn ("\t\t{ \\"); - outn ("\t\terrno=0; \\"); -- outn ("\t\twhile ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \\"); -+ outn ("\t\twhile ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \\"); - outn ("\t\t\t{ \\"); - outn ("\t\t\tif( errno != EINTR) \\"); - outn ("\t\t\t\t{ \\"); diff --git a/flex-new_size.patch b/flex-new_size.patch deleted file mode 100644 index 8f7fb5c..0000000 --- a/flex-new_size.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 986bb5e29492a927a2ad157505c900f75c97016a -Author: rlar -Date: Sun Feb 28 15:20:31 2016 +0100 - - generated code, here `new_size' is of type `int', fix casts accordingly - -Index: b/src/flex.skl -=================================================================== ---- a/src/flex.skl -+++ b/src/flex.skl -@@ -1782,7 +1782,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], - /* Extend the array by 50%, plus the number we really need. */ - int new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( -- (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size M4_YY_CALL_LAST_ARG ); -+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size M4_YY_CALL_LAST_ARG ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } diff --git a/flex-rh1389575.patch b/flex-rh1389575.patch new file mode 100644 index 0000000..9095626 --- /dev/null +++ b/flex-rh1389575.patch @@ -0,0 +1,39 @@ +This patch fixes a flex-2.6.4 build failure on x86_64 and possibly other +architectures where `size_t' is larger than `int'. The failure occurs as +follows: + +A missing `reallocarray' prototype during compilation means that the +compiler assumes an `int' return type. When compiling with `-pie' (standard +for Fedora), addresses on the heap can be larger than `int' can store. Thus, +pointers returned from `reallocarray' are truncated and any read/write to +them leads to a SIGSEGV. + +From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001 +From: Explorer09 +Date: Mon, 4 Sep 2017 10:47:33 +0800 +Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac. + +This would, e.g. define _GNU_SOURCE in config.h, enabling the +reallocarray() prototype in glibc 2.26+ on Linux systems with that +version of glibc. + +Fixes #241. +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,10 @@ + # autoconf requirements and initialization + + AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) ++AC_PREREQ([2.60]) + AC_CONFIG_SRCDIR([src/scan.l]) + AC_CONFIG_AUX_DIR([build-aux]) ++AC_USE_SYSTEM_EXTENSIONS + LT_INIT + AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) + AC_CONFIG_HEADER([src/config.h]) diff --git a/flex-yy_buf_size.patch b/flex-yy_buf_size.patch deleted file mode 100644 index fcf1e2e..0000000 --- a/flex-yy_buf_size.patch +++ /dev/null @@ -1,43 +0,0 @@ -commit 33dd868353ab98bc33363d43be5a8b0e7e049072 -Author: rlar -Date: Sun Feb 28 15:20:31 2016 +0100 - - generated code, `yy_buf_size' is of type `int', fix casts accordingly - -Index: b/src/flex.skl -=================================================================== ---- a/src/flex.skl -+++ b/src/flex.skl -@@ -1732,7 +1732,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yyrealloc( (void *) b->yy_ch_buf, -- b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG ); -+ (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG ); - } - else - /* Can't grow it, we don't own it. */ -@@ -2102,12 +2102,12 @@ static void yy_load_buffer_state YYFARG - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - -- b->yy_buf_size = (yy_size_t)size; -+ b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ -- b->yy_ch_buf = (char *) yyalloc( b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG ); -+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - -@@ -2397,7 +2397,7 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2 - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - -- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ -+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = NULL; diff --git a/flex-yybytes_len.patch b/flex-yybytes_len.patch deleted file mode 100644 index 9d204da..0000000 --- a/flex-yybytes_len.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit cf4121fa97abac8aeaa5e08b8fc0b2380228494e -Author: rlar -Date: Sat Feb 27 22:46:02 2016 +0100 - - generated code, `_yybytes_len' is of type `int', fix code accordingly - -Index: b/src/flex.skl -=================================================================== ---- a/src/flex.skl -+++ b/src/flex.skl -@@ -2451,11 +2451,11 @@ YY_BUFFER_STATE yy_scan_bytes YYFARGS2( - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; -- yy_size_t i; -+ int i; - m4_dnl M4_YY_DECL_GUTS_VAR(); - - /* Get memory for full buffer, including space for trailing EOB's. */ -- n = (yy_size_t) _yybytes_len + 2; -+ n = (yy_size_t) (_yybytes_len + 2); - buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); diff --git a/flex.spec b/flex.spec index 36b75ac..56148c4 100644 --- a/flex.spec +++ b/flex.spec @@ -2,8 +2,8 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex -Version: 2.6.1 -Release: 10%{?dist} +Version: 2.6.4 +Release: 1%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -11,16 +11,12 @@ Release: 10%{?dist} License: BSD and LGPLv2+ Group: Development/Tools URL: https://github.com/westes/flex -Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.xz +Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.gz -Patch0: flex-2.6.0-yyless.patch -Patch1: flex-max_size.patch -Patch2: flex-new_size.patch -Patch3: flex-yy_buf_size.patch -Patch4: flex-yybytes_len.patch +Patch0: flex-rh1389575.patch Requires: m4 -BuildRequires: gettext bison m4 help2man gcc gcc-c++ +BuildRequires: gettext gettext-devel bison m4 help2man gcc gcc-c++ automake libtool Requires(post): /sbin/install-info Requires(preun): /sbin/install-info @@ -64,12 +60,9 @@ plain text and PDF formats. %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %build +autoreconf -i %configure --docdir=%{_pkgdocdir} CFLAGS="-fPIC $RPM_OPT_FLAGS" make %{?_smp_mflags} @@ -119,7 +112,7 @@ echo ============END TESTING=========== %dir %{_pkgdocdir} %license COPYING %{_pkgdocdir}/NEWS -%{_pkgdocdir}/README +%{_pkgdocdir}/README.md %{_bindir}/* %{_mandir}/man1/* %{_includedir}/FlexLexer.h @@ -134,6 +127,12 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Mon Sep 03 2018 Arjun Shankar - 2.6.4-1 +- Rebase to 2.6.4 +- Fix build failure due to missing include and `reallocarray' prototype +- Add gettext-devel, automake and libtool to build dependencies, and + execute `autoreconf -i' to regenerate files after patching configure.ac + * Mon Jul 23 2018 Arjun Shankar - 2.6.1-10 - Add gcc-c++ as a build-time requirement diff --git a/quilt-patch.sh b/quilt-patch.sh index 686d320..ff55b53 100755 --- a/quilt-patch.sh +++ b/quilt-patch.sh @@ -4,7 +4,7 @@ export QUILT_PATCHES=$PWD # Extract source file name from sources file, # and assume it's the same name as the directory. source=`awk -F '[() ]+' '/^[A-Z0-9]+ /{print $2}; /^[0-9a-f]+ /{print $2}' sources` -srcdir=${source%.tar.xz} +srcdir=${source%.tar.gz} if [ "$1" == "-f" ] && [ -d "$srcdir" ]; then echo Cleaning up $srcdir rm -rf $srcdir diff --git a/sources b/sources index 19ee67c..67236e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cd3c86290fc2676a641aefafeb10848a flex-2.6.1.tar.xz +SHA512 (flex-2.6.4.tar.gz) = e9785f3d620a204b7d20222888917dc065c2036cae28667065bf7862dfa1b25235095a12fd04efdbd09bfd17d3452e6b9ef953a8c1137862ff671c97132a082e From 61d01ac2729d571c8c33a907255049388cfdaebb Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 27 Jan 2019 15:30:36 +0100 Subject: [PATCH 19/43] Remove obsolete scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- flex.spec | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/flex.spec b/flex.spec index 56148c4..bf23350 100644 --- a/flex.spec +++ b/flex.spec @@ -17,8 +17,6 @@ Patch0: flex-rh1389575.patch Requires: m4 BuildRequires: gettext gettext-devel bison m4 help2man gcc gcc-c++ automake libtool -Requires(post): /sbin/install-info -Requires(preun): /sbin/install-info %description The flex program generates scanners. Scanners are programs which can @@ -91,18 +89,6 @@ find %{buildroot} -name '*.so.2.0.0' -delete %find_lang flex -%post -if [ -f %{_infodir}/flex.info.gz ]; then # for --excludedocs - /sbin/install-info %{_infodir}/flex.info.gz --dir-file=%{_infodir}/dir ||: -fi - -%preun -if [ $1 = 0 ]; then - if [ -f %{_infodir}/flex.info.gz ]; then # for --excludedocs - /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir ||: - fi -fi - %check echo ============TESTING=============== make check From 71b1cadc9c5f314717b5832d0ab990c80f221910 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:44 +0100 Subject: [PATCH 20/43] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- flex.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/flex.spec b/flex.spec index bf23350..2d833cd 100644 --- a/flex.spec +++ b/flex.spec @@ -9,7 +9,6 @@ Release: 1%{?dist} # let's assume that the relicensing was done. # gettext.h (copied from gnulib) is under LGPLv2+ License: BSD and LGPLv2+ -Group: Development/Tools URL: https://github.com/westes/flex Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.gz @@ -36,7 +35,6 @@ application development. # installations of flex. %package devel Summary: Libraries for flex scanner generator -Group: Development/Tools Obsoletes: flex-static < 2.5.35-15 Provides: flex-static @@ -48,7 +46,6 @@ instead of implementing their own. %package doc Summary: Documentation for flex scanner generator -Group: Documentation %description doc From f8de7fa8f1b1d8297bb57a565872d1b6f2130867 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 19:50:29 +0000 Subject: [PATCH 21/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 2d833cd..a7fffe5 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 1%{?dist} +Release: 2%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -110,6 +110,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 2.6.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Sep 03 2018 Arjun Shankar - 2.6.4-1 - Rebase to 2.6.4 - Fix build failure due to missing include and `reallocarray' prototype From b089780d0be6c157ac87e29ed3952d4061009629 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 00:42:58 +0000 Subject: [PATCH 22/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index a7fffe5..7652790 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 2%{?dist} +Release: 3%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -110,6 +110,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 2.6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 2.6.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From ad90513c6be11a74624e75cae3a2c3df31543fb8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 18:39:36 +0000 Subject: [PATCH 23/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 7652790..3a6f25c 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 3%{?dist} +Release: 4%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -110,6 +110,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 2.6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jul 25 2019 Fedora Release Engineering - 2.6.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From f0b1e7d68b13d787f04321aa691c10c8640f95ff Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 17:34:32 +0000 Subject: [PATCH 24/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 3a6f25c..a07ca11 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for creating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 4%{?dist} +Release: 5%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -110,6 +110,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 2.6.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 2.6.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 9adf2296f3603e2ee68328283ad625d080ae1c2a Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Fri, 21 Aug 2020 11:57:37 +0200 Subject: [PATCH 25/43] Re-work and rename flex subpackages, and provide shared libraries This resolves a user request for a shared library (#1327851) and harmonizes package names and content with Debian and SUSE. The following subpackage changes have been made: - Remove and obsolete the flex-devel subpackage containing static libraries - Provide shared libraries in a new subpackage named libfl2 - Provide development files in a new subpackage named libfl-devel - Provide static libraries in a new subpackage named libfl-static --- flex.spec | 76 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 19 deletions(-) diff --git a/flex.spec b/flex.spec index a07ca11..3bc94c0 100644 --- a/flex.spec +++ b/flex.spec @@ -1,9 +1,9 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} -Summary: A tool for creating scanners (text pattern recognizers) +Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 5%{?dist} +Release: 6%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -33,23 +33,54 @@ application development. # We keep the libraries in separate sub-package to allow for multilib # installations of flex. -%package devel -Summary: Libraries for flex scanner generator + +%define somajor 2 + +%package -n libfl%{somajor} +Summary: Libraries for the flex scanner generator + +%description -n libfl%{somajor} +flex is a tool for generating scanners. + +This package contains the shared library with default implementations of +`main' and `yywrap' functions that binaries using flex can choose to link +against instead of implementing on their own. + +%package -n libfl-devel +Summary: Development files for the flex scanner generator +Requires: libfl%{somajor} = %{version}-%{release} + +%description -n libfl-devel +flex is a tool for generating scanners. + +This package contains files required to build programs that use flex +libraries. + +%package -n libfl-static +Summary: Static libraries for the flex scanner generator +# We renamed flex-static to flex-devel in version 2.5.35-15: Obsoletes: flex-static < 2.5.35-15 Provides: flex-static +# We renamed flex-devel to libfl-static in version 2.6.4-6. This clarifies +# the nature of the package and brings us in line with naming used by SUSE +# and Debian: +Obsoletes: flex-devel < 2.6.4-6 +Provides: flex-devel -%description devel +%description -n libfl-static -This package contains the library with default implementations of -`main' and `yywrap' functions that the client binary can choose to use -instead of implementing their own. +flex is a tool for generating scanners. + +This package contains the static library with default implementations of +`main' and `yywrap' functions that binaries using flex can choose to +statically link against instead of implementing their own. %package doc -Summary: Documentation for flex scanner generator +Summary: Documentation for the flex scanner generator %description doc -This package contains documentation for flex scanner generator in +This package contains documentation for the flex scanner generator in plain text and PDF formats. %prep @@ -66,15 +97,8 @@ rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install rm -f $RPM_BUILD_ROOT/%{_infodir}/dir rm -f $RPM_BUILD_ROOT/%{_pkgdocdir}/{README.cvs,TODO} -# For now, excluding the new .la and .so files as we haven't had -# any requests for them and adding them will require a new subpackage. -# The .so files contain 2 optional implementations of main and yywrap -# for developer convenience. They are also available in the .a file -# provided in flex-devel. +# Exclude libtool archives (.la) as per Fedora packaging guidelines find %{buildroot} -name '*.la' -delete -find %{buildroot} -name '*.so' -delete -find %{buildroot} -name '*.so.2' -delete -find %{buildroot} -name '*.so.2.0.0' -delete ( cd ${RPM_BUILD_ROOT} ln -sf flex .%{_bindir}/lex @@ -101,7 +125,14 @@ echo ============END TESTING=========== %{_includedir}/FlexLexer.h %{_infodir}/flex.info* -%files devel +%files -n libfl%{somajor} +%{_libdir}/libfl.so.%{somajor}* + +%files -n libfl-devel +%{_includedir}/FlexLexer.h +%{_libdir}/libfl.so + +%files -n libfl-static %dir %{_pkgdocdir} %license COPYING %{_libdir}/*.a @@ -110,6 +141,13 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Fri Aug 21 2020 Arjun Shankar - 2.6.4-6 +- Re-work flex subpackages and provide shared libraries (#1327851): +- Remove and obsolete the flex-devel subpackage containing static libraries +- Provide shared libraries in a new subpackage named libfl2 +- Provide development files in a new subpackage named libfl-devel +- Provide static libraries in a new subpackage named libfl-static + * Mon Jul 27 2020 Fedora Release Engineering - 2.6.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From bfe32fe72b83edec7756c4174b913f47b9cde9c5 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 18 Dec 2020 22:42:41 +0000 Subject: [PATCH 26/43] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- flex.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/flex.spec b/flex.spec index 3bc94c0..288fe2f 100644 --- a/flex.spec +++ b/flex.spec @@ -16,6 +16,7 @@ Patch0: flex-rh1389575.patch Requires: m4 BuildRequires: gettext gettext-devel bison m4 help2man gcc gcc-c++ automake libtool +BuildRequires: make %description The flex program generates scanners. Scanners are programs which can From d13f0a58066616f854749da1b196bacb941dfdea Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 05:40:01 +0000 Subject: [PATCH 27/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 288fe2f..fdd19fb 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 6%{?dist} +Release: 7%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -142,6 +142,9 @@ echo ============END TESTING=========== %{_pkgdocdir} %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 2.6.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Aug 21 2020 Arjun Shankar - 2.6.4-6 - Re-work flex subpackages and provide shared libraries (#1327851): - Remove and obsolete the flex-devel subpackage containing static libraries From 8a8070ad74c0fa674f7f2b20a782284f6b69e752 Mon Sep 17 00:00:00 2001 From: Edjunior Machado Date: Mon, 18 Jan 2021 22:11:55 +0100 Subject: [PATCH 28/43] Introduce CI gating --- .fmf/version | 1 + gating.yaml | 19 +++++ plans/ci.fmf | 6 ++ tests/Sanity/smoke-check-flex-runs/Makefile | 63 +++++++++++++++ tests/Sanity/smoke-check-flex-runs/PURPOSE | 3 + .../smoke-check-flex-runs/calc-grammar.y | 36 +++++++++ .../Sanity/smoke-check-flex-runs/calc-lexer.l | 15 ++++ .../count_chars_and_lines.l | 21 +++++ .../expected_calc_output.txt | 3 + tests/Sanity/smoke-check-flex-runs/main.fmf | 15 ++++ tests/Sanity/smoke-check-flex-runs/runtest.sh | 78 +++++++++++++++++++ 11 files changed, 260 insertions(+) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 plans/ci.fmf create mode 100644 tests/Sanity/smoke-check-flex-runs/Makefile create mode 100644 tests/Sanity/smoke-check-flex-runs/PURPOSE create mode 100644 tests/Sanity/smoke-check-flex-runs/calc-grammar.y create mode 100644 tests/Sanity/smoke-check-flex-runs/calc-lexer.l create mode 100644 tests/Sanity/smoke-check-flex-runs/count_chars_and_lines.l create mode 100644 tests/Sanity/smoke-check-flex-runs/expected_calc_output.txt create mode 100644 tests/Sanity/smoke-check-flex-runs/main.fmf create mode 100755 tests/Sanity/smoke-check-flex-runs/runtest.sh diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..ce3cdc1 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,19 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..1ad2c12 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,6 @@ +summary: CI Gating Plan +discover: + how: fmf + directory: tests +execute: + how: beakerlib diff --git a/tests/Sanity/smoke-check-flex-runs/Makefile b/tests/Sanity/smoke-check-flex-runs/Makefile new file mode 100644 index 0000000..3abe871 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/Makefile @@ -0,0 +1,63 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /tools/flex/Sanity/smoke-check-flex-runs +# Description: Show your version. Build a one-file project. +# Author: Vaclav Kadlcik +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/tools/flex/Sanity/smoke-check-flex-runs +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE count_chars_and_lines.l calc-lexer.l calc-grammar.y expected_calc_output.txt + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Vaclav Kadlcik " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Show your version. Build a one-file project." >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 15m" >> $(METADATA) + @echo "RunFor: flex" >> $(METADATA) + @echo "Requires: flex bison gcc" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2+" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/Sanity/smoke-check-flex-runs/PURPOSE b/tests/Sanity/smoke-check-flex-runs/PURPOSE new file mode 100644 index 0000000..ed0f21f --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /tools/flex/Sanity/smoke-check-flex-runs +Description: Show your version. Build a one-file project. +Author: Vaclav Kadlcik diff --git a/tests/Sanity/smoke-check-flex-runs/calc-grammar.y b/tests/Sanity/smoke-check-flex-runs/calc-grammar.y new file mode 100644 index 0000000..53d4a85 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/calc-grammar.y @@ -0,0 +1,36 @@ +%{ +#include +%} + +%token NUMBER +%token ADD SUB MUL DIV +%token EOL + +%% + +input: + | input EOL { } + | input expression EOL { printf("%d\n", $2); } + ; + +expression: + factor + | expression ADD factor { $$ = $1 + $3; } + | expression SUB factor { $$ = $1 - $3; } + ; + +factor: + NUMBER + | factor MUL NUMBER { $$ = $1 * $3; } + | factor DIV NUMBER { $$ = $1 / $3; } + ; + +%% + +int main(int argc, char ** argv) { + yyparse(); +} + +yyerror(char *s) { + fprintf(stderr, "ERROR: %s\n", s); +} diff --git a/tests/Sanity/smoke-check-flex-runs/calc-lexer.l b/tests/Sanity/smoke-check-flex-runs/calc-lexer.l new file mode 100644 index 0000000..fa9ac41 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/calc-lexer.l @@ -0,0 +1,15 @@ +%option noyywrap +%{ +#include "calc-grammar.tab.h" +%} + +%% +"+" { return ADD; } +"-" { return SUB; } +"*" { return MUL; } +"/" { return DIV; } +[0-9]+ { yylval = atoi(yytext); return NUMBER; } +\n { return EOL; } +[ \t] { /* ignore whitespaces */ } +. { yyerror("unexpected character %c", *yytext); } +%% diff --git a/tests/Sanity/smoke-check-flex-runs/count_chars_and_lines.l b/tests/Sanity/smoke-check-flex-runs/count_chars_and_lines.l new file mode 100644 index 0000000..7b90045 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/count_chars_and_lines.l @@ -0,0 +1,21 @@ +%option noyywrap +%{ +#include + +int chars = 0; +int lines = 0; +%} + +%% + +\n { lines++; chars++; } +. { chars++; } + +%% + +int main(int argc, char ** argv) { + yylex(); + printf("chars: %d\n", chars); + printf("lines: %d\n", lines); + return 0; +} diff --git a/tests/Sanity/smoke-check-flex-runs/expected_calc_output.txt b/tests/Sanity/smoke-check-flex-runs/expected_calc_output.txt new file mode 100644 index 0000000..7baa841 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/expected_calc_output.txt @@ -0,0 +1,3 @@ +STDOUT: 7 +STDOUT: -221 +STDOUT: 42 diff --git a/tests/Sanity/smoke-check-flex-runs/main.fmf b/tests/Sanity/smoke-check-flex-runs/main.fmf new file mode 100644 index 0000000..2b25e69 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/main.fmf @@ -0,0 +1,15 @@ +summary: Show your version. Build a one-file project. +description: '' +contact: +- Vaclav Kadlcik +component: +- flex +test: ./runtest.sh +framework: beakerlib +recommend: +- flex +- bison +- gcc +duration: 15m +extra-summary: /tools/flex/Sanity/smoke-check-flex-runs +extra-task: /tools/flex/Sanity/smoke-check-flex-runs diff --git a/tests/Sanity/smoke-check-flex-runs/runtest.sh b/tests/Sanity/smoke-check-flex-runs/runtest.sh new file mode 100755 index 0000000..68ee8a3 --- /dev/null +++ b/tests/Sanity/smoke-check-flex-runs/runtest.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/flex/Sanity/smoke-check-flex-runs +# Description: Show your version. Build a one-file project. +# Author: Vaclav Kadlcik +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2015 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="flex" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + yum -y install bison gcc + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "cp count_chars_and_lines.l calc-lexer.l calc-grammar.y expected_calc_output.txt $TmpDir" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest 'Show version' + + rlRun -t -s 'flex -V' + rlAssertNotGrep '^STDERR:' $rlRun_LOG + rlAssertGrep '^STDOUT: flex [0-9]' $rlRun_LOG + + rlPhaseEnd + + rlPhaseStartTest 'Flex works standalone' + + rlRun 'flex -o count_chars_and_lines.c count_chars_and_lines.l' + rlRun 'gcc -o count_chars_and_lines count_chars_and_lines.c' + rlAssertExists 'count_chars_and_lines' + rlRun -t -s 'echo -e "nazdar\nbazar" | ./count_chars_and_lines' + rlAssertNotGrep '^STDERR:' $rlRun_LOG + rlAssertGrep '^STDOUT: chars: 13$' $rlRun_LOG + rlAssertGrep '^STDOUT: lines: 2$' $rlRun_LOG + + rlPhaseEnd + + rlPhaseStartTest 'Flex works with Bison' + + rlRun 'bison -d calc-grammar.y' + rlRun 'flex calc-lexer.l' + rlRun 'gcc -o calc calc-grammar.tab.c lex.yy.c' + rlAssertExists 'calc' + rlRun -t -s 'echo -e "1 + 2 * 3\n1 - 666 / 3\n42" | ./calc' + rlAssertNotDiffer expected_calc_output.txt $rlRun_LOG + + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd From e7d1e0be2590517693c9c541f1b6d9f00641c000 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Thu, 6 May 2021 00:49:44 +0200 Subject: [PATCH 29/43] Remove and obsolete the flex-doc subpackage (#1915609) The flex-doc subpackage hasn't contained any documentation for quite a while. It is supposed to contain the manual in PDF format, but `make && make install' does not produce a PDF. Since info and man pages are provided in the main package itself, this leaves flex-doc redundant. This commit removes and obsoletes the flex-doc subpackage. No Fedora packages are currently dependent on or build-dependent on flex-doc: $ dnf repoquery --whatdepends flex-doc $ dnf repoquery --disablerepo="*" --enablerepo="*-source" --arch=src \ --whatdepends flex-doc Therefore, only an "Obsoletes: flex-doc" line is added, with no accompanying "Provides: flex-doc" line. --- flex.spec | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/flex.spec b/flex.spec index fdd19fb..e7ce7fc 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 7%{?dist} +Release: 8%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -18,6 +18,8 @@ Requires: m4 BuildRequires: gettext gettext-devel bison m4 help2man gcc gcc-c++ automake libtool BuildRequires: make +Obsoletes: flex-doc < 2.6.4-8 + %description The flex program generates scanners. Scanners are programs which can recognize lexical patterns in text. Flex takes pairs of regular @@ -61,12 +63,12 @@ libraries. Summary: Static libraries for the flex scanner generator # We renamed flex-static to flex-devel in version 2.5.35-15: Obsoletes: flex-static < 2.5.35-15 -Provides: flex-static +Provides: flex-static = %{version}-%{release} # We renamed flex-devel to libfl-static in version 2.6.4-6. This clarifies # the nature of the package and brings us in line with naming used by SUSE # and Debian: Obsoletes: flex-devel < 2.6.4-6 -Provides: flex-devel +Provides: flex-devel = %{version}-%{release} %description -n libfl-static @@ -76,14 +78,6 @@ This package contains the static library with default implementations of `main' and `yywrap' functions that binaries using flex can choose to statically link against instead of implementing their own. -%package doc -Summary: Documentation for the flex scanner generator - -%description doc - -This package contains documentation for the flex scanner generator in -plain text and PDF formats. - %prep %setup -q %patch0 -p1 @@ -97,7 +91,7 @@ make %{?_smp_mflags} rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install rm -f $RPM_BUILD_ROOT/%{_infodir}/dir -rm -f $RPM_BUILD_ROOT/%{_pkgdocdir}/{README.cvs,TODO} +rm -f $RPM_BUILD_ROOT/%{_pkgdocdir}/{README.cvs,TODO,AUTHORS,COPYING,ONEWS} # Exclude libtool archives (.la) as per Fedora packaging guidelines find %{buildroot} -name '*.la' -delete @@ -138,10 +132,12 @@ echo ============END TESTING=========== %license COPYING %{_libdir}/*.a -%files doc -%{_pkgdocdir} - %changelog +* Thu May 06 2021 Arjun Shankar - 2.6.4-8 +- Remove and obsolete the flex-doc subpackage; documention is provided in the + main package itself +- Specify versions in "Provides:" lines for flex-static and flex-devel + * Tue Jan 26 2021 Fedora Release Engineering - 2.6.4-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 4157a4f3d3576acd52fa2c36f9826b9699174336 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 23:05:27 +0000 Subject: [PATCH 30/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index e7ce7fc..1ba82bc 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 8%{?dist} +Release: 9%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -133,6 +133,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 2.6.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Thu May 06 2021 Arjun Shankar - 2.6.4-8 - Remove and obsolete the flex-doc subpackage; documention is provided in the main package itself From 76db1a4296d20225d190e474fc8818c0f1e988ee Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 03:08:04 +0000 Subject: [PATCH 31/43] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 1ba82bc..a648749 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 9%{?dist} +Release: 10%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -133,6 +133,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 2.6.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 2.6.4-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From a2246316dcbae02384c9368458777393b60fbc4f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 03:18:28 +0000 Subject: [PATCH 32/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index a648749..2dde357 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 10%{?dist} +Release: 11%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -133,6 +133,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 2.6.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Jan 20 2022 Fedora Release Engineering - 2.6.4-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From abdaa050fff6039b68186148201b8b83af727bb9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 03:34:41 +0000 Subject: [PATCH 33/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 2dde357..71ca4e6 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 11%{?dist} +Release: 12%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -133,6 +133,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 2.6.4-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Jul 21 2022 Fedora Release Engineering - 2.6.4-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 711ba9a8ad3b803be027481e1ce61a45c97a04e4 Mon Sep 17 00:00:00 2001 From: Edjunior Machado Date: Fri, 9 Dec 2022 16:55:43 +0100 Subject: [PATCH 34/43] tests: Fix fmf plan attributes --- plans/ci.fmf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plans/ci.fmf b/plans/ci.fmf index 1ad2c12..3fd3ab7 100644 --- a/plans/ci.fmf +++ b/plans/ci.fmf @@ -1,6 +1,5 @@ summary: CI Gating Plan discover: how: fmf - directory: tests execute: - how: beakerlib + how: tmt From 12a46b39b610c4c66cc6c863de00d9e054603797 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 19:52:01 +0000 Subject: [PATCH 35/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 71ca4e6..1f10541 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 12%{?dist} +Release: 13%{?dist} # parse.c and parse.h are under GPLv3+ with exception which allows # relicensing. Since flex is shipped under BDS-style license, # let's assume that the relicensing was done. @@ -133,6 +133,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 2.6.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jan 19 2023 Fedora Release Engineering - 2.6.4-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From d687d8a4131309aafaed893f27058d3007a6910a Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 30 Oct 2023 12:14:26 +0100 Subject: [PATCH 36/43] Migrate License field to SPDX identifiers https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 --- flex.spec | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/flex.spec b/flex.spec index 1f10541..05fc914 100644 --- a/flex.spec +++ b/flex.spec @@ -3,12 +3,13 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 13%{?dist} -# parse.c and parse.h are under GPLv3+ with exception which allows -# relicensing. Since flex is shipped under BDS-style license, -# let's assume that the relicensing was done. -# gettext.h (copied from gnulib) is under LGPLv2+ -License: BSD and LGPLv2+ +Release: 14%{?dist} + +# An SPDX license string check done against flex-2.6.4 using fossology +# found strings corresponding to the licenses noted below across the flex +# source tree. +License: BSD-3-Clause-flex AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-or-later WITH Texinfo-exception AND FSFAP AND FSFUL AND FSFULLR AND FSFULLRWD AND GPL-2.0-or-later AND X11 + URL: https://github.com/westes/flex Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.gz @@ -133,6 +134,12 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Mon Oct 30 2023 Arjun Shankar - 2.6.4-14 +- Analyse flex sources for license information +- Migrate License field to SPDX identifiers for + https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 + (#2222083) + * Wed Jul 19 2023 Fedora Release Engineering - 2.6.4-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 2b40fc115363a9dd45a70b1f7b502360382952e6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 19:28:13 +0000 Subject: [PATCH 37/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 05fc914..b1719bd 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 14%{?dist} +Release: 15%{?dist} # An SPDX license string check done against flex-2.6.4 using fossology # found strings corresponding to the licenses noted below across the flex @@ -134,6 +134,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 2.6.4-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Oct 30 2023 Arjun Shankar - 2.6.4-14 - Analyse flex sources for license information - Migrate License field to SPDX identifiers for From e2cfee03f981f42a53da6e3b2d02d428ca9b53d2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 11:43:21 +0000 Subject: [PATCH 38/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index b1719bd..bcba896 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 15%{?dist} +Release: 16%{?dist} # An SPDX license string check done against flex-2.6.4 using fossology # found strings corresponding to the licenses noted below across the flex @@ -134,6 +134,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 2.6.4-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 2.6.4-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 992cb3242a5cd8648c38d610ddfd0c9bcb4238d7 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Tue, 23 Apr 2024 17:16:04 +0200 Subject: [PATCH 39/43] Switch to %autosetup --- flex.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/flex.spec b/flex.spec index bcba896..bec4b6d 100644 --- a/flex.spec +++ b/flex.spec @@ -80,8 +80,7 @@ This package contains the static library with default implementations of statically link against instead of implementing their own. %prep -%setup -q -%patch0 -p1 +%autosetup -p1 %build autoreconf -i From 6e3f209ce3390dbc83041818632a75940b52461d Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Tue, 23 Apr 2024 15:45:25 +0200 Subject: [PATCH 40/43] Provide flex-doc via the main flex package Commit e7d1e0be2590517693c9c541f1b6d9f00641c000 removed and obsoleted flex-doc, but did not 'Provides:' it. This commit fixes that. --- flex.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index bec4b6d..a39f9e2 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 16%{?dist} +Release: 17%{?dist} # An SPDX license string check done against flex-2.6.4 using fossology # found strings corresponding to the licenses noted below across the flex @@ -20,6 +20,7 @@ BuildRequires: gettext gettext-devel bison m4 help2man gcc gcc-c++ automake libt BuildRequires: make Obsoletes: flex-doc < 2.6.4-8 +Provides: flex-doc = %{version}-%{release} %description The flex program generates scanners. Scanners are programs which can @@ -133,6 +134,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Tue Apr 23 2024 Arjun Shankar - 2.6.4-17 +- Provide flex-doc via the main flex package + * Wed Jan 24 2024 Fedora Release Engineering - 2.6.4-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From dc359e98697ef6da7bc6abc0674bbd0b31ef7915 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 23:17:23 +0000 Subject: [PATCH 41/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index a39f9e2..661ccd8 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 17%{?dist} +Release: 18%{?dist} # An SPDX license string check done against flex-2.6.4 using fossology # found strings corresponding to the licenses noted below across the flex @@ -134,6 +134,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 2.6.4-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Apr 23 2024 Arjun Shankar - 2.6.4-17 - Provide flex-doc via the main flex package From 92050e21e824d7b90d5f98d3e0cb6a33531e15e3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 18:26:34 +0000 Subject: [PATCH 42/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 661ccd8..7499e27 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 18%{?dist} +Release: 19%{?dist} # An SPDX license string check done against flex-2.6.4 using fossology # found strings corresponding to the licenses noted below across the flex @@ -134,6 +134,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 2.6.4-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 2.6.4-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 642acc32b575e39c52b22d87aca21250a18ff1cb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 20:36:11 +0000 Subject: [PATCH 43/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- flex.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flex.spec b/flex.spec index 7499e27..90a52a3 100644 --- a/flex.spec +++ b/flex.spec @@ -3,7 +3,7 @@ Summary: A tool for generating scanners (text pattern recognizers) Name: flex Version: 2.6.4 -Release: 19%{?dist} +Release: 20%{?dist} # An SPDX license string check done against flex-2.6.4 using fossology # found strings corresponding to the licenses noted below across the flex @@ -134,6 +134,9 @@ echo ============END TESTING=========== %{_libdir}/*.a %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.6.4-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jan 16 2025 Fedora Release Engineering - 2.6.4-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild