Bug 472793

Summary: Review Request: jgraph - Java graph visualization and layout
Product: [Fedora] Fedora Reporter: Mary Ellen Foster <mefoster>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, lkundrak, mycae, notting
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-31 13:13:17 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 Mary Ellen Foster 2008-11-24 17:17:30 UTC
Spec URL: http://mef.fedorapeople.org/packages/java-libraries/jgraph.spec
SRPM URL: http://mef.fedorapeople.org/packages/java-libraries/jgraph-5.12.1.1-2.src.rpm

Description:
JGraph is the most powerful, easy-to-use, feature-rich and
standards-compliant open source graph component available for Java.
Features:
- 100% pure Java, integrates into Swing component class hierarchy, based on
  Swing MVC pattern
- Fully standards-compliant, code complies with the Java Code Conventions
- Fully documented with many examples demonstrating the various features
- Can be used in rich clients and on the server-side
- Operates on various backends, XML files to databases or other systems,
  such as LDAP, JMX, J2EE
- Provides zooming, folding, undo, drag and drop and much more...

Comment 2 Mary Ellen Foster 2008-12-16 13:21:43 UTC
Oops, I hadn't noticed that this was already in jpackage -- mea culpa. :( I've taken the jpackage spec and modified it slightly and here's the result:

http://mef.fedorapeople.org/packages/java-libraries/jgraph.spec
http://mef.fedorapeople.org/packages/java-libraries/jgraph-5.12.2.1-1.fc10.src.rpm

Here are the differences from the jpackage spec:
- Updated to latest upstream 5.1.2.1
- Added maven fragments and additional documentation
- Used dos2unix to convert file endings
- Removed Epoch -- not sure if that's kosher or not ...
- Added gcj stuff

Comment 3 Jason Tibbitts 2009-07-12 16:47:08 UTC
*** Bug 510905 has been marked as a duplicate of this bug. ***

Comment 4 D Haley 2009-07-12 23:58:09 UTC
Alright, internet searching failed me :)

Ill review this soon then shall I?

Comment 5 D Haley 2009-07-19 03:55:35 UTC
The package looks pretty good. I will do a full review next update:

RPMLint was clean, mock was OK.

Comments:
----

Description is weasel-wordy: 

Most powerful? 
and more? 
First free diagram editor for java -- I think jfig might beat it here (does jfig have drag'n drop?)
100% pure Java (What does that mean?)
Fully standards-compliant (What standard? ISO 9001? Why do I (user) care?)
etc.

Please make it a bit more descriptive of what the software actually does, and what the package provides. I can't really tell from the description -- is it graphing software, can I make x-y plots? Or does it do network graph analysis? Or just display them?

The README file is a little clearer "A component to display and edit graphs (networks) with Java" "With the JGraph zoomable component, you can display objects and relations (networks) in any Swing UI."

Some ideas:
 *Provides automatic 2D layout and routing for diagrams, for swing UIs
 *Allows for generation a wide variety of object-connection relation diagrams in a java user interface.

----

I am getting errors during the RPM debug information extraction step when rebuilding (F10). A cursory examination makes me suspect it may be related to this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=472292

+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /home/makerpm/rpmbuild/BUILD/jgraph-5.12.2.1
extracting debug info from /home/makerpm/rpmbuild/BUILDROOT/jgraph-5.12.2.1-1.fc10.i386/usr/lib/gcj/jgraph/jgraph-5.12.2.1.jar.so
cpio: jgraph-5.12.2.1/aot-compile-rpm/usr/lib/gcj/jgraph/org/jgraph/JGraph$EmptySelectionModel.java: Cannot stat: No such file or directory
cpio: jgraph-5.12.2.1/aot-compile-rpm/usr/lib/gcj/jgraph/org/jgraph/JGraph$GraphSelectionRedirector.java: Cannot stat: No such file or directory
cpio: jgraph-5.12.2.1/aot-compile-rpm/usr/lib/gcj/jgraph/org/jgraph/JGraph.java: Cannot stat: No such file or directory
cpio: jgraph-5.12.2.1/aot-compile-rpm/usr/lib/gcj/jgraph/org/jgraph/event/GraphLayoutCacheEvent$GraphLayoutCacheChange.java: Cannot stat: No such file or directory
....

----

Licencing is not clearly LGPLv2+. It might be LGPLv2. LICENSE does not state if it is "or any later", which is usually indicated in the source files (which do not show GPL headers, as required by LICENSE). Please raise a bug upstream, and for now the package will need to be LGPLv2 only.
  
----
        
> BuildRequires:  dos2unix

I prefer not using dos2unix for endline conversion. sed is available and capable of the conversion, and can be used to preserve timestamps. One less BuildRequires.

$ echo "hi" > helloworld]
$ ls -l helloworld 
-rw-rw-r-- 1 makerpm makerpm 3 2009-07-19 12:30 helloworld
$ unix2dos helloworld 
unix2dos: converting file helloworld to DOS format ...
$ ls -l helloworld 
-rw-rw-r-- 1 makerpm makerpm 4 2009-07-19 12:31 helloworld

Simply use this instead (shamelessly pinched from someone else's review of one of my packages):

#convert EOL encodings, maintaining timestames
for file in LICENSE examples/com/jgraph/example/SerialGraph.java ; 
do
        sed 's/\r//' $file > $file.new && \
        touch -r $file $file.new && \
        mv $file.new $file
done

----

>%defattr(0644,root,root,0755)

You could simply use (-,root,root,-) here.. Its minor i know.
----

Also, can you please provide koji scratch builds against F-10, F-11?

Comment 6 D Haley 2009-08-22 02:47:24 UTC
ping?

Comment 7 Lubomir Rintel 2009-10-31 13:13:17 UTC
(In reply to comment #5)
> The package looks pretty good. I will do a full review next update:
> 
> RPMLint was clean, mock was OK.
> 
> Comments:
> ----
> 
> Description is weasel-wordy: 
> 
> Most powerful? 
> and more? 
> First free diagram editor for java -- I think jfig might beat it here (does
> jfig have drag'n drop?)
> 100% pure Java (What does that mean?)

Duh? That it's written only in Java, with no platform-specific requirements?

> Fully standards-compliant (What standard? ISO 9001? Why do I (user) care?)
> etc.

Interoperability?

> Please make it a bit more descriptive of what the software actually does, and
> what the package provides. I can't really tell from the description -- is it
> graphing software, can I make x-y plots? Or does it do network graph analysis?
> Or just display them?

I believe your complains are pretty much bogus. Please do not confuse short summary with documentation.

> The README file is a little clearer "A component to display and edit graphs
> (networks) with Java" "With the JGraph zoomable component, you can display
> objects and relations (networks) in any Swing UI."
> 
> Some ideas:
>  *Provides automatic 2D layout and routing for diagrams, for swing UIs
>  *Allows for generation a wide variety of object-connection relation diagrams
> in a java user interface.

I've incorporated some of these.

> I am getting errors during the RPM debug information extraction step when
> rebuilding (F10). A cursory examination makes me suspect it may be related to
> this bug:
> https://bugzilla.redhat.com/show_bug.cgi?id=472292

This is pretty much irrelevant to this package review.

> Licencing is not clearly LGPLv2+. It might be LGPLv2. LICENSE does not state if
> it is "or any later", which is usually indicated in the source files (which do
> not show GPL headers, as required by LICENSE). Please raise a bug upstream, and
> for now the package will need to be LGPLv2 only.

Good catch! README pretty much suggests that terms in LICNESE.txt apply, so there's probably no need to bug upstream here. Changed to LGPLv2.

> > BuildRequires:  dos2unix
> 
> I prefer not using dos2unix for endline conversion

This is a matter of taste and I'd prefer to follow packager's one, thus no change here.

> >%defattr(0644,root,root,0755)
> 
> You could simply use (-,root,root,-) here.. Its minor i know.

Done.

> Also, can you please provide koji scratch builds against F-10, F-11?  

Umm, no that's definitely not needed for review, feel free to do that yourself (technically, one architecture-release combination is needed and there's no clear reason why would they fail, nor indication that packager intends to create branches for these).

Since this is a dead review, a new request was filed as bug #532203.
I will be thankful if you could continue the review there.
Also, I'll appreciate if you could maintain or co-maintain the package once it's in.

Comment 8 Jason Tibbitts 2009-11-02 20:42:28 UTC

*** This bug has been marked as a duplicate of bug 532203 ***