Bug 227042

Summary: Review Request: byaccj-1.11-2jpp - Parser Generator with Java Extension
Product: [Fedora] Fedora Reporter: Rafael H. Schloming <rafaels>
Component: Package ReviewAssignee: Vivek Lakshmanan <viveklak>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: tross
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: jjohnstn: fedora-review+
wtogami: fedora-cvs+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-06 22:56:37 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 Rafael H. Schloming 2007-02-02 17:31:03 UTC
Spec URL: http://people.redhat.com/rafaels/specs/byaccj-1.11-2jpp.spec
SRPM URL: ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/fedora-4/SRPMS.free/byaccj-1.11-2jpp.src.rpm
Description: BYACC/J is an extension of the Berkeley v 1.8 YACC-compatible
parser generator. Standard YACC takes a YACC source file, and
generates one or more C files from it, which if compiled properly,
will produce a LALR-grammar parser. This is useful for expression
parsing, interactive command parsing, and file reading. Many
megabytes of YACC code have been written over the years.
This is the standard YACC tool that is in use every day to produce
C/C++ parsers. I have added a "-J" flag which will cause BYACC to
generate Java source code, instead. So there finally is a YACC for
Java now!

This package provides debug information for package byaccj.
Debug information is useful when developing applications that use this
package or when debugging this package.

Comment 1 Tania Bento 2007-02-15 23:01:40 UTC
MUST:

X package is named appropriately
 - match upstream tarball or project name
 - try to match previous incarnations in other distributions/packagers for
consistency
 - specfile should be %{name}.spec
 - non-numeric characters should only be used in Release (ie. cvs or
   something)
 - for non-numerics (pre-release, CVS snapshots, etc.), see
   http://fedoraproject.org/wiki/Packaging/NamingGuidelines#PackageRelease
 - if case sensitivity is requested by upstream or you feel it should be
   not just lowercase, do so; otherwise, use all lower case for the name
--> Changed %Release to 2jpp.1%{?dist}.

* is it legal for Fedora to distribute this?
 - OSI-approved
--> Okay.

