graphviz for OpenSolaris [LSARC/2008/496 FastTrack timeout 08/08/2008]

Shi-Ying Irene Huang sh162551 at sac.sfbay.sun.com
Sat Aug 2 21:45:22 PDT 2008


Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 graphviz for OpenSolaris
    1.2. Name of Document Author/Supplier:
	 Author:  Dermot McCluskey
    1.3  Date of This Document:
	02 August, 2008
4. Technical Description
1. Introduction
   1.1. Project/Component Working Name:

	graphviz 2.20.2

   1.2. Name of Document Author/Supplier:

	Dermot McCluskey

   1.3. Date of This Document:

	30/07/08
        
   1.3.1. Date this project was conceived:

	03/06/08

   1.4. Name of Major Document Customer(s)/Consumer(s):

	1.4.1. The PAC or CPT you expect to review your project:

		Solaris PAC

	1.4.2. The ARC(s) you expect to review your project:

		LSARC

	1.4.3. The Director/VP who is "Sponsoring" this project:

		robert.odea at sun.com

	1.4.4. The name of your business unit:

		New Solaris Group/Desktop

   1.5. Email Aliases:
	1.5.1. Responsible Manager:

		tom.garland at sun.com

	1.5.2. Responsible Engineer:

		dermot.mccluskey at sun.com

	1.5.3. Marketing Manager:

		glynn.foster at sun.com

	1.5.4. Interest List:

		desktop-discuss at opensolaris.org

