Hello community,
here is the log from the commit of package pango for openSUSE:Factory
checked in at Fri Oct 15 12:43:45 CEST 2010.
--------
--- GNOME/pango/pango.changes 2010-09-19 00:57:40.000000000 +0200
+++ /mounts/work_src_done/STABLE/pango/pango.changes 2010-10-13 20:26:40.000000000 +0200
@@ -1,0 +2,44 @@
+Wed Oct 13 20:26:17 CEST 2010 - vuntz@opensuse.org
+
+- Do not call pango-querymodules twice in the %post of
+ libpango-1_0-0. Especially since the first call might fail since
+ it's not in the if test.
+- Put comments that are in the scriptlets area of the spec file in
+ "%if 0" statement: if we don't do that, they actually end up in
+ the scriplets and can even make them fail if the scriptlets were
+ just "-p /sbin/ldconfig".
+
+-------------------------------------------------------------------
+Mon Oct 11 16:39:05 CEST 2010 - vuntz@opensuse.org
+
+- Update packaging to use the shared library packaging policy:
+ + Create libpango-1_0-0 and pango-tools subpackages.
+ + Add pango-tools Requires to libpango-1_0-0 for the call to
+ pango-querymodules in %post.
+ + Make libpango-1_0-0 Provides/Obsoletes pango.
+ + We need %post/%postun scriptlets for libpango-1_0-0 and
+ pango-tools that call pango-querymodules when possible.
+ + Update baselibs.conf accordingly, and simplify it a bit.
+- Add RPM macros (macros.pango) to make it easier to handle
+ installation of a Pango module.
+- Add pango-tools Requires to pango-module-thai-lang for the call
+ to pango-querymodules in %post/%postun.
+- Add pango-module-thai-lang to baselibs.conf, since people want
+ the 32-bit module if they have the 32-bit library.
+- Update summaries and descriptions.
+- Use a find to remove .la files.
+- Use <prefix> in baselibs.conf since we use full paths there, and
+ this is needed for x86 packages that put files in
+ /emul/ia32-linux.
+
+-------------------------------------------------------------------
+Wed Sep 29 13:18:13 CEST 2010 - vuntz@opensuse.org
+
+- Update to version 1.28.3:
+ + bgo#630857: introspection: Use --include-uninstalled
+- Changes from version 1.28.2:
+ + Reduce DLL hijack risk and simplify code in basic-win32 module
+ + Improve performance on Windows especially for non-Latin scripts
+ + Bugs fixed: bgo#628497, bgo#626966, bgo#629632, bgo#625807
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
pango-1.28.1.tar.bz2
New:
----
macros.pango
pango-1.28.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pango.spec ++++++
--- /var/tmp/diff_new_pack.fc7FBi/_old 2010-10-15 12:40:51.000000000 +0200
+++ /var/tmp/diff_new_pack.fc7FBi/_new 2010-10-15 12:40:51.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package pango (Version 1.28.1)
+# spec file for package pango (Version 1.28.3)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -15,10 +15,23 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
+# When updating the binary version, do not forget to also update baselibs.conf
+%define pango_binary_version 1.6.0
Name: pango
+License: LGPLv2.1+
+Group: System/Libraries
+Version: 1.28.3
+Release: 1
+# NOTE: on upgrade to a new upstream version, change the Obsoletes from <= to < (here and in baselibs.conf)
+Summary: Library for Layout and Rendering of Text
+Source: ftp://ftp.gnome.org/pub/GNOME/sources/pango/1.18/%{name}-%{version}.tar.bz2
+Source1: README.SuSE
+Source2: macros.pango
+Source99: baselibs.conf
+# PATCH-FIX-UPSTREAM pango64.patch bgo129534 -- needed for biarch. Unfortunately, this is not good enough for usptream.
+Patch0: pango64.patch
BuildRequires: gcc-c++
BuildRequires: gtk-doc
BuildRequires: pkg-config
@@ -30,60 +43,67 @@
BuildRequires: pkgconfig(libthai)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xrender)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+Pango is a library for layout and rendering of text, with an emphasis
+on internationalization. It can be used anywhere that text layout
+is needed.
+
+Pango forms the core of text and font handling for GTK+.
+
+%package -n libpango-1_0-0
License: LGPLv2.1+
+Summary: Library for Layout and Rendering of Text
Group: System/Libraries
+Requires(post): %{name}-tools
+Provides: %{name} = %{version}
+# Note: we keep <= (and a rpmlint warning...) until we get a version higher than 1.28.3 (when this provides/obsoletes was introduced)
+Obsoletes: %{name} <= %{version}
# bug437293
%ifarch ppc64
Obsoletes: pango-64bit
%endif
#
-Version: 1.28.1
-Release: 2
-Summary: System for Layout and Rendering of Internationalised Text
-Source: ftp://ftp.gnome.org/pub/GNOME/sources/pango/1.18/%{name}-%{version}.tar.bz2
-Source1: README.SuSE
-Source99: baselibs.conf
-# PATCH-FIX-UPSTREAM pango64.patch bgo129534 -- needed for biarch. Unfortunately, this is not good enough for usptream.
-Patch0: pango64.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-PreReq: xorg-x11-libXrender xorg-x11-libX11 xorg-x11-libXdmcp
-%description
+%description -n libpango-1_0-0
Pango is a library for layout and rendering of text, with an emphasis
-on internationalisation. It forms the core of text and font handling in
-GTK+ 2.0.
+on internationalization. It can be used anywhere that text layout
+is needed.
+Pango forms the core of text and font handling for GTK+.
+%package tools
+License: LGPLv2.1+
+Summary: Library for Layout and Rendering of Text -- Tools
+Group: System/Libraries
+
+%description tools
+Pango is a library for layout and rendering of text, with an emphasis
+on internationalization. It can be used anywhere that text layout
+is needed.
-Authors:
---------
- Owen Taylor
- Changwoo Ryu
- Sivaraj Doddannan
+Pango forms the core of text and font handling for GTK+.
%package module-thai-lang
License: LGPLv2.1+
-Summary: System for Layout and Rendering of Internationalised Text
+Summary: Library for Layout and Rendering of Text -- Module for the Thai Language
Group: System/Libraries
+Requires(post): %{name}-tools
+Requires(postun): %{name}-tools
Provides: locale(pango:th_TH)
%description module-thai-lang
Pango is a library for layout and rendering of text, with an emphasis
-on internationalisation. It forms the core of text and font handling in
-GTK+ 2.0.
-
-
+on internationalization. It can be used anywhere that text layout
+is needed.
-Authors:
---------
- Owen Taylor
- Changwoo Ryu
- Sivaraj Doddannan
+Pango forms the core of text and font handling for GTK+.
%package devel
License: LGPLv2.1+
-Requires: %{name} = %{version} cairo-devel fontconfig-devel freetype2-devel glib2-devel %(rpm -q --whatprovides XFree86-devel --queryformat '%{NAME}')
-Summary: Include files and libraries mandatory for development
+Requires: libpango-1_0-0 = %{version}
+Summary: Library for Layout and Rendering of Text -- Development Files
Group: Development/Libraries/GNOME
# bug437293
%ifarch ppc64
@@ -93,16 +113,14 @@
Provides: pango-doc = %{version}
%description devel
-This package contains all necessary include files and libraries needed
-to develop applications that require these.
-
+Pango is a library for layout and rendering of text, with an emphasis
+on internationalization. It can be used anywhere that text layout
+is needed.
+Pango forms the core of text and font handling for GTK+.
-Authors:
---------
- Owen Taylor
- Changwoo Ryu
- Sivaraj Doddannan
+This package contains all necessary include files and libraries needed
+to develop applications that require these.
%prep
%setup -q
@@ -117,96 +135,98 @@
%install
%makeinstall
-touch $RPM_BUILD_ROOT%{_sysconfdir}/pango/pango.modules
+find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
+touch %{buildroot}%{_sysconfdir}/pango/pango.modules
%if "%_lib" == "lib64"
-mv $RPM_BUILD_ROOT%{_bindir}/pango-querymodules\
- $RPM_BUILD_ROOT%{_bindir}/pango-querymodules-64
-mv $RPM_BUILD_ROOT%{_sysconfdir}/pango/pango.modules\
- $RPM_BUILD_ROOT%{_sysconfdir}/pango/pango64.modules
+mv %{buildroot}%{_bindir}/pango-querymodules %{buildroot}%{_bindir}/pango-querymodules-64
+mv %{buildroot}%{_sysconfdir}/pango/pango.modules %{buildroot}%{_sysconfdir}/pango/pango64.modules
%endif
-rm $RPM_BUILD_ROOT%{_libdir}/*/*/*/*.*a
-rm $RPM_BUILD_ROOT%{_libdir}/*.la
+# Install rpm macros
+mkdir -p %{buildroot}%{_sysconfdir}/rpm
+cp %{S:2} %{buildroot}%{_sysconfdir}/rpm
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
-%post
-/sbin/ldconfig
+###########################################################################
+# Note: when updating scriptlets, don't forget to also update baselibs.conf
+###########################################################################
+
+# Convenient %define for the scriplets
%if "%_lib" == "lib64"
- # it is not fatal if execution fails on 32bit systems
-LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules-64\
- > etc/pango/pango64.modules || echo "pango-querymodules-64 did not run properly in postin."
+%define _pango_querymodules %{_bindir}/pango-querymodules-64
+%define _pango_querymodules_update_cache %{_pango_querymodules} > %{_sysconfdir}/pango/pango64.modules
%else
-LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules\
- > etc/pango/pango.modules
+%define _pango_querymodules %{_bindir}/pango-querymodules
+%define _pango_querymodules_update_cache %{_pango_querymodules} > %{_sysconfdir}/pango/pango.modules
%endif
-%postun
+%post -n libpango-1_0-0
/sbin/ldconfig
-%if "%_lib" == "lib64"
-if [ -x usr/bin/pango-querymodules-64 ] ; then
- # it is not fatal if execution fails on 32bit systems
- LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules-64\
- > etc/pango/pango64.modules || echo "pango-querymodules-64 did not run properly in postun."
-fi
-%else
-if [ -x usr/bin/pango-querymodules ] ; then
- LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules\
- > etc/pango/pango.modules
+%if 0
+# In case libpango-1_0-0 gets installed before pango-tools, we don't want to
+# fail. So we make the call to pango-querymodules dependent on the existence of
+# the binary. This is why we also have a %post for pango-tools.
+%endif
+if test -f %{_pango_querymodules}; then
+ %{_pango_querymodules_update_cache}
fi
+
+%if 0
+# No need to call pango-querymodules in postun:
+# - if it's an upgrade, it will have been called in post
+# - if it's an uninstall, we don't care about this anymore
%endif
+%postun -n libpango-1_0-0 -p /sbin/ldconfig
+
%post module-thai-lang
-%if "%_lib" == "lib64"
- # it is not fatal if execution fails on 32bit systems
-LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules-64\
- > etc/pango/pango64.modules || echo "pango-querymodules-64 did not run properly in postin."
-%else
-LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules\
- > etc/pango/pango.modules
-%endif
+%{_pango_querymodules_update_cache}
%postun module-thai-lang
-%if "%_lib" == "lib64"
-if [ -x usr/bin/pango-querymodules-64 ] ; then
- # it is not fatal if execution fails on 32bit systems
- LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules-64\
- > etc/pango/pango64.modules || echo "pango-querymodules-64 did not run properly in postun."
-fi
-%else
-if [ -x usr/bin/pango-querymodules ] ; then
- LD_LIBRARY_PATH=usr/%{_lib}\
- usr/bin/pango-querymodules\
- > etc/pango/pango.modules
-fi
+%{_pango_querymodules_update_cache}
+
+%post tools
+%if 0
+# If we install pango-tools for the first time, then we should run it in case
+# libpango-1_0-0 was installed first (ie, if
+# %{_libdir}/pango/%{pango_binary_version} already exists) which means
+# pango-querymodules couldn't run there.
%endif
+if [ $1 == 1 ]; then
+ test -d %{_libdir}/pango/%{pango_binary_version}
+ if test $? -eq 0; then
+ %{_pango_querymodules_update_cache}
+ fi
+fi
-%files
+%files -n libpango-1_0-0
%defattr(-,root,root)
%if "%_lib" == "lib64"
%doc README AUTHORS COPYING ChangeLog README.SuSE
%else
%doc README AUTHORS COPYING ChangeLog
%endif
-%{_bindir}/pango-*
%dir %{_libdir}/pango
-%dir %{_libdir}/pango/1.6.0
-%dir %{_libdir}/pango/1.6.0/modules
-%{_libdir}/pango/1.6.0/modules/*.so
-%exclude %{_libdir}/pango/1.6.0/modules/pango-thai-lang.so
+%dir %{_libdir}/pango/%{pango_binary_version}
+%dir %{_libdir}/pango/%{pango_binary_version}/modules
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-arabic-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-arabic-lang.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-basic-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-basic-x.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-hangul-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-hebrew-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-indic-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-indic-lang.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-khmer-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-syriac-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-thai-fc.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-tibetan-fc.so
%{_libdir}/lib*.so.*
%{_libdir}/girepository-1.0/Pango-1.0.typelib
%{_libdir}/girepository-1.0/PangoCairo-1.0.typelib
%{_libdir}/girepository-1.0/PangoFT2-1.0.typelib
%{_libdir}/girepository-1.0/PangoXft-1.0.typelib
-%doc %{_mandir}/man?/*.*
%dir %{_sysconfdir}/pango
%{_sysconfdir}/pango/pangox.aliases
%if "%_lib" == "lib64"
@@ -215,9 +235,18 @@
%ghost %{_sysconfdir}/pango/pango.modules
%endif
+%files tools
+%defattr(-, root, root)
+%{_bindir}/pango-querymodules*
+%{_bindir}/pango-view
+%doc %{_mandir}/man1/pango-querymodules.1*
+%doc %{_mandir}/man1/pango-view.1*
+
+# We have this module in a subpackage because it requires additional libraries.
+
%files module-thai-lang
%defattr(-, root, root)
-%{_libdir}/pango/1.6.0/modules/pango-thai-lang.so
+%{_libdir}/pango/%{pango_binary_version}/modules/pango-thai-lang.so
%files devel
%defattr(-, root, root)
@@ -226,5 +255,6 @@
%{_includedir}/pango-1.0/
%{_datadir}/gir-1.0/*.gir
%doc %{_datadir}/gtk-doc/html/pango/
+%{_sysconfdir}/rpm/macros.pango
%changelog
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.fc7FBi/_old 2010-10-15 12:40:51.000000000 +0200
+++ /var/tmp/diff_new_pack.fc7FBi/_new 2010-10-15 12:40:51.000000000 +0200
@@ -1,15 +1,31 @@
-pango
+libpango-1_0-0
+/etc/pango/pango(64)?.modules
+ requires "pango-tools-<targettype>"
+ provides "pango-<targettype> = <version>"
+ obsoletes "pango-<targettype> <= <version>"
+ post "%if "%_lib" == "lib64""
+ post "if test -f <prefix>%{_bindir}/pango-querymodules-64; then <prefix>%{_bindir}/pango-querymodules-64 > <prefix>%{_sysconfdir}/pango/pango64.modules; fi"
+ post "%else"
+ post "if test -f <prefix>%{_bindir}/pango-querymodules; then <prefix>%{_bindir}/pango-querymodules > <prefix>%{_sysconfdir}/pango/pango.modules; fi"
+ post "%endif"
+pango-tools
+/usr/bin/pango-querymodules(-64)?
- prereq "filesystem glib2 xorg-x11-libs xorg-x11-libXrender xorg-x11-libX11"
- postun "/sbin/ldconfig"
- targettype 64bit postun "if [ -x usr/bin/pango-querymodules-64 ] ; then"
- targettype 64bit postun "LD_LIBRARY_PATH=usr/lib64 usr/bin/pango-querymodules-64 > etc/pango/pango64.modules || echo pango-querymodules-64 did not run properly in postun."
- targettype 64bit postun "fi"
- targettype 32bit postun "if [ -x usr/bin/pango-querymodules ] ; then"
- targettype 32bit postun "LD_LIBRARY_PATH=usr/lib usr/bin/pango-querymodules > etc/pango/pango.modules"
- targettype 32bit postun "fi"
- targettype 64bit post "LD_LIBRARY_PATH=usr/lib64 usr/bin/pango-querymodules-64 > etc/pango/pango64.modules || echo pango-querymodules-64 did not run properly in postin."
- targettype 32bit post "LD_LIBRARY_PATH=usr/lib usr/bin/pango-querymodules > etc/pango/pango.modules"
+ post "%if "%_lib" == "lib64""
+ post "if [ $1 == 1 ]; then test -d <prefix>%{_libdir}/pango/1.6.0; if test $? -eq 0; then <prefix>%{_bindir}/pango-querymodules-64 > <prefix>%{_sysconfdir}/pango/pango64.modules; fi; fi"
+ post "%else"
+ post "if [ $1 == 1 ]; then test -d <prefix>%{_libdir}/pango/1.6.0; if test $? -eq 0; then <prefix>%{_bindir}/pango-querymodules > <prefix>%{_sysconfdir}/pango/pango.modules; fi; fi"
+ post "%endif"
+pango-module-thai-lang
+ requires "pango-<targettype>"
+ post "%if "%_lib" == "lib64""
+ post "<prefix>%{_bindir}/pango-querymodules-64 > <prefix>%{_sysconfdir}/pango/pango64.modules"
+ post "%else"
+ post "<prefix>%{_bindir}/pango-querymodules > <prefix>%{_sysconfdir}/pango/pango.modules"
+ post "%endif"
+ postun "%if "%_lib" == "lib64""
+ postun "<prefix>%{_bindir}/pango-querymodules-64 > <prefix>%{_sysconfdir}/pango/pango64.modules"
+ postun "%else"
+ postun "<prefix>%{_bindir}/pango-querymodules > <prefix>%{_sysconfdir}/pango/pango.modules"
+ postun "%endif"
arch ppc package pango-devel
arch sparcv9 package pango-devel
++++++ macros.pango ++++++
# RPM macros for packages installing a Pango module
#
###
#
# When a package installs a Pango module, it should use all
# three macros:
#
# - %pango_module_requires in the preamble
# - %pango_module_post in %post
# - %pango_module_postun in %postun
#
###
%pango_module_requires \
Requires(post): pango-tools \
Requires(postun): pango-tools
# On install, update the cache
%pango_module_post \
%if "%_lib" == "lib64" \
%{_bindir}/pango-querymodules-64 > %{_sysconfdir}/pango/pango64.immodules \
%else \
%{_bindir}/pango-querymodules > %{_sysconfdir}/pango/pango.immodules \
%endif
# On uninstall, update the cache. Note: we ignore upgrades (already
# handled in %post of the new package).
%pango_module_postun \
if [ $1 -eq 0 ]; then \
%if "%_lib" == "lib64" \
%{_bindir}/pango-querymodules-64 > %{_sysconfdir}/pango/pango64.immodules \
%else \
%{_bindir}/pango-querymodules > %{_sysconfdir}/pango/pango.immodules \
%endif \
fi
++++++ pango-1.28.1.tar.bz2 -> pango-1.28.3.tar.bz2 ++++++
++++ 66126 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org