X license field matches the actual license.
--> The %License tag is currently GPL.  However, on their website
(http://byaccj.sourceforge.net/) it states that it has no license.  The jpackage
website (http://www.jpackage.org/browser/rpm.php?jppversion=1.7&id=27) states
that it is GPL, but on the SourceForge website
(http://sourceforge.net/projects/byaccj), it states that it is Public Domain. 
There is no LICENSE.txt file (or anything along those lines) included in the
package, so I presume its license is Public Doman, so I changed it to Public
Domain.  What do you think???

* license is open source-compatible.
 - use acronyms for licences where common
--> Okay.

* specfile name matches %{name}
--> Okay.

* verify source and patches (md5sum matches upstream, know what the patches do)
 - if upstream doesn't release source drops, put *clear* instructions on
   how to generate the the source drop; ie. 
  # svn export blah/tag blah
  # tar cjf blah-version-src.tar.bz2 blah
--> Okay.

* skim the summary and description for typos, etc.
--> Okay.

X correct buildroot
 - should be:
   %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
--> Fixed.

* if %{?dist} is used, it should be in that form (note the ? and %
locations)
--> Okay.

X license text included in package and marked with %doc
--> License text is not included (not sure what the license is - see above). 
Does the license text need to be included?

* keep old changelog entries; use judgement when removing (too old?
useless?)

* packages meets FHS (http://www.pathname.com/fhs/)
--> Okay.

X rpmlint on <this package>.srpm gives no output
 - justify warnings if you think they shouldn't be there
--> W: byaccj non-standard-group Development/Libraries/Java
(This warning can be ignored.)

* changelog should be in one of these formats:

  * Fri Jun 23 2006 Jesse Keating <jkeating> - 0.6-4
  - And fix the link syntax.

  * Fri Jun 23 2006 Jesse Keating <jkeating> 0.6-4
  - And fix the link syntax.

  * Fri Jun 23 2006 Jesse Keating <jkeating>
  - 0.6-4
  - And fix the link syntax.
--> Okay.

* Packager tag should not be used
--> Okay.

X Vendor tag should not be used
--> Removed.

X Distribution tag should not be used
--> Removed.

* use License and not Copyright 
--> Okay

* Summary tag should not end in a period
--> Okay

* if possible, replace PreReq with Requires(pre) and/or Requires(post)
--> Okay.

* specfile is legible
 - this is largely subjective; use your judgement
--> Okay.

* package successfully compiles and builds on at least x86
--> Okay.

X BuildRequires are proper
i - builds in mock will flush out problems here
 - the following packages don't need to be listed in BuildRequires:
   bash
   bzip2
   coreutils
   cpio
   diffutils
   fedora-release (and/or redhat-release)
   gcc
   gcc-c++
   gzip
   make
   patch
   perl
   redhat-rpm-config
   rpm-build
   sed
   tar
   unzip
   which
--> gcc and make were both listed as BuildRequires, so I removed them.

* summary should be a short and concise description of the package
--> Okay.

X description expands upon summary (don't include installation
instructions)
--> The description mentions a new flag "-J".  I left it, but should that
sentence be left in???

* make sure lines are <= 80 characters
--> Okay.

* specfile written in American English
--> Okay.

* make a -doc sub-package if necessary
 - see
  
http://fedoraproject.org/wiki/Packaging/Guidelines#head-9bbfa57478f0460c6160947a6bf795249488182b
--> Okay.

* packages including libraries should exclude static libraries if possible
--> Okay.

* don't use rpath
--> Okay.

* config files should usually be marked with %config(noreplace)
--> Okay.

* GUI apps should contain .desktop files
--> Okay.

* should the package contain a -devel sub-package?
--> Okay.

* use macros appropriately and consistently
 - ie. %{buildroot} and %{optflags} vs. $RPM_BUILD_ROOT and $RPM_OPT_FLAGS
--> Okay.

* don't use %makeinstall
--> Okay.

* locale data handling correct (find_lang)
 - if translations included, add BR: gettext and use %find_lang %{name} at the
   end of %install
--> Okay.

* consider using cp -p to preserve timestamps
--> Okay.

* split Requires(pre,post) into two separate lines
--> Okay.

* package should probably not be relocatable
--> Okay.

* package contains code
 - see http://fedoraproject.org/wiki/Packaging/Guidelines#CodeVsContent
 - in general, there should be no offensive content
--> Okay.

* package should own all directories and files
--> Okay.

* there should be no %files duplicates
--> Okay.

* file permissions should be okay; %defattrs should be present
--> Okay.

* %clean should be present
--> Okay.

* %doc files should not affect runtime
--> Okay.

* if it is a web apps, it should be in /usr/share/%{name} and *not* /var/www
--> Okay.

X verify the final provides and requires of the binary RPMs
--> rpm -qp --provides /home/tbento/reviews/byaccj/RPMS/i386/* :

    byaccj = 0:1.11-2jpp.1
    byaccj-debuginfo = 0:1.11-2jpp.1
--> rpm -qp --provides /home/tbento/reviews/byaccj/RPMS/i386/*:

    byaccj = 0:1.11-2jpp.1
    byaccj-debuginfo = 0:1.11-2jpp.1

X run rpmlint on the binary RPMs
--> rpmlint ../RPMS/i386/byaccj-1.11-2jpp.1.i386.rpm:
    W: byaccj non-standard-group Development/Libraries/Java
    --> This warning can be ignored.
    W: byaccj wrong-file-end-of-line-encoding /usr/share/doc/byaccj-1.11/tf.y
    --> This has been fixed.

SHOULD:

X package should include license text in the package and mark it with %doc
--> See above.

* package should build on i386
--> Okay.

I also removed the "%define section free".

The spec file and source rpm can be found at the following URL:
http://people.redhat.com/dbhole/fedora/byaccj/

Thanks


Comment 2 Jeff Johnston 2007-02-15 23:20:55 UTC
Please add URL of Source0.
Please change Group to Development/Libraries.
License is fine as this is specified in their readme.
The file src/readme should be specified as %doc (it has the license info).

Everything else is fine.

Comment 3 Tania Bento 2007-02-16 16:32:11 UTC
(In reply to comment #2)
> Please add URL of Source0.
Fixed.

> Please change Group to Development/Libraries.
Fixed.

> The file src/readme should be specified as %doc (it has the license info).
Fixed.

The source rpm and spec file can be found here:
http://www.overholt.ca/fedora/

Thanks.
 



Comment 4 Jeff Johnston 2007-02-16 16:40:56 UTC
Approved.

Comment 5 Vivek Lakshmanan 2007-03-02 23:55:56 UTC
New Package CVS Request
=======================
Package Name: byaccj
Short Description: Parser Generator with Java Extension
Owners: vivekl
Branches: devel
InitialCC: vivekl,dbhole