Hello community,

here is the log from the commit of package gcc47 for openSUSE:Factory checked 
in at 2013-03-22 11:08:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc47 (Old)
 and      /work/SRC/openSUSE:Factory/.gcc47.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcc47", Maintainer is "[email protected]"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gcc47/cross-armv5tel-gcc47-icecream-backend.changes  
    2013-01-10 11:09:45.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.gcc47.new/cross-armv5tel-gcc47-icecream-backend.changes
 2013-03-22 11:08:16.000000000 +0100
@@ -1,0 +2,13 @@
+Fri Mar 15 10:53:04 UTC 2013 - [email protected]
+
+- Dependent on %product_libs_gcc_ver suffix shared library packages
+  with -gcc47.
+- Drop upgrade path from 12.2, adjust shared library package
+  provides and conflicts.
+
+-------------------------------------------------------------------
+Tue Feb  5 15:51:47 UTC 2013 - [email protected]
+
+- Update to gcc-4_7-branch head (r195759).
+
+-------------------------------------------------------------------
cross-armv7hl-gcc47-icecream-backend.changes: same change
cross-hppa-gcc47-icecream-backend.changes: same change
cross-i386-gcc47-icecream-backend.changes: same change
cross-ia64-gcc47-icecream-backend.changes: same change
cross-ppc-gcc47-icecream-backend.changes: same change
cross-ppc64-gcc47-icecream-backend.changes: same change
cross-s390-gcc47-icecream-backend.changes: same change
cross-s390x-gcc47-icecream-backend.changes: same change
cross-x86_64-gcc47-icecream-backend.changes: same change
gcc47-testresults.changes: same change
gcc47.changes: same change
libffi47.changes: same change
libgcj47.changes: same change

Old:
----
  gcc-4.7.2-20130108.tar.bz2

New:
----
  gcc-4.7.2-20130205.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cross-armv5tel-gcc47-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.HNPh7O/_old  2013-03-22 11:08:32.000000000 +0100
+++ /var/tmp/diff_new_pack.HNPh7O/_new  2013-03-22 11:08:32.000000000 +0100
@@ -70,7 +70,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.7.2_20130108
+Version:        4.7.2_20130205
 Release:        0
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)

cross-armv7hl-gcc47-icecream-backend.spec: same change
cross-hppa-gcc47-icecream-backend.spec: same change
cross-i386-gcc47-icecream-backend.spec: same change
cross-ia64-gcc47-icecream-backend.spec: same change
cross-ppc-gcc47-icecream-backend.spec: same change
cross-ppc64-gcc47-icecream-backend.spec: same change
cross-s390-gcc47-icecream-backend.spec: same change
cross-s390x-gcc47-icecream-backend.spec: same change
cross-x86_64-gcc47-icecream-backend.spec: same change
++++++ gcc47-testresults.spec ++++++
--- /var/tmp/diff_new_pack.HNPh7O/_old  2013-03-22 11:08:33.000000000 +0100
+++ /var/tmp/diff_new_pack.HNPh7O/_new  2013-03-22 11:08:33.000000000 +0100
@@ -86,7 +86,7 @@
 %else
 %define libgcc_s 1
 %endif
-%define gcj_sover 13
+%define libgcj_sover 13
 %define libgcj_bc_sover 1
 %define libffi_sover 4
 %define libmudflap_sover 0
@@ -96,6 +96,33 @@
 %define libgfortran_sover 3
 %define libquadmath_sover 0
 
+# Shared library package suffix
+# This is used for the "non-standard" set of libraries, the standard
+# being defined by %product_libs_gcc_ver, the GCC version that should
+# provide un-suffixed shared library packages following the shared-library
+# policy.  Even suffixed variants should provide the shared-library policy
+# mandated names and ensure they conflict with each other.
+# Note that on SONAME changes of any library the %product_libs_gcc_ver
+# define needs to be either split or the newest GCC version still providing
+# the old SONAME needs to unconditionally produce an un-suffixed library
+# if %product_libs_gcc_ver is newer than it.  Similar the _oldest_ GCC
+# version first providing a new SONAME needs to unconditionally produce
+# an un-suffixed library if %product_libs_gcc_ver is lower that it.
+%if %{!?product_libs_gcc_ver:47}%{?product_libs_gcc_ver} != 47
+%define pne 1
+%endif
+%define libgcc_s_suffix %{?pne:-gcc47}
+# libgcj SONAME changes with every GCC version
+%define libgcj_suffix %nil
+%define libgcj_bc_suffix %{?pne:-gcc47}
+%define libffi_suffix %{?pne:-gcc47}
+%define libmudflap_suffix %{?pne:-gcc47}
+%define libgomp_suffix %{?pne:-gcc47}
+%define libstdcxx_suffix %{?pne:-gcc47}
+%define libobjc_suffix %{?pne:-gcc47}
+%define libgfortran_suffix %{?pne:-gcc47}
+%define libquadmath_suffix %{?pne:-gcc47}
+
 Name:           gcc47-testresults
 BuildRequires:  bison
 BuildRequires:  flex
@@ -182,7 +209,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.7.2_20130108
+Version:        4.7.2_20130205
 Release:        0
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)

++++++ gcc47.spec ++++++
++++ 1009 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gcc47/gcc47.spec
++++ and /work/SRC/openSUSE:Factory/.gcc47.new/gcc47.spec

