diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index b3edfc9..bba8076 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,3 @@ 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/README.quilt b/README.quilt deleted file mode 100644 index e53b9b9..0000000 --- a/README.quilt +++ /dev/null @@ -1,40 +0,0 @@ -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 new file mode 100644 index 0000000..4bb7c3e --- /dev/null +++ b/flex-2.6.0-yyless.patch @@ -0,0 +1,30 @@ +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]], + */ + #define YY_LESS_LINENO(n) \ + do { \ +- int yyl;\ ++ yy_size_t yyl;\ + for ( yyl = n; yyl < yyleng; ++yyl )\ + if ( yytext[yyl] == '\n' )\ + --yylineno;\ +@@ -532,7 +532,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 \ +@@ -2591,7 +2591,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 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-rh1389575.patch b/flex-rh1389575.patch deleted file mode 100644 index 9095626..0000000 --- a/flex-rh1389575.patch +++ /dev/null @@ -1,39 +0,0 @@ -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 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 90a52a3..e7e4dd4 100644 --- a/flex.spec +++ b/flex.spec @@ -1,26 +1,28 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} -Summary: A tool for generating scanners (text pattern recognizers) +Summary: A tool for creating scanners (text pattern recognizers) Name: flex -Version: 2.6.4 -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 -# 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 - +Version: 2.6.1 +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. +# 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 +Source: https://github.com/westes/flex/releases/download/v%{version}/flex-%{version}.tar.xz -Patch0: flex-rh1389575.patch +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 -BuildRequires: gettext gettext-devel bison m4 help2man gcc gcc-c++ automake libtool -BuildRequires: make - -Obsoletes: flex-doc < 2.6.4-8 -Provides: flex-doc = %{version}-%{release} +BuildRequires: gettext bison m4 help2man +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info %description The flex program generates scanners. Scanners are programs which can @@ -38,53 +40,35 @@ application development. # We keep the libraries in separate sub-package to allow for multilib # installations of flex. - -%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: +%package devel +Summary: Libraries for flex scanner generator +Group: Development/Tools Obsoletes: flex-static < 2.5.35-15 -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 = %{version}-%{release} +Provides: flex-static -%description -n libfl-static +%description devel -flex is a tool for generating scanners. +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. -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 +Group: Documentation + +%description doc + +This package contains documentation for flex scanner generator in +plain text and PDF formats. %prep -%autosetup -p1 +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build -autoreconf -i %configure --docdir=%{_pkgdocdir} CFLAGS="-fPIC $RPM_OPT_FLAGS" make %{?_smp_mflags} @@ -92,9 +76,16 @@ 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,AUTHORS,COPYING,ONEWS} -# Exclude libtool archives (.la) as per Fedora packaging guidelines +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. 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 @@ -106,127 +97,48 @@ find %{buildroot} -name '*.la' -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 echo ============END TESTING=========== +%clean +rm -rf ${RPM_BUILD_ROOT} + %files -f flex.lang +%defattr(-,root,root) %dir %{_pkgdocdir} %license COPYING %{_pkgdocdir}/NEWS -%{_pkgdocdir}/README.md +%{_pkgdocdir}/README %{_bindir}/* %{_mandir}/man1/* %{_includedir}/FlexLexer.h %{_infodir}/flex.info* -%files -n libfl%{somajor} -%{_libdir}/libfl.so.%{somajor}* - -%files -n libfl-devel -%{_includedir}/FlexLexer.h -%{_libdir}/libfl.so - -%files -n libfl-static +%files devel +%defattr(-,root,root) %dir %{_pkgdocdir} %license COPYING %{_libdir}/*.a +%files doc +%defattr(-,root,root) +%{_pkgdocdir} + %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 - -* 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 - -* 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 - -* 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 - -* 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 - -* 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 - -* 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 - -* 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 - -* 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 - -* 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 -- 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 - -* 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 - -* 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 - -* 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 - * Wed Feb 01 2017 Stephen Gallagher - 2.6.1-3 - Add missing %%license macro @@ -270,7 +182,7 @@ echo ============END TESTING=========== * 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 diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index ce3cdc1..0000000 --- a/gating.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- !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/gen-quilt-series.sh b/gen-quilt-series.sh deleted file mode 100755 index 6a2fc3a..0000000 --- a/gen-quilt-series.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/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/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index 3fd3ab7..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: CI Gating Plan -discover: - how: fmf -execute: - how: tmt diff --git a/quilt-patch.sh b/quilt-patch.sh deleted file mode 100755 index ff55b53..0000000 --- a/quilt-patch.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/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.gz} -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 diff --git a/sources b/sources index 67236e5..19ee67c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (flex-2.6.4.tar.gz) = e9785f3d620a204b7d20222888917dc065c2036cae28667065bf7862dfa1b25235095a12fd04efdbd09bfd17d3452e6b9ef953a8c1137862ff671c97132a082e +cd3c86290fc2676a641aefafeb10848a flex-2.6.1.tar.xz diff --git a/tests/Sanity/smoke-check-flex-runs/Makefile b/tests/Sanity/smoke-check-flex-runs/Makefile deleted file mode 100644 index 3abe871..0000000 --- a/tests/Sanity/smoke-check-flex-runs/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 deleted file mode 100644 index ed0f21f..0000000 --- a/tests/Sanity/smoke-check-flex-runs/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -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 deleted file mode 100644 index 53d4a85..0000000 --- a/tests/Sanity/smoke-check-flex-runs/calc-grammar.y +++ /dev/null @@ -1,36 +0,0 @@ -%{ -#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 deleted file mode 100644 index fa9ac41..0000000 --- a/tests/Sanity/smoke-check-flex-runs/calc-lexer.l +++ /dev/null @@ -1,15 +0,0 @@ -%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 deleted file mode 100644 index 7b90045..0000000 --- a/tests/Sanity/smoke-check-flex-runs/count_chars_and_lines.l +++ /dev/null @@ -1,21 +0,0 @@ -%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 deleted file mode 100644 index 7baa841..0000000 --- a/tests/Sanity/smoke-check-flex-runs/expected_calc_output.txt +++ /dev/null @@ -1,3 +0,0 @@ -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 deleted file mode 100644 index 2b25e69..0000000 --- a/tests/Sanity/smoke-check-flex-runs/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -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 deleted file mode 100755 index 68ee8a3..0000000 --- a/tests/Sanity/smoke-check-flex-runs/runtest.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/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