diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index 8edd080..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bison-2.0.tar.gz
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/.gitignore b/.gitignore
new file mode 100644
index 0000000..9c0b9aa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+# Release tarballs.
+/bison-*.tar.[bgx]z*
+# Generated (source) RPMs.
+/*.rpm
+# Expanded source trees.
+/bison-*/
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 94c9972..0000000
--- a/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# Makefile for source rpm: bison
-# $Id$
-NAME := bison
-SPECFILE = $(firstword $(wildcard *.spec))
-
-include ../common/Makefile.common
diff --git a/STAGE2-bison b/STAGE2-bison
new file mode 100644
index 0000000..0e9ad83
--- /dev/null
+++ b/STAGE2-bison
@@ -0,0 +1,9 @@
+#requires m4
+#requires perl
+
+mcd $BUILDDIR/bison
+
+$SRC/bison-*/configure $TCONFIGARGS
+
+make $J -k
+make $J -k install
diff --git a/bison-2.4.3.tar.bz2.sig b/bison-2.4.3.tar.bz2.sig
new file mode 100644
index 0000000..351db1e
Binary files /dev/null and b/bison-2.4.3.tar.bz2.sig differ
diff --git a/bison-2.5.tar.bz2.sig b/bison-2.5.tar.bz2.sig
new file mode 100644
index 0000000..0a1b6b3
Binary files /dev/null and b/bison-2.5.tar.bz2.sig differ
diff --git a/bison-2.7-unused-opts.patch b/bison-2.7-unused-opts.patch
new file mode 100644
index 0000000..2a2505a
--- /dev/null
+++ b/bison-2.7-unused-opts.patch
@@ -0,0 +1,53 @@
+diff -up bison-2.7/src/getargs.c\~ bison-2.7/src/getargs.c
+--- bison-2.7/src/getargs.c~ 2012-12-05 14:51:18.000000000 +0100
++++ bison-2.7/src/getargs.c 2013-05-17 17:45:53.188616509 +0200
+@@ -80,7 +80,6 @@ int skeleton_prio = default_prio;
+ const char *skeleton = NULL;
+ int language_prio = default_prio;
+ struct bison_language const *language = &valid_languages[0];
+-const char *include = NULL;
+
+
+ /** Decode an option's set of keys.
+@@ -500,12 +499,10 @@ static char const short_options[] =
+ "b:"
+ "d"
+ "f::"
+- "e"
+ "g::"
+ "h"
+ "k"
+ "l"
+- "n"
+ "o:"
+ "p:"
+ "r:"
+@@ -535,7 +532,6 @@ static struct option const long_options[
+
+ /* Parser. */
+ { "name-prefix", required_argument, 0, 'p' },
+- { "include", required_argument, 0, 'I' },
+
+ /* Output. */
+ { "file-prefix", required_argument, 0, 'b' },
+@@ -564,7 +560,6 @@ static struct option const long_options[
+ { "force-define", required_argument, 0, 'F' },
+ { "locations", no_argument, 0, LOCATIONS_OPTION },
+ { "no-lines", no_argument, 0, 'l' },
+- { "raw", no_argument, 0, 0 },
+ { "skeleton", required_argument, 0, 'S' },
+ { "language", required_argument, 0, 'L' },
+ { "token-table", no_argument, 0, 'k' },
+@@ -623,10 +618,6 @@ getargs (int argc, char *argv[])
+ }
+ break;
+
+- case 'I':
+- include = AS_FILE_NAME (optarg);
+- break;
+-
+ case 'L':
+ language_argmatch (optarg, command_line_prio,
+ command_line_location ());
+
+Diff finished. Fri May 17 17:45:58 2013
diff --git a/bison-3.0.5-gnulib-fseterr.patch b/bison-3.0.5-gnulib-fseterr.patch
new file mode 100644
index 0000000..cd2a482
--- /dev/null
+++ b/bison-3.0.5-gnulib-fseterr.patch
@@ -0,0 +1,19 @@
+commit 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e
+Author: Paul Eggert
+Date: Mon Mar 5 10:56:29 2018 -0800
+
+ fflush: adjust to glibc 2.28 libio.h removal
+ (Only part of this commit was backported as needed.)
+
+diff -Nrup a/lib/fseterr.c b/lib/fseterr.c
+--- a/lib/fseterr.c 2018-05-08 06:02:48.000000000 -0400
++++ b/lib/fseterr.c 2018-08-14 16:06:19.636282264 -0400
+@@ -29,7 +29,7 @@ fseterr (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ , because they need it for implementing getc() and putc() as
+ fast macros. */
+-#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_flags |= _IO_ERR_SEEN;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
diff --git a/bison-3.8.2-gcc15-glibcxx-assertions.patch b/bison-3.8.2-gcc15-glibcxx-assertions.patch
new file mode 100644
index 0000000..245cc84
--- /dev/null
+++ b/bison-3.8.2-gcc15-glibcxx-assertions.patch
@@ -0,0 +1,69 @@
+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
new file mode 100755
index 0000000..e39c8e9
--- /dev/null
+++ b/bison-license-check.sh
@@ -0,0 +1,108 @@
+#!/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 51ce448..eabe3b8 100644
--- a/bison.spec
+++ b/bison.spec
@@ -1,16 +1,40 @@
-Summary: A GNU general-purpose parser generator.
+Summary: A GNU general-purpose parser generator
Name: bison
-Version: 2.0
-Release: 4
-License: GPL
-Group: Development/Tools
-#Source: ftp://ftp.gnu.org/pub/gnu/bison/bison-%{version}.tar.bz2
-Source: http://ftp.gnu.org/gnu/bison/bison-%{version}.tar.gz
-Url: http://www.gnu.org/software/bison/
-Prereq: /sbin/install-info
-BuildRoot: %{_tmppath}/%{name}-root
+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
+
+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:
+# curl https://ftp.gnu.org/gnu/gnu-keyring.gpg | gpg2 --import
+# 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
+BuildRequires: flex
+BuildRequires: gnupg2
+
+URL: http://www.gnu.org/software/%{name}/
+BuildRequires: m4 >= 1.4
+BuildRequires: make
+#java-1.7.0-openjdk-devel
Requires: m4 >= 1.4
+# bison contains a copy of gnulib. As a copylib, gnulib was granted
+# an exception that allows bundling it with other software. For
+# details, see:
+# https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions
+Provides: bundled(gnulib)
+
%description
Bison is a general purpose parser generator that converts a grammar
description for an LALR(1) context-free grammar into a C program to
@@ -28,63 +52,346 @@ Bison.
%package devel
Summary: -ly library for development using Bison-generated parsers
-Group: Development/Libraries
+Provides: bison-static = %{version}-%{release}
%description devel
The bison-devel package contains the -ly library sometimes used by
programs using Bison-generated parsers. If you are developing programs
using Bison, you might want to link with this library. This library
-is required by all Bison-generated parsers, but may be employed by
+is not required by all Bison-generated parsers, but may be employed by
simple programs to supply minimal support for the generated parsers.
+# -ly is kept static. It only contains two symbols: main and yyerror,
+# and both of these are extremely simple (couple lines of C total).
+# It doesn't really pay off to introduce a shared library for that.
+#
+# Therefore -devel subpackage could have been created as -static, but
+# the split was done in Jan 2005, which predates current guidelines.
+# Besides there is logic to that: the library is devel in the sense
+# that the generated parser could be distributed together with other
+# sources, and only bison-devel would be necessary to wrap the build.
+
+%package runtime
+Summary: Runtime support files used by Bison-generated parsers
+
+%description runtime
+The bison-runtime package contains files used at runtime by parsers
+that Bison generates. Packages whose binaries contain parsers
+generated by Bison should depend on bison-runtime to ensure that
+these files are available. See the Internationalization in the
+Bison manual section for more information.
+
%prep
-%setup -q
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%autosetup -p1
%build
%configure
-make
+%make_build
+
+%check
+make check
+#make maintainer-check
%install
-rm -rf $RPM_BUILD_ROOT
-%makeinstall
+%make_install
# Remove unpackaged files.
-rm -f $RPM_BUILD_ROOT/%{_bindir}/yacc
-rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
+rm -f %{buildroot}/%{_bindir}/yacc
+rm -f %{buildroot}/%{_infodir}/dir
+rm -f %{buildroot}/%{_mandir}/man1/yacc*
+rm -rf %{buildroot}/%{_docdir}/%{name}/examples/*
%find_lang %{name}
+%find_lang %{name}-runtime
+%find_lang %{name}-gnulib
gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info*
-%post
-/sbin/install-info %{_infodir}/bison.info.gz %{_infodir}/dir --entry="* bison: (bison). The GNU parser generator."
-
-%preun
-if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_infodir}/bison.info.gz %{_infodir}/dir --entry="* bison: (bison). The GNU parser generator."
-fi
-
-%files -f %{name}.lang
-%defattr(-,root,root)
-%doc AUTHORS ChangeLog NEWS OChangeLog README REFERENCES THANKS TODO doc/FAQ
+# The distribution contains also source files. These are used by m4
+# when the target parser file is generated.
+%files -f %{name}.lang -f %{name}-gnulib.lang
+%doc AUTHORS ChangeLog NEWS README THANKS TODO COPYING
%{_mandir}/*/bison*
%{_datadir}/bison
%{_infodir}/bison.info*
%{_bindir}/bison
+%{_datadir}/aclocal/bison*.m4
+
+%files -f %{name}-runtime.lang runtime
+%doc COPYING
%files devel
+%doc COPYING
%defattr(-,root,root)
%{_libdir}/liby.a
-%clean
-rm -rf $RPM_BUILD_ROOT
-
%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
+
+* Mon Jan 11 2021 Arjun Shankar - 3.7.4-1
+- Update to bison 3.7.4 (#1897780)
+
+* Tue Nov 10 2020 Arjun Shankar - 3.7.3-1
+- Update to bison 3.7.3 (#1887766)
+
+* Tue Sep 8 2020 Arjun Shankar - 3.7.2-1
+- Update to bison 3.7.2 (#1876120)
+
+* Thu Aug 27 2020 Arjun Shankar - 3.7.1-1
+- Update to bison 3.7.1 (#1859887)
+
+* Sat Aug 01 2020 Fedora Release Engineering - 3.6.4-3
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 27 2020 Fedora Release Engineering - 3.6.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Dan Čermák - 3.6.4-1
+- Update to bison 3.6.4 (#1792738, #1847608)
+
+* Tue Jan 28 2020 Fedora Release Engineering - 3.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Tue Jan 7 2020 Arjun Shankar - 3.5-1
+- Update to bison 3.5 (#1751843)
+
+* Wed Jul 24 2019 Fedora Release Engineering - 3.4.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri Jun 21 2019 Arjun Shankar - 3.4.1-1
+- Update to bison 3.4.1 (#1631912)
+
+* Thu Jan 31 2019 Fedora Release Engineering - 3.0.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Tue Aug 14 2018 Patsy Griffin Franklin - 3.0.5-1
+- _IO_ftrylockfile is obsolete as part of the removal of libio.h
+- Build requires gcc-c++ to fix build failure. (#1603491)
+- Update to bison 3.0.5 (#1583179)
+
+* Thu Jul 12 2018 Fedora Release Engineering - 3.0.4-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Feb 07 2018 Fedora Release Engineering - 3.0.4-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Aug 02 2017 Fedora Release Engineering - 3.0.4-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 3.0.4-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Feb 13 2017 Patsy Franklin - 3.0.4-6
+- Proposed upstream patch to fix testsuite failures for tests 430-432.
+ BZ #1422261
+
+* Fri Feb 10 2017 Fedora Release Engineering - 3.0.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Wed Feb 03 2016 Fedora Release Engineering - 3.0.4-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Oct 22 2015 Patsy Franklin - 3.0.4-3
+- Remove unpackaged files.
+
+* Wed Jun 17 2015 Fedora Release Engineering - 3.0.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Mon Mar 02 2015 Patsy Franklin - 2.0.4-1
+- Rebase to 3.0.4.
+
+* Fri Aug 15 2014 Fedora Release Engineering - 3.0.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Jun 07 2014 Fedora Release Engineering - 3.0.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon Dec 09 2013 Patsy Franklin - 3.0.2-1
+- Rebase to 3.0.2. Add BuildRequires: flex for testsuite.
+
+* Sat Aug 03 2013 Fedora Release Engineering - 2.7-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Fri May 17 2013 Petr Machata - 2.7-2
+- Drop unused options --raw, -n, -e, --include and -I
+
+* Thu Mar 21 2013 Petr Machata - 2.7-1
+- Rebase to 2.7
+
+* Wed Feb 13 2013 Fedora Release Engineering - 2.6.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Fri Nov 2 2012 Orion Poplawski - 2.6.4-1
+- Update to 2.6.4
+
+* Tue Jul 31 2012 Petr Machata - 2.6.1-1
+- Rebase to 2.6.1
+ - Drop bison-2.4.2-drop-test-67.patch
+- Resolves: #829028
+
+* Wed Jul 18 2012 Fedora Release Engineering - 2.5-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue May 15 2012 Petr Machata - 2.5-4
+- Add a virtual provides for bundled(gnulib).
+- Resolves: #821746
+
+* Tue Apr 17 2012 Bill Nottingham - 2.5-2
+- swap java-openjdk-1.6.0 for 1.7.0 in buildrequirements
+
+* Thu Jan 12 2012 Fedora Release Engineering - 2.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Jun 22 2011 Petr Machata - 2.5-1
+- Upstream 2.5
+
+* Mon Feb 07 2011 Fedora Release Engineering - 2.4.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Aug 11 2010 Petr Machata - 2.4.3-1
+- Rebase to 2.4.3
+- Resolves: #621854
+
+* Thu Jul 1 2010 Petr Machata - 2.4.2-3
+- Devel subpackage now provides boost-static, as per Fedora
+ guidelines.
+- Resolves: #609599
+
+* Thu Apr 8 2010 Petr Machata - 2.4.2-2
+- Disable the mysteriously failing test no. 67. Details in associated
+ bugreport. (bison-2.4.2-drop-test-67.patch)
+- Resolves: #576513
+
+* Wed Apr 7 2010 Petr Machata - 2.4.2-1
+- Rebase to 2.4.2
+- Drop reap_subpipe patch, upstream has a fix
+- Resolves: #576513
+
+* Fri Mar 5 2010 Petr Machata - 2.4.1-5
+- Fix the license tag
+- Install COPYING
+
+* Mon Aug 24 2009 Petr Machata - 2.4.1-4
+- Fix installation with --excludedocs
+- Resolves: #515939
+
+* Fri Jul 24 2009 Fedora Release Engineering - 2.4.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Mon Feb 23 2009 Fedora Release Engineering - 2.4.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Sun Dec 28 2008 Petr Machata - 2.4.1-1
+- Rebase to 2.4.1
+- Resolves: #478348
+
+* Wed Nov 12 2008 Petr Machata - 2.4-2
+- Rebase to 2.4
+- Resolves: #471183
+
+* Mon Sep 15 2008 Petr Machata - 2.3-6
+- Merge review:
+ - Drop terminating dot from Summary
+ - Escape macros inadvertently left in changelog
+ - Explain why are there source files in the main package
+
+* Tue Feb 19 2008 Fedora Release Engineering - 2.3-5
+- Autorebuild for GCC 4.3
+
+* Tue Aug 28 2007 Roland McGrath - 2.3-4
+- Canonicalize License tag.
+
+* Sun Jan 21 2007 Roland McGrath - 2.3-3
+- Canonicalize post/preun use of install-info.
+- Resolves: 223679
+
+* Wed Jul 12 2006 Jesse Keating - 2.3-2.1
+- rebuild
+
+* Wed Jun 7 2006 Roland McGrath - 2.3-2
+- Add BuildRequires on m4.
+
+* Wed Jun 7 2006 Roland McGrath - 2.3-1
+- New upstream version 2.3
+
+* Mon May 22 2006 Roland McGrath - 2.2-1
+- New upstream version 2.2
+
+* Mon May 1 2006 Roland McGrath - 2.1-3
+- Fix K&R parser definition when it has no arguments (#190376).
+
+* Fri Feb 10 2006 Jesse Keating - 2.1-1.2.1
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating - 2.1-1.2
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Fri Dec 09 2005 Jesse Keating
+- rebuilt
+
+* Fri Oct 14 2005 Roland McGrath - 2.1-1
+- New upstream version 2.1
+- New subpackage bison-runtime for i18n support files used by parsers.
+
+* Thu Apr 7 2005 Roland McGrath - 2.0-6
+- run test suite in %%check
+
+* Mon Mar 14 2005 Roland McGrath - 2.0-5
+- rebuilt
+
* Thu Jan 6 2005 Roland McGrath - 2.0-4
- update upstream URLs, add doc files (#144346)
* Thu Jan 6 2005 Roland McGrath - 2.0-3
-- missing %defattr for subpackage
+- missing %%defattr for subpackage
* Thu Jan 6 2005 Roland McGrath - 2.0-2
- split liby.a into bison-devel package
@@ -156,7 +463,7 @@ rm -rf $RPM_BUILD_ROOT
* Wed Jan 09 2002 Tim Powers
- automated rebuild
-* Mon Nov 27 2001 Than Ngo 1.30-4
+* Tue Nov 27 2001 Than Ngo 1.30-4
- add missing Url
* Sun Nov 25 2001 Than Ngo 1.30-3
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/gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg b/gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg
new file mode 100644
index 0000000..3015744
Binary files /dev/null and b/gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg differ
diff --git a/mirrors b/mirrors
new file mode 100644
index 0000000..7aaad0b
--- /dev/null
+++ b/mirrors
@@ -0,0 +1 @@
+http://ftp.gnu.org/gnu/bison
diff --git a/plans/ci.fmf b/plans/ci.fmf
new file mode 100644
index 0000000..3fd3ab7
--- /dev/null
+++ b/plans/ci.fmf
@@ -0,0 +1,5 @@
+summary: CI Gating Plan
+discover:
+ how: fmf
+execute:
+ how: tmt
diff --git a/sources b/sources
index 2aadfe5..f3f2816 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-c17f964fd5504b88b07a183420de25e3 bison-2.0.tar.gz
+SHA512 (bison-3.8.2.tar.xz) = d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444
+SHA512 (bison-3.8.2.tar.xz.sig) = 8bb7743ca326e81a6c091b1413e3c09bd43c7eabbb80bac0638ccd52bdf7e3395cce300a86acd95f4637a9ec8a1b0e9a4d3d25d95ab0a8f03e57fd82eb87a7ac
diff --git a/tests/Sanity/basic-test/Makefile b/tests/Sanity/basic-test/Makefile
new file mode 100644
index 0000000..9a64167
--- /dev/null
+++ b/tests/Sanity/basic-test/Makefile
@@ -0,0 +1,63 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# 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
new file mode 100644
index 0000000..fe778df
--- /dev/null
+++ b/tests/Sanity/basic-test/PURPOSE
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 0000000..f1fac0b
--- /dev/null
+++ b/tests/Sanity/basic-test/calc.y
@@ -0,0 +1,100 @@
+%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
new file mode 100644
index 0000000..9efa915
--- /dev/null
+++ b/tests/Sanity/basic-test/main.fmf
@@ -0,0 +1,14 @@
+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
new file mode 100755
index 0000000..be397d7
--- /dev/null
+++ b/tests/Sanity/basic-test/runtest.sh
@@ -0,0 +1,61 @@
+#!/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
diff --git a/upstream b/upstream
new file mode 100644
index 0000000..4980d5b
--- /dev/null
+++ b/upstream
@@ -0,0 +1 @@
+bison-2.3.tar.bz2