]> granicus.if.org Git - graphviz/commitdiff
some rpm splitting and renaming
authorJohn Ellson <ellson@research.att.com>
Wed, 16 Oct 2013 16:27:24 +0000 (12:27 -0400)
committerJohn Ellson <ellson@research.att.com>
Wed, 16 Oct 2013 16:27:24 +0000 (12:27 -0400)
graphviz.spec.in

index 2b76eef25d8bcc8053332df27f427e4c83f560c1..b601b975d6bcd53db4bf2ab8f11b054e4c343f7e 100644 (file)
@@ -179,27 +179,12 @@ BuildRequires: libwebp-devel
 #-- main graphviz rpm ------------------------------------------------
 Requires:         urw-fonts
 Requires:         %{name}-libs = %{version}-%{release}
-Requires(post):   /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
+Requires:         %{name}-plugins-core = %{version}-%{release}
 
 %description
 A collection of tools for the manipulation and layout
 of graphs (as in nodes and edges, not as in bar-charts).
 
-# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-# (don't rely on ldconfig to find libraries since it won't
-#  help if --prefix was used to relocate binaries)
-%post
-LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-/sbin/ldconfig
-
-# if there is no dot after everything else is done, then remove config
-%postun
-if [ $1 -eq 0 ]; then
-        rm -f $RPM_INSTALL_PREFIX0/%{_lib}/graphviz/config || :
-fi
-/sbin/ldconfig
-
 %files
 %defattr(-,root,root,-)
 %doc AUTHORS COPYING ChangeLog NEWS README
