Bug 594416

Summary: Review Request: json-lib - JSON library for Java
Product: [Fedora] Fedora Reporter: Lubomir Rintel <lkundrak>
Component: Package ReviewAssignee: Stanislav Ochotnicky <sochotni>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: akurtako, fedora-package-review, notting, sochotni
Target Milestone: ---Flags: sochotni: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-26 23:19:59 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:
Bug Depends On: 594414    
Bug Blocks: 609012    

Description Lubomir Rintel 2010-05-20 15:45:56 UTC
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 16:43:44 UTC
Is there a reason to not build with maven or ant as upstream is doing?

Comment 2 Lubomir Rintel 2010-06-17 14:30:01 UTC
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 08:02:59 UTC
I can do the review

Comment 4 Stanislav Ochotnicky 2010-07-07 12:00:12 UTC
Ah, sorry...didn't notice that block on ezmorph...I'll help you out with that then :-)

Comment 5 Stanislav Ochotnicky 2010-07-15 12:23:19 UTC
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 12:51:40 UTC
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 17:03:50 UTC
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 17:35:25 UTC
(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 07:32:41 UTC
> 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 09:23:47 UTC
New Package CVS Request
=======================
Package Name: json-lib
Short Description: 
Owners: lkundrak
Branches: F-13 EL-6

Comment 11 Kevin Fenzi 2010-07-26 22:30:04 UTC
CVS done (by process-cvs-requests.py).

Comment 12 Lubomir Rintel 2010-07-26 23:19:59 UTC
Thanks.
Imported and built.