Bug #95114 do not run bison as part of 'make dist'
Submitted: 24 Apr 2019 13:33 Modified: 2 May 2019 13:34
Reporter: Tor Didriksen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:8.0.18 OS:Any
Assigned to: CPU Architecture:Any

[24 Apr 2019 13:33] Tor Didriksen
Description:
We currently run bison on various input grammars as part of 'make dist' in the bootstrap part of pushbuild.
This was implemented to possibly avoid running bison on platforms with no, or too old bison version.
The code in bison.cmake will actually skip running bison on *all* platforms, except windows.
The result is a possibly non-discovered broken build, see 
    Bug #29210245: MOVE THE UNION TYPE YYSTYPE OUTSIDE THE LEXICAL SCANNER CODE
    
    Post-push update: backward compatibility with Bison 2.3.

We currently have a well-defined list of supported platforms:
  https://www.mysql.com/support/supportedplatforms/database.html
All of these platforms have bison available, so there is no reason to put bison output in our source tarballs.

How to repeat:
Read the code, see pushbuild logs.

Suggested fix:
Use the cmake construct:
FIND_PACKAGE(BISON REQUIRED)
[25 Apr 2019 15:33] Tor Didriksen
Posted by developer:
 
bison should be REQUIRED, but we have to support source tarball build.
https://dev.mysql.com/doc/refman/8.0/en/source-installation.html
[2 May 2019 13:34] Paul DuBois
Posted by developer:
 
Fixed in 8.0.18.

Configuration cleanup. No changelog entry required.