4. Technical Description:
    4.1. Details:

	Graphviz is an open-source graph visualization application.  It
	includes a set of layout programs and libraries that take text
	representations of graphs and output them in one of several graphical
	file formats.  It also includes tools for displaying and editing the
	graphs.

	It can be used stand-alone, but is typically used by other
	applications, such as the documentation generator doxygen, where it
	is used to generate class hierarchy diagrams.

	Graphviz accepts input in the DOT Language format, a simple
	plaintext format for representating graphs.  A trivial example
	might be:
		graph example
		{
			a -- b;
			a -- c;
		}
	which represents an undirected graph where object `a' is connected
	to object `b' and also to object `c'.

	The main graph-drawing filter program is called `dot', which draws
	directed graphs (with directional arrows between connected objects).
	In addition, there are four other graph-drawing programs:
		neato - filter for drawing undirected graphs
		twopi - filter for radial layouts of graphs
		circo - filter for circular layout of graphs
		fdp - filter for drawing undirected graphs
	These are all implemented as symlinks to `dot'.

	Graphviz also provides the following programs for manipulating graphs:
		acyclic - make directed graph acyclic
		bcomps - biconnected components filter for graphs
		ccomps - connected components filter for graphs
		diffimg - diff two graph images
		dijkstra - single-source distance filter
		gxl2dot,dot2gxl - GXL-DOT converters
			(dot2gxl is a symlink to gxl2dot)
		dotty - A Customizable Graph Editor
		gc - count graph components
		gvcolor - flow colors through a ranked digraph
		gvpack - merge and pack disjoint graphs
		gvpr - graph pattern scanning and processing language
		lefty - A Programmable Graphics Editor
		lneato - A Customizable Graph Editor
		nop - pretty-print graph file
		prune - Prune directed graphs
		sccmap - extract strongly connected components
		tred - transitive reduction filter for directed graphs
		unflatten - improve layout aspect ratio

	Scripting support is provided for the following languages:
		Perl
		Python
		Tcl (and Tk)

	Dot uses an extensible plugin mechanism for its output renderers.  The
	file /usr/lib/graphviz/config defines which formats are available.
	If additional, supported file format libraries are installed, `dot -c`
	can be run to rebuild the config file to include the new format.

	This proposal will add graphviz version 2.20.2, the latest stable
	version.

    4.2. Bug/RFE Number(s):

	None.

    4.3. In Scope:

	See above.

    4.4. Out of Scope:

	See above.

    4.5. Interfaces:

	--------------------------------------------------------------------
	Exported				Stability	Comments
	--------------------------------------------------------------------
	SUNWgraphviz				Uncommitted
	SUNWgraphviz-devel			Uncommitted

	/usr/bin/acyclic			Uncommitted	Command
	/usr/bin/bcomps				Uncommitted	Command
	/usr/bin/ccomps				Uncommitted	Command
	/usr/bin/circo				Uncommitted	Symlink
	/usr/bin/diffimg			Uncommitted	Command
	/usr/bin/dijkstra			Uncommitted	Command
	/usr/bin/dot				Uncommitted	Command
	/usr/bin/dot2gxl			Uncommitted	Symlink
	/usr/bin/dotty				Uncommitted	Command
	/usr/bin/fdp				Uncommitted	Symlink
	/usr/bin/gc				Uncommitted	Command
	/usr/bin/gvcolor			Uncommitted	Command
	/usr/bin/gvpack				Uncommitted	Command
	/usr/bin/gvpr				Uncommitted	Command
	/usr/bin/gxl2dot			Uncommitted	Command
	/usr/bin/lefty				Uncommitted	Command
	/usr/bin/lneato				Uncommitted	Command
	/usr/bin/neato				Uncommitted	Symlink
	/usr/bin/nop				Uncommitted	Command
	/usr/bin/prune				Uncommitted	Command
	/usr/bin/sccmap				Uncommitted	Command
	/usr/bin/tred				Uncommitted	Command
	/usr/bin/twopi				Uncommitted	Symlink
	/usr/bin/unflatten			Uncommitted	Command

	/usr/include/graphviz/			Uncommitted	Directory of
								header files

	/usr/lib/pkgconfig/libagraph.pc		Uncommitted
	/usr/lib/pkgconfig/libcdt.pc		Uncommitted
	/usr/lib/pkgconfig/libcgraph.pc		Uncommitted
	/usr/lib/pkgconfig/libgraph.pc		Uncommitted
	/usr/lib/pkgconfig/libgvc.pc		Uncommitted
	/usr/lib/pkgconfig/libpathplan.pc	Uncommitted

	/usr/lib/graphviz/config		Uncommitted	Plugin config
								file

	libgraph.so.4				Uncommitted	SONAME
	libcdt.so.4				Uncommitted	SONAME
	libcgraph.so.4				Uncommitted	SONAME
	libgraph.so.4				Uncommitted	SONAME
	libgvc.so.4				Uncommitted	SONAME
	libpathplan.so.4			Uncommitted	SONAME

	/usr/perl5/vendor_perl/5.8.4/sun4-solaris-64int/gv.pm
						Uncommitted	Perl extension
	/usr/lib/python2.4/site-packages/gv.py	Uncommitted	Python extension
	/usr/lib/tcl8.4/graphviz/pkgIndex.tcl	Uncommitted	Tcl extension

	--------------------------------------------------------------------
	Imported	Stability		Comments
	--------------------------------------------------------------------
	libgd		Uncommitted		PSARC 2007/166
	zlib		Uncommitted		PSARC 2006/537
	libpng		Evolving		LSARC 2003/568
	libjpeg		Evolving		LSARC 2003/085
	Tcl/Tk		Uncommitted		PSARC 2007/317
	libtool		Uncommitted (Obsolete)	PSARC 2007/557
	GNOME		Various			LSARC 2008/207
	Python		External		PSARC 2005/532
	Perl		Evolving		PSARC 2003/661
	freetype	External		LSARC 2005/397
	libexpat	Volatile		LSARC 2007/378

    4.6. Doc Impact:

	Graphviz includes over 30 community provided man pages covering almost
	all the commands, libraries and script-language extensions plus an
	overall introductory man page.  The only missing man page is for the
	diffimg command, for which a Sun provided man page will be written.
	There are also additional community provided user docs in HTML and PDF
	and demo programs.

    4.7. Admin/Config Impact:

	"dot -c" may be run (by a user with write permission for
	/usr/lib/graphviz/config) to re-generate the graphviz plugin
	configuration file.  This would typically be done when new software
	that provides one of the supported graphical formats is installed.

    4.8. HA Impact:

	None.

    4.9. I18N/L10N Impact:

	The JDS and G11N teams are working together to evaluate and
	provide I18N/L10N support.

    4.10. Packaging & Delivery:
    
        Adds two new packages, SUNgraphviz (approx 15 Mb) and
	SUNWgraphviz-devel (approv 3 Mb).

    4.11. Security Impact:

	None.

    4.12. Dependencies:

	Graphviz depends of the software listed in the Imported
	Interfaces section.

	ARC contracts are already in place between the suppliers of freetype
	and libexpat and other components in JDS.  The contract owners have
	been contacted regarding updating those contracts to include
	graphviz as a consumer.

5. Reference Documents:

	http://www.graphviz.org/
			The Graphviz homepage

	PSARC 2007/166	Including LibGD with Solaris
	PSARC 2006/537	zlib 1.2.3
	LSARC 2005/397	FreeType 2.1.10
	LSARC 2003/568	update to libpng
	LSARC 2003/085	libtiff, libjpeg and libpng
	LSARC 2007/378	update libexpat to 2.0.0 and move to /usr
	PSARC 2007/317	Tcl/Tk upgrade to 8.4.14
	PSARC 2007/557	GNU libtool 1.5.22
	LSARC 2008/207	GNOME 2.22
	PSARC 2005/532	Python migration from /usr/sfw to /usr and upgrade ...
	PSARC 2003/661	Update Perl to version 5.8.x

	http://sac.eng.sun.com/arc/LSARC/2006/202/contracts/LSARC-2004-324-libexpat.txt
			ARC contract for libexpat
	http://sac.eng.sun.com/arc/LSARC/2001/384/commit.materials/contract-01
			ARC contract for freetype


6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		Desktop
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open




More information about the opensolaris-arc mailing list