Hello community, here is the log from the commit of package gcc42 checked in at Tue Jul 10 13:32:55 CEST 2007. -------- --- gcc42/cross-alpha-gcc-icecream-backend.changes 2007-06-28 22:52:02.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc42/cross-alpha-gcc-icecream-backend.changes 2007-07-05 16:31:23.000000000 +0200 @@ -1,0 +2,12 @@ +Tue Jul 3 17:52:41 CEST 2007 - rguenther@suse.de + +- Update to suse-gcc-4_2-branch head (r126359). +- Remove conflicts for libgcj42 and libgcj42-devel again. Instead + do not package the conflicting files. +- Add libgcj_bc42 package. +- Package java development libraries in version specific directories. +- Remove unneeded java libtool files. +- Remove libffi libtool file. +- Make ppc42 a separate-bi-32 target as well. + +------------------------------------------------------------------- cross-arm-gcc-icecream-backend.changes: same change cross-avr-gcc42.changes: same change cross-hppa-gcc-icecream-backend.changes: same change cross-i386-gcc-icecream-backend.changes: same change cross-ia64-gcc-icecream-backend.changes: same change cross-ppc64-gcc-icecream-backend.changes: same change cross-ppc-gcc-icecream-backend.changes: same change cross-s390-gcc-icecream-backend.changes: same change cross-s390x-gcc-icecream-backend.changes: same change cross-x86_64-gcc-icecream-backend.changes: same change gcc42.changes: same change libgcj42.changes: same change Old: ---- gcc-4.2.1-20070628.tar.bz2 New: ---- gcc-4.2.1-20070705.tar.bz2 libgcj42-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-alpha-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.V13681/_old 2007-07-10 13:32:01.000000000 +0200 +++ /var/tmp/diff_new_pack.V13681/_new 2007-07-10 13:32:01.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-alpha-gcc-icecream-backend (Version 4.2.1_20070628) +# spec file for package cross-alpha-gcc-icecream-backend (Version 4.2.1_20070705) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -28,8 +28,8 @@ # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ -License: BSD License and BSD-like, GNU General Public License (GPL) -Version: 4.2.1_20070628 +License: BSD 3-Clause, GPL v2 or later +Version: 4.2.1_20070705 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -42,6 +42,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec +Source2: libgcj42-rpmlintrc Source100: README.First-for.SuSE.packagers Patch1: bug-reporting.patch Patch2: gcc-noalias-warn.diff @@ -332,6 +333,15 @@ /usr/share/icecream-envs %changelog +* Tue Jul 03 2007 - rguenther@suse.de +- Update to suse-gcc-4_2-branch head (r126359). +- Remove conflicts for libgcj42 and libgcj42-devel again. Instead + do not package the conflicting files. +- Add libgcj_bc42 package. +- Package java development libraries in version specific directories. +- Remove unneeded java libtool files. +- Remove libffi libtool file. +- Make ppc42 a separate-bi-32 target as well. * Thu Jun 28 2007 - rguenther@suse.de - Update to suse-gcc-4_2-branch head (r126079). * Thu Jun 28 2007 - matz@suse.de cross-arm-gcc-icecream-backend.spec: same change ++++++ cross-avr-gcc42.spec ++++++ --- /var/tmp/diff_new_pack.V13681/_old 2007-07-10 13:32:01.000000000 +0200 +++ /var/tmp/diff_new_pack.V13681/_new 2007-07-10 13:32:01.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-avr-gcc42 (Version 4.2.1_20070628) +# spec file for package cross-avr-gcc42 (Version 4.2.1_20070705) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -25,8 +25,8 @@ # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ -License: BSD License and BSD-like, GNU General Public License (GPL) -Version: 4.2.1_20070628 +License: BSD 3-Clause, GPL v2 or later +Version: 4.2.1_20070705 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -39,6 +39,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec +Source2: libgcj42-rpmlintrc Source100: README.First-for.SuSE.packagers Patch1: bug-reporting.patch Patch2: gcc-noalias-warn.diff @@ -295,6 +296,15 @@ %{_prefix} %changelog +* Tue Jul 03 2007 - rguenther@suse.de +- Update to suse-gcc-4_2-branch head (r126359). +- Remove conflicts for libgcj42 and libgcj42-devel again. Instead + do not package the conflicting files. +- Add libgcj_bc42 package. +- Package java development libraries in version specific directories. +- Remove unneeded java libtool files. +- Remove libffi libtool file. +- Make ppc42 a separate-bi-32 target as well. * Thu Jun 28 2007 - rguenther@suse.de - Update to suse-gcc-4_2-branch head (r126079). * Thu Jun 28 2007 - matz@suse.de ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.V13681/_old 2007-07-10 13:32:01.000000000 +0200 +++ /var/tmp/diff_new_pack.V13681/_new 2007-07-10 13:32:01.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-hppa-gcc-icecream-backend (Version 4.2.1_20070628) +# spec file for package cross-hppa-gcc-icecream-backend (Version 4.2.1_20070705) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -28,8 +28,8 @@ # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ -License: BSD License and BSD-like, GNU General Public License (GPL) -Version: 4.2.1_20070628 +License: BSD 3-Clause, GPL v2 or later +Version: 4.2.1_20070705 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -42,6 +42,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec +Source2: libgcj42-rpmlintrc Source100: README.First-for.SuSE.packagers Patch1: bug-reporting.patch Patch2: gcc-noalias-warn.diff @@ -332,6 +333,15 @@ /usr/share/icecream-envs %changelog +* Tue Jul 03 2007 - rguenther@suse.de +- Update to suse-gcc-4_2-branch head (r126359). +- Remove conflicts for libgcj42 and libgcj42-devel again. Instead + do not package the conflicting files. +- Add libgcj_bc42 package. +- Package java development libraries in version specific directories. +- Remove unneeded java libtool files. +- Remove libffi libtool file. +- Make ppc42 a separate-bi-32 target as well. * Thu Jun 28 2007 - rguenther@suse.de - Update to suse-gcc-4_2-branch head (r126079). * Thu Jun 28 2007 - matz@suse.de cross-i386-gcc-icecream-backend.spec: same change cross-ia64-gcc-icecream-backend.spec: same change cross-ppc64-gcc-icecream-backend.spec: same change cross-ppc-gcc-icecream-backend.spec: same change cross-s390-gcc-icecream-backend.spec: same change cross-s390x-gcc-icecream-backend.spec: same change cross-x86_64-gcc-icecream-backend.spec: same change ++++++ gcc42.spec ++++++ --- /var/tmp/diff_new_pack.V13681/_old 2007-07-10 13:32:01.000000000 +0200 +++ /var/tmp/diff_new_pack.V13681/_new 2007-07-10 13:32:01.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package gcc42 (Version 4.2.1_20070628) +# spec file for package gcc42 (Version 4.2.1_20070705) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -78,7 +78,7 @@ # is inactive for the time being %define separate_bi64 1 %endif -%ifarch x86_64 s390x +%ifarch x86_64 s390x ppc64 %define separate_bi32 1 %endif # Define two macros to trigger -32bit or -64bit package variants @@ -101,8 +101,8 @@ # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ -License: GNU General Public License (GPL) -Version: 4.2.1_20070628 +License: GPL v2 or later +Version: 4.2.1_20070705 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -122,6 +122,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec +Source2: libgcj42-rpmlintrc Source100: README.First-for.SuSE.packagers Patch1: bug-reporting.patch Patch2: gcc-noalias-warn.diff @@ -876,7 +877,6 @@ Group: System/Libraries Provides: libgcj8 = %{version}-%{release} Obsoletes: libgcj8 < %{version}-%{release} -Conflicts: libgcj41 Autoreqprov: on %description -n libgcj42 @@ -891,12 +891,32 @@ %postun -n libgcj42 %run_ldconfig +%package -n libgcj_bc42 +Summary: Fake library for BC-ABI compatibility. +Group: System/Libraries +Autoreqprov: on +Provides: libgcj_bc1 = %{version}-%{release} + +%description -n libgcj_bc42 +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 libgcj.so changes. + + + + +%post -n libgcj_bc42 +%run_ldconfig + +%postun -n libgcj_bc42 +%run_ldconfig %package -n libgcj42-devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/Java Autoreqprov: on Requires: libstdc++42-devel = %{version} Requires: libgcj8 >= %{version}-%{release} +Requires: libgcj_bc1 >= %{version}-%{release} Requires: gtk2-devel Requires: libart_lgpl-devel Requires: glibc-devel @@ -904,7 +924,6 @@ %ifarch ia64 Requires: libunwind-devel %endif -Conflicts: libgcj41-devel %description -n libgcj42-devel This package contains all necessary include files and libraries needed @@ -1385,7 +1404,7 @@ %endif # Remove some useless .la files for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ - libgomp libstdc++ libsupc++; do + libgomp libstdc++ libsupc++ libgcj-tools libgij; do rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la %if %{biarch} %if %{build_primary_64bit} @@ -1448,29 +1467,17 @@ ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{GCCDIST}/$dir_ml fi # LIBJAVA-DELETE-END -# Move shared libs around -# libjava possibly breaks, ada is broken +# move shared libs from versionspecific dir to main libdir for libname in \ -%if %{build_libjava} +%if 0%{?building_libjava:1} libgcj libgij libgcj-tools libgcj_bc \ -%endif - ; do - mv -f $RPM_BUILD_ROOT%{versmainlibdir}/$libname.* $RPM_BUILD_ROOT%{mainlibdir}/ -%if %{biarch_libjava} -%if %{build_primary_64bit} - mv -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi32}/ %else - mv -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi64}/ -%endif -%endif -done -# LIBJAVA-DELETE-BEGIN -# move shared libs from versionspecific dir to main libdir -for libname in \ %if %{build_fortran} libgfortran \ %endif - libobjc libstdc++ libgomp libmudflap libmudflapth; do + libobjc libstdc++ libgomp libmudflap libmudflapth \ +%endif + ; do for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do mv $lib $RPM_BUILD_ROOT%{mainlibdir}/ done @@ -1478,20 +1485,25 @@ $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so %if %{biarch} %if %{build_primary_64bit} + if test -d $RPM_BUILD_ROOT%{versmainlibdirbi32}; then for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi32} -maxdepth 1 -name "$libname.so.*"`; do mv $lib $RPM_BUILD_ROOT%{mainlibdirbi32}/ done ln -sf %{mainlibdirbi32}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so + fi %else + if test -d $RPM_BUILD_ROOT%{versmainlibdirbi64}; then for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi64} -maxdepth 1 -name "$libname.so.*"`; do mv $lib $RPM_BUILD_ROOT%{mainlibdirbi64}/ done ln -sf %{mainlibdirbi64}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so + fi %endif %endif done +# LIBJAVA-DELETE-BEGIN # Move libgcc_s around rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so @@ -1521,11 +1533,11 @@ # Remove some crap from the .la files: for l in `find $RPM_BUILD_ROOT -name '*.la'`; do echo "changing $l" +# -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' sed -e '/^dependency_libs/s| -L/usr/src/packages/BUILD/[^ ]*||g' \ -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ -e '/^dependency_libs/s|-L[^ ]* ||g' \ - -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' \ %if %{biarch} %if %{build_primary_64bit} -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ @@ -1581,14 +1593,22 @@ | xargs rm -f find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' +# Move libffi headers, remove empty libffi libtool file mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/ -#rm -r $RPM_BUILD_ROOT%{libsubdir}/include/libffi -# security files have broken install locations -#test -f $RPM_BUILD_ROOT%{_libdir}/security/classpath.security || mv $RPM_BUILD_ROOT/usr/lib/security/classpath.security $RPM_BUILD_ROOT%{_libdir}/security/ -cp $RPM_BUILD_ROOT%{_libdir}/logging.properties /tmp -find $RPM_BUILD_ROOT -name logging.properties | xargs rm -cp /tmp/logging.properties $RPM_BUILD_ROOT%{_libdir}/ +rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la +%if %{biarch} +%if %{build_primary_64bit} +rm -f $RPM_BUILD_ROOT%{mainlibdirbi32}/libffi.la +%else +rm -f $RPM_BUILD_ROOT%{mainlibdirbi64}/libffi.la +%endif +%endif +# security files have broken install locations, also they cause conflicts +# between libgcj versions. Simply delete them here, libgcj will use its +# defaults in this case (which is what these files contain anyway). +rm $RPM_BUILD_ROOT%{_libdir}/logging.properties +rm -r $RPM_BUILD_ROOT%{_libdir}/security %endif %if %{build_java} rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 @@ -2028,33 +2048,48 @@ %files -n libgcj42 %defattr(-,root,root) %dir %{_libdir}/gcj-%{gcc_version} +%dir %{_libdir}/gcc +%dir %{_libdir}/gcc/%{GCCDIST} +%dir %{libsubdir} %{_prefix}/share/java/libgcj-%{gcc_version}.jar %{_prefix}/share/java/libgcj-tools-%{gcc_version}.jar %{_libdir}/gcj-%{gcc_version}/classmap.db -%dir %{_libdir}/security -%{_libdir}/security/classpath.security -#%{_libdir}/security/libgcj.security # We usually do not multilib libjava %if %{biarch_libjava} +%versbiarchlib libgcj.la + +%biarchlib libgcj.so.* + +%biarchlib libgij.so.* + +%biarchlib libgcj-tools.so.* +%else + +%versmainlib libgcj.la + %mainlib libgcj.so.* %mainlib libgij.so.* %mainlib libgcj-tools.so.* -%else -%{mainlibdir}/libgcj.so.* -%{mainlibdir}/libgij.so.* -%{mainlibdir}/libgcj-tools.so.* -%{mainlibdir}/libgcj_bc.so.* +%endif %{_libdir}/gcj-%{gcc_version}/libgtkpeer.la %{_libdir}/gcj-%{gcc_version}/libgtkpeer.so %{_libdir}/gcj-%{gcc_version}/libjawt.la %{_libdir}/gcj-%{gcc_version}/libjawt.so %{_libdir}/gcj-%{gcc_version}/libjvm.la %{_libdir}/gcj-%{gcc_version}/libjvm.so + +%files -n libgcj_bc42 +%defattr(-,root,root) +%if %{biarch_libjava} + +%biarchlib libgcj_bc.so.* +%else + +%mainlib libgcj_bc.so.* %endif -%{_libdir}/logging.properties %files -n libgcj42-devel %defattr(-,root,root) @@ -2077,30 +2112,26 @@ %{libsubdir}/include/gcj %if %{biarch_libjava} -%mainlib libgcj.la +%versbiarchlib libgcj.so + +%versbiarchlib libgcj.spec -%mainlib libgcj.so +%versbiarchlib libgcj-tools.so -%mainlib libgcj.spec +%versbiarchlib libgij.so -%mainlib libgcj-tools.la +%versbiarchlib libgcj_bc.so +%else -%mainlib libgcj-tools.so +%versmainlib libgcj.so -%mainlib libgij.la +%versmainlib libgcj.spec -%mainlib libgij.so +%versmainlib libgcj-tools.so -%mainlib libgcj_bc.so -%else -%{mainlibdir}/libgcj.la -%{mainlibdir}/libgcj.so -%{mainlibdir}/libgcj.spec -%{mainlibdir}/libgcj-tools.la -%{mainlibdir}/libgcj-tools.so -%{mainlibdir}/libgij.la -%{mainlibdir}/libgij.so -%{mainlibdir}/libgcj_bc.so +%versmainlib libgij.so + +%versmainlib libgcj_bc.so %endif %files -n gcc42-gij @@ -2140,8 +2171,6 @@ %mainlib libffi.so %mainlib libffi.a - -%mainlib libffi.la %if %{separate_biarch} %files -n libffi42-devel%{separate_biarch_suffix} @@ -2150,8 +2179,6 @@ %biarchlib libffi.so %biarchlib libffi.a - -%biarchlib libffi.la %endif %endif %endif @@ -2164,6 +2191,15 @@ %endif %changelog +* Tue Jul 03 2007 - rguenther@suse.de +- Update to suse-gcc-4_2-branch head (r126359). +- Remove conflicts for libgcj42 and libgcj42-devel again. Instead + do not package the conflicting files. +- Add libgcj_bc42 package. +- Package java development libraries in version specific directories. +- Remove unneeded java libtool files. +- Remove libffi libtool file. +- Make ppc42 a separate-bi-32 target as well. * Thu Jun 28 2007 - rguenther@suse.de - Update to suse-gcc-4_2-branch head (r126079). * Thu Jun 28 2007 - matz@suse.de ++++++ libgcj42.spec ++++++ --- /var/tmp/diff_new_pack.V13681/_old 2007-07-10 13:32:01.000000000 +0200 +++ /var/tmp/diff_new_pack.V13681/_new 2007-07-10 13:32:01.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libgcj42 (Version 4.2.1_20070628) +# spec file for package libgcj42 (Version 4.2.1_20070705) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -90,7 +90,7 @@ # is inactive for the time being %define separate_bi64 1 %endif -%ifarch x86_64 s390x +%ifarch x86_64 s390x ppc64 %define separate_bi32 1 %endif # Define two macros to trigger -32bit or -64bit package variants @@ -113,8 +113,8 @@ # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ -License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL) -Version: 4.2.1_20070628 +License: GPL v2 or later, LGPL v2 or later +Version: 4.2.1_20070705 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -134,6 +134,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec +Source2: libgcj42-rpmlintrc Source100: README.First-for.SuSE.packagers Patch1: bug-reporting.patch Patch2: gcc-noalias-warn.diff @@ -168,7 +169,6 @@ Group: System/Libraries Provides: libgcj8 = %{version}-%{release} Obsoletes: libgcj8 < %{version}-%{release} -Conflicts: libgcj41 Autoreqprov: on %description @@ -183,12 +183,32 @@ %postun %run_ldconfig +%package -n libgcj_bc42 +Summary: Fake library for BC-ABI compatibility. +Group: System/Libraries +Autoreqprov: on +Provides: libgcj_bc1 = %{version}-%{release} + +%description -n libgcj_bc42 +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 libgcj.so changes. + + + + +%post -n libgcj_bc42 +%run_ldconfig + +%postun -n libgcj_bc42 +%run_ldconfig %package -n libgcj42-devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/Java Autoreqprov: on Requires: libstdc++42-devel = %{version} Requires: libgcj8 >= %{version}-%{release} +Requires: libgcj_bc1 >= %{version}-%{release} Requires: gtk2-devel Requires: libart_lgpl-devel Requires: glibc-devel @@ -196,7 +216,6 @@ %ifarch ia64 Requires: libunwind-devel %endif -Conflicts: libgcj41-devel %description -n libgcj42-devel This package contains all necessary include files and libraries needed @@ -677,7 +696,7 @@ %endif # Remove some useless .la files for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ - libgomp libstdc++ libsupc++; do + libgomp libstdc++ libsupc++ libgcj-tools libgij; do rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la %if %{biarch} %if %{build_primary_64bit} @@ -695,19 +714,39 @@ mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 %endif %endif -# Move shared libs around -# libjava possibly breaks, ada is broken +# move shared libs from versionspecific dir to main libdir for libname in \ -%if %{build_libjava} +%if 0%{?building_libjava:1} libgcj libgij libgcj-tools libgcj_bc \ +%else +%if %{build_fortran} + libgfortran \ +%endif + libobjc libstdc++ libgomp libmudflap libmudflapth \ %endif ; do - mv -f $RPM_BUILD_ROOT%{versmainlibdir}/$libname.* $RPM_BUILD_ROOT%{mainlibdir}/ -%if %{biarch_libjava} + for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do + mv $lib $RPM_BUILD_ROOT%{mainlibdir}/ + done + ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ + $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so +%if %{biarch} %if %{build_primary_64bit} - mv -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi32}/ -%else - mv -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi64}/ + if test -d $RPM_BUILD_ROOT%{versmainlibdirbi32}; then + for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi32} -maxdepth 1 -name "$libname.so.*"`; do + mv $lib $RPM_BUILD_ROOT%{mainlibdirbi32}/ + done + ln -sf %{mainlibdirbi32}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ + $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so + fi +%else + if test -d $RPM_BUILD_ROOT%{versmainlibdirbi64}; then + for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi64} -maxdepth 1 -name "$libname.so.*"`; do + mv $lib $RPM_BUILD_ROOT%{mainlibdirbi64}/ + done + ln -sf %{mainlibdirbi64}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ + $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so + fi %endif %endif done @@ -721,11 +760,11 @@ # Remove some crap from the .la files: for l in `find $RPM_BUILD_ROOT -name '*.la'`; do echo "changing $l" +# -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' sed -e '/^dependency_libs/s| -L/usr/src/packages/BUILD/[^ ]*||g' \ -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ -e '/^dependency_libs/s|-L[^ ]* ||g' \ - -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' \ %if %{biarch} %if %{build_primary_64bit} -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ @@ -781,14 +820,22 @@ | xargs rm -f find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' +# Move libffi headers, remove empty libffi libtool file mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/ -#rm -r $RPM_BUILD_ROOT%{libsubdir}/include/libffi -# security files have broken install locations -#test -f $RPM_BUILD_ROOT%{_libdir}/security/classpath.security || mv $RPM_BUILD_ROOT/usr/lib/security/classpath.security $RPM_BUILD_ROOT%{_libdir}/security/ -cp $RPM_BUILD_ROOT%{_libdir}/logging.properties /tmp -find $RPM_BUILD_ROOT -name logging.properties | xargs rm -cp /tmp/logging.properties $RPM_BUILD_ROOT%{_libdir}/ +rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la +%if %{biarch} +%if %{build_primary_64bit} +rm -f $RPM_BUILD_ROOT%{mainlibdirbi32}/libffi.la +%else +rm -f $RPM_BUILD_ROOT%{mainlibdirbi64}/libffi.la +%endif +%endif +# security files have broken install locations, also they cause conflicts +# between libgcj versions. Simply delete them here, libgcj will use its +# defaults in this case (which is what these files contain anyway). +rm $RPM_BUILD_ROOT%{_libdir}/logging.properties +rm -r $RPM_BUILD_ROOT%{_libdir}/security %endif %if %{build_java} rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 @@ -827,33 +874,48 @@ %files %defattr(-,root,root) %dir %{_libdir}/gcj-%{gcc_version} +%dir %{_libdir}/gcc +%dir %{_libdir}/gcc/%{GCCDIST} +%dir %{libsubdir} %{_prefix}/share/java/libgcj-%{gcc_version}.jar %{_prefix}/share/java/libgcj-tools-%{gcc_version}.jar %{_libdir}/gcj-%{gcc_version}/classmap.db -%dir %{_libdir}/security -%{_libdir}/security/classpath.security -#%{_libdir}/security/libgcj.security # We usually do not multilib libjava %if %{biarch_libjava} +%versbiarchlib libgcj.la + +%biarchlib libgcj.so.* + +%biarchlib libgij.so.* + +%biarchlib libgcj-tools.so.* +%else + +%versmainlib libgcj.la + %mainlib libgcj.so.* %mainlib libgij.so.* %mainlib libgcj-tools.so.* -%else -%{mainlibdir}/libgcj.so.* -%{mainlibdir}/libgij.so.* -%{mainlibdir}/libgcj-tools.so.* -%{mainlibdir}/libgcj_bc.so.* +%endif %{_libdir}/gcj-%{gcc_version}/libgtkpeer.la %{_libdir}/gcj-%{gcc_version}/libgtkpeer.so %{_libdir}/gcj-%{gcc_version}/libjawt.la %{_libdir}/gcj-%{gcc_version}/libjawt.so %{_libdir}/gcj-%{gcc_version}/libjvm.la %{_libdir}/gcj-%{gcc_version}/libjvm.so + +%files -n libgcj_bc42 +%defattr(-,root,root) +%if %{biarch_libjava} + +%biarchlib libgcj_bc.so.* +%else + +%mainlib libgcj_bc.so.* %endif -%{_libdir}/logging.properties %files -n libgcj42-devel %defattr(-,root,root) @@ -876,30 +938,26 @@ %{libsubdir}/include/gcj %if %{biarch_libjava} -%mainlib libgcj.la +%versbiarchlib libgcj.so -%mainlib libgcj.so +%versbiarchlib libgcj.spec -%mainlib libgcj.spec +%versbiarchlib libgcj-tools.so -%mainlib libgcj-tools.la +%versbiarchlib libgij.so -%mainlib libgcj-tools.so +%versbiarchlib libgcj_bc.so +%else -%mainlib libgij.la +%versmainlib libgcj.so -%mainlib libgij.so +%versmainlib libgcj.spec -%mainlib libgcj_bc.so -%else -%{mainlibdir}/libgcj.la -%{mainlibdir}/libgcj.so -%{mainlibdir}/libgcj.spec -%{mainlibdir}/libgcj-tools.la -%{mainlibdir}/libgcj-tools.so -%{mainlibdir}/libgij.la -%{mainlibdir}/libgij.so -%{mainlibdir}/libgcj_bc.so +%versmainlib libgcj-tools.so + +%versmainlib libgij.so + +%versmainlib libgcj_bc.so %endif %files -n gcc42-gij @@ -939,8 +997,6 @@ %mainlib libffi.so %mainlib libffi.a - -%mainlib libffi.la %if %{separate_biarch} %files -n libffi42-devel%{separate_biarch_suffix} @@ -949,8 +1005,6 @@ %biarchlib libffi.so %biarchlib libffi.a - -%biarchlib libffi.la %endif %endif %endif @@ -963,6 +1017,15 @@ %endif %changelog +* Tue Jul 03 2007 - rguenther@suse.de +- Update to suse-gcc-4_2-branch head (r126359). +- Remove conflicts for libgcj42 and libgcj42-devel again. Instead + do not package the conflicting files. +- Add libgcj_bc42 package. +- Package java development libraries in version specific directories. +- Remove unneeded java libtool files. +- Remove libffi libtool file. +- Make ppc42 a separate-bi-32 target as well. * Thu Jun 28 2007 - rguenther@suse.de - Update to suse-gcc-4_2-branch head (r126079). * Thu Jun 28 2007 - matz@suse.de ++++++ gcc-4.2.1-20070628.tar.bz2 -> gcc-4.2.1-20070705.tar.bz2 ++++++ gcc42/gcc-4.2.1-20070628.tar.bz2 /mounts/work_src_done/STABLE/gcc42/gcc-4.2.1-20070705.tar.bz2 differ: byte 11, line 1 ++++++ gcc.spec.in ++++++ --- gcc42/gcc.spec.in 2007-06-28 22:51:22.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc42/gcc.spec.in 2007-07-06 15:02:29.000000000 +0200 @@ -88,7 +88,7 @@ # is inactive for the time being %define separate_bi64 1 %endif -%ifarch x86_64 s390x +%ifarch x86_64 s390x ppc64 %define separate_bi32 1 %endif @@ -117,7 +117,7 @@ URL: http://gcc.gnu.org/ License: GPL -Version: 4.2.1_20070628 +Version: 4.2.1_20070705 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -139,6 +139,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec +Source2: libgcj42-rpmlintrc Source100: README.First-for.SuSE.packagers Patch1: bug-reporting.patch Patch2: gcc-noalias-warn.diff @@ -489,7 +490,6 @@ Group: System/Libraries Provides: libgcj8 = %{version}-%{release} Obsoletes: libgcj8 < %{version}-%{release} -Conflicts: libgcj41 Autoreqprov: on %description -n libgcj@base_ver@ @@ -503,12 +503,32 @@ %run_ldconfig +%package -n libgcj_bc@base_ver@ +Summary: Fake library for BC-ABI compatibility. +Group: Development/Libraries/Java +Autoreqprov: on +Provides: libgcj_bc1 = %{version}-%{release} + +%description -n libgcj_bc@base_ver@ +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 +libgcj.so changes. + +%post -n libgcj_bc@base_ver@ +%run_ldconfig + +%postun -n libgcj_bc@base_ver@ +%run_ldconfig + + %package -n libgcj@base_ver@-devel Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/Java Autoreqprov: on Requires: libstdc++@base_ver@-devel = %{version} Requires: libgcj8 >= %{version}-%{release} +Requires: libgcj_bc1 >= %{version}-%{release} Requires: gtk2-devel Requires: libart_lgpl-devel Requires: glibc-devel @@ -516,7 +536,6 @@ %ifarch ia64 Requires: libunwind-devel %endif -Conflicts: libgcj41-devel %description -n libgcj@base_ver@-devel This package contains all necessary include files and libraries needed @@ -957,7 +976,7 @@ # Remove some useless .la files for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ - libgomp libstdc++ libsupc++; do + libgomp libstdc++ libsupc++ libgcj-tools libgij; do rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la %if %{biarch} %if %{build_primary_64bit} @@ -1023,29 +1042,17 @@ fi # LIBJAVA-DELETE-END -# Move shared libs around -# libjava possibly breaks, ada is broken +# move shared libs from versionspecific dir to main libdir for libname in \ -%if %{build_libjava} +%if 0%{?building_libjava:1} libgcj libgij libgcj-tools libgcj_bc \ -%endif - ; do - mv -f $RPM_BUILD_ROOT%{versmainlibdir}/$libname.* $RPM_BUILD_ROOT%{mainlibdir}/ -%if %{biarch_libjava} -%if %{build_primary_64bit} - mv -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi32}/ %else - mv -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.* $RPM_BUILD_ROOT%{mainlibdirbi64}/ -%endif -%endif -done -# LIBJAVA-DELETE-BEGIN -# move shared libs from versionspecific dir to main libdir -for libname in \ %if %{build_fortran} libgfortran \ %endif - libobjc libstdc++ libgomp libmudflap libmudflapth; do + libobjc libstdc++ libgomp libmudflap libmudflapth \ +%endif + ; do for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do mv $lib $RPM_BUILD_ROOT%{mainlibdir}/ done @@ -1053,21 +1060,26 @@ $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so %if %{biarch} %if %{build_primary_64bit} - for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi32} -maxdepth 1 -name "$libname.so.*"`; do - mv $lib $RPM_BUILD_ROOT%{mainlibdirbi32}/ - done - ln -sf %{mainlibdirbi32}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ + if test -d $RPM_BUILD_ROOT%{versmainlibdirbi32}; then + for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi32} -maxdepth 1 -name "$libname.so.*"`; do + mv $lib $RPM_BUILD_ROOT%{mainlibdirbi32}/ + done + ln -sf %{mainlibdirbi32}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ $RPM_BUILD_ROOT%{versmainlibdirbi32}/$libname.so + fi %else - for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi64} -maxdepth 1 -name "$libname.so.*"`; do - mv $lib $RPM_BUILD_ROOT%{mainlibdirbi64}/ - done - ln -sf %{mainlibdirbi64}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ + if test -d $RPM_BUILD_ROOT%{versmainlibdirbi64}; then + for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi64} -maxdepth 1 -name "$libname.so.*"`; do + mv $lib $RPM_BUILD_ROOT%{mainlibdirbi64}/ + done + ln -sf %{mainlibdirbi64}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \ $RPM_BUILD_ROOT%{versmainlibdirbi64}/$libname.so + fi %endif %endif done +# LIBJAVA-DELETE-BEGIN # Move libgcc_s around rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so @@ -1100,11 +1112,11 @@ # Remove some crap from the .la files: for l in `find $RPM_BUILD_ROOT -name '*.la'`; do echo "changing $l" +# -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' sed -e '/^dependency_libs/s| -L/usr/src/packages/BUILD/[^ ]*||g' \ -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ -e '/^dependency_libs/s|-L[^ ]* ||g' \ - -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g' \ %if %{biarch} %if %{build_primary_64bit} -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ @@ -1163,14 +1175,23 @@ find $RPM_BUILD_ROOT -name libgcj.spec | xargs \ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' +# Move libffi headers, remove empty libffi libtool file mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/ mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/ -#rm -r $RPM_BUILD_ROOT%{libsubdir}/include/libffi -# security files have broken install locations -#test -f $RPM_BUILD_ROOT%{_libdir}/security/classpath.security || mv $RPM_BUILD_ROOT/usr/lib/security/classpath.security $RPM_BUILD_ROOT%{_libdir}/security/ -cp $RPM_BUILD_ROOT%{_libdir}/logging.properties /tmp -find $RPM_BUILD_ROOT -name logging.properties | xargs rm -cp /tmp/logging.properties $RPM_BUILD_ROOT%{_libdir}/ +rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la +%if %{biarch} +%if %{build_primary_64bit} +rm -f $RPM_BUILD_ROOT%{mainlibdirbi32}/libffi.la +%else +rm -f $RPM_BUILD_ROOT%{mainlibdirbi64}/libffi.la +%endif +%endif + +# security files have broken install locations, also they cause conflicts +# between libgcj versions. Simply delete them here, libgcj will use its +# defaults in this case (which is what these files contain anyway). +rm $RPM_BUILD_ROOT%{_libdir}/logging.properties +rm -r $RPM_BUILD_ROOT%{_libdir}/security %endif %if %{build_java} rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1 @@ -1568,30 +1589,38 @@ %files -n libgcj@base_ver@ %defattr(-,root,root) %dir %{_libdir}/gcj-%{gcc_version} +%dir %{_libdir}/gcc +%dir %{_libdir}/gcc/%{GCCDIST} +%dir %{libsubdir} %{_prefix}/share/java/libgcj-%{gcc_version}.jar %{_prefix}/share/java/libgcj-tools-%{gcc_version}.jar %{_libdir}/gcj-%{gcc_version}/classmap.db -%dir %{_libdir}/security -%{_libdir}/security/classpath.security -#%{_libdir}/security/libgcj.security # We usually do not multilib libjava %if %{biarch_libjava} +%versbiarchlib libgcj.la +%biarchlib libgcj.so.* +%biarchlib libgij.so.* +%biarchlib libgcj-tools.so.* +%else +%versmainlib libgcj.la %mainlib libgcj.so.* %mainlib libgij.so.* %mainlib libgcj-tools.so.* -%else -%{mainlibdir}/libgcj.so.* -%{mainlibdir}/libgij.so.* -%{mainlibdir}/libgcj-tools.so.* -%{mainlibdir}/libgcj_bc.so.* +%endif %{_libdir}/gcj-%{gcc_version}/libgtkpeer.la %{_libdir}/gcj-%{gcc_version}/libgtkpeer.so %{_libdir}/gcj-%{gcc_version}/libjawt.la %{_libdir}/gcj-%{gcc_version}/libjawt.so %{_libdir}/gcj-%{gcc_version}/libjvm.la %{_libdir}/gcj-%{gcc_version}/libjvm.so + +%files -n libgcj_bc@base_ver@ +%defattr(-,root,root) +%if %{biarch_libjava} +%biarchlib libgcj_bc.so.* +%else +%mainlib libgcj_bc.so.* %endif -%{_libdir}/logging.properties %files -n libgcj@base_ver@-devel %defattr(-,root,root) @@ -1613,23 +1642,17 @@ %{gxxinclude}/org %{libsubdir}/include/gcj %if %{biarch_libjava} -%mainlib libgcj.la -%mainlib libgcj.so -%mainlib libgcj.spec -%mainlib libgcj-tools.la -%mainlib libgcj-tools.so -%mainlib libgij.la -%mainlib libgij.so -%mainlib libgcj_bc.so -%else -%{mainlibdir}/libgcj.la -%{mainlibdir}/libgcj.so -%{mainlibdir}/libgcj.spec -%{mainlibdir}/libgcj-tools.la -%{mainlibdir}/libgcj-tools.so -%{mainlibdir}/libgij.la -%{mainlibdir}/libgij.so -%{mainlibdir}/libgcj_bc.so +%versbiarchlib libgcj.so +%versbiarchlib libgcj.spec +%versbiarchlib libgcj-tools.so +%versbiarchlib libgij.so +%versbiarchlib libgcj_bc.so +%else +%versmainlib libgcj.so +%versmainlib libgcj.spec +%versmainlib libgcj-tools.so +%versmainlib libgij.so +%versmainlib libgcj_bc.so %endif %files -n gcc@base_ver@-gij @@ -1665,14 +1688,12 @@ %{_prefix}/include/ffitarget.h %mainlib libffi.so %mainlib libffi.a -%mainlib libffi.la %if %{separate_biarch} %files -n libffi@base_ver@-devel%{separate_biarch_suffix} %defattr(-,root,root) %biarchlib libffi.so %biarchlib libffi.a -%biarchlib libffi.la %endif %endif %endif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de