Bug 163840

Summary: RFE Upgrade to graphviz-2.4, add graphviz-cairo-2.4
Product: [Fedora] Fedora Reporter: John Ellson <john.ellson>
Component: graphvizAssignee: Oliver Falk <oliver>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: extras-qa, scop
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: 2006-02-22 16:40:06 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:    
Bug Blocks: 165666    

Description John Ellson 2005-07-21 15:03:38 UTC
Description of problem:
Graphviz-2.4 is now the stable release from:
   http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.4.tar.gz
(contains a .spec that should be fairly close to that needed by Extras.
rpms can be built directly with: rpmbuild -ta graphviz-2.4.tar.gz )

graphviz-2.4 provides a new plugin framework for renderers, and eventually other
components, which can be independently packaged and compiled.

graphviz-cairo-2.4 is a separate source package that provides a renderer plugin
using cairo for antialised graphics.

graphviz-2.4 provides new swig-generated language bindings for: perl, python,
ruby, tcl, php, guile, java, ...

Provides a changed C binding (uses libgvh, gvc.h, and pkgconfig instead of
libdotneato, dotneato.h, and dotneato-config-sh).

The core layout engines are basically unchanged in function since
graphviz-2.2.1, except for bug fixes: 156, 255, 492, 631, 641, 647, 659, 662,
665, 670, 690, 691, 701, 702, 703, 705, 730, 731, 732, 741, 743
(For details, see: http://www.graphviz.org/bugs/buglist.html )

The program "lefty" has been upgraded, providing improvements
to "dotty" and "lneato" 


At this time I would recommend graphviz-2.4 for Rawhide(FC5) only, so that we
can play with cairo features.    



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 John Ellson 2005-07-21 15:05:07 UTC
The added package graphviz-cairo-2.4 is available from:

  http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-cairo-2.4.tar.gz

Comment 2 Ville Skyttä 2005-08-10 20:38:11 UTC
Oliver Falk has taken over maintainership of graphviz from Dams. 

Comment 3 John Ellson 2005-08-11 02:14:30 UTC
Hi Oliver.  Thanks for taking over, and thank you Dams and
Ville for bring it this far.

You might as well hold off on this 2.4 upgrade as we're about to release 
another.   Probably early next week.

I'll update this bug when its ready.

Comment 4 Oliver Falk 2005-08-11 07:47:21 UTC
Hi John! Thanks for all the information.
I'm thinking of dropping support for FC-1, FC-2, as I have no such box running
and personally I think they are EOL.

However. Shall I upgrade FC-3/FC-4 to graphviz 2.4 and FC-5/Devel/Rawhide to
graphviz-cairo? I think that's the best plan, isn't it?

Comment 5 Oliver Falk 2005-08-11 07:54:19 UTC
Oh, just saw, that graphviz-cairo requires graphviz. I thought it's a
standalone-package...

Comment 6 Oliver Falk 2005-08-11 09:24:46 UTC
I just commited an updated version of graphviz. I merged the spec with the one
provided within the source tarball. Fixed stuff like BuildRoot, added php-devel
and guile-devel to BuildRequires (else you get configure warnings), updated
file-list and so on. Please Ville, John, would you be so kind and review it.
I'm not going to request build - I'll wait 'til the new version comes out.

Comment 7 John Ellson 2005-08-13 11:29:14 UTC
I wasn't expecting Fedora to distribute binaries for FC1, or earlier,
but I still run regression tests nightly on FC1 and RH73 for people
obtaining binaries from us.   Removing those details from the spec
would mean that your spec would fork from mine more than I think is necessary.

Yes, FC3, FC4, FC5 should all get graphviz-2.4 (or 2.6 probably).
Only FC5 should get graphviz-cairo as it depends on cairo and recent gtk2.

graphviz-cairo is a set of plugins to the base (libgvc) from the graphviz rpm,
so it requires graphviz.  (I'm going to get all of the X11 dependencies out of
the base graphviz at some point.)

Just to be a little confusing, at least to the packager, there will be a desktop
tool called "graphviz" contained in the graphviz-cairo rpm.  This is a zoomable
graph viewer/editor.  Its available now in a not-quite complete form in our
nightly snapshots from www.graphviz.org.

Related to that.  How would I go about getting the default action for a file
extension to automatically open this /usr/bin/graphviz ?   Traditionally we
have used .dot, but thats also used by Word, so .gv would be my next choice.

I'll pick up your spec from CVS and include as much as I can in my upstream
sources before the (2.6) release.



Comment 8 John Ellson 2005-08-13 12:51:52 UTC
Did you intend to drop the BuildRequires for swig ?  
(Just FYI, swig is not availble on SuSE by default, so I needed to make the
requirement explicit in my spec.)

The BuildRequires for php-devel guile-devel aren't strictly necessary.  The
configure tests will build for whatever set of languages it finds on the build
platform and the %files wildcards in teh spec will work either way.

I think you should add --disable-static back in.  The only product is
a statically linked version of dot, called dot_static, which is really
only intended for us upstream, or for (non-Fedora) platforms where shared
libraries really don't work well.   Building the static objects roughly doubles
the build time.  (My configure, perhaps unconventionally, defaults to
--enable-static)

In Bug#165666 somebody commented that "transform='s,x,x,'" wasn't needed.  I
don't actually know what it does.  I think DAG probably put it in.  Can you
explain what it might have been supposed to do?
I'll try removing it, but I'm not quite sure where to look for effects of the
removal.



Comment 9 John Ellson 2005-08-13 12:57:18 UTC
Also, Bug#165666 claims that these are missing, but I don't see them in your
.spec.  Have you rejected the suggestion because they are not needed?

    Requires(post): %{_bindir}/dot
    Requires(postun): %{_bindir}/dot

Comment 10 John Ellson 2005-08-13 13:08:36 UTC
My comment about --disable-static was misdirected, sorry.  You'll need it only
with the soon-to-be-released version (2.6)


Comment 11 Ville Skyttä 2005-08-13 14:17:14 UTC
A few quick comments, I'm sure Oliver will fill in some more: 
 
If you don't want static libs shipped in general, I'd suggest making them 
disabled by default in "configure".  Anyway, a recommendation about 
disabling/not shipping static libs without a good reason to do otherwise has 
been recently added to the Fedora packaging guidelines. 
 
Regarding MIME type/file extension associations, I'd recommend discussing with 
the freedesktop.org folks first instead of distro package maintainers. 
http://freedesktop.org/wiki/Standards_2fshared_2dmime_2dinfo_2dspec 
http://freedesktop.org/Software/shared-mime-info 

Comment 12 Ville Skyttä 2005-08-13 14:22:37 UTC
...or even better, IANA.  http://www.iana.org/assignments/media-types/ 

Comment 13 Oliver Falk 2005-08-22 09:25:34 UTC
FYI. As I'm back from holyday now, I'll have a look at this, this week!

Comment 14 Oliver Falk 2005-08-22 09:32:33 UTC
(In reply to comment #8)
> The BuildRequires for php-devel guile-devel aren't strictly necessary.  The
> configure tests will build for whatever set of languages it finds on the build
> platform and the %files wildcards in teh spec will work either way.

I know, it isn't strictly needed, but I make it explicit, so the buildsys will
pick it up and build for those languages as well... If someone has
guile-/php-devel installed, he will get other rpms and that's something we don't
want....
 
> I think you should add --disable-static back in.  The only product is
> a statically linked version of dot, called dot_static, which is really
> only intended for us upstream, or for (non-Fedora) platforms where shared
> libraries really don't work well.   Building the static objects roughly doubles
> the build time.  (My configure, perhaps unconventionally, defaults to
> --enable-static)

Done.

> In Bug#165666 somebody commented that "transform='s,x,x,'" wasn't needed.  I
> don't actually know what it does.  I think DAG probably put it in.  Can you
> explain what it might have been supposed to do?
> I'll try removing it, but I'm not quite sure where to look for effects of the
> removal.

I'm also not sure what will happen if we remove it.

Comment 15 Oliver Falk 2005-08-22 09:36:37 UTC
(In reply to comment #9)
> Also, Bug#165666 claims that these are missing, but I don't see them in your
> .spec.  Have you rejected the suggestion because they are not needed?
> 
>     Requires(post): %{_bindir}/dot
>     Requires(postun): %{_bindir}/dot

rpm should pick this up correctly - I guess, but I have added it to the specfile...

Comment 16 John Ellson 2005-08-28 14:16:56 UTC
graphviz-2.6 and graphviz-cairo-2.6 are now available:
    http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.6.tar.gz
    http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-cairo-2.6.tar.gz

graphviz-2.6 (suitable for all Redhat releases since RH73, and all Fedora
releases) fixes bugs: 746, 750, 752, 753, 754, 756, 761, 763, 764, 765, 768,
                771, 772, 773, 774, 775, 776, 777, 778
(For details, see: http://www.graphviz.org/bugs/buglist.html )
Also Fedora Bug#165666

graphviz-cairo-2.6 (suitable for Rawhide only) provides:
   - antialised bitmap rendering for PNG, GIF, JPG output formats
   - a new desktop application "DotEdit"
      (still buggy and not feature complete but possibly usable now as a graph
viewer.  I expect to release a more complete and useful version next month. )
   

Comment 17 Oliver Falk 2005-08-29 11:23:56 UTC
I encountered one problem with graphviz-cairo:

 Renderer type: "gtk" not recognized. Use one of: canon cmap cmapx dia dot fig
gd gd2 gif hpgl imap ismap jpeg jpg mif mp pcl pic plain plain-ext png ps ps2
svg svgz vrml vtx wbmp xdot


Any ideas?

Comment 18 Oliver Falk 2005-08-29 11:33:26 UTC
See commit in CVS and let me know what you think.

Comment 19 John Ellson 2005-08-29 11:38:13 UTC
Please check "which dot" for:
   /usr/bin/dot
and "echo 'digraph G {a->b}' | dot -v" for the output:
   The plugin configuration file:
       /usr/lib/graphviz/config
               was successfully loaded.

You can also check that the "dot -c" that was run during graphviz-cairo %post
generates a /usr/lib/graphviz/config that contains the entry:
   libgvplugin_cairo.so.1 cairo {
       render {
               png 10
               ps -10
               pdf 0
               gtk 0
               xlib 0
       }
       textlayout {
               cairo 0
       }
   }


Comment 20 John Ellson 2005-08-29 11:46:12 UTC
Haven't completed a detailed test yet, but the "dot -V" in %post needs to be
changed to "dot -c"   Something like:

# run "dot -c" to generate plugin config in %{_libdir}/%{name}/config
%post
%{_bindir}/dot -c

%post tcl
%{_bindir}/dot -c 
%post devel
%{_bindir}/dot -c


In graphviz-cairo it needs:

# run dot once to update %{_libdir}/graphviz/config for new plugins
%post
%{_bindir}/dot -c
update-mime-database %{_datadir}/mime >/dev/null

# run dot once to update %{_libdir}/graphviz/config for remaining plugins
%postun
if test -x %{_bindir}/dot; then %{_bindir}/dot -c; fi
update-mime-database %{_datadir}/mime >/dev/null


Is graphviz-cairo in CVS?  I'm not able to checkout for some reason.

Comment 21 Oliver Falk 2005-08-29 12:10:49 UTC
I fixed the dot -c stuff.

No graphviz-cairo is not yet in CVS, as nobody has approved it yet...

Comment 22 John Ellson 2005-08-29 12:25:14 UTC
The ' 2>/dev/null' on the 'dot -c' is not needed.  'dot -c' should normally be
quiet.   Probably don't want error messages to be suppressed.

Do I need to do something for graphviz-cairo?

Comment 23 Oliver Falk 2005-08-29 12:54:48 UTC
OK. The dev/null has been removed from both packages.

No, you don't NEED to do anything, but you CAN and I would appreciate it very
much if you can check the spec and approve the package for fedora extras - if
you think you can.

Comment 24 John Ellson 2005-08-29 13:11:03 UTC
curl isn't working for me.  Is this a known problem?  wget works ok.  see below.

What form should an approval from me take?   Is an "I approve" in this thread
sufficient?

I am not an approved Fedora developer.  Nobody wanted to go to bat for
me here to explain what that means to the AT&T lawyers.



------------------------------------------------------------

ellson@ellson:devel> pwd
/home/ellson/FIX/Linux.i686/build/fedora-extras/graphviz/devel
ellson@ellson:devel> make
Downloading graphviz-2.6.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (52) Empty reply from server
make: *** [graphviz-2.6.tar.gz] Error 52
ellson@ellson:devel> curl
http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.6.tar.gz
curl: (52) Empty reply from server
ellson@ellson:devel> wget
http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.6.tar.gz
--09:05:17--  http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.6.tar.gz
           => `graphviz-2.6.tar.gz'
Resolving www.graphviz.org... 192.20.225.20
Connecting to www.graphviz.org|192.20.225.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4,109,848 (3.9M) [application/x-gzip]

100%[=====================================================================================>]
4,109,848      1.68M/s

09:05:19 (1.68 MB/s) - `graphviz-2.6.tar.gz' saved [4109848/4109848]

ellson@ellson:devel>


Comment 25 Oliver Falk 2005-08-29 13:33:12 UTC
(In reply to comment #24)
> curl isn't working for me.  Is this a known problem?  wget works ok.  see below.

The curl/wget problem is known (at least to me)... I never sent in any
bugreport... :-/
 
> What form should an approval from me take?   Is an "I approve" in this thread
> sufficient?

Yes, if you approve the package then it's OK to approve it here.

But the package needs to be approved following

http://fedoraproject.org/wiki/PackageReviewGuidelines

this guidelines...
 
> I am not an approved Fedora developer.  Nobody wanted to go to bat for
> me here to explain what that means to the AT&T lawyers.

AFAIK. Joinin' the Fedora Extras shouldn't be a problem for AT&T, as it is your
private interesst... But I'm also not a lawyer... :-/

Comment 26 John Ellson 2005-08-29 13:49:51 UTC
OK.  I'll take another shot at the formalities...

Meanwhile, informally, I've tested your spec on Rawhide on i386 and x86_64
and successfully built and installed binary rpms.   So it looks good to me.

Comment 27 Oliver Falk 2005-08-29 14:22:47 UTC
Fine. That's good to hear...

Comment 28 Oliver Falk 2005-08-29 14:47:58 UTC
After the change with dot -V to dot -c, also dotedit works (buggy, but working)...

Comment 29 John Ellson 2005-08-29 16:19:57 UTC
Ville, I think you indicated that you would sponsor my cvsextras access?
The request for sponsor has just been posted, I believe.



Comment 30 Ville Skyttä 2005-08-29 17:30:43 UTC
Yep, I've just clicked the "sponsor" button in the accounts system.  Welcome! 
 
Now, the next thing to do would be to decide which of you guys (or both) will 
be the graphviz maintainer in FE. 

Comment 31 John Ellson 2005-08-29 17:35:57 UTC
Thank you (again), Ville.

To be honest, I'd prefer if Oliver kept the role for the moment as
I greatly appreciate having the extra set of eyes on the project.



Comment 32 Oliver Falk 2005-08-30 07:22:00 UTC
OK, so I will. :-)
Shall I request build for graphviz 2.6 - I mean, do you think it's OK the way it
is currently?

(Ville, may I ask you to approve graphviz-cairo!?)

Comment 33 Ville Skyttä 2005-08-30 07:55:27 UTC
I don't have a Rawhide box, so I'm afraid I can't help too much with -cairo. 
 
John, feel free to add yourself to initial Cc list for graphviz bugs in CVS 
(owners.list in the "owners" module), and it'll auto-propagate to Bugzilla. 

Comment 34 Oliver Falk 2005-08-30 08:01:32 UTC
OK, I'll have to wait 'til somebody else comes across -cairo...

Comment 35 John Ellson 2005-08-30 10:34:54 UTC
Re #32.  I believe graphviz-2.6 is ready to go. (I think I might be allowed to
say APPROVED now?  But somehow it seems out of place for me to do that for my
own package???)

Re #33.  I've added myself to the owners cc list for graphviz

Re #34.  Is there something I should do? Should I be requesting a review on
fedora-extras?

Comment 36 Oliver Falk 2005-08-30 10:39:13 UTC
OK, I'll request a build in -devel. That shouldn't be too bad.

I saw, that you have added yourself... :-)

No, nothing you have to do at this moment...