[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PostgreSQL lexer changes needed [Re: Bug#190329: postgresql depends on flex]



Are there any flex experts who can take a look at this problem?

On Thu, 2003-04-24 at 17:41, Drew Scott Daniels wrote:
> The changelog for postgresql 7.3.2r1-3 says:
> [...]
>  * Patch to allow configure to accept flex >= 2.5.30 (it was falling foul of
>    the test for buggy 2.5.3).
> [...]
> 
> Does this mean that it's fixed and the build deps can be changed?

All that patch does is to stop configure thinking that flex 2.5.31 is
2.5.3

> http://http.us.debian.org/debian/pool/main/p/postgresql/postgresql_7.3.2r1-3.diff.gz
> says:
> [...]
> Build-Depends: libncurses5-dev (>= 5.0), tcl8.4-dev, bison, python-dev,
> perl (>= 5.8), libperl-dev, tk8.4-dev, sharutils, flex (<= 2.5.4a-33),
> [...]
> So this bug is still open. Has the latest version of flex been tested? I
> could test to see if the latest version of flex works to help build the
> latest postgresql source package.
> 
> http://packages.qa.debian.org/f/flex.html says flex 2.5.31-3 has been
> accepted into unstable.

The lexer code or the flex command options need to be changed to match
the new flex.  Upstream don't want to get into this yet, since they
regard it as premature; flex 2.5.31 does not even build on some of their
machines.  On the other hand Debian postgresql cannot now progress
without fixing this, because the autobuilders will not use any but the
latest flex package -- they will not accept my Build-Dependency on
2.5.4a.

Changes are needed to the 3 contrib modules that use flex, in order for
postgresql to build at all.  For a patch to send upstream, we need also
to patch the lexer code which is preprocessed by automake in the main
package before the upstream tarball is made.  Ideally such a patch would
allow either version of flex to be used.

These are the lexer files:

contrib/cube/cubescan.l
contrib/seg/segscan.l
contrib/tsearch/parser.l
src/backend/bootstrap/bootscanner.l
src/backend/parser/scan.l
src/backend/utils/misc/guc-file.l
src/interfaces/ecpg/preproc/pgc.l
src/pl/plpgsql/src/scan.l


I can't find any document that details exactly what changes have been
made between 2.5.4a and 2.5.31.  Furthermore, I have no experience of
writing lexer code and no time at present to spend on this, so all help
will be very welcome.

-- 
Oliver Elphick                                Oliver.Elphick@lfix.co.uk
Isle of Wight, UK                             http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
                 ========================================
     "Now unto him that is able to do exceeding abundantly 
      above all that we ask or think, according to the power
      that worketh in us, Unto him be glory in the church by
      Christ Jesus throughout all ages, world without end. 
      Amen."          Ephesians 3:20,21 



Reply to: