diff --git a/gtk2.changes b/gtk2.changes index c991567..f9d9a54 100644 --- a/gtk2.changes +++ b/gtk2.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Jan 7 17:27:24 CET 2011 - vuntz@opensuse.org + +- Use update-alternatives mechanism for gtk-update-icon-cache and + gtk-builder-convert since both tools are shipped with the same + names in gtk2 and gtk3: + + Rename the non-versioned tools and man pages to versioned + filenames. + + Add update-alternatives Requires(post/postun) to tools and + devel subpackages. + + Call update-alterantives in %post/%postun of the tools and + devel subpackages. + ------------------------------------------------------------------- Tue Dec 14 19:02:56 CET 2010 - vuntz@opensuse.org diff --git a/gtk2.spec b/gtk2.spec index a98fd3f..569b383 100644 --- a/gtk2.spec +++ b/gtk2.spec @@ -231,6 +231,8 @@ This package provides an input method based on the X Input Method. License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Tools Group: System/Libraries +Requires(post): update-alternatives +Requires(postun): update-alternatives %description tools GTK+ is a multi-platform toolkit for creating graphical user interfaces. @@ -268,6 +270,8 @@ Group: Development/Libraries/X11 Requires: libgtk-2_0-0 = %{version} # gtk-builder-convert needs this. Requires: python-xml +Requires(post): update-alternatives +Requires(postun): update-alternatives # gail is part of gtk+ as of 2.13.x Provides: gail-devel = 1.22.1 Obsoletes: gail-devel < 1.22.1 @@ -334,6 +338,16 @@ touch %{buildroot}%{_sysconfdir}/gtk-2.0/gtk.immodules mv %{buildroot}%{_bindir}/gtk-query-immodules-2.0 %{buildroot}%{_bindir}/gtk-query-immodules-2.0-64 mv %{buildroot}%{_sysconfdir}/gtk-2.0/gtk.immodules %{buildroot}%{_sysconfdir}/gtk-2.0/gtk64.immodules %endif +# Alternatives for gtk-update-icon-cache and gtk-builder-convert +mv %{buildroot}%{_bindir}/gtk-update-icon-cache %{buildroot}%{_bindir}/gtk-update-icon-cache-2.0 +mv %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1 %{buildroot}%{_mandir}/man1/gtk-update-icon-cache-2.0.1 +mv %{buildroot}%{_bindir}/gtk-builder-convert %{buildroot}%{_bindir}/gtk-builder-convert-2.0 +mv %{buildroot}%{_mandir}/man1/gtk-builder-convert.1 %{buildroot}%{_mandir}/man1/gtk-builder-convert-2.0.1 +touch %{buildroot}%{_bindir}/gtk-update-icon-cache +touch %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1 +touch %{buildroot}%{_bindir}/gtk-builder-convert +touch %{buildroot}%{_mandir}/man1/gtk-builder-convert.1 +chmod a+x %{buildroot}%{_bindir}/gtk-update-icon-cache %{buildroot}%{_bindir}/gtk-builder-convert # Install rpm macros mkdir -p %{buildroot}%{_sysconfdir}/rpm cp %{S:5} %{buildroot}%{_sysconfdir}/rpm @@ -401,6 +415,20 @@ if [ $1 == 1 ]; then %{_gtk_query_immodules_update_cache} fi fi +%if 0 +# If the gtk-update-icon-cache group is in automatic mode, then this will also +# switch all symlinks automatically +%endif +update-alternatives --install %{_bindir}/gtk-update-icon-cache gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-2.0 2 \ + --slave %{_mandir}/man1/gtk-update-icon-cache.1.gz gtk-update-icon-cache.1.gz %{_mandir}/man1/gtk-update-icon-cache-2.0.1.gz + +%post devel +%if 0 +# If the gtk-builder-convert group is in automatic mode, then this will also +# switch all symlinks automatically +%endif +update-alternatives --install %{_bindir}/gtk-builder-convert gtk-builder-convert %{_bindir}/gtk-builder-convert-2.0 2 \ + --slave %{_mandir}/man1/gtk-builder-convert.1.gz gtk-builder-convert.1.gz %{_mandir}/man1/gtk-builder-convert-2.0.1.gz %if 0 # No need to call gtk-query-immodules-2.0 in postun: @@ -431,6 +459,22 @@ fi %postun immodule-xim %{_gtk_query_immodules_update_cache} +%postun tools +%if 0 +# Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed +%endif +if [ ! -f %{_bindir}/gtk-update-icon-cache-2.0 ]; then + update-alternatives --remove gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-2.0 +fi + +%postun devel +%if 0 +# Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed +%endif +if [ ! -f %{_bindir}/gtk-builder-convert-2.0 ]; then + update-alternatives --remove gtk-builder-convert %{_bindir}/gtk-builder-convert-2.0 +fi + %files -n libgtk-2_0-0 %defattr(-,root,root) %doc AUTHORS COPYING README NEWS ChangeLog @@ -498,9 +542,11 @@ fi %files tools %defattr(-,root,root) %{_bindir}/gtk-query-immodules-2.0* -%{_bindir}/gtk-update-icon-cache +%{_bindir}/gtk-update-icon-cache-2.0 +%ghost %{_bindir}/gtk-update-icon-cache %{_mandir}/man1/gtk-query-immodules-2.0*.1* -%{_mandir}/man1/gtk-update-icon-cache.1* +%{_mandir}/man1/gtk-update-icon-cache-2.0.1* +%ghost %{_mandir}/man1/gtk-update-icon-cache.1* %files data %defattr(-,root,root) @@ -519,9 +565,11 @@ fi %doc %{_datadir}/gtk-doc/html/gail-libgail-util/ %doc %{_datadir}/gtk-doc/html/gdk/ %doc %{_datadir}/gtk-doc/html/gtk/ -%{_bindir}/gtk-builder-convert +%{_bindir}/gtk-builder-convert-2.0 +%ghost %{_bindir}/gtk-builder-convert %{_bindir}/gtk-demo -%doc %{_mandir}/man1/gtk-builder-convert.1* +%{_mandir}/man1/gtk-builder-convert-2.0.1* +%ghost %{_mandir}/man1/gtk-builder-convert.1* %{_datadir}/aclocal/gtk-2.0.m4 %{_datadir}/gir-1.0/*.gir %dir %{_datadir}/gtk-2.0