@@ -274,15 +259,13 @@ fi
 %{_mandir}/man7/graphviz.7*
 %dir %{_datadir}/graphviz
 %{_datadir}/graphviz/gvpr/*
-%dir %{_libdir}/graphviz
-%{_libdir}/graphviz/libgvplugin_core.so.*
-%{_libdir}/graphviz/libgvplugin_dot_layout.so.*
-%{_libdir}/graphviz/libgvplugin_neato_layout.so.*
 
 #-- graphviz-libs rpm --------------------------------------------------
 %package libs
 Group:            Applications/Multimedia
 Summary:          Graphviz base libs
+Requires(post):   /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
 
 %description libs
 Graphviz core libs 
@@ -299,23 +282,43 @@ Graphviz core libs
 %{_libdir}/libpathplan.so.*
 %{_libdir}/libxdot.so.4*
 
+#-- graphviz-plugins-core rpm --------------------------------------------------
+%package plugins-core
+Group:            Applications/Multimedia
+Summary:          Graphviz plugins - core layout engines and text renderers
+Requires:         %{name} = %{version}-%{release}
+
+%description plugins-core
+Graphviz plugins - core layout engines and text renderers
+
+# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
+%post
+LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
+
+# if there is no dot after everything else is done, then remove config
+%postun
+if [ $1 -eq 0 ]; then
+        rm -f $RPM_INSTALL_PREFIX0/%{_lib}/graphviz/config || :
+fi
+
+%files plugins-core
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
+%{_libdir}/graphviz/libgvplugin_core.so.*
+%{_libdir}/graphviz/libgvplugin_dot_layout.so.*
+%{_libdir}/graphviz/libgvplugin_neato_layout.so.*
+
 #-- graphviz-x rpm --------------------------------------------------
 %if 0%{?__X}
 %package x
 Group:            Applications/Multimedia
-Summary:          Graphviz plugins and commands that depend on x11 - most installations will want this
+Summary:          Graphviz commands that depend on x11 - most installations will want this
 Requires:         %{name} = %{version}-%{release}
+Requires:         %{name}-plugins-x = %{version}-%{release}
 
 %description x
 Graphviz plugins and commands that depend on x11 - most installations will want this
 
-# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post x
-LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-
-%postun x
-[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
-
 %files x
 %{_bindir}/lefty
 %{_bindir}/lneato
@@ -331,115 +334,165 @@ LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
 %{_datadir}/graphviz/smyrna
 %{_mandir}/man1/smyrna.1*
 %endif
-%{_libdir}/graphviz/libgvplugin_xlib.*
+%endif
+
+#-- graphviz-plugins-x rpm --------------------------------------------------
+%if 0%{?__X}
+%package plugins-x
+Group:            Applications/Multimedia
+Summary:          Graphviz plugins and commands that depend on x11 - most installations will want this
+Requires:         %{name} = %{version}-%{release}
+
+%description plugins-x
+Graphviz plugins that depend on x11 - most installations will want this.
+
+# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
+%post plugins-x
+LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
+
+%postun plugins-x
+[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
+
+%files plugins-x
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
+%{_libdir}/graphviz/libgvplugin_xlib.so.*
 %if 0%{?PANGOCAIRO}
-%{_libdir}/graphviz/libgvplugin_pango.*
+%{_libdir}/graphviz/libgvplugin_pango.so.*
 %endif
 %if 0%{?LASI}
-%{_libdir}/graphviz/libgvplugin_lasi.*
+%{_libdir}/graphviz/libgvplugin_lasi.so.*
 %endif
 %if 0%{?GDK_PIXBUF}
-%{_libdir}/graphviz/libgvplugin_gdk_pixbuf.*
+%{_libdir}/graphviz/libgvplugin_gdk_pixbuf.so.*
 %endif
 %if 0%{?GTK}
-%{_libdir}/graphviz/libgvplugin_gtk.*
+%{_libdir}/graphviz/libgvplugin_gtk.so.*
 %endif
 %if 0%{?GHOSTSCRIPT}
-%{_libdir}/graphviz/libgvplugin_gs.*
+%{_libdir}/graphviz/libgvplugin_gs.so.*
 %endif
 %if 0%{?POPPLER}
-%{_libdir}/graphviz/libgvplugin_poppler.*
+%{_libdir}/graphviz/libgvplugin_poppler.so.*
 %endif
 %if 0%{?RSVG}
-%{_libdir}/graphviz/libgvplugin_rsvg.*
+%{_libdir}/graphviz/libgvplugin_rsvg.so.*
 %endif
 %endif
 
 #-- graphviz-gd rpm --------------------------------------------------
 %package gd
 Group:            Applications/Multimedia
-Summary:          Graphviz plugin for renderers based on gd
+Summary:          Graphviz binaries that depend on libgd
 Requires:         %{name} = %{version}-%{release}
 
+# this next Requires is not strictly neccessary for diffimg,
+#   but users will probably expect the plugins to get pulled in
+Requires:         %{name}-plugins-gd = %{version}-%{release} 
+
 %description gd
-Graphviz plugin for renderers based on gd.  (Unless you absolutely have
+Graphviz binaries that depend on gd.  (Unless you absolutely have
+to use GIF, you are recommended to use the PNG format instead because
+of the better quality anti-aliased lines provided by the cairo+pango
+based renderer.)
+
+%files gd
+%defattr(-,root,root,-)
+%{_bindir}/diffimg
+
+#-- graphviz-plugins-gd rpm --------------------------------------------------
+%package plugins-gd
+Group:            Applications/Multimedia
+Summary:          Graphviz plugin for gd renderers.
+Requires:         %{name} = %{version}-%{release}
+
+%description plugins-gd
+Graphviz plugin for image rendering using libgd.  (Unless you absolutely have
 to use GIF, you are recommended to use the PNG format instead because
 of the better quality anti-aliased lines provided by the cairo+pango
 based renderer.)
 
 # run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post gd
+%post plugins-gd
 LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
 
-%postun gd
+%postun plugins-gd
 [ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
 
-%files gd
-%{_bindir}/diffimg
+%files plugins-gd
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
 %{_libdir}/graphviz/libgvplugin_gd.so.*
 
-#-- graphviz-webp rpm --------------------------------------------------
+#-- graphviz-plugins-webp rpm --------------------------------------------------
 %if 0%{?WEBP}
-%package webp
+%package plugins-webp
 Group:            Applications/Multimedia
 Summary:          Graphviz plugin for webp format images, using libwebp
 Requires:         %{name}-x = %{version}-%{release}
+Obsoletes:        %{name}-webp
 
-%description webp
+%description plugins-webp
 Graphviz plugin for webp image rendering. 
 
 # run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post webp
+%post plugins-webp
 LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
 
-%postun webp
+%postun plugins-webp
 [ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
 
-%files webp
+%files plugins-webp
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
 %{_libdir}/graphviz/libgvplugin_webp.so.*
 %endif
 
-#-- graphviz-devil rpm --------------------------------------------------
+#-- graphviz-plugins-devil rpm --------------------------------------------------
 %if 0%{?DEVIL}
-%package devil
+%package plugins-devil
 Group:            Applications/Multimedia
 Summary:          Graphviz plugin for renderers based on DevIL
 Requires:         %{name}-x = %{version}-%{release}
+Obsoletes:        %{name}-devil
 
-%description devil
+%description plugins-devil
 Graphviz plugin for renderers based on DevIL.  (Unless you absolutely have
 to use BMP, TIF, or TGA, you are recommended to use the PNG format instead
 supported directly by the cairo+pango based renderer in the base graphviz rpm.)
 
 # run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post devil
+%post plugins-devil
 LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
 
-%postun devil
+%postun plugins-devil
 [ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
 
-%files devil
+%files plugins-devil
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
 %{_libdir}/graphviz/libgvplugin_devil.so.*
 %endif
 
-#-- graphviz-ming rpm --------------------------------------------------
+#-- graphviz-plugins-ming rpm --------------------------------------------------
 %if 0%{?MING}
-%package ming
+%package plugins-ming
 Group:            Applications/Multimedia
 Summary:          Graphviz plugin for flash renderer based on ming
 Requires:         %{name}-x = %{version}-%{release}
+Obsoletes:        %{name}-ming
 
-%description ming
+%description plugins-ming
 Graphviz plugin for -Tswf (flash) renderer based on ming.
 
 # run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post ming
+%post plugins-ming
 LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
 
-%postun ming
+%postun plugins-ming
 [ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
 
-%files ming
+%files plugins-ming
 %{_libdir}/graphviz/libgvplugin_ming.so.*
 %{_libdir}/graphviz/*fdb
 %endif
@@ -461,85 +514,90 @@ Graphviz applications using _QT - currently just gvedit
 %{_mandir}/man1/gvedit.1*
 %endif
 
-#-- graphviz-sharp rpm --------------------------------------------
+#-- graphviz-lang-sharp rpm --------------------------------------------
 %if 0%{?SHARP}
-%package sharp
+%package lang-sharp
 Group:          Applications/Multimedia
 Summary:        C# extension for graphviz
 Requires:       %{name} = %{version}-%{release}, mono-core
+Obsoletes:     %{name}-sharp
 
-%description sharp
+%description lang-sharp
 C# extension for graphviz.
 
-%files sharp
+%files lang-sharp
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/sharp
 %{_libdir}/graphviz/sharp/*
 %{_mandir}/man3/*.3sharp.*
 %endif
 
-#-- graphviz-guile rpm --------------------------------------------
+#-- graphviz-lang-guile rpm --------------------------------------------
 %if 0%{?GUILE}
-%package guile
+%package lang-guile
 Group:          Applications/Multimedia
 Summary:        Guile extension for graphviz
 Requires:       %{name} = %{version}-%{release}, guile
+Obsoletes:     %{name}-guile
 
-%description guile
+%description lang-guile
 Guile extension for graphviz.
 
-%files guile
+%files lang-guile
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/guile
 %{_libdir}/graphviz/guile/*
 %{_mandir}/man3/*.3guile.*
 %endif
 
-#-- graphviz-io rpm -----------------------------------------------
+#-- graphviz-lang-io rpm -----------------------------------------------
 %if 0%{?_IO}
-%package io
+%package lang-io
 Group:          Applications/Multimedia
 Summary:        Io extension for graphviz
 Requires:       %{name} = %{version}-%{release}, io
+Obsoletes:     %{name}-io
 
-%description io
+%description lang-io
 Io extension for graphviz.
 
-%files io
+%files lang-io
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/io
 %{_libdir}/graphviz/io/*
 %{_mandir}/man3/*.3io.*
 %endif
 
-#-- graphviz-java rpm ---------------------------------------------
+#-- graphviz-lang-java rpm ---------------------------------------------
 %if 0%{?JAVA}
-%package java
+%package lang-java
 Group:          Applications/Multimedia
 Summary:        Java extension for graphviz
 Requires:       %{name} = %{version}-%{release}, java
+Obsoletes:     %{name}-java
 
-%description java
+%description lang-java
 Java extension for graphviz.
 
-%files java
+%files lang-java
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/java
 %{_libdir}/graphviz/java/*
 %{_mandir}/man3/*.3java.*
 %endif
 
-#-- graphviz-lua rpm ----------------------------------------------
+#-- graphviz-lang-lua rpm ----------------------------------------------
 %if 0%{?LUA}
-%package lua
+%package lang-lua
 Group:          Applications/Multimedia
 Summary:        Lua extension for graphviz
 Requires:       %{name} = %{version}-%{release}, lua
+Obsoletes:     %{name}-lua
 
-%description lua
+%description lang-lua
 Lua extension for graphviz.
 
-%files lua
+%files lang-lua
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/lua
 %{_libdir}/graphviz/lua/*
@@ -548,34 +606,36 @@ Lua extension for graphviz.
 %{_mandir}/man3/*.3lua.*
 %endif
 
-#-- graphviz-ocaml rpm --------------------------------------------
+#-- graphviz-lang-ocaml rpm --------------------------------------------
 %if 0%{?OCAML}
-%package ocaml
+%package lang-ocaml
 Group:          Applications/Multimedia
 Summary:        Ocaml extension for graphviz
 Requires:       %{name} = %{version}-%{release}, ocaml
+Obsoletes:     %{name}-ocaml
 
-%description ocaml
+%description lang-ocaml
 Ocaml extension for graphviz.
 
-%files ocaml
+%files lang-ocaml
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/ocaml
 %{_libdir}/graphviz/ocaml/*
 %{_mandir}/man3/*.3ocaml.*
 %endif
 
-#-- graphviz-perl rpm ---------------------------------------------
+#-- graphviz-lang-perl rpm ---------------------------------------------
 %if 0%{?PERL}
-%package perl
+%package lang-perl
 Group:          Applications/Multimedia
 Summary:        Perl extension for graphviz
 Requires:       %{name} = %{version}-%{release}, perl
+Obsoletes:     %{name}-perl
 
-%description perl
+%description lang-perl
 Perl extension for graphviz.
 
-%files perl
+%files lang-perl
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/perl
 %{_libdir}/graphviz/perl/*
@@ -584,19 +644,18 @@ Perl extension for graphviz.
 %{_mandir}/man3/*.3perl.*
 %endif
 
-#-- graphviz-php rpm ----------------------------------------------
+#-- graphviz-lang-php rpm ----------------------------------------------
 %if 0%{?PHP}
-%package php
+%package lang-php
 Group:          Applications/Multimedia
 Summary:        PHP extension for graphviz
 Requires:       %{name} = %{version}-%{release}, php
-#Requires:       php(zend-abi) = %{php_zend_api}
-#Requires:       php(api) = %{php_apiver}
+Obsoletes:     %{name}-php
 
-%description php
+%description lang-php
 PHP extension for graphviz.
 
-%files php
+%files lang-php
 %defattr(-,root,root,-)
 %config(noreplace) %{_sysconfdir}/php.d/%{name}.ini
 %{_libdir}/graphviz/php/
@@ -606,17 +665,18 @@ PHP extension for graphviz.
 %{_mandir}/man3/*.3php.*
 %endif
 
-#-- graphviz-python rpm -------------------------------------------
+#-- graphviz-lang-python rpm -------------------------------------------
 %if 0%{?PYTHON}
-%package python
+%package lang-python
 Group:          Applications/Multimedia
 Summary:        Python extension for graphviz
 Requires:       %{name} = %{version}-%{release}, python
+Obsoletes:     %{name}-python
 
-%description python
+%description lang-python
 Python extension for graphviz.
 
-%files python
+%files lang-python
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/python
 %{_libdir}/graphviz/python/*
@@ -625,34 +685,36 @@ Python extension for graphviz.
 %{_mandir}/man3/*.3python.*
 %endif
 
-#-- graphviz-R rpm ---------------------------------------------
+#-- graphviz-lang-R rpm ---------------------------------------------
 %if 0%{?R_LANG}
-%package R
+%package lang-R
 Group:          Applications/Multimedia
 Summary:        R extension for graphviz
 Requires:       %{name} = %{version}-%{release}, R
+Obsoletes:     %{name}-R
 
-%description R
+%description lang-R
 R extension for graphviz.
 
-%files R
+%files lang-R
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/R
 %{_libdir}/graphviz/R/*
 %{_mandir}/man3/*.3r.*
 %endif
 
-#-- graphviz-ruby rpm ---------------------------------------------
+#-- graphviz-lang-ruby rpm ---------------------------------------------
 %if 0%{?RUBY}
-%package ruby
+%package lang-ruby
 Group:          Applications/Multimedia
 Summary:        Ruby extension for graphviz
 Requires:       %{name} = %{version}-%{release}, ruby
+Obsoletes:     %{name}-ruby
 
-%description ruby
+%description lang-ruby
 Ruby extension for graphviz.
 
-%files ruby
+%files lang-ruby
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/ruby
 %{_libdir}/graphviz/ruby/*
@@ -661,17 +723,19 @@ Ruby extension for graphviz.
 %{_mandir}/man3/*.3ruby.*
 %endif
 
-#-- graphviz-tcl rpm ----------------------------------------------
+#-- graphviz-lang-tcl rpm ----------------------------------------------
 %if 0%{?TCL}
-%package tcl
+%package lang-tcl
 Group:          Applications/Multimedia
 Summary:        Tcl extension & tools for graphviz
 Requires:       %{name} = %{version}-%{release}, tcl >= 8.3 tk
+Requires:       %{name}-plugins-gd = %{version}-%{release}
+Obsoletes:     %{name}-tcl
 
-%description tcl
+%description lang-tcl
 Various tcl packages (extensions) for the graphviz tools.
 
-%files tcl
+%files lang-tcl
 %defattr(-,root,root,-)
 %dir %{_libdir}/graphviz/tcl
 %{_libdir}/graphviz/tcl/*