Bug 225616

Summary: Merge Review: bison
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Gwyn Ciesla <gwync>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: pmachata, redhat-bugzilla, roland
Target Milestone: ---Flags: gwync: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-15 16:00:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nobody's working on this, feel free to take it 2007-01-31 17:45:53 UTC
Fedora Merge Review: bison

http://cvs.fedora.redhat.com/viewcvs/devel/bison/
Initial Owner: roland

Comment 1 Gwyn Ciesla 2008-02-06 16:48:30 UTC
rpmlint on srpm:

bison.src:148: W: macro-in-%changelog defattr
Macros are expanded in %changelog too, which can in unfortunate cases lead
to the package not building at all, or other subtle unexpected conditions that
affect the build.  Even when that doesn't happen, the expansion results in
possibly "rewriting history" on subsequent package revisions and generally
odd entries eg. in source rpms, which is rarely wanted.  Avoid use of macros
in %changelog altogether, or use two '%'s to escape them, like '%%foo'.

bison.src: W: summary-ended-with-dot A GNU general-purpose parser generator.
Summary ends with a dot.

Fix.

rpmlint on rpms:

bison.i386: W: devel-file-in-non-devel-package /usr/share/bison/yacc.c
A development file (usually source code) is located in a non-devel
package. If you want to include source code in your package, be sure to
create a development package.

bison.i386: W: devel-file-in-non-devel-package /usr/share/bison/glr.c
A development file (usually source code) is located in a non-devel
package. If you want to include source code in your package, be sure to
create a development package.

bison-devel.i386: W: no-documentation
The package contains no documentation (README, doc, etc).
You have to include documentation files.

bison-runtime.i386: W: no-documentation
The package contains no documentation (README, doc, etc).
You have to include documentation files.

Fix or explain in spec.

Is the .a necessary, and if so, why in -devel, not in -static?

Otherwise, looks great, no other blockers.


Comment 2 Gwyn Ciesla 2008-05-16 15:04:01 UTC
Any updates?

Comment 3 Gwyn Ciesla 2008-09-08 19:42:41 UTC
Re-examined most recent rawhide build, no changes to above issues.  Adding current pacakge owner to CC list.

Comment 4 Petr Machata 2008-09-15 13:54:02 UTC
Committed a cleaned-up version into rawhide.  No build done.

* Fixed the dot in summary and %-escaped macros in changelog

* Source files in main package are needed in run-time by M4.  They don't belong to separate devel package.

* That runtime package lacks documentation... well, it does, but then these are just language files that the parser needs during the runtime.  If you think that a note is necessary, I can write something up, but given it's just a package-dependency package, and not strictly a user-facing package, I'm inclined to just leave it alone.  Similar for devel.  Please advise.

* That .a is packaged at all: this case is similar to .a packaged with flex.  It's a tiny library, with just 'main' and 'yyerror' symbols in that.  It's extremely stable, these functions are just a couple lines of source code, hence the overhead of introducing dynamic library outweighs the benefits.  Some users still use these instead of providing their own defs, I know I got my share of complaints when I dropped .a from flex.

* That .a is part of -devel.  Well, it could be -static, but the split was done in Jan 2005, which predates current guidelines regarding the same.  I can see a logic in 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.  (Although I'll admit it's kinda fuzzy reasoning.)  Again, please advise.

FWIW, 144 packages depend on bison in F9, and nothing on bison-devel.

Comment 5 Gwyn Ciesla 2008-09-15 14:29:46 UTC
I think this all makes sense.  I'd like to see notes in the spec on these, to avoid future confusion.  Then we're good.

Comment 6 Petr Machata 2008-09-15 15:25:23 UTC
The stuff about runtime and devel is written directly in the description of respective subpackages.  I've included a commentary explaining the reason for static liby and naming of devel.  It's in the CVS.

Comment 7 Gwyn Ciesla 2008-09-15 16:00:57 UTC
Awesome.  Approved!