++++++ libffi47.spec ++++++
--- /var/tmp/diff_new_pack.HNPh7O/_old  2013-03-22 11:08:33.000000000 +0100
+++ /var/tmp/diff_new_pack.HNPh7O/_new  2013-03-22 11:08:33.000000000 +0100
@@ -85,7 +85,7 @@
 %else
 %define libgcc_s 1
 %endif
-%define gcj_sover 13
+%define libgcj_sover 13
 %define libgcj_bc_sover 1
 %define libffi_sover 4
 %define libmudflap_sover 0
@@ -95,6 +95,33 @@
 %define libgfortran_sover 3
 %define libquadmath_sover 0
 
+# Shared library package suffix
+# This is used for the "non-standard" set of libraries, the standard
+# being defined by %product_libs_gcc_ver, the GCC version that should
+# provide un-suffixed shared library packages following the shared-library
+# policy.  Even suffixed variants should provide the shared-library policy
+# mandated names and ensure they conflict with each other.
+# Note that on SONAME changes of any library the %product_libs_gcc_ver
+# define needs to be either split or the newest GCC version still providing
+# the old SONAME needs to unconditionally produce an un-suffixed library
+# if %product_libs_gcc_ver is newer than it.  Similar the _oldest_ GCC
+# version first providing a new SONAME needs to unconditionally produce
+# an un-suffixed library if %product_libs_gcc_ver is lower that it.
+%if %{!?product_libs_gcc_ver:47}%{?product_libs_gcc_ver} != 47
+%define pne 1
+%endif
+%define libgcc_s_suffix %{?pne:-gcc47}
+# libgcj SONAME changes with every GCC version
+%define libgcj_suffix %nil
+%define libgcj_bc_suffix %{?pne:-gcc47}
+%define libffi_suffix %{?pne:-gcc47}
+%define libmudflap_suffix %{?pne:-gcc47}
+%define libgomp_suffix %{?pne:-gcc47}
+%define libstdcxx_suffix %{?pne:-gcc47}
+%define libobjc_suffix %{?pne:-gcc47}
+%define libgfortran_suffix %{?pne:-gcc47}
+%define libquadmath_suffix %{?pne:-gcc47}
+
 Name:           libffi47
 BuildRequires:  bison
 BuildRequires:  flex
@@ -181,7 +208,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.7.2_20130108
+Version:        4.7.2_20130205
 Release:        0
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -250,65 +277,62 @@
 gcc-obj-c++.
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}
+%package -n libffi%{libffi_sover}%{libffi_suffix}
 Summary:        Foreign Function Interface library
 License:        BSD-3-Clause
 Group:          Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:       libffi%{libffi_sover} = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libffi%{libffi_sover} < %{version}-%{release}
+Conflicts:      libffi%{libffi_sover}
 
-%description -n libffi%{libffi_sover}
+%description -n libffi%{libffi_sover}%{libffi_suffix}
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}
+%post -n libffi%{libffi_sover}%{libffi_suffix}
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}
+%postun -n libffi%{libffi_sover}%{libffi_suffix}
 /sbin/ldconfig
 # PACKAGE-END
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}-32bit
+%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 Summary:        Foreign Function Interface library
 License:        BSD-3-Clause
 Group:          Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:       libffi%{libffi_sover}-32bit = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libffi%{libffi_sover}-32bit < %{version}-%{release}
+Conflicts:      libffi%{libffi_sover}-32bit
 
-%description -n libffi%{libffi_sover}-32bit
+%description -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}-32bit
+%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}-32bit
+%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 /sbin/ldconfig
 # PACKAGE-END
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}-64bit
+%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 Summary:        Foreign Function Interface library
 License:        BSD-3-Clause
 Group:          Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:       libffi%{libffi_sover}-64bit = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libffi%{libffi_sover}-64bit < %{version}-%{release}
+Conflicts:      libffi%{libffi_sover}-64bit
 
-%description -n libffi%{libffi_sover}-64bit
+%description -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}-64bit
+%post -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}-64bit
+%postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 /sbin/ldconfig
 # PACKAGE-END
 
@@ -320,7 +344,7 @@
 Group:          Development/Languages/C and C++
 Requires:       libffi%{libffi_sover} >= %{version}-%{release}
 Provides:       libffi-devel = %{version}-%{release}
-Conflicts:      libffi-devel < %{version}-%{release}
+Conflicts:      libffi-devel
 
 %description -n libffi47-devel
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -333,7 +357,7 @@
 Group:          Development/Languages/C and C++
 Requires:       libffi%{libffi_sover}-32bit >= %{version}-%{release}
 Provides:       libffi-devel-32bit = %{version}-%{release}
-Conflicts:      libffi-devel-32bit < %{version}-%{release}
+Conflicts:      libffi-devel-32bit
 
 %description -n libffi47-devel-32bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -346,7 +370,7 @@
 Group:          Development/Languages/C and C++
 Requires:       libffi%{libffi_sover}-64bit >= %{version}-%{release}
 Provides:       libffi-devel-64bit = %{version}-%{release}
-Conflicts:      libffi-devel-64bit < %{version}-%{release}
+Conflicts:      libffi-devel-64bit
 
 %description -n libffi47-devel-64bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -1042,12 +1066,12 @@
 
 %if %{build_java}
 %if 0%{?building_libffi:1}
