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

Bug#1003769: RFS: byacc/1.0-2 [ITA] -- public domain Berkeley LALR Yacc parser generator



On Sun, Jan 16, 2022 at 05:34:42PM +0100, Andreas Metzler wrote:
> On 2022-01-16 Thomas Dickey <dickey@his.com> wrote:
> > On Sun, Jan 16, 2022 at 08:03:14AM +0100, Andreas Metzler wrote:
> [...]
>  
> > > I would like to question the introduction of another binary package:
> > > * "byacc2" seems to be a (newly introduced) Debiansm. Googling for
> > >   "byacc2" only finds links related to this RFS.
> 
> > Ultimately that's because Debian's the only place where the older "btyacc"
> > is packaged.
> 
> [...]
> > > Is /usr/bin/byacc2 incompatible with /usr/bin/byacc2? A quick glance
> > > at the yacc.1 seems to suggests that /usr/bin/byacc2 is a backward
> > > compatible extension of /usr/bin/byacc the only difference being
> > > that it additionally supports
> > >   | -B   create a backtracking parser
> 
> > I've made some effort to keep
> > the two compatible, but sooner or later will get some bug report related
> > to their differences.  Debian's the usual place for that sort of thing.
> [...]
> > ...with these caveats:
> 
> > 	a) because of the backtracking support, the skeletons differ.
> 
> > 	b) backtracking can be slow
> 
> > However, Mageia and OpenSUSE provide packages for byacc with backtracking
> > enabled.
> [...]
> 
> Hello Thomas,
> 
> afaict from
> https://src.fedoraproject.org/rpms/byacc/blob/rawhide/f/byacc.spec
> Fedora also builds without backtracking:
> | # Revert default stack size back to 10000
> | # https://bugzilla.redhat.com/show_bug.cgi?id=743343
> | find . -type f -name \*.c -print0 |
> |   xargs -0 sed -i 's/YYSTACKSIZE 500/YYSTACKSIZE 10000/g'
> | 
> | %build
> | %configure --disable-dependency-tracking

my configure script doesn't use that option.  I see it in the initial 2007
commit on Fedora, but it's not been part of any version that I've provided.
(it looks like old copy/paste from somewhere).

Since the Fedora package is reasonably up-to-date (last August),
I didn't get involved with that (yet).

> | %make_build
> 
> I would think that is something you need to solve upstream. It cannot be
> a good thing(TM) if the same version of byacc is incompatible between
> different major distributions. Don't you agree?

yes... but the reminder was useful
 
> With "solve" meaning, that you decide whether you intend to provide a
> limited-feature-set binary forever, and starting from there decide on
> the naming of old (if it shall exist) and new byacc. 

I reviewed the test-data differences, didn't see a problem, and verified
with cproto (which uses lex/yacc) that there are no differences.

So I updated the debian files to combine the two (just packaging one
"byacc" with backtracking).

I'll probably change the default in the upstream configure script
to turn on backtracking, so that the packagers who didn't sign onto
backtracking will get it by default.  Fedora, for instance.

But that's another byacc-update away.
I see in my to-do list that I have some documentation issues, as well
as improving leak-checking (and the usual wishlist...), but nothing
that requires a new release.

For now, I'm just working on the Debian package of the current release :-)

-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net
ftp://ftp.invisible-island.net

Attachment: signature.asc
Description: PGP signature


Reply to: