Use transaction file triggers to configure plugins

Because ldconfig is now run as a trigger, and creating the plugin
configuration requires loading the plugins which depend on graphviz's
own libraries, these too should also be triggers.  This also simplifies
the spec file, and is in line with how plugin cache generation is
handled in other packages.
This commit is contained in:
Yaakov Selkowitz 2023-12-27 18:25:12 -05:00
parent 23e9084f1f
commit aabd496786

View File

@ -104,7 +104,7 @@
Name: graphviz Name: graphviz
Summary: Graph Visualization Tools Summary: Graph Visualization Tools
Version: 9.0.0 Version: 9.0.0
Release: 5%{?dist} Release: 6%{?dist}
License: EPL-1.0 License: EPL-1.0
URL: http://www.graphviz.org/ URL: http://www.graphviz.org/
#Source0: https://gitlab.com/%%{name}/%%{name}/-/archive/%%{version}/%%{name}-%%{version}.tar.bz2 #Source0: https://gitlab.com/%%{name}/%%{name}/-/archive/%%{version}/%%{name}-%%{version}.tar.bz2
@ -204,8 +204,6 @@ BuildRequires: doxygen
BuildRequires: golang BuildRequires: golang
%endif %endif
Requires: urw-base35-fonts Requires: urw-base35-fonts
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
# rhbz#1838679 # rhbz#1838679
Patch0: graphviz-4.0.0-gvpack-neato-static.patch Patch0: graphviz-4.0.0-gvpack-neato-static.patch
# https://gitlab.com/graphviz/graphviz/-/issues/2448 # https://gitlab.com/graphviz/graphviz/-/issues/2448
@ -257,8 +255,6 @@ Smyrna is a viewer for graphs in the DOT format.
%package gd %package gd
Summary: Graphviz plugin for renderers based on gd Summary: Graphviz plugin for renderers based on gd
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires(post): %{_bindir}/dot /sbin/ldconfig
Requires(postun): %{_bindir}/dot /sbin/ldconfig
%description gd %description gd
Graphviz plugin for renderers based on gd. (Unless you absolutely have to use Graphviz plugin for renderers based on gd. (Unless you absolutely have to use
@ -269,8 +265,6 @@ quality anti-aliased lines provided by the cairo+pango based renderer.)
%package gtk2 %package gtk2
Summary: Graphviz plugin for renderers based on gtk2 Summary: Graphviz plugin for renderers based on gtk2
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires(post): %{_bindir}/dot /sbin/ldconfig
Requires(postun): %{_bindir}/dot /sbin/ldconfig
%description gtk2 %description gtk2
Graphviz plugin for renderers based on gtk2. Graphviz plugin for renderers based on gtk2.
@ -571,52 +565,11 @@ php --no-php-ini \
# cd rtest # cd rtest
# make rtest # make rtest
%post %transfiletriggerin -- %{_libdir}/graphviz
%{?ldconfig}
%{_bindir}/dot -c 2>/dev/null || : %{_bindir}/dot -c 2>/dev/null || :
%ldconfig_postun %transfiletriggerpostun -- %{_libdir}/graphviz
%if %{DEVIL}
# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
%post devil
%{_bindir}/dot -c 2>/dev/null || : %{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%postun devil
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%endif
# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
%post gd
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%postun gd
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%if %{with gtk2}
%post gtk2
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%postun gtk2
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%endif
%if %{MING}
# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
%post ming
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%postun ming
%{_bindir}/dot -c 2>/dev/null || :
%{?ldconfig}
%endif
%files %files
%doc %{_docdir}/%{name} %doc %{_docdir}/%{name}
@ -777,6 +730,9 @@ php --no-php-ini \
%endif %endif
%changelog %changelog
* Wed Dec 27 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 9.0.0-6
- Use transaction file triggers to configure plugins
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 9.0.0-5 * Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 9.0.0-5
- OCaml 5.1.1 + s390x code gen fix for Fedora 40 - OCaml 5.1.1 + s390x code gen fix for Fedora 40