-%files -n libffi%{libffi_sover}
+%files -n libffi%{libffi_sover}%{libffi_suffix}
 %defattr(-,root,root)
 %mainlib libffi.so.%{libffi_sover}*
 
 %if %{separate_biarch}
-%files -n libffi%{libffi_sover}%{separate_biarch_suffix}
+%files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libffi.so.%{libffi_sover}*
 %endif

++++++ libgcj47.spec ++++++
--- /var/tmp/diff_new_pack.HNPh7O/_old  2013-03-22 11:08:33.000000000 +0100
+++ /var/tmp/diff_new_pack.HNPh7O/_new  2013-03-22 11:08:33.000000000 +0100
@@ -85,7 +85,7 @@
 %else
 %define libgcc_s 1
 %endif
-%define gcj_sover 13
+%define libgcj_sover 13
 %define libgcj_bc_sover 1
 %define libffi_sover 4
 %define libmudflap_sover 0
@@ -95,6 +95,33 @@
 %define libgfortran_sover 3
 %define libquadmath_sover 0
 
+# Shared library package suffix
+# This is used for the "non-standard" set of libraries, the standard
+# being defined by %product_libs_gcc_ver, the GCC version that should
+# provide un-suffixed shared library packages following the shared-library
+# policy.  Even suffixed variants should provide the shared-library policy
+# mandated names and ensure they conflict with each other.
+# Note that on SONAME changes of any library the %product_libs_gcc_ver
+# define needs to be either split or the newest GCC version still providing
+# the old SONAME needs to unconditionally produce an un-suffixed library
+# if %product_libs_gcc_ver is newer than it.  Similar the _oldest_ GCC
+# version first providing a new SONAME needs to unconditionally produce
+# an un-suffixed library if %product_libs_gcc_ver is lower that it.
+%if %{!?product_libs_gcc_ver:47}%{?product_libs_gcc_ver} != 47
+%define pne 1
+%endif
+%define libgcc_s_suffix %{?pne:-gcc47}
+# libgcj SONAME changes with every GCC version
+%define libgcj_suffix %nil
+%define libgcj_bc_suffix %{?pne:-gcc47}
+%define libffi_suffix %{?pne:-gcc47}
+%define libmudflap_suffix %{?pne:-gcc47}
+%define libgomp_suffix %{?pne:-gcc47}
+%define libstdcxx_suffix %{?pne:-gcc47}
+%define libobjc_suffix %{?pne:-gcc47}
+%define libgfortran_suffix %{?pne:-gcc47}
+%define libquadmath_suffix %{?pne:-gcc47}
+
 Name:           libgcj47
 BuildRequires:  bison
 BuildRequires:  flex
@@ -181,7 +208,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.7.2_20130108
+Version:        4.7.2_20130205
 Release:        0
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -242,12 +269,12 @@
 %if 0%{suse_version} > 1000
 Recommends:     libgcj47-jar = %{version}-%{release}
 %endif
-Provides:       libgcj%{gcj_sover} = %{version}-%{release}
-Conflicts:      libgcj%{gcj_sover} < %{version}-%{release}
-Provides:       libgij%{gcj_sover} = %{version}-%{release}
-Conflicts:      libgij%{gcj_sover} < %{version}-%{release}
-Provides:       libgcj-tools%{gcj_sover} = %{version}-%{release}
-Conflicts:      libgcj-tools%{gcj_sover} < %{version}-%{release}
+Provides:       libgcj%{libgcj_sover} = %{version}-%{release}
+Conflicts:      libgcj%{libgcj_sover}
+Provides:       libgij%{libgcj_sover} = %{version}-%{release}
+Conflicts:      libgij%{libgcj_sover}
+Provides:       libgcj-tools%{libgcj_sover} = %{version}-%{release}
+Conflicts:      libgcj-tools%{libgcj_sover}
 
 %description 
 This library is needed if you want to use the GNU Java compiler, gcj.
@@ -270,26 +297,25 @@
 The Java compiler from the GCC-tools-suite.
 
 
-%package -n libgcj_bc%{libgcj_bc_sover}
+%package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
 Summary:        Fake library for BC-ABI compatibility.
 License:        GPL-2.0-with-classpath-exception
 Group:          Development/Libraries/Java
 # libgcj_bc is special in that it just contains a symlink to
 # a proper libgcj version.  So require that library and add
 # provides for the shlib version as created at link time
-Requires:       libgcj%{gcj_sover}
+Requires:       libgcj%{libgcj_sover} >= %{version}-%{release}
 %ifarch x86_64 ia64 ppc64 s390x sparc64
 Provides:       libgcj_bc.so.%{libgcj_bc_sover}()(64bit)
 %else
 Provides:       libgcj_bc.so.%{libgcj_bc_sover}
 %endif
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libgcj_bc47
+Provides:       libgcj_bc%{libgcj_bc_sover} = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libgcj_bc%{libgcj_bc_sover} < %{version}-%{release}
+Conflicts:      libgcj_bc%{libgcj_bc_sover}
 
-%description -n libgcj_bc%{libgcj_bc_sover}
+%description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
 A fake library that is used at link time only. It ensures that
 binaries built with the BC-ABI link against a constant SONAME.
 This way, BC-ABI binaries continue to work if the SONAME underlying
@@ -312,7 +338,7 @@
 Requires:       glibc-devel
 Requires:       gtk2-devel
 Requires:       libart_lgpl-devel
-Requires:       libgcj%{gcj_sover} >= %{version}-%{release}
+Requires:       libgcj%{libgcj_sover} >= %{version}-%{release}
 Requires:       libgcj47-jar = %{version}-%{release}
 Requires:       libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release}
 Requires:       libstdc++47-devel = %{version}
@@ -330,7 +356,7 @@
 Summary:        Java Bytecode Interpreter for gcc
 License:        GPL-2.0-with-classpath-exception
 Group:          Development/Libraries/Java
-Requires:       libgcj%{gcj_sover} >= %{version}-%{release}
+Requires:       libgcj%{libgcj_sover} >= %{version}-%{release}
 
 %description -n gcc47-gij
 This package contains the java bytecode interpreter gij and related tools.
@@ -338,65 +364,62 @@
 # LIBFFI-DELETE-END
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}
+%package -n libffi%{libffi_sover}%{libffi_suffix}
 Summary:        Foreign Function Interface library
 License:        BSD-3-Clause
 Group:          Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:       libffi%{libffi_sover} = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libffi%{libffi_sover} < %{version}-%{release}
+Conflicts:      libffi%{libffi_sover}
 
-%description -n libffi%{libffi_sover}
+%description -n libffi%{libffi_sover}%{libffi_suffix}
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}
+%post -n libffi%{libffi_sover}%{libffi_suffix}
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}
+%postun -n libffi%{libffi_sover}%{libffi_suffix}
 /sbin/ldconfig
 # PACKAGE-END
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}-32bit
+%package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 Summary:        Foreign Function Interface library
 License:        BSD-3-Clause
 Group:          Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:       libffi%{libffi_sover}-32bit = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libffi%{libffi_sover}-32bit < %{version}-%{release}
+Conflicts:      libffi%{libffi_sover}-32bit
 
-%description -n libffi%{libffi_sover}-32bit
+%description -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}-32bit
+%post -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}-32bit
+%postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit
 /sbin/ldconfig
 # PACKAGE-END
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}-64bit
+%package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 Summary:        Foreign Function Interface library
 License:        BSD-3-Clause
 Group:          Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:       libffi%{libffi_sover}-64bit = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:      libffi%{libffi_sover}-64bit < %{version}-%{release}
+Conflicts:      libffi%{libffi_sover}-64bit
 
-%description -n libffi%{libffi_sover}-64bit
+%description -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}-64bit
+%post -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}-64bit
+%postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit
 /sbin/ldconfig
 # PACKAGE-END
 
@@ -408,7 +431,7 @@
 Group:          Development/Languages/C and C++
 Requires:       libffi%{libffi_sover} >= %{version}-%{release}
 Provides:       libffi-devel = %{version}-%{release}
-Conflicts:      libffi-devel < %{version}-%{release}
+Conflicts:      libffi-devel
 
 %description -n libffi47-devel
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -421,7 +444,7 @@
 Group:          Development/Languages/C and C++
 Requires:       libffi%{libffi_sover}-32bit >= %{version}-%{release}
 Provides:       libffi-devel-32bit = %{version}-%{release}
-Conflicts:      libffi-devel-32bit < %{version}-%{release}
+Conflicts:      libffi-devel-32bit
 
 %description -n libffi47-devel-32bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -434,7 +457,7 @@
 Group:          Development/Languages/C and C++
 Requires:       libffi%{libffi_sover}-64bit >= %{version}-%{release}
 Provides:       libffi-devel-64bit = %{version}-%{release}
-Conflicts:      libffi-devel-64bit < %{version}-%{release}
+Conflicts:      libffi-devel-64bit
 
 %description -n libffi47-devel-64bit
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -1045,12 +1068,12 @@
 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name 
libgcj_bc.so.*`; do
   rm $lib
 done
-ln -s libgcj.so.%{gcj_sover} 
$RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
+ln -s libgcj.so.%{libgcj_sover} 
$RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
 %if %{biarch_libjava}
 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name 
libgcj_bc.so.*`; do
   rm $lib
 done
-ln -s libgcj.so.%{gcj_sover} 
$RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
+ln -s libgcj.so.%{libgcj_sover} 
$RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
 %endif
 %endif
 
@@ -1267,11 +1290,11 @@
 %if %{build_libjava}
 %files 
 %defattr(-,root,root)
-%dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
+%dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
 %dir %{_libdir}/gcc
 %dir %{_libdir}/gcc/%{GCCDIST}
 %dir %{libsubdir}
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
 # We usually do not multilib libjava
 %if %{biarch_libjava}
 %versbiarchlib libgcj.la
@@ -1284,12 +1307,12 @@
 %mainlib libgij.so.*
 %mainlib libgcj-tools.so.*
 %endif
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
 
-%files -n libgcj_bc%{libgcj_bc_sover}
+%files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
 %defattr(-,root,root)
 %if %{biarch_libjava}
 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
@@ -1369,12 +1392,12 @@
 
 %if %{build_java}
 %if 0%{?building_libffi:1}
