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/bison-3.8.2-gcc15-glibcxx-assertions.patch b/bison-3.8.2-gcc15-glibcxx-assertions.patch deleted file mode 100644 index 245cc84..0000000 --- a/bison-3.8.2-gcc15-glibcxx-assertions.patch +++ /dev/null @@ -1,69 +0,0 @@ -https://bugs.gentoo.org/935754 -https://lists.gnu.org/archive/html/bison-patches/2024-07/msg00000.html - -* data/skeletons/glr2.cc (yyundeleteLastStack): Recover -yylookaheadNeeds stack entry also, to prevent desyncing the sizes -of yystates and yylookaheadNeeds. -(class glr_state_set): New field yylookaheadNeedLastDeleted, -tracks lookahead need of last deleted state. -(yymarkStackDeleted): Save yylookaheadNeeds also. ---- -Hi! - -GCC 15 has added bounds-checks to vector when assertions are -enabled. This has caught a bug in Bison. See bug referenced above. - -Now, WRT the fix: I am not sure of its correctness, but it appears to -pass tests and everything seems to indicate that the presumption it is -based on is correct. That presumption is that the two stacks mentioned -above (yylookaheadNeeds and yystates) ought to be the same size. I -inferred this because all other locations that alter the size of the two -vectors appear to do so in lock-step. - -TIA, have a lovely day. - - data/skeletons/glr2.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc -index 970ccfdf..8b962d6f 100644 ---- a/data/skeletons/glr2.cc -+++ b/data/skeletons/glr2.cc -@@ -1080,7 +1080,10 @@ namespace - { - size_t k = yyk.uget (); - if (yystates[k] != YY_NULLPTR) -- yylastDeleted = yystates[k]; -+ { -+ yylastDeleted = yystates[k]; -+ yylookaheadNeedLastDeleted = yylookaheadNeeds[k]; -+ } - yystates[k] = YY_NULLPTR; - } - -@@ -1093,6 +1096,7 @@ namespace - if (yylastDeleted == YY_NULLPTR || !yystates.empty ()) - return; - yystates.push_back (yylastDeleted); -+ yylookaheadNeeds.push_back (yylookaheadNeedLastDeleted); - YYCDEBUG << "Restoring last deleted stack as stack #0.\n"; - clearLastDeleted (); - } -@@ -1102,6 +1106,7 @@ namespace - void - yyremoveDeletes () - { -+ YYASSERT(yystates.size () == yylookaheadNeeds.size ()); - size_t newsize = yystates.size (); - /* j is the number of live stacks we have seen. */ - for (size_t i = 0, j = 0; j < newsize; ++i) -@@ -1160,6 +1165,7 @@ namespace - - /** The last stack we invalidated. */ - glr_state* yylastDeleted; -+ bool yylookaheadNeedLastDeleted; - }; // class glr_state_set - } // namespace - --- -2.45.2 diff --git a/bison-license-check.sh b/bison-license-check.sh deleted file mode 100755 index e39c8e9..0000000 --- a/bison-license-check.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/bash - -# Run this in a bison source tree basedir to quickly guess the licensing -# status of various bison source files. e.g. when using -# glibc-maintainer-scripts for package maintenance, this means running it in -# the bison-patches directory. -# We use this because for some reason, fossology is unable to grok bison -# sources for a license analysis. - -for f in $(find . -type f | grep -v '\.git/' | grep -v 'gnulib/'); do - - if file $f | grep -q text; then # Hoping this is true iff the file is a text file - - license="Unknown" - - if head -n50 $f \ - | grep -C50 -i "This.*file is free software; the Free Software Foundation" \ - | grep -C50 -i "unlimited permission to copy and/or distribute it" \ - | grep -C50 -i "with or without" \ - | grep -qi "modifications, as long as this notice is preserved"; then - license="FSFULLR" - fi - - if head -n50 $f \ - | grep -C50 -i "This.*\(program\|file\) is free software" \ - | grep -C50 -i "GNU General Public License" \ - | grep -C50 -i "either version 2" \ - | grep -qi "any later version"; then - license="GPL-2.0-or-later" - fi - - if head -n50 $f \ - | grep -C50 -i "This.*\(program\|file\) is free" \ - | grep -C50 -i "GNU General Public License" \ - | grep -C50 -i "either version 3" \ - | grep -qi "any later version"; then - license="GPL-3.0-or-later" - fi - - # Order of check for v2 and v2.1 is important here; - # "either version 2" will also match "either version 2.1" - if head -n50 $f \ - | grep -C50 -i "This.*\(program\|file\) is free software" \ - | grep -C50 -i "GNU Lesser General Public License" \ - | grep -C50 -i "either version 2" \ - | grep -qi "any later version"; then - license="LGPL-2.0-or-later" - fi - - if head -n50 $f \ - | grep -C50 -i "Th.* is free software" \ - | grep -C50 -i "GNU Lesser General Public" \ - | grep -C50 -i "License" \ - | grep -C50 -i "either" \ - | grep -C50 -i "version 2.1" \ - | grep -qi "any later version"; then - license="LGPL-2.1-or-later" - fi - - if head -n50 $f \ - | grep -C50 -i "This.*\(program\|file\) is free software" \ - | grep -C50 -i "GNU Lesser General Public License" \ - | grep -C50 -i "either version 3" \ - | grep -qi "any later version"; then - license="LGPL-3.0-or-later" - fi - - if head -n50 $f \ - | grep -C50 -i "Permission is granted" \ - | grep -C50 -i "copy, distribute.*modify" \ - | grep -C50 -i "GNU Free Documentation License" \ - | grep -C50 -i "Version 1.3" \ - | grep -qi "any later version"; then - license="GFDL-1.3-or-later" - fi - - if head -n50 $f \ - | grep -C50 -i "Permission is hereby granted, free of charge" \ - | grep -C50 -i "to any person" \ - | grep -C50 -i "the Software without restriction" \ - | grep -C50 -i "use, copy, modify, merge, publish, distribute, sublicense" \ - | grep -qi "X Consortium"; then - license="X11" - fi - - if head -n50 $f \ - | grep -C50 -i "This file is distributed under the same license as" \ - | grep -qi "package"; then - license="Same-as-package-license" - fi - - if head -n50 $f \ - | grep -A20 -i "as .*exception" \ - | grep -qi "2\.2 of bison"; then - license="$license WITH Bison-exception-2.2" - fi - - if head -n50 $f \ - | grep -A20 -i "as .*exception" \ - | grep -A20 -i "distribute" \ - | grep -A20 -i "generated by autoconf" \ - | grep -qi "same distribution terms"; then - license="$license WITH Autoconf-exception-generic-3.0" - fi - - echo $license "("$f")" - fi; -done | sort diff --git a/bison.spec b/bison.spec index eabe3b8..0f0fad4 100644 --- a/bison.spec +++ b/bison.spec @@ -1,12 +1,8 @@ Summary: A GNU general-purpose parser generator Name: bison -Version: 3.8.2 -Release: 11%{?dist} - -# An SPDX license string check done against bison-3.8.2 found strings -# corresponding to the following licenses across the bison source tree: -License: GPL-3.0-or-later 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-2.0-or-later AND GPL-2.0-or-later WITH Autoconf-exception-generic AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later AND FSFULLR AND GFDL-1.3-or-later AND X11 - +Version: 3.7.4 +Release: 2%{?dist} +License: GPLv3+ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # genereted from https://ftp.gnu.org/gnu/gnu-keyring.gpg via: @@ -14,9 +10,6 @@ Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # gpg2 --export --export-options export-minimal 7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E > gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg Source2: gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg -# from Gentoo sys-devel/bison -Patch0: bison-3.8.2-gcc15-glibcxx-assertions.patch - # testsuite dependency BuildRequires: gcc-c++ BuildRequires: autoconf @@ -83,7 +76,7 @@ Bison manual section for more information. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -p1 +%autosetup %build %configure @@ -127,51 +120,6 @@ gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info* %{_libdir}/liby.a %changelog -* Wed Jul 23 2025 Fedora Release Engineering - 3.8.2-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 3.8.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 3.8.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jan 23 2024 Fedora Release Engineering - 3.8.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 3.8.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Sep 1 2023 Arjun Shankar - 3.8.2-6 -- Analyse bison sources for license information -- Migrate License field to SPDX identifiers for - https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 - (#2222079) - -* Wed Jul 19 2023 Fedora Release Engineering - 3.8.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 3.8.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 3.8.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 3.8.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Dec 13 2021 Arjun Shankar - 3.8.2-1 -- Update to bison 3.8.2 (#2002074) - -* Wed Jul 21 2021 Fedora Release Engineering - 3.7.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue May 18 2021 Arjun Shankar - 3.7.6-2 -- Rebuild with binutils-2.36.1-12.fc35 - -* Tue Mar 16 2021 Arjun Shankar - 3.7.6-1 -- Update to bison 3.7.6 (#1920078) - * Tue Jan 26 2021 Fedora Release Engineering - 3.7.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild 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/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/sources b/sources index f3f2816..b636373 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (bison-3.8.2.tar.xz) = d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444 -SHA512 (bison-3.8.2.tar.xz.sig) = 8bb7743ca326e81a6c091b1413e3c09bd43c7eabbb80bac0638ccd52bdf7e3395cce300a86acd95f4637a9ec8a1b0e9a4d3d25d95ab0a8f03e57fd82eb87a7ac +SHA512 (bison-3.7.4.tar.xz) = 3fc13ab21e28218afc9b7f1196a5607de7ff4403c4126df359848422a8057ac6c17ce4344864dd320b7c47a08d98e0f3e2929f25b06be3b1f1c867c0568f367c +SHA512 (bison-3.7.4.tar.xz.sig) = 40154e23cbd50a3fb11ce2dbd84895905e3346c118d9ab8f58f5ca3df0c1289a2151abccd977cf1d7b644e559c2fd5cc18b59ab2d559a5ea1e1b825aaceebdbb diff --git a/tests/Sanity/basic-test/Makefile b/tests/Sanity/basic-test/Makefile deleted file mode 100644 index 9a64167..0000000 --- a/tests/Sanity/basic-test/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/bison/Sanity/basic-test -# Description: bison basic test -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 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/bison/Sanity/basic-test -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE calc.y - -.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: Edjunior Machado " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: bison basic test" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 1h" >> $(METADATA) - @echo "RunFor: bison" >> $(METADATA) - @echo "Requires: bison gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL6" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/basic-test/PURPOSE b/tests/Sanity/basic-test/PURPOSE deleted file mode 100644 index fe778df..0000000 --- a/tests/Sanity/basic-test/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/bison/Sanity/basic-test -Description: bison basic test -Author: Edjunior Machado diff --git a/tests/Sanity/basic-test/calc.y b/tests/Sanity/basic-test/calc.y deleted file mode 100644 index f1fac0b..0000000 --- a/tests/Sanity/basic-test/calc.y +++ /dev/null @@ -1,100 +0,0 @@ -%code top { - #include - #include /* isdigit. */ - #include /* printf. */ - #include /* abort. */ - #include /* strcmp. */ - - int yylex (void); - void yyerror (char const *); -} - -/* Generate YYSTYPE from the types used in %token and %type. */ -%define api.value.type union -%token NUM "number" -%type expr term fact - -/* Generate the parser description file (calc.output). */ -%verbose - -/* Nice error messages with details. */ -%define parse.error verbose - -/* Enable run-time traces (yydebug). */ -%define parse.trace - -/* Formatting semantic values in debug traces. */ -%printer { fprintf (yyo, "%g", $$); } ; - -%% /* The grammar follows. */ -input: - %empty -| input line -; - -line: - '\n' -| expr '\n' { printf ("%.10g\n", $1); } -| error '\n' { yyerrok; } -; - -expr: - expr '+' term { $$ = $1 + $3; } -| expr '-' term { $$ = $1 - $3; } -| term -; - -term: - term '*' fact { $$ = $1 * $3; } -| term '/' fact { $$ = $1 / $3; } -| fact -; - -fact: - "number" -| '(' expr ')' { $$ = $2; } -; - -%% - -int -yylex (void) -{ - int c; - - /* Ignore white space, get first nonwhite character. */ - while ((c = getchar ()) == ' ' || c == '\t') - continue; - - if (c == EOF) - return 0; - - /* Char starts a number => parse the number. */ - if (c == '.' || isdigit (c)) - { - ungetc (c, stdin); - if (scanf ("%lf", &yylval.NUM) != 1) - abort (); - return NUM; - } - - /* Any other character is a token by itself. */ - return c; -} - -/* Called by yyparse on error. */ -void -yyerror (char const *s) -{ - fprintf (stderr, "%s\n", s); -} - -int -main (int argc, char const* argv[]) -{ - /* Enable parse traces on option -p. */ - for (int i = 1; i < argc; ++i) - if (!strcmp (argv[i], "-p")) - yydebug = 1; - return yyparse (); -} diff --git a/tests/Sanity/basic-test/main.fmf b/tests/Sanity/basic-test/main.fmf deleted file mode 100644 index 9efa915..0000000 --- a/tests/Sanity/basic-test/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: bison basic test -description: '' -contact: -- Edjunior Machado -component: -- bison -test: ./runtest.sh -framework: beakerlib -recommend: -- bison -- gcc -duration: 1h -extra-summary: /tools/bison/Sanity/basic-test -extra-task: /tools/bison/Sanity/basic-test diff --git a/tests/Sanity/basic-test/runtest.sh b/tests/Sanity/basic-test/runtest.sh deleted file mode 100755 index be397d7..0000000 --- a/tests/Sanity/basic-test/runtest.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/bison/Sanity/basic-test -# Description: bison basic test -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 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="bison" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp calc.y $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - # calc.y from http://git.savannah.gnu.org/cgit/bison.git/tree/examples/c/calc?h=v3.7.5 - rlRun -c "bison --defines --xml --graph=calc.gv -o calc.c calc.y" - - rlAssertExists "calc.c" - rlAssertGrep "int yylex (void);" calc.c - rlAssertExists "calc.h" - rlAssertGrep "int yyparse (void);" calc.h - - rlRun -c "gcc -std=c99 -o calc calc.c" - rlAssertExists "calc" - - rlAssertEquals "Testing if './calc <<< 1+2*3' is equal '7'" $(./calc <<< 1+2*3) 7 - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd