Compare commits
No commits in common. "c8s" and "c10s" have entirely different histories.
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,2 +1,6 @@
|
|||||||
SOURCES/bison-3.0.4.tar.xz
|
# Release tarballs.
|
||||||
/bison-3.0.4.tar.xz
|
/bison-*.tar.[bgx]z*
|
||||||
|
# Generated (source) RPMs.
|
||||||
|
/*.rpm
|
||||||
|
# Expanded source trees.
|
||||||
|
/bison-*/
|
||||||
|
9
STAGE2-bison
Normal file
9
STAGE2-bison
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#requires m4
|
||||||
|
#requires perl
|
||||||
|
|
||||||
|
mcd $BUILDDIR/bison
|
||||||
|
|
||||||
|
$SRC/bison-*/configure $TCONFIGARGS
|
||||||
|
|
||||||
|
make $J -k
|
||||||
|
make $J -k install
|
BIN
bison-2.4.3.tar.bz2.sig
Normal file
BIN
bison-2.4.3.tar.bz2.sig
Normal file
Binary file not shown.
BIN
bison-2.5.tar.bz2.sig
Normal file
BIN
bison-2.5.tar.bz2.sig
Normal file
Binary file not shown.
53
bison-2.7-unused-opts.patch
Normal file
53
bison-2.7-unused-opts.patch
Normal file
@ -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
|
@ -1,151 +0,0 @@
|
|||||||
commit 952416114729b95209dccfc4edacfc1ff13b4e82
|
|
||||||
Author: Akim Demaille <akim@lrde.epita.fr>
|
|
||||||
Date: Mon Jan 26 18:23:12 2015 +0100
|
|
||||||
|
|
||||||
tests: c++: fix symbol lookup issue
|
|
||||||
|
|
||||||
Sun C 5.13 SunOS_sparc 2014/10/20 reports errors on tests 430-432.
|
|
||||||
|
|
||||||
Reported by Dennis Clarke.
|
|
||||||
<http://lists.gnu.org/archive/html/bug-bison/2015-01/msg00087.html>
|
|
||||||
|
|
||||||
* tests/c++.at (Variants): Be sure to emit operator<< before using it:
|
|
||||||
use "%code top" rather than "%code".
|
|
||||||
Prefer std::vector to std::list.
|
|
||||||
Do not define anything in std::, to avoid undefined behavior.
|
|
||||||
|
|
||||||
diff --git a/tests/c++.at b/tests/c++.at
|
|
||||||
index 55d7d40..60292f4 100644
|
|
||||||
--- a/tests/c++.at
|
|
||||||
+++ b/tests/c++.at
|
|
||||||
@@ -96,7 +96,7 @@ AT_SETUP([C++ Variant-based Symbols])
|
|
||||||
AT_KEYWORDS([variant])
|
|
||||||
|
|
||||||
AT_BISON_OPTION_PUSHDEFS([%skeleton "lalr1.cc" %debug $1])
|
|
||||||
-# Store strings and integers in a list of strings.
|
|
||||||
+# Store strings and integers in a vector of strings.
|
|
||||||
AT_DATA_GRAMMAR([list.y],
|
|
||||||
[[%skeleton "lalr1.cc"
|
|
||||||
%define api.value.type variant
|
|
||||||
@@ -114,20 +114,20 @@ AT_DATA_GRAMMAR([list.y],
|
|
||||||
}
|
|
||||||
|
|
||||||
%token <int> INT "int"
|
|
||||||
-%type < std::list<int> > exp
|
|
||||||
+%type < std::vector<int> > exp
|
|
||||||
|
|
||||||
%printer { yyo << $$; } <int>
|
|
||||||
%printer
|
|
||||||
{
|
|
||||||
- for (std::list<int>::const_iterator i = $$.begin (); i != $$.end (); ++i)
|
|
||||||
+ for (std::vector<int>::const_iterator i = $$.begin (); i != $$.end (); ++i)
|
|
||||||
{
|
|
||||||
if (i != $$.begin ())
|
|
||||||
yyo << ", ";
|
|
||||||
yyo << *i;
|
|
||||||
}
|
|
||||||
- } < std::list<int> >
|
|
||||||
+ } < std::vector<int> >
|
|
||||||
|
|
||||||
-%code requires { #include <list> }
|
|
||||||
+%code requires { #include <vector> }
|
|
||||||
%code { int yylex (yy::parser::semantic_type* yylval); }
|
|
||||||
|
|
||||||
%%
|
|
||||||
@@ -185,7 +185,7 @@ m4_pushdef([AT_TEST],
|
|
||||||
[AT_SETUP([Variants $1])
|
|
||||||
|
|
||||||
AT_BISON_OPTION_PUSHDEFS([%debug $1])
|
|
||||||
-# Store strings and integers in a list of strings.
|
|
||||||
+# Store strings and integers in a vector of strings.
|
|
||||||
AT_DATA_GRAMMAR([list.y],
|
|
||||||
[[%debug
|
|
||||||
%define api.value.type variant
|
|
||||||
@@ -194,29 +194,25 @@ AT_DATA_GRAMMAR([list.y],
|
|
||||||
|
|
||||||
%code requires // code for the .hh file
|
|
||||||
{
|
|
||||||
-#include <list>
|
|
||||||
+#include <vector>
|
|
||||||
#include <string>
|
|
||||||
-typedef std::list<std::string> strings_type;
|
|
||||||
+typedef std::vector<std::string> strings_type;
|
|
||||||
}
|
|
||||||
|
|
||||||
-%code // code for the .cc file
|
|
||||||
+%code top // code for the .cc file.
|
|
||||||
{
|
|
||||||
#include <cstdlib> // abort, getenv
|
|
||||||
#include <iostream>
|
|
||||||
+#include <vector>
|
|
||||||
#include <sstream>
|
|
||||||
+#include <string>
|
|
||||||
|
|
||||||
- namespace yy
|
|
||||||
- {
|
|
||||||
- static]AT_TOKEN_CTOR_IF([[
|
|
||||||
- parser::symbol_type yylex ()]], [[
|
|
||||||
- parser::token_type yylex (parser::semantic_type* yylval]AT_LOCATION_IF([,
|
|
||||||
- parser::location_type* yylloc])[)]])[;
|
|
||||||
- }
|
|
||||||
|
|
||||||
- // Printing a list of strings (for %printer).
|
|
||||||
- // Koening look up will look into std, since that's an std::list.
|
|
||||||
- namespace std
|
|
||||||
+ typedef std::vector<std::string> strings_type;
|
|
||||||
+
|
|
||||||
+ namespace yy
|
|
||||||
{
|
|
||||||
+ // Must be available early, as is used in %destructor.
|
|
||||||
std::ostream&
|
|
||||||
operator<<(std::ostream& o, const strings_type& s)
|
|
||||||
{
|
|
||||||
@@ -230,16 +226,27 @@ typedef std::list<std::string> strings_type;
|
|
||||||
return o << ')';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+}
|
|
||||||
|
|
||||||
- // Conversion to string.
|
|
||||||
- template <typename T>
|
|
||||||
- inline
|
|
||||||
- std::string
|
|
||||||
- to_string (const T& t)
|
|
||||||
+%code // code for the .cc file.
|
|
||||||
+{
|
|
||||||
+ namespace yy
|
|
||||||
{
|
|
||||||
- std::ostringstream o;
|
|
||||||
- o << t;
|
|
||||||
- return o.str ();
|
|
||||||
+ static]AT_TOKEN_CTOR_IF([[
|
|
||||||
+ parser::symbol_type yylex ()]], [[
|
|
||||||
+ parser::token_type yylex (parser::semantic_type* yylval]AT_LOCATION_IF([,
|
|
||||||
+ parser::location_type* yylloc])[)]])[;
|
|
||||||
+
|
|
||||||
+ // Conversion to string.
|
|
||||||
+ template <typename T>
|
|
||||||
+ inline
|
|
||||||
+ std::string
|
|
||||||
+ to_string (const T& t)
|
|
||||||
+ {
|
|
||||||
+ std::ostringstream o;
|
|
||||||
+ o << t;
|
|
||||||
+ return o.str ();
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -252,10 +259,10 @@ typedef std::list<std::string> strings_type;
|
|
||||||
// Using the template type to exercize its parsing.
|
|
||||||
// Starting with :: to ensure we don't output "<::" which starts by the
|
|
||||||
// digraph for the left square bracket.
|
|
||||||
-%type <::std::list<std::string>> list;
|
|
||||||
+%type <::std::vector<std::string>> list;
|
|
||||||
|
|
||||||
%printer { yyo << $$; }
|
|
||||||
- <int> <::std::string> <::std::list<std::string>>;
|
|
||||||
+ <int> <::std::string> <::std::vector<std::string>>;
|
|
||||||
%destructor { std::cerr << "Destroy: " << $$ << '\n'; } <*>;
|
|
||||||
%destructor { std::cerr << "Destroy: \"" << $$ << "\"\n"; } <::std::string>;
|
|
||||||
%%
|
|
@ -6,14 +6,14 @@ Date: Mon Mar 5 10:56:29 2018 -0800
|
|||||||
(Only part of this commit was backported as needed.)
|
(Only part of this commit was backported as needed.)
|
||||||
|
|
||||||
diff -Nrup a/lib/fseterr.c b/lib/fseterr.c
|
diff -Nrup a/lib/fseterr.c b/lib/fseterr.c
|
||||||
--- a/lib/fseterr.c 2015-01-04 11:43:50.000000000 -0500
|
--- a/lib/fseterr.c 2018-05-08 06:02:48.000000000 -0400
|
||||||
+++ b/lib/fseterr.c 2018-08-06 01:27:29.869844228 -0400
|
+++ b/lib/fseterr.c 2018-08-14 16:06:19.636282264 -0400
|
||||||
@@ -29,7 +29,7 @@ fseterr (FILE *fp)
|
@@ -29,7 +29,7 @@ fseterr (FILE *fp)
|
||||||
/* Most systems provide FILE as a struct and the necessary bitmask in
|
/* Most systems provide FILE as a struct and the necessary bitmask in
|
||||||
<stdio.h>, because they need it for implementing getc() and putc() as
|
<stdio.h>, because they need it for implementing getc() and putc() as
|
||||||
fast macros. */
|
fast macros. */
|
||||||
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
|
-#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 */
|
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1
|
||||||
|
/* GNU libc, BeOS, Haiku, Linux libc5 */
|
||||||
fp->_flags |= _IO_ERR_SEEN;
|
fp->_flags |= _IO_ERR_SEEN;
|
||||||
#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
|
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
|
||||||
fp_->_flags |= __SERR;
|
|
108
bison-license-check.sh
Executable file
108
bison-license-check.sh
Executable file
@ -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
|
162
bison.spec
162
bison.spec
@ -1,28 +1,30 @@
|
|||||||
Summary: A GNU general-purpose parser generator
|
Summary: A GNU general-purpose parser generator
|
||||||
Name: bison
|
Name: bison
|
||||||
Version: 3.0.4
|
Version: 3.8.2
|
||||||
Release: 10%{?dist}
|
Release: 9%{?dist}
|
||||||
License: GPLv3+
|
|
||||||
Group: Development/Tools
|
|
||||||
Source: ftp://ftp.gnu.org/pub/gnu/bison/bison-%{version}.tar.xz
|
|
||||||
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=948856
|
# An SPDX license string check done against bison-3.8.2 found strings
|
||||||
# Submitted for upstream inclusion on 2013-05-17.
|
# corresponding to the following licenses across the bison source tree:
|
||||||
Patch0: bison-3.0.4-c++-test-failure.patch
|
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
|
||||||
Patch1: bison-3.0.4-gnulib-fseterr.patch
|
|
||||||
|
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
|
||||||
|
|
||||||
# testsuite dependency
|
# testsuite dependency
|
||||||
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gnupg2
|
||||||
|
|
||||||
URL: http://www.gnu.org/software/bison/
|
URL: http://www.gnu.org/software/%{name}/
|
||||||
BuildRoot: %{_tmppath}/%{name}-root
|
|
||||||
BuildRequires: m4 >= 1.4
|
BuildRequires: m4 >= 1.4
|
||||||
|
BuildRequires: make
|
||||||
#java-1.7.0-openjdk-devel
|
#java-1.7.0-openjdk-devel
|
||||||
Requires: m4 >= 1.4
|
Requires: m4 >= 1.4
|
||||||
Requires(post): /sbin/install-info
|
|
||||||
Requires(preun): /sbin/install-info
|
|
||||||
|
|
||||||
# bison contains a copy of gnulib. As a copylib, gnulib was granted
|
# bison contains a copy of gnulib. As a copylib, gnulib was granted
|
||||||
# an exception that allows bundling it with other software. For
|
# an exception that allows bundling it with other software. For
|
||||||
@ -47,7 +49,6 @@ Bison.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: -ly library for development using Bison-generated parsers
|
Summary: -ly library for development using Bison-generated parsers
|
||||||
Group: Development/Libraries
|
|
||||||
Provides: bison-static = %{version}-%{release}
|
Provides: bison-static = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -69,7 +70,6 @@ simple programs to supply minimal support for the generated parsers.
|
|||||||
|
|
||||||
%package runtime
|
%package runtime
|
||||||
Summary: Runtime support files used by Bison-generated parsers
|
Summary: Runtime support files used by Bison-generated parsers
|
||||||
Group: Development/Libraries
|
|
||||||
|
|
||||||
%description runtime
|
%description runtime
|
||||||
The bison-runtime package contains files used at runtime by parsers
|
The bison-runtime package contains files used at runtime by parsers
|
||||||
@ -79,51 +79,35 @@ these files are available. See the Internationalization in the
|
|||||||
Bison manual section for more information.
|
Bison manual section for more information.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
%patch0 -p1
|
%autosetup
|
||||||
%patch1 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
make
|
%make_build
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make check
|
make check
|
||||||
#make maintainer-check
|
#make maintainer-check
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
%make_install
|
||||||
%makeinstall
|
|
||||||
|
|
||||||
# Remove unpackaged files.
|
# Remove unpackaged files.
|
||||||
rm -f $RPM_BUILD_ROOT/%{_bindir}/yacc
|
rm -f %{buildroot}/%{_bindir}/yacc
|
||||||
rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
|
rm -f %{buildroot}/%{_infodir}/dir
|
||||||
rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/yacc*
|
rm -f %{buildroot}/%{_mandir}/man1/yacc*
|
||||||
rm -f $RPM_BUILD_ROOT/%{_docdir}/%{name}/examples/calc++/*
|
rm -rf %{buildroot}/%{_docdir}/%{name}/examples/*
|
||||||
rm -f $RPM_BUILD_ROOT/%{_docdir}/%{name}/examples/mfcalc/*
|
|
||||||
rm -f $RPM_BUILD_ROOT/%{_docdir}/%{name}/examples/rpcalc/*
|
|
||||||
|
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
%find_lang %{name}-runtime
|
%find_lang %{name}-runtime
|
||||||
|
%find_lang %{name}-gnulib
|
||||||
|
|
||||||
gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info*
|
gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info*
|
||||||
|
|
||||||
%post
|
|
||||||
if [ -f %{_infodir}/bison.info.gz ]; then # for --excludedocs
|
|
||||||
/sbin/install-info %{_infodir}/bison.info.gz %{_infodir}/dir --entry="* bison: (bison). The GNU parser generator." || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun
|
|
||||||
if [ $1 = 0 ]; then
|
|
||||||
if [ -f %{_infodir}/bison.info.gz ]; then # for --excludedocs
|
|
||||||
/sbin/install-info --delete %{_infodir}/bison.info.gz %{_infodir}/dir --entry="* bison: (bison). The GNU parser generator." || :
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The distribution contains also source files. These are used by m4
|
# The distribution contains also source files. These are used by m4
|
||||||
# when the target parser file is generated.
|
# when the target parser file is generated.
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang -f %{name}-gnulib.lang
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc AUTHORS ChangeLog NEWS README THANKS TODO COPYING
|
%doc AUTHORS ChangeLog NEWS README THANKS TODO COPYING
|
||||||
%{_mandir}/*/bison*
|
%{_mandir}/*/bison*
|
||||||
%{_datadir}/bison
|
%{_datadir}/bison
|
||||||
@ -139,13 +123,95 @@ fi
|
|||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/liby.a
|
%{_libdir}/liby.a
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sun Aug 05 2018 Patsy Griffin Franklin <pfrankli@redhat.com> - 3.0.4-10
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 3.8.2-9
|
||||||
- Add changes needed to gnulib fseterr.c since libio.h has been removed.
|
- Bump release for October 2024 mass rebuild:
|
||||||
|
Resolves: RHEL-64018
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.8.2-8
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Sep 1 2023 Arjun Shankar <arjun@redhat.com> - 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 <releng@fedoraproject.org> - 3.8.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Dec 13 2021 Arjun Shankar <arjun@redhat.com> - 3.8.2-1
|
||||||
|
- Update to bison 3.8.2 (#2002074)
|
||||||
|
|
||||||
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.6-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue May 18 2021 Arjun Shankar <arjun@redhat.com> - 3.7.6-2
|
||||||
|
- Rebuild with binutils-2.36.1-12.fc35
|
||||||
|
|
||||||
|
* Tue Mar 16 2021 Arjun Shankar <arjun@redhat.com> - 3.7.6-1
|
||||||
|
- Update to bison 3.7.6 (#1920078)
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 11 2021 Arjun Shankar <arjun@redhat.com> - 3.7.4-1
|
||||||
|
- Update to bison 3.7.4 (#1897780)
|
||||||
|
|
||||||
|
* Tue Nov 10 2020 Arjun Shankar <arjun@redhat.com> - 3.7.3-1
|
||||||
|
- Update to bison 3.7.3 (#1887766)
|
||||||
|
|
||||||
|
* Tue Sep 8 2020 Arjun Shankar <arjun@redhat.com> - 3.7.2-1
|
||||||
|
- Update to bison 3.7.2 (#1876120)
|
||||||
|
|
||||||
|
* Thu Aug 27 2020 Arjun Shankar <arjun@redhat.com> - 3.7.1-1
|
||||||
|
- Update to bison 3.7.1 (#1859887)
|
||||||
|
|
||||||
|
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.4-3
|
||||||
|
- Second attempt - Rebuilt for
|
||||||
|
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 10 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 3.6.4-1
|
||||||
|
- Update to bison 3.6.4 (#1792738, #1847608)
|
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 7 2020 Arjun Shankar <arjun@redhat.com> - 3.5-1
|
||||||
|
- Update to bison 3.5 (#1751843)
|
||||||
|
|
||||||
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 21 2019 Arjun Shankar <arjun@redhat.com> - 3.4.1-1
|
||||||
|
- Update to bison 3.4.1 (#1631912)
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Aug 14 2018 Patsy Griffin Franklin <pfrankli@redhat.com> - 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 <releng@fedoraproject.org> - 3.0.4-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-9
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-9
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
20
gating.yaml
20
gating.yaml
@ -1,6 +1,26 @@
|
|||||||
--- !Policy
|
--- !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:
|
product_versions:
|
||||||
- rhel-8
|
- rhel-8
|
||||||
decision_context: osci_compose_gate
|
decision_context: osci_compose_gate
|
||||||
rules:
|
rules:
|
||||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
- !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}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||||
|
|
||||||
|
BIN
gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg
Normal file
BIN
gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg
Normal file
Binary file not shown.
5
plans/ci.fmf
Normal file
5
plans/ci.fmf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
summary: CI Gating Plan
|
||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
execute:
|
||||||
|
how: tmt
|
3
sources
3
sources
@ -1 +1,2 @@
|
|||||||
SHA512 (bison-3.0.4.tar.xz) = bbdc23e7772e49da1c7c47e66d4e4efbfbfe9b21dbc59bf3ad9a6e573eecac6c9f52c7f11a64be9897e8deb99ef7ba015164aa8232aa391b901dd7db03632412
|
SHA512 (bison-3.8.2.tar.xz) = d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444
|
||||||
|
SHA512 (bison-3.8.2.tar.xz.sig) = 8bb7743ca326e81a6c091b1413e3c09bd43c7eabbb80bac0638ccd52bdf7e3395cce300a86acd95f4637a9ec8a1b0e9a4d3d25d95ab0a8f03e57fd82eb87a7ac
|
||||||
|
63
tests/Sanity/basic-test/Makefile
Normal file
63
tests/Sanity/basic-test/Makefile
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Makefile of /tools/bison/Sanity/basic-test
|
||||||
|
# Description: bison basic test
|
||||||
|
# Author: Edjunior Machado <emachado@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# 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 <emachado@redhat.com>" > $(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)
|
3
tests/Sanity/basic-test/PURPOSE
Normal file
3
tests/Sanity/basic-test/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
PURPOSE of /tools/bison/Sanity/basic-test
|
||||||
|
Description: bison basic test
|
||||||
|
Author: Edjunior Machado <emachado@redhat.com>
|
100
tests/Sanity/basic-test/calc.y
Normal file
100
tests/Sanity/basic-test/calc.y
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
%code top {
|
||||||
|
#include <assert.h>
|
||||||
|
#include <ctype.h> /* isdigit. */
|
||||||
|
#include <stdio.h> /* printf. */
|
||||||
|
#include <stdlib.h> /* abort. */
|
||||||
|
#include <string.h> /* strcmp. */
|
||||||
|
|
||||||
|
int yylex (void);
|
||||||
|
void yyerror (char const *);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Generate YYSTYPE from the types used in %token and %type. */
|
||||||
|
%define api.value.type union
|
||||||
|
%token <double> NUM "number"
|
||||||
|
%type <double> 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", $$); } <double>;
|
||||||
|
|
||||||
|
%% /* 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 ();
|
||||||
|
}
|
14
tests/Sanity/basic-test/main.fmf
Normal file
14
tests/Sanity/basic-test/main.fmf
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
summary: bison basic test
|
||||||
|
description: ''
|
||||||
|
contact:
|
||||||
|
- Edjunior Machado <emachado@redhat.com>
|
||||||
|
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
|
61
tests/Sanity/basic-test/runtest.sh
Executable file
61
tests/Sanity/basic-test/runtest.sh
Executable file
@ -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 <emachado@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# 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
|
Loading…
Reference in New Issue
Block a user