-%files -n libffi%{libffi_sover}
+%files -n libffi%{libffi_sover}%{libffi_suffix}
 %defattr(-,root,root)
 %mainlib libffi.so.%{libffi_sover}*
 
 %if %{separate_biarch}
-%files -n libffi%{libffi_sover}%{separate_biarch_suffix}
+%files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libffi.so.%{libffi_sover}*
 %endif


++++++ gcc-4.7.2-20130108.tar.bz2 -> gcc-4.7.2-20130205.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gcc47/gcc-4.7.2-20130108.tar.bz2 
/work/SRC/openSUSE:Factory/.gcc47.new/gcc-4.7.2-20130205.tar.bz2 differ: char 
11, line 1

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.HNPh7O/_old  2013-03-22 11:08:33.000000000 +0100
+++ /var/tmp/diff_new_pack.HNPh7O/_new  2013-03-22 11:08:33.000000000 +0100
@@ -70,7 +70,7 @@
 %else
 %define libgcc_s 1
 %endif
-%define gcj_sover 13
+%define libgcj_sover 13
 %define libgcj_bc_sover 1
 %define libffi_sover 4
 %define libmudflap_sover 0
@@ -80,6 +80,33 @@
 %define libgfortran_sover 3
 %define libquadmath_sover 0
 
+# Shared library package suffix
+# This is used for the "non-standard" set of libraries, the standard
+# being defined by %product_libs_gcc_ver, the GCC version that should
+# provide un-suffixed shared library packages following the shared-library
+# policy.  Even suffixed variants should provide the shared-library policy
+# mandated names and ensure they conflict with each other.
+# Note that on SONAME changes of any library the %product_libs_gcc_ver
+# define needs to be either split or the newest GCC version still providing
+# the old SONAME needs to unconditionally produce an un-suffixed library
+# if %product_libs_gcc_ver is newer than it.  Similar the _oldest_ GCC
+# version first providing a new SONAME needs to unconditionally produce
+# an un-suffixed library if %product_libs_gcc_ver is lower that it.
+%if %{!?product_libs_gcc_ver:@base_ver@}%{?product_libs_gcc_ver} != @base_ver@
+%define pne 1
+%endif
+%define libgcc_s_suffix %{?pne:-gcc@base_ver@}
+# libgcj SONAME changes with every GCC version
+%define libgcj_suffix %nil
+%define libgcj_bc_suffix %{?pne:-gcc@base_ver@}
+%define libffi_suffix %{?pne:-gcc@base_ver@}
+%define libmudflap_suffix %{?pne:-gcc@base_ver@}
+%define libgomp_suffix %{?pne:-gcc@base_ver@}
+%define libstdcxx_suffix %{?pne:-gcc@base_ver@}
+%define libobjc_suffix %{?pne:-gcc@base_ver@}
+%define libgfortran_suffix %{?pne:-gcc@base_ver@}
+%define libquadmath_suffix %{?pne:-gcc@base_ver@}
+
 
 Name:         gcc@base_ver@
 BuildRequires: bison
@@ -167,7 +194,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 URL:          http://gcc.gnu.org/
-Version: 4.7.2_20130108
+Version: 4.7.2_20130205
 Release:      1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -319,73 +346,70 @@
 
 
 # PACKAGE-BEGIN
-%package -n libgcc_s%{libgcc_s}@variant@
+%package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
 Summary:      C compiler runtime library
 License:        GPL-3.0-with-GCC-exception
 Group:        System/Base
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libgcc47
+Provides:      libgcc_s%{libgcc_s}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libgcc_s%{libgcc_s}@variant@ < %{version}-%{release}
+Conflicts:     libgcc_s%{libgcc_s}@variant@
 # Old libgcc packages provided a wrong shlib policy compatible name
 Provides:      libgcc%{libgcc_s}@variant@ = %{version}-%{release}
-Conflicts:     libgcc%{libgcc_s}@variant@ < %{version}-%{release}
+Conflicts:     libgcc%{libgcc_s}@variant@
 
-%description -n libgcc_s%{libgcc_s}@variant@
+%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
 Libgcc is needed for dynamically linked C programs.
 
-%post -n libgcc_s%{libgcc_s}@variant@
+%post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libgcc_s%{libgcc_s}@variant@
+%postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
 # PACKAGE-BEGIN
-%package -n libgomp%{libgomp_sover}@variant@
+%package -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
 Summary:      The GNU compiler collection OpenMP runtime library
 License:        GPL-3.0-with-GCC-exception
 Group:        System/Base
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libgomp47
+Provides:      libgomp%{libgomp_sover}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libgomp%{libgomp_sover}@variant@ < %{version}-%{release}
+Conflicts:     libgomp%{libgomp_sover}@variant@
 
-%description -n libgomp%{libgomp_sover}@variant@
+%description -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
 This is the OpenMP runtime library needed by OpenMP enabled programs
 that were built with the -fopenmp compiler option and by programs that
 were auto-parallelized via the -ftree-parallelize-loops compiler
 option.
 
 
-%post -n libgomp%{libgomp_sover}@variant@
+%post -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libgomp%{libgomp_sover}@variant@
+%postun -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
 # PACKAGE-BEGIN
