Bug 499409 - Review Request: jargs - Java command line option parsing suite
Review Request: jargs - Java command line option parsing suite
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity low
: ---
: ---
Assigned To: Susi Lehtola
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-05-06 11:08 EDT by Guido Grazioli
Modified: 2009-05-20 19:58 EDT (History)
3 users (show)

See Also:
Fixed In Version: 1.0-5.fc10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-05-20 19:57:13 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
susi.lehtola: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Guido Grazioli 2009-05-06 11:08:15 EDT
Spec URL: 
http://guidograzioli.fedorapeople.org/packages/jargs/jargs.spec
SRPM URL: 
http://guidograzioli.fedorapeople.org/packages/jargs/jargs-1.0-1.fc10.src.rpm
Description: 
This project provides a convenient, compact, pre-packaged and
comprehensively documented suite of command line option parsers
for the use of Java programmers.
Initially, parsing compatible with GNU-style 'getopt' is provided.

rpmlint is silent, koji build is here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1338557
Comment 1 Susi Lehtola 2009-05-09 06:07:40 EDT
- http://fedoraproject.org/wiki/Packaging/Java states as minimum BR:s and Requires:
 BuildRequires: java-devel [>= specific_version] 
 BuildRequires:  jpackage-utils
 Requires:  java >= specific_version
 Requires:  jpackage-utils

- You can probably drop BR: libgcj after adding the above.

- Have a look at the spec file template for ant at
 http://fedoraproject.org/wiki/Packaging/Java#ant_2

- Remove any preexisting jar files in the %setup phase with
 find -name '*.jar' -o -name '*.class' -exec rm -f '{}' \;
(this in order to make sure that everything is built from source).

- When installing, use "-p" to preserve time stamps.

- jar file must have same name as package: http://fedoraproject.org/wiki/Packaging/Java#Jar_file_naming
(drop the symlinking and just install %{name}.jar in %_javadir)

- Same goes with javadocdir, don't version it.

- Use %defattr(-,root,root,-) for javadoc package as well.


