Bug 594416 - Review Request: json-lib - JSON library for Java
Review Request: json-lib - JSON library for Java
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
13
All Linux
low Severity medium
: ---
: ---
Assigned To: Stanislav Ochotnicky
Fedora Extras Quality Assurance
:
Depends On: 594414
Blocks: 609012
  Show dependency treegraph
 
Reported: 2010-05-20 11:45 EDT by Lubomir Rintel
Modified: 2010-07-26 19:19 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-07-26 19:19:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
sochotni: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Lubomir Rintel 2010-05-20 11:45:56 EDT
SPEC: http://v3.sk/~lkundrak/SPECS/json-lib.spec
SRPM: http://v3.sk/~lkundrak/SRPMS/json-lib-2.3-1.fc13.src.rpm

Description:

JSON-lib is a java library for transforming beans, maps, collections, java
arrays and XML to JSON and back again to beans and DynaBeans.
Comment 1 Alexander Kurtakov 2010-05-20 12:43:44 EDT
Is there a reason to not build with maven or ant as upstream is doing?
Comment 2 Lubomir Rintel 2010-06-17 10:30:01 EDT
SPEC: http://v3.sk/~lkundrak/SPECS/json-lib.spec
SRPM: http://v3.sk/~lkundrak/SRPMS/json-lib-2.3-2.fc13.src.rpm

Sorry for the delay.

Needs a recent f14 groovy and antlr with bug #605267 fix applied (http://koji.fedoraproject.org/koji/taskinfo?taskID=2255347)
Comment 3 Stanislav Ochotnicky 2010-07-07 04:02:59 EDT
I can do the review
Comment 4 Stanislav Ochotnicky 2010-07-07 08:00:12 EDT
Ah, sorry...didn't notice that block on ezmorph...I'll help you out with that then :-)
Comment 5 Stanislav Ochotnicky 2010-07-15 08:23:19 EDT
OK: rpmlint must be run on every package. The output should be posted in the review.
json-lib.noarch: W: no-documentation
json-lib.noarch: W: non-conffile-in-etc /etc/maven/fragments/json-lib
json-lib.src: W: invalid-url Source0: json-lib-2.3.tar.gz
3 packages and 0 specfiles checked; 0 errors, 3 warnings.

The only problem is missing documentation (e.g. License file). Please
contact upstream and see if they would mind including it in CVS repos.

OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.  .
OK: The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
OK: The License field in the package spec file must match the actual license. 
OK - see above: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc.
OK: The spec file must be written in American English. 
OK: The spec file for the package MUST be legible. 
OK: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this.
OK: The package MUST successfully compile and build into binary rpms on at least one primary architecture. 
NEEDSWORK: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense.

As you mentioned this package needs new groovy/antlr3-tool
packages. It would be better to actually state minimal required
versions (e.g. BR: antlr3-tool >= 3.2-7  I believe)

OK: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
NEEDSWORK: Packages must NOT bundle copies of system libraries.

There are jar files in src/lib. They do not appear to be used (package
compiled fine without them) so it should not be a problem to remove them.

OK: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. 
OK: A Fedora package must not list a file more than once in the spec file's %files listings. 
OK: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. 
OK: Each package must consistently use macros. 
OK: The package must contain code, or permissable content. 
OK: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity). 
OK: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. 
OK: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the filesystem or man package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time. 
OK: All filenames in rpm packages must be valid UTF-8.

There are also things which I pointed out during ezmorph review, but
as it was there...those are up to you.

You will have to remove those jars before I can approve this package,
so while you're at it please change the BRs of groovy/antlr3-tool and
perhaps even make comment about using maven a little more
descriptive. Perhaps even contact upstream if they would mind
providing complete source tarballs so we won't have to use cvs next time?
Comment 6 Stanislav Ochotnicky 2010-07-15 08:51:40 EDT
Oh, while you're at it:
BuildRequires:  maven2-plugin-compiler
BuildRequires:  maven2-plugin-install
BuildRequires:  maven2-plugin-jar
BuildRequires:  maven2-plugin-resources

These are maven-X-plugin in rawhide now (old names are provided...but it's still best not to introduce them in new packages)
Comment 7 Lubomir Rintel 2010-07-23 13:03:50 EDT
Thanks

(In reply to comment #5)
> The only problem is missing documentation (e.g. License file). Please
> contact upstream and see if they would mind including it in CVS repos.

Sent mail upstreamwards.

> NEEDSWORK: All build dependencies must be listed in BuildRequires, except for
> any that are listed in the exceptions section of the Packaging Guidelines ;
> inclusion of those as BuildRequires is optional. Apply common sense.
> 
> As you mentioned this package needs new groovy/antlr3-tool
> packages. It would be better to actually state minimal required
> versions (e.g. BR: antlr3-tool >= 3.2-7  I believe)

Done.

> NEEDSWORK: Packages must NOT bundle copies of system libraries.
> 
> There are jar files in src/lib. They do not appear to be used (package
> compiled fine without them) so it should not be a problem to remove them.

Done.

>... and
> perhaps even make comment about using maven a little more
> descriptive.

Done.

SPEC: http://v3.sk/~lkundrak/SPECS/json-lib.spec
SRPM: http://v3.sk/~lkundrak/SRPMS/json-lib-2.3-3.fc13.src.rpm
Comment 8 Lubomir Rintel 2010-07-23 13:35:25 EDT
(In reply to comment #6)
> Oh, while you're at it:
> BuildRequires:  maven2-plugin-compiler
> BuildRequires:  maven2-plugin-install
> BuildRequires:  maven2-plugin-jar
> BuildRequires:  maven2-plugin-resources
> 
> These are maven-X-plugin in rawhide now (old names are provided...but it's
> still best not to introduce them in new packages)    

I usually care more about my source packages (including those from rawhide) being as "portable" that about cleanliness (e.g. I still don't drop BuildRoot tag unless I'm absolutely sure there's no chance the package will ever be built on el5).

Thus, for the time f13 is supported I'd like to leave it as it is (might it be a good idea to bulk-fix it in all packages afterwards?). If el6 is going to ship 2.0.8 maven (or whichever version is one that precedes f14), I'd like to keep it as it is for its lifetime.

That said, and probably off topic of this bug, more than week ago I asked the owners of the packages of the maven stack (ccing the java list) for help including maven2 stack in EPEL-6, but did not get a reply for most, thus I'm probably going to push the packages there myself. If I understand correctly you've been much involved in refreshing the maven stack in Fedora recently, thus you probably could be of tremendous help getting maven stack (either f13 or f14 one) into EPEL for el6. What's your opinion on that?
Comment 9 Stanislav Ochotnicky 2010-07-26 03:32:41 EDT
> I usually care more about my source packages (including those from rawhide)
> being as "portable" that about cleanliness (e.g. I still don't drop BuildRoot
> tag unless I'm absolutely sure there's no chance the package will ever be built
> on el5).
>
> Thus, for the time f13 is supported I'd like to leave it as it is (might it be
> a good idea to bulk-fix it in all packages afterwards?). If el6 is going to
> ship 2.0.8 maven (or whichever version is one that precedes f14), I'd like to
> keep it as it is for its lifetime.

OK. Not a problem, that's totally up to you of course. It might be good idea to put comment for those BRs so that we know when to rename them (e.g. # rename to maven-XX-plugin after EOL of F-13)


> That said, and probably off topic of this bug, more than week ago I asked the
> owners of the packages of the maven stack (ccing the java list) for help
> including maven2 stack in EPEL-6, but did not get a reply for most, thus I'm
> probably going to push the packages there myself. If I understand correctly
> you've been much involved in refreshing the maven stack in Fedora recently,
> thus you probably could be of tremendous help getting maven stack (either f13
> or f14 one) into EPEL for el6. What's your opinion on that?    

As for the EPEL-6...I have quite a lot on my plate right now (maven-3 is in beta...) and I have quite a few packages in Fedora. I might be able to assist you if you encounter some problems of course. But you were right, this is OT for this bug. If you have questions/need help with something concrete contact me on my email.

Thanks for changes, package is APPROVED.
Comment 10 Lubomir Rintel 2010-07-26 05:23:47 EDT
New Package CVS Request
=======================
Package Name: json-lib
Short Description: 
Owners: lkundrak
Branches: F-13 EL-6
Comment 11 Kevin Fenzi 2010-07-26 18:30:04 EDT
CVS done (by process-cvs-requests.py).
Comment 12 Lubomir Rintel 2010-07-26 19:19:59 EDT
Thanks.
Imported and built.

Note You need to log in before you can comment on or make changes to this bug.