-%package -n libstdc++%{libstdcxx_sover}@variant@
+%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
 Summary:      The standard C++ shared library
 License:        GPL-3.0-with-GCC-exception
 Group:        System/Libraries
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libstdc++47 < %{version}-%{release}
+Provides:      libstdc++%{libstdcxx_sover}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libstdc++%{libstdcxx_sover}@variant@ < %{version}-%{release}
+Conflicts:     libstdc++%{libstdcxx_sover}@variant@
 
-%description -n libstdc++%{libstdcxx_sover}@variant@
+%description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
 The standard C++ library, needed for dynamically linked C++ programs.
 
 
-%post -n libstdc++%{libstdcxx_sover}@variant@
+%post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libstdc++%{libstdcxx_sover}@variant@
+%postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
@@ -419,23 +443,22 @@
 # PACKAGE-END
 
 # PACKAGE-BEGIN
-%package -n libobjc%{libobjc_sover}@variant@
+%package -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
 Summary:      Library for the GNU Objective C Compiler
 License:        GPL-3.0-with-GCC-exception
 Group:        Development/Libraries/Other
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libobjc47
+Provides:      libobjc%{libobjc_sover}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libobjc%{libobjc_sover}@variant@ < %{version}-%{release}
+Conflicts:     libobjc%{libobjc_sover}@variant@
 
-%description -n libobjc%{libobjc_sover}@variant@
+%description -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
 The library for the GNU Objective C compiler.
 
-%post -n libobjc%{libobjc_sover}@variant@
+%post -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libobjc%{libobjc_sover}@variant@
+%postun -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
@@ -483,9 +506,9 @@
 License:      GPL-3.0-with-GCC-exception
 Group:        System/Libraries
 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
-Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
+Conflicts: libgnarl-4_7@variant@
 Provides: libgnat-4_7@variant@ = %{version}-%{release}
-Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
+Conflicts: libgnat-4_7@variant@
 
 %description -n libada@base_ver@@variant@
 This package contains the shared libraries required to run programs
@@ -518,50 +541,48 @@
 # PACKAGE-END
 
 # PACKAGE-BEGIN
-%package -n libgfortran%{libgfortran_sover}@variant@
+%package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
 Summary:      The GNU Fortran Compiler Runtime Library
 License:        GPL-3.0-with-GCC-exception
 Group:        Development/Languages/Fortran
 %ifarch %quadmath_arch
 Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
 %endif
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libgfortran47
+Provides:      libgfortran%{libgfortran_sover}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libgfortran%{libgfortran_sover}@variant@ < %{version}-%{release}
+Conflicts:     libgfortran%{libgfortran_sover}@variant@
 
-%description -n libgfortran%{libgfortran_sover}@variant@
+%description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
 The runtime library needed to run programs compiled with the Fortran compiler
 of the GNU Compiler Collection (GCC).
 
-%post -n libgfortran%{libgfortran_sover}@variant@
+%post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libgfortran%{libgfortran_sover}@variant@
+%postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
 # PACKAGE-BEGIN
-%package -n libquadmath%{libquadmath_sover}@variant@
+%package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
 License:        LGPL-2.1
 Group:        Development/Languages/Fortran
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libquadmath47
+Provides:      libquadmath%{libquadmath_sover}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libquadmath%{libquadmath_sover}@variant@ < %{version}-%{release}
+Conflicts:     libquadmath%{libquadmath_sover}@variant@
 
-%description -n libquadmath%{libquadmath_sover}@variant@
+%description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
 The runtime library needed to run programs compiled with the Fortran compiler
 of the GNU Compiler Collection (GCC) and quadruple precision floating point
 operations.
 
-%post -n libquadmath%{libquadmath_sover}@variant@
+%post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libquadmath%{libquadmath_sover}@variant@
+%postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
@@ -571,9 +592,9 @@
 License:        GPL-3.0-with-GCC-exception
 Group:        Development/Languages/C and C++
 Provides: libmudflap%{libmudflap_sover}@variant@ = %{version}-%{release}
-Conflicts: libmudflap%{libmudflap_sover}@variant@ < %{version}-%{release}
+Conflicts: libmudflap%{libmudflap_sover}@variant@
 Provides: libmudflapth%{libmudflap_sover}@variant@ = %{version}-%{release}
-Conflicts: libmudflapth%{libmudflap_sover}@variant@ < %{version}-%{release}
+Conflicts: libmudflapth%{libmudflap_sover}@variant@
 
 %description -n libmudflap@base_ver@@variant@
 This is the Mudflap Extension Runtime Library.
@@ -594,12 +615,12 @@
 %if 0%{suse_version} > 1000
 Recommends:   libgcj@base_ver@-jar = %{version}-%{release}
 %endif
-Provides: libgcj%{gcj_sover} = %{version}-%{release}
-Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
-Provides: libgij%{gcj_sover} = %{version}-%{release}
-Conflicts: libgij%{gcj_sover} < %{version}-%{release}
-Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
-Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
+Provides: libgcj%{libgcj_sover} = %{version}-%{release}
+Conflicts: libgcj%{libgcj_sover}
+Provides: libgij%{libgcj_sover} = %{version}-%{release}
+Conflicts: libgij%{libgcj_sover}
+Provides: libgcj-tools%{libgcj_sover} = %{version}-%{release}
+Conflicts: libgcj-tools%{libgcj_sover}
 
 %description -n libgcj@base_ver@
 This library is needed if you want to use the GNU Java compiler, gcj.