Once you have fixed these I will do the full review.
Comment 2 Susi Lehtola 2009-05-09 06:10:04 EDT
Also, you could add Requires: %{name} = %{version}-%{release} to javadoc package so that it gets removed when the jargs package is removed.
Comment 3 Guido Grazioli 2009-05-09 07:46:01 EDT
(In reply to comment #1)
> - jar file must have same name as package:
> http://fedoraproject.org/wiki/Packaging/Java#Jar_file_naming
> (drop the symlinking and just install %{name}.jar in %_javadir)
> 
> - Same goes with javadocdir, don't version it.

Ok for all other things, but why do you ask that? It seems that most java packages come versioned and symlinked (for javadoc as well). It is a jpackage guideline and there seems to be nothing opposing that in Fedora-java guidelines;
look here:
http://www.jpackage.org/cgi-bin/viewvc.cgi/src/jpackage-utils/doc/jpackage-1.5-policy.xhtml?revision=HEAD&root=jpackage#id2480655

Maybe because jargs 1.0 is mature since 2006 and there will hardly be a new release?

Here are updated spec and srpm (with other fixes but without above, waiting for explanation):

http://guidograzioli.fedorapeople.org/packages/jargs/jargs.spec
http://guidograzioli.fedorapeople.org/packages/jargs/jargs-1.0-2.fc10.src.rpm

As a side note, other packages originally coming from jpackage have Group: Development/Libraries/Java instead of Development/Libraries (ie the jakarta-commons-*.jar), but i used the last one to avoid an rpmlint warning.

cheers (and thanks for your sponsorship!)
Comment 4 Susi Lehtola 2009-05-09 07:54:55 EDT
(In reply to comment #3)
> (In reply to comment #1)
> > - jar file must have same name as package:
> > http://fedoraproject.org/wiki/Packaging/Java#Jar_file_naming
> > (drop the symlinking and just install %{name}.jar in %_javadir)
> > 
> > - Same goes with javadocdir, don't version it.
> 
> Ok for all other things, but why do you ask that? It seems that most java
> packages come versioned and symlinked (for javadoc as well). It is a jpackage
> guideline and there seems to be nothing opposing that in Fedora-java
> guidelines;

Because the Fedora Java Packaging Guidelines say so; JPackage guidelines have no say on this :)

> As a side note, other packages originally coming from jpackage have Group:
> Development/Libraries/Java instead of Development/Libraries (ie the
> jakarta-commons-*.jar), but i used the last one to avoid an rpmlint warning.

Yes, Development/Libraries/Java is not a standard group; a standard group must be used.

> cheers (and thanks for your sponsorship!)  

No problem. You could still do a few other reviews of other packages. We need more reviewers!
Comment 5 Guido Grazioli 2009-05-09 08:20:35 EDT

> Because the Fedora Java Packaging Guidelines say so; JPackage guidelines have
> no say on this :)

Ok i found the thread in the ml and it was fairly convincing. 
The wiki should be fixed though, because the ant template suggests:

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp -p [build path to jar]   \
$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar

Can i do that or i need to ask someone to check it?

here are the updated files:
http://guidograzioli.fedorapeople.org/packages/jargs/jargs.spec
http://guidograzioli.fedorapeople.org/packages/jargs/jargs-1.0-3.fc10.src.rpm
Comment 6 Susi Lehtola 2009-05-09 09:20:22 EDT
Oh, still a few things to fix:

- Source url is incorrect:
 http://fedoraproject.org/wiki/Packaging/SourceURL#Sourceforge.net
Also, you might want to use %{version} in the Source URL line, so that you don't have to change the version in multiple locations (you might end up building an old version).

- I don't think the explicit Java version is necessary: 1.4.2 is quite old and is found on every distribution.

(In reply to comment #5)
> > Because the Fedora Java Packaging Guidelines say so; JPackage guidelines have
> > no say on this :)
> 
> Ok i found the thread in the ml and it was fairly convincing. 

Which mailing list?

> The wiki should be fixed though, because the ant template suggests:
> 
> %install
> rm -rf $RPM_BUILD_ROOT
> mkdir -p $RPM_BUILD_ROOT%{_javadir}
> cp -p [build path to jar]   \
> $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
> 
> Can i do that or i need to ask someone to check it?

I wouldn't touch it since it's a guideline page that has been approved by FESCo. I'll send a message about it to the packaging list.
Comment 7 Susi Lehtola 2009-05-09 09:29:42 EDT
Package doesn't build in mock. You are missing
 BuildRequires: junit
after which it builds.
Comment 8 Guido Grazioli 2009-05-09 09:37:20 EDT
(In reply to comment #6)

> > 
> > Ok i found the thread in the ml and it was fairly convincing. 
> 
> Which mailing list?
> 

fedora-devel-list march 08; rhat site is under maintenance now, i found it
mirrored here: http://markmail.org/message/layd6xszdwguafzs

> I wouldn't touch it since it's a guideline page that has been approved by
> FESCo. I'll send a message about it to the packaging list.  

ok
Comment 9 Guido Grazioli 2009-05-09 09:44:12 EDT
(In reply to comment #6)
- Source url is incorrect:
 http://fedoraproject.org/wiki/Packaging/SourceURL#Sourceforge.net
Also, you might want to use %{version} in the Source URL line, so that you
don't have to change the version in multiple locations (you might end up
building an old version).

ok

- I don't think the explicit Java version is necessary: 1.4.2 is quite old and
is found on every distribution.

ok (jarg will compile starting with java2 afterwards)


(In reply to comment #7)
> Package doesn't build in mock. You are missing
>  BuildRequires: junit
> after which it builds.  

That's weird i avoided building the junit tests; are you referring to the warnings produced while building javadoc? (like here http://koji.fedoraproject.org/koji/getfile?taskID=1338558&name=build.log )
If we cant ignore those warnings i will modify the spec to include the test jar also.
Comment 10 Susi Lehtola 2009-05-09 10:13:42 EDT
(In reply to comment #9)
> (In reply to comment #7)
> > Package doesn't build in mock. You are missing
> >  BuildRequires: junit
> > after which it builds.  
> 
> That's weird i avoided building the junit tests; are you referring to the
> warnings produced while building javadoc? (like here
> http://koji.fedoraproject.org/koji/getfile?taskID=1338558&name=build.log )
> If we cant ignore those warnings i will modify the spec to include the test jar
> also.  

If junit is not BR'd, the mock build fails in a bunch of errors (58 of them to be exact). If it is then it works. It does build the test jar, but AFAIK there's no need to ship it.
Comment 12 Susi Lehtola 2009-05-10 06:14:29 EDT
- You still need to fix the SourceURL line.

- Also, I'd use
 %{_javadir}/%{name}.jar
and
 %{_javadocdir}/%{name}/
instead of using
 %{_javadir}/*
 %{_javadocdir}/*
Comment 13 Susi Lehtola 2009-05-18 03:02:19 EDT
ping?
Comment 14 Guido Grazioli 2009-05-19 12:19:43 EDT
(In reply to comment #13)
> ping?  

hello Jussi, latest files are here:
http://guidograzioli.fedorapeople.org/packages/jargs/jargs.spec
http://guidograzioli.fedorapeople.org/packages/jargs/jargs-1.0-5.fc10.src.rpm

Koji build is here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1364002

I still dont understand how build could fail in mock while scratch building ok in koji, however things should be sorted right now.
Comment 15 Susi Lehtola 2009-05-19 12:44:32 EDT
Okay, everything should be fine now. The package has been

APPROVED
Comment 16 Guido Grazioli 2009-05-19 17:11:05 EDT
thx Jussi

New Package CVS Request
=======================
Package Name: jargs
Short Description: Java command line option parsing suite
Owners: guidograzioli
Branches: F-10 F-11
InitialCC:
Comment 17 Kevin Fenzi 2009-05-20 01:46:27 EDT
cvs done.
Comment 18 Fedora Update System 2009-05-20 05:28:32 EDT
jargs-1.0-5.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/jargs-1.0-5.fc11
Comment 19 Fedora Update System 2009-05-20 05:28:38 EDT
jargs-1.0-5.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/jargs-1.0-5.fc10
Comment 20 Fedora Update System 2009-05-20 19:57:08 EDT
jargs-1.0-5.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 21 Fedora Update System 2009-05-20 19:58:46 EDT
jargs-1.0-5.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

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