From 6ad7bad6c275a78036d444e1159eb412821d18b6559877c94ee545ea72edf3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 23 Nov 2011 14:50:07 +0000 Subject: [PATCH 1/5] Accepting request 92943 from home:jengelh:branches:shlib - Remove redundant/unwanted tags/section (cf. specfile guidelines) - Employ shlib naming (fftw3 -> libfftw3) OBS-URL: https://build.opensuse.org/request/show/92943 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/fftw3?expand=0&rev=17 --- baselibs.conf | 8 ++--- fftw3.changes | 6 ++++ fftw3.spec | 92 +++++++++++++++++++++++++++------------------------ 3 files changed, 58 insertions(+), 48 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index 4f0dece..4239941 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -fftw3 -fftw3-threads -fftw3-omp -fftw3-mpi +libfftw3-3 +libfftw3_threads3 +libfftw3_omp3 +libfftw3_mpi3 diff --git a/fftw3.changes b/fftw3.changes index 35eaaff..ec18695 100644 --- a/fftw3.changes +++ b/fftw3.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Nov 21 17:45:00 UTC 2011 - jengelh@medozas.de + +- Remove redundant/unwanted tags/section (cf. specfile guidelines) +- Employ shlib naming (fftw3 -> libfftw3) + ------------------------------------------------------------------- Sun Oct 9 17:48:50 UTC 2011 - adrian@suse.de diff --git a/fftw3.spec b/fftw3.spec index 003e71f..2416a2e 100644 --- a/fftw3.spec +++ b/fftw3.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: fftw3 @@ -27,7 +26,7 @@ License: GPLv2+ Group: Productivity/Scientific/Math Source: fftw-%{version}.tar.bz2 # Patch: fftw-%{version}.diff -Url: http://www.fftw.org +URL: http://www.fftw.org AutoReqProv: on BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(pre): %install_info_prereq @@ -39,7 +38,6 @@ data, and of arbitrary input size. %package devel -License: GPLv2+ Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ Requires: fftw3 = %{version} glibc-devel @@ -49,24 +47,35 @@ Provides: fftw-devel This package contains all necessary include files and libraries needed to develop applications that require these. +%package -n libfftw3-3 +Summary: Discrete Fourier Transform (DFT) C Subroutine Library +Group: System/Libraries +# Remove Prov/Obs when appropriate; were added 2011-Nov-21 (post-openSUSE-12.1) +Provides: fftw3 = %version-%release +Obsoletes: fftw3 < %version-%release -%package threads -License: GPLv2+ +%description -n libfftw3-3 +FFTW is a C subroutine library for computing the Discrete Fourier +Transform (DFT) in one or more dimensions, of both real and complex +data, and of arbitrary input size. + +%package -n libfftw3_threads3 Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math -Requires: fftw3 = %{version} +# libfftw3_threads.so does not have a DT_NEEDED entry for fftw symbols, since it +# may be used with either libfftw3.so or libfftw3f.so. Hence, manual Requires. +Requires: libfftw3-3 = %version -%description threads +%description -n libfftw3_threads3 FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. %package threads-devel -License: GPLv2+ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: fftw3-threads = %{version} +Requires: libfftw3_threads3 = %version Requires: fftw3-devel = %{version} glibc-devel %description threads-devel @@ -75,23 +84,22 @@ Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. -%package openmp -License: GPLv2+ +%package -n libfftw3_omp3 Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math -Requires: fftw3 = %{version} +# Same as libfftw3_threads.so: manual Requires for fftw3 main lib +Requires: libfftw3-3 = %version -%description openmp +%description -n libfftw3_omp3 FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. %package openmp-devel -License: GPLv2+ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: fftw3-openmp = %{version} +Requires: libfftw3_omp3 = %{version} Requires: fftw3-devel = %{version} glibc-devel %description openmp-devel @@ -100,24 +108,23 @@ Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. -%package mpi -License: GPLv2+ +%package -n libfftw3_mpi3 Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math -Requires: fftw3 = %{version} +# Same as libfftw3_threads.so: manual Requires for fftw3 main lib +Requires: libfftw3-3 = %version Requires: openmpi -%description mpi +%description -n libfftw3_mpi3 FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. %package mpi-devel -License: GPLv2+ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: fftw3-mpi = %{version} +Requires: libfftw3_mpi3 = %{version} Requires: fftw3-devel = %{version} glibc-devel Requires: openmpi-devel @@ -167,29 +174,26 @@ find doc -name 'Makefile*' | xargs rm %post devel %install_info --info-dir=%{_infodir} %{_infodir}/fftw3.info.gz -%post -p /sbin/ldconfig +%post -n libfftw3-3 -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%postun -n libfftw3-3 -p /sbin/ldconfig -%post threads -p /sbin/ldconfig +%post -n libfftw3_threads3 -p /sbin/ldconfig -%postun threads -p /sbin/ldconfig +%postun -n libfftw3_threads3 -p /sbin/ldconfig -%post openmp -p /sbin/ldconfig +%post -n libfftw3_omp3 -p /sbin/ldconfig -%postun openmp -p /sbin/ldconfig +%postun -n libfftw3_omp3 -p /sbin/ldconfig -%post mpi -p /sbin/ldconfig +%post -n libfftw3_mpi3 -p /sbin/ldconfig -%postun mpi -p /sbin/ldconfig +%postun -n libfftw3_mpi3 -p /sbin/ldconfig -%clean -test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT - -%files +%files -n libfftw3-3 %defattr(-,root,root) -%{_libdir}/libfftw3.so.* -%{_libdir}/libfftw3f.so.* +%{_libdir}/libfftw3.so.3* +%{_libdir}/libfftw3f.so.3* %files devel %defattr(-,root,root) @@ -203,30 +207,30 @@ test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/*.pc %{_bindir}/* -%files threads +%files -n libfftw3_threads3 %defattr(-,root,root) -%{_libdir}/libfftw3_threads.so.* -%{_libdir}/libfftw3f_threads.so.* +%{_libdir}/libfftw3_threads.so.3* +%{_libdir}/libfftw3f_threads.so.3* %files threads-devel %defattr(-,root,root) %{_libdir}/libfftw3_threads.so %{_libdir}/libfftw3f_threads.so -%files openmp +%files -n libfftw3_omp3 %defattr(-,root,root) -%{_libdir}/libfftw3_omp.so.* -%{_libdir}/libfftw3f_omp.so.* +%{_libdir}/libfftw3_omp.so.3* +%{_libdir}/libfftw3f_omp.so.3* %files openmp-devel %defattr(-,root,root) %{_libdir}/libfftw3_omp.so %{_libdir}/libfftw3f_omp.so -%files mpi +%files -n libfftw3_mpi3 %defattr(-,root,root) -%{_libdir}/libfftw3_mpi.so.* -%{_libdir}/libfftw3f_mpi.so.* +%{_libdir}/libfftw3_mpi.so.3* +%{_libdir}/libfftw3f_mpi.so.3* %files mpi-devel %defattr(-,root,root) From 574966b25d728cd3e96a6eed29051d41cdec0b623639e833747c5f8402bedc7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 28 Nov 2011 09:51:22 +0000 Subject: [PATCH 2/5] Accepting request 93908 from home:oertel:branches:openSUSE:Factory - fix build on s390/s390x without openmpi OBS-URL: https://build.opensuse.org/request/show/93908 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/fftw3?expand=0&rev=18 --- fftw3.changes | 5 +++++ fftw3.spec | 26 +++++++++++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/fftw3.changes b/fftw3.changes index ec18695..73c2ac3 100644 --- a/fftw3.changes +++ b/fftw3.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Nov 28 01:48:17 CET 2011 - ro@suse.de + +- fix build on s390/s390x without openmpi + ------------------------------------------------------------------- Mon Nov 21 17:45:00 UTC 2011 - jengelh@medozas.de diff --git a/fftw3.spec b/fftw3.spec index 2416a2e..741c96f 100644 --- a/fftw3.spec +++ b/fftw3.spec @@ -18,7 +18,10 @@ Name: fftw3 -BuildRequires: fdupes gcc-fortran openmpi-devel pkgconfig +BuildRequires: fdupes gcc-fortran pkgconfig +%ifnarch s390 s390x +BuildRequires: openmpi-devel +%endif Summary: Discrete Fourier Transform (DFT) C Subroutine Library Version: 3.3 Release: 14 @@ -26,7 +29,7 @@ License: GPLv2+ Group: Productivity/Scientific/Math Source: fftw-%{version}.tar.bz2 # Patch: fftw-%{version}.diff -URL: http://www.fftw.org +Url: http://www.fftw.org AutoReqProv: on BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(pre): %install_info_prereq @@ -107,6 +110,7 @@ FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. +%ifnarch s390 s390x %package -n libfftw3_mpi3 Summary: Discrete Fourier Transform (DFT) C subroutine library @@ -132,7 +136,7 @@ Requires: openmpi-devel FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - +%endif %prep %setup -q -n fftw-%{version} @@ -140,7 +144,10 @@ data, and of arbitrary input size. # autoreconf --force --install %build -%configure --enable-shared --enable-threads --enable-openmp --enable-mpi \ +%configure --enable-shared --enable-threads --enable-openmp \ +%ifnarch s390 s390x + --enable-mpi \ +%endif %ifarch %ix86 x86_64 --enable-sse2 \ %endif @@ -153,7 +160,10 @@ make %{?_smp_mflags} rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a # hack to also compile/install single-precision version: make distclean -%configure --enable-shared --enable-threads --enable-float --enable-openmp --enable-mpi \ +%configure --enable-shared --enable-threads --enable-float --enable-openmp \ +%ifnarch s390 s390x + --enable-mpi \ +%endif %ifarch %ix86 x86_64 --enable-sse \ %endif @@ -186,9 +196,12 @@ find doc -name 'Makefile*' | xargs rm %postun -n libfftw3_omp3 -p /sbin/ldconfig +%ifnarch s390 s390x + %post -n libfftw3_mpi3 -p /sbin/ldconfig %postun -n libfftw3_mpi3 -p /sbin/ldconfig +%endif %files -n libfftw3-3 %defattr(-,root,root) @@ -227,6 +240,8 @@ find doc -name 'Makefile*' | xargs rm %{_libdir}/libfftw3_omp.so %{_libdir}/libfftw3f_omp.so +%ifnarch s390 s390x + %files -n libfftw3_mpi3 %defattr(-,root,root) %{_libdir}/libfftw3_mpi.so.3* @@ -237,5 +252,6 @@ find doc -name 'Makefile*' | xargs rm %{_libdir}/libfftw3_mpi.so %{_libdir}/libfftw3f_mpi.so %{_includedir}/fftw3-mpi.* +%endif %changelog From 41c031d5555c95d4a2f2237b75fdbede1ba5779e77801cfa93993c07ec98c537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 28 Nov 2011 13:34:55 +0000 Subject: [PATCH 3/5] - Ignore rpmlint fixed dependency errors OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/fftw3?expand=0&rev=19 --- fftw-3.3.tar.bz2 | 3 --- fftw-3.3.tar.gz | 3 +++ fftw3-rpmlintrc | 4 ++++ fftw3.changes | 5 ++++ fftw3.spec | 59 +++++++++++++++++++++++++++--------------------- 5 files changed, 45 insertions(+), 29 deletions(-) delete mode 100644 fftw-3.3.tar.bz2 create mode 100644 fftw-3.3.tar.gz create mode 100644 fftw3-rpmlintrc diff --git a/fftw-3.3.tar.bz2 b/fftw-3.3.tar.bz2 deleted file mode 100644 index d4e9a27..0000000 --- a/fftw-3.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f704c2fc1060849ea7467b479c62476c28d97e54211d2505831ca383b88e9b1e -size 2945530 diff --git a/fftw-3.3.tar.gz b/fftw-3.3.tar.gz new file mode 100644 index 0000000..94a88a5 --- /dev/null +++ b/fftw-3.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d25a98521a13933e678ce19319d03ddc915826764e1e59abd12d172c239b6aea +size 3965713 diff --git a/fftw3-rpmlintrc b/fftw3-rpmlintrc new file mode 100644 index 0000000..a98d9d3 --- /dev/null +++ b/fftw3-rpmlintrc @@ -0,0 +1,4 @@ +# See spec file to see why we need this +setBadness("shlib-policy-name-error", 0) +addFilter('shlib-fixed-dependency') + diff --git a/fftw3.changes b/fftw3.changes index 73c2ac3..ced7718 100644 --- a/fftw3.changes +++ b/fftw3.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Nov 28 13:33:44 UTC 2011 - idoenmez@suse.de + +- Ignore rpmlint fixed dependency errors + ------------------------------------------------------------------- Mon Nov 28 01:48:17 CET 2011 - ro@suse.de diff --git a/fftw3.spec b/fftw3.spec index 741c96f..b050bba 100644 --- a/fftw3.spec +++ b/fftw3.spec @@ -18,19 +18,20 @@ Name: fftw3 -BuildRequires: fdupes gcc-fortran pkgconfig +BuildRequires: fdupes +BuildRequires: gcc-fortran +BuildRequires: pkgconfig %ifnarch s390 s390x BuildRequires: openmpi-devel %endif -Summary: Discrete Fourier Transform (DFT) C Subroutine Library Version: 3.3 -Release: 14 +Release: 0 License: GPLv2+ -Group: Productivity/Scientific/Math -Source: fftw-%{version}.tar.bz2 -# Patch: fftw-%{version}.diff +Summary: Discrete Fourier Transform (DFT) C Subroutine Library Url: http://www.fftw.org -AutoReqProv: on +Group: Productivity/Scientific/Math +Source: http://www.fftw.org/fftw-3.3.tar.gz +Source1: %{name}-rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(pre): %install_info_prereq @@ -39,11 +40,11 @@ FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - %package devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ -Requires: fftw3 = %{version} glibc-devel +Requires: fftw3 = %{version} +Requires: glibc-devel Provides: fftw-devel %description devel @@ -54,8 +55,8 @@ to develop applications that require these. Summary: Discrete Fourier Transform (DFT) C Subroutine Library Group: System/Libraries # Remove Prov/Obs when appropriate; were added 2011-Nov-21 (post-openSUSE-12.1) -Provides: fftw3 = %version-%release -Obsoletes: fftw3 < %version-%release +Provides: fftw3 = %{version}-%{release} +Obsoletes: fftw3 < %{version}-%{release} %description -n libfftw3-3 FFTW is a C subroutine library for computing the Discrete Fourier @@ -67,43 +68,42 @@ Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math # libfftw3_threads.so does not have a DT_NEEDED entry for fftw symbols, since it # may be used with either libfftw3.so or libfftw3f.so. Hence, manual Requires. -Requires: libfftw3-3 = %version +Requires: libfftw3-3 = %{version} %description -n libfftw3_threads3 FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - %package threads-devel Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ -Requires: libfftw3_threads3 = %version -Requires: fftw3-devel = %{version} glibc-devel +Requires: fftw3-devel = %{version} +Requires: glibc-devel +Requires: libfftw3_threads3 = %{version} %description threads-devel FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - %package -n libfftw3_omp3 Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math # Same as libfftw3_threads.so: manual Requires for fftw3 main lib -Requires: libfftw3-3 = %version +Requires: libfftw3-3 = %{version} %description -n libfftw3_omp3 FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - %package openmp-devel Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ +Requires: fftw3-devel = %{version} +Requires: glibc-devel Requires: libfftw3_omp3 = %{version} -Requires: fftw3-devel = %{version} glibc-devel %description openmp-devel FFTW is a C subroutine library for computing the Discrete Fourier @@ -116,7 +116,7 @@ data, and of arbitrary input size. Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Productivity/Scientific/Math # Same as libfftw3_threads.so: manual Requires for fftw3 main lib -Requires: libfftw3-3 = %version +Requires: libfftw3-3 = %{version} Requires: openmpi %description -n libfftw3_mpi3 @@ -124,12 +124,12 @@ FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. - %package mpi-devel Summary: Discrete Fourier Transform (DFT) C subroutine library Group: Development/Libraries/C and C++ +Requires: fftw3-devel = %{version} +Requires: glibc-devel Requires: libfftw3_mpi3 = %{version} -Requires: fftw3-devel = %{version} glibc-devel Requires: openmpi-devel %description mpi-devel @@ -156,8 +156,10 @@ make %{?_smp_mflags} %install %makeinstall + # remove unneeded files -rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a +rm -f %{buildroot}%{_libdir}/lib*.*a + # hack to also compile/install single-precision version: make distclean %configure --enable-shared --enable-threads --enable-float --enable-openmp \ @@ -168,14 +170,19 @@ make distclean --enable-sse \ %endif --disable-static + make %{?_smp_mflags} %makeinstall + # remove unneeded files -rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a -# gzip -9nf $RPM_BUILD_ROOT%{_infodir}/*.info* -rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f %{buildroot}%{_libdir}/lib*.*a + +# gzip -9nf %{buildroot}%{_infodir}/*.info* +rm -f %{buildroot}%{_infodir}/dir + # remove Makefiles in doc directory at last find doc -name 'Makefile*' | xargs rm + %fdupes -s doc %postun devel From 5510a6d04dade0230b5e88c879131709d8b1ae1460b4e51e5a0c1a7f722d8f30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 28 Nov 2011 14:11:51 +0000 Subject: [PATCH 4/5] - OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/fftw3?expand=0&rev=20 --- fftw3-rpmlintrc | 1 - 1 file changed, 1 deletion(-) diff --git a/fftw3-rpmlintrc b/fftw3-rpmlintrc index a98d9d3..585ef99 100644 --- a/fftw3-rpmlintrc +++ b/fftw3-rpmlintrc @@ -1,4 +1,3 @@ # See spec file to see why we need this -setBadness("shlib-policy-name-error", 0) addFilter('shlib-fixed-dependency') From 95e12454e62ef831e008ec0df6421a748be7e444b6fee6dd71bd4393a3d3b854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 28 Nov 2011 14:12:21 +0000 Subject: [PATCH 5/5] - OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/fftw3?expand=0&rev=21 --- fftw3-rpmlintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fftw3-rpmlintrc b/fftw3-rpmlintrc index 585ef99..e8816aa 100644 --- a/fftw3-rpmlintrc +++ b/fftw3-rpmlintrc @@ -1,3 +1,3 @@ -# See spec file to see why we need this +# See spec file for the reason(s) addFilter('shlib-fixed-dependency')