@@ -623,27 +644,26 @@
 The Java compiler from the GCC-tools-suite.
 
 
-%package -n libgcj_bc%{libgcj_bc_sover}
+%package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
 Summary:      Fake library for BC-ABI compatibility.
 License:        GPL-2.0-with-classpath-exception
 Group:        Development/Libraries/Java
 # libgcj_bc is special in that it just contains a symlink to
 # a proper libgcj version.  So require that library and add
 # provides for the shlib version as created at link time
-Requires: libgcj%{gcj_sover}
+Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
 %ifarch x86_64 ia64 ppc64 s390x sparc64
 Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit)
 %else
 Provides: libgcj_bc.so.%{libgcj_bc_sover}
 %endif
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:     libgcj_bc47
+Provides:      libgcj_bc%{libgcj_bc_sover} = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libgcj_bc%{libgcj_bc_sover} < %{version}-%{release}
+Conflicts:     libgcj_bc%{libgcj_bc_sover}
 
 
-%description -n libgcj_bc%{libgcj_bc_sover}
+%description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
 A fake library that is used at link time only. It ensures that
 binaries built with the BC-ABI link against a constant SONAME.
 This way, BC-ABI binaries continue to work if the SONAME underlying
@@ -664,7 +684,7 @@
 License:        GPL-2.0-with-classpath-exception
 Group:        Development/Libraries/Java
 Requires: libstdc++@base_ver@-devel = %{version}
-Requires: libgcj%{gcj_sover} >= %{version}-%{release}
+Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
 Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release}
 Requires: libgcj@base_ver@-jar = %{version}-%{release}
 Requires: gtk2-devel
@@ -684,30 +704,29 @@
 Summary:      Java Bytecode Interpreter for gcc
 License:      GPL-2.0-with-classpath-exception
 Group:        Development/Libraries/Java
-Requires: libgcj%{gcj_sover} >= %{version}-%{release}
+Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
 
 %description -n gcc@base_ver@-gij
 This package contains the java bytecode interpreter gij and related tools.
 
 # LIBFFI-DELETE-END
 # PACKAGE-BEGIN
-%package -n libffi%{libffi_sover}@variant@
+%package -n libffi%{libffi_sover}%{libffi_suffix}@variant@
 Summary:      Foreign Function Interface library
 License:        BSD-3-Clause
 Group:        Development/Languages/C and C++
-# Upgrade path openSUSE 12.2 -> 12.3
-Obsoletes:      libffi47
+Provides:      libffi%{libffi_sover}@variant@ = %{version}-%{release}
 # Only one package may provide this - allows multiple gcc versions
 # to co-exist without an overly large list of provides/obsoletes
-Conflicts:     libffi%{libffi_sover}@variant@ < %{version}-%{release}
+Conflicts:     libffi%{libffi_sover}@variant@
 
-%description -n libffi%{libffi_sover}@variant@
+%description -n libffi%{libffi_sover}%{libffi_suffix}@variant@
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
 
-%post -n libffi%{libffi_sover}@variant@
+%post -n libffi%{libffi_sover}%{libffi_suffix}@variant@
 /sbin/ldconfig
 
-%postun -n libffi%{libffi_sover}@variant@
+%postun -n libffi%{libffi_sover}%{libffi_suffix}@variant@
 /sbin/ldconfig
 # PACKAGE-END
 
@@ -718,7 +737,7 @@
 Group:        Development/Languages/C and C++
 Requires: libffi%{libffi_sover}@variant@ >= %{version}-%{release}
 Provides: libffi-devel@variant@ = %{version}-%{release}
-Conflicts: libffi-devel@variant@ < %{version}-%{release}
+Conflicts: libffi-devel@variant@
 
 %description -n libffi@base_ver@-devel@variant@
 A foreign function interface is the popular name for the interface that allows 
code written in one language to call code written in another language.
@@ -1378,12 +1397,12 @@
 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name 
libgcj_bc.so.*`; do
   rm $lib
 done
-ln -s libgcj.so.%{gcj_sover} 
$RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
+ln -s libgcj.so.%{libgcj_sover} 
$RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
 %if %{biarch_libjava}
 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name 
libgcj_bc.so.*`; do
   rm $lib
 done
-ln -s libgcj.so.%{gcj_sover} 
$RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
+ln -s libgcj.so.%{libgcj_sover} 
$RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
 %endif
 %endif
 
@@ -1806,7 +1825,7 @@
 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
 %{libsubdir}/cc1plus
 
-%files -n libstdc++%{libstdcxx_sover}
+%files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
 %defattr(-,root,root)
 %if %{build_nof}
 %dir %{noflibdir}
@@ -1814,7 +1833,7 @@
 %mainlib libstdc++.so.%{libstdcxx_sover}*
 
 %if %{separate_biarch}
-%files -n libstdc++%{libstdcxx_sover}%{separate_biarch_suffix}
+%files -n 
libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libstdc++.so.%{libstdcxx_sover}*
 %endif
@@ -1846,7 +1865,7 @@
 %doc libstdc++-v3/doc/html
 %endif
 
-%files -n libgcc_s%{libgcc_s}
+%files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
 %defattr(-,root,root)
 /%{_lib}/libgcc_s.so.%{libgcc_s}
 %if %{build_nof}
@@ -1866,24 +1885,24 @@
 %endif
 
 %if %{separate_bi64}
-%files -n libgcc_s%{libgcc_s}-64bit
+%files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
 %defattr(-,root,root)
 /lib64/libgcc_s.so.%{libgcc_s}
 %endif
 
 %if %{separate_bi32}
-%files -n libgcc_s%{libgcc_s}-32bit
+%files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
 %defattr(-,root,root)
 /lib/libgcc_s.so.%{libgcc_s}
 %endif
 
 
-%files -n libgomp%{libgomp_sover}
+%files -n libgomp%{libgomp_sover}%{libgomp_suffix}
 %defattr(-,root,root)
 %mainlib libgomp.so.%{libgomp_sover}*
 
 %if %{separate_biarch}
-%files -n libgomp%{libgomp_sover}%{separate_biarch_suffix}
+%files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libgomp.so.%{libgomp_sover}*
 %endif
@@ -1923,23 +1942,23 @@
 %endif
 %endif
 
-%files -n libgfortran%{libgfortran_sover}
+%files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
 %defattr(-,root,root)
 %mainlib libgfortran.so.%{libgfortran_sover}*
 
 %if %{separate_biarch}
-%files -n libgfortran%{libgfortran_sover}%{separate_biarch_suffix}
+%files -n 
libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libgfortran.so.%{libgfortran_sover}*
 %endif
 
 %ifarch %quadmath_arch
-%files -n libquadmath%{libquadmath_sover}
+%files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
 %defattr(-,root,root)
 %mainlib libquadmath.so.%{libquadmath_sover}*
 
 %if %{separate_biarch}
-%files -n libquadmath%{libquadmath_sover}%{separate_biarch_suffix}
+%files -n 
libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libquadmath.so.%{libquadmath_sover}*
 %endif
@@ -2008,12 +2027,12 @@
 %versbiarchlib libobjc.so
 %endif
 
-%files -n libobjc%{libobjc_sover}
+%files -n libobjc%{libobjc_sover}%{libobjc_suffix}
 %defattr(-,root,root)
 %mainlib libobjc.so.%{libobjc_sover}*
 
 %if %{separate_biarch}
-%files -n libobjc%{libobjc_sover}%{separate_biarch_suffix}
+%files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libobjc.so.%{libobjc_sover}*
 %endif
@@ -2101,11 +2120,11 @@
 %if %{build_libjava}
 %files -n libgcj@base_ver@
 %defattr(-,root,root)
-%dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
+%dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
 %dir %{_libdir}/gcc
 %dir %{_libdir}/gcc/%{GCCDIST}
 %dir %{libsubdir}
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
 # We usually do not multilib libjava
 %if %{biarch_libjava}
 %versbiarchlib libgcj.la
@@ -2118,12 +2137,12 @@
 %mainlib libgij.so.*
 %mainlib libgcj-tools.so.*
 %endif
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
-%{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
+%{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
 
-%files -n libgcj_bc%{libgcj_bc_sover}
+%files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
 %defattr(-,root,root)
 %if %{biarch_libjava}
 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
@@ -2203,12 +2222,12 @@
 
 %if %{build_java}
 %if 0%{?building_libffi:1}
-%files -n libffi%{libffi_sover}
+%files -n libffi%{libffi_sover}%{libffi_suffix}
 %defattr(-,root,root)
 %mainlib libffi.so.%{libffi_sover}*
 
 %if %{separate_biarch}
-%files -n libffi%{libffi_sover}%{separate_biarch_suffix}
+%files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
 %defattr(-,root,root)
 %biarchlib libffi.so.%{libffi_sover}*
 %endif

++++++ gcc4-ppc64-m32-m64-multilib-only.patch ++++++
--- /var/tmp/diff_new_pack.HNPh7O/_old  2013-03-22 11:08:33.000000000 +0100
+++ /var/tmp/diff_new_pack.HNPh7O/_new  2013-03-22 11:08:33.000000000 +0100
@@ -1,8 +1,8 @@
 Index: gcc/config/rs6000/t-linux64
 ===================================================================
---- gcc/config/rs6000/t-linux64.orig   2011-11-03 16:27:34.000000000 +0100
-+++ gcc/config/rs6000/t-linux64        2011-11-03 17:08:21.000000000 +0100
-@@ -26,10 +26,10 @@
+--- gcc/config/rs6000/t-linux64.orig   2013-01-15 15:46:46.000000000 +0100
++++ gcc/config/rs6000/t-linux64        2013-02-06 10:38:48.472214511 +0100
+@@ -26,11 +26,11 @@
  # it doesn't tell anything about the 32bit libraries on those systems.  Set
  # MULTILIB_OSDIRNAMES according to what is found on the target.
  
@@ -15,5 +15,6 @@
 -MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
 +MULTILIB_EXCEPTIONS     =
 +MULTILIB_EXCLUSIONS     =
- MULTILIB_OSDIRNAMES   = ../lib64 $(if $(wildcard $(shell echo 
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
- MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
+ MULTILIB_OSDIRNAMES   = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+ MULTILIB_OSDIRNAMES    += $(if $(wildcard $(shell echo 
$(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call 
if_multiarch,:powerpc-linux-gnu)
+ MULTILIB_OSDIRNAMES    += nof

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to