- Generalize the soname selection

Mon Jan 18 2010 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.41.0-2.2
- Further split the Boost.MPI sub-package into boost-mpi and
    boost-mpi-python
- Changed the description of Boost.MPI according to the actual dependency
    (MPICH2 rather than OpenMPI)
- Added a few details on the generation of the mpi.so library
This commit is contained in:
Petr Machata 2010-01-19 15:50:57 +00:00
parent 1891c7ba66
commit 721aded241
2 changed files with 74 additions and 29 deletions

View File

@ -13,7 +13,7 @@
if (BUILD_SOVERSIONED) if (BUILD_SOVERSIONED)
set_target_properties(${VARIANT_LIBNAME} set_target_properties(${VARIANT_LIBNAME}
PROPERTIES PROPERTIES
! SOVERSION "6" ! SOVERSION "_FEDORA_SONAME"
) )
endif() endif()
endif () endif ()

View File

@ -13,19 +13,32 @@
Name: boost Name: boost
Summary: The free peer-reviewed portable C++ source libraries Summary: The free peer-reviewed portable C++ source libraries
Version: 1.41.0 Version: 1.41.0
Release: 2%{?dist} Release: 3%{?dist}
License: Boost License: Boost
URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/
Group: System Environment/Libraries Group: System Environment/Libraries
%define full_version %{name}-%{version}.cmake0 %define full_version %{name}-%{version}.cmake0
Source: %{full_version}.tar.bz2 Source: %{full_version}.tar.bz2
# From the version 13 of Fedora, the Boost libraries are delivered
# with sonames equal to the Boost version (e.g., 1.41.0). On older
# versions of Fedora (e.g., Fedora 12), the Boost libraries are
# delivered with another scheme for sonames (e.g., a soname of 5 for
# Fedora 12). If for some reason you wish to set the sonamever
# yourself, you can do it here.
%if 0%{?fedora} >= 13
%define sonamever %{version}
%else
%define sonamever 5
%endif
# boost is an "umbrella" package that pulls in all other boost components # boost is an "umbrella" package that pulls in all other boost components
Requires: boost-date-time = %{version}-%{release} Requires: boost-date-time = %{version}-%{release}
Requires: boost-filesystem = %{version}-%{release} Requires: boost-filesystem = %{version}-%{release}
Requires: boost-graph = %{version}-%{release} Requires: boost-graph = %{version}-%{release}
Requires: boost-iostreams = %{version}-%{release} Requires: boost-iostreams = %{version}-%{release}
Requires: boost-mpi = %{version}-%{release} Requires: boost-mpi = %{version}-%{release}
Requires: boost-mpi-python = %{version}-%{release}
Requires: boost-program-options = %{version}-%{release} Requires: boost-program-options = %{version}-%{release}
Requires: boost-python = %{version}-%{release} Requires: boost-python = %{version}-%{release}
Requires: boost-regex = %{version}-%{release} Requires: boost-regex = %{version}-%{release}
@ -47,8 +60,8 @@ BuildRequires: libicu-devel
BuildRequires: chrpath BuildRequires: chrpath
BuildRequires: mpich2-devel BuildRequires: mpich2-devel
Patch0: boost-graph-compile.patch Patch0: boost-cmake-soname.patch
Patch1: boost-cmake-soname.patch Patch1: boost-graph-compile.patch
%bcond_with tests %bcond_with tests
%bcond_with docs_generated %bcond_with docs_generated
@ -117,8 +130,17 @@ Group: System Environment/Libraries
%description mpi %description mpi
Runtime support for Boost MPI, library providing a clean C++ API over Runtime support for Boost.MPI, library providing a clean C++ API over
the OpenMPI implementation of MPI. the MPICH2 implementation of MPI.
%package mpi-python
Summary: Python runtime component of boost mpi library
Group: System Environment/Libraries
%description mpi-python
Python support for Boost.MPI, library providing a clean C++ API over
the MPICH2 implementation of MPI.
%package program-options %package program-options
Summary: Runtime component of boost program_options library Summary: Runtime component of boost program_options library
@ -128,7 +150,7 @@ Group: System Environment/Libraries
Runtime support of boost program options library, which allows program Runtime support of boost program options library, which allows program
developers to obtain (name, value) pairs from the user, via developers to obtain (name, value) pairs from the user, via
conventional methods such as command line and config file. conventional methods such as command line and configuration file.
%package python %package python
Summary: Runtime component of boost python library Summary: Runtime component of boost python library
@ -138,7 +160,7 @@ Group: System Environment/Libraries
The Boost Python Library is a framework for interfacing Python and The Boost Python Library is a framework for interfacing Python and
C++. It allows you to quickly and seamlessly expose C++ classes C++. It allows you to quickly and seamlessly expose C++ classes
functions and objects to Python, and vice-versa, using no special functions and objects to Python, and vice versa, using no special
tools -- just your C++ compiler. This package contains runtime tools -- just your C++ compiler. This package contains runtime
support for Boost Python Library. support for Boost Python Library.
@ -156,7 +178,7 @@ Group: System Environment/Libraries
%description serialization %description serialization
Runtime support for serialization for persistence and marshalling. Runtime support for serialization for persistence and marshaling.
%package signals %package signals
Summary: Runtime component of boost signals and slots library Summary: Runtime component of boost signals and slots library
@ -240,8 +262,9 @@ web page (http://www.boost.org/doc/libs/1_40_0).
%prep %prep
%setup -q -n %{full_version} %setup -q -n %{full_version}
%patch0 -p0
#%patch1 -p0 sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0
%patch1 -p0
%build %build
%{__mkdir_p} build %{__mkdir_p} build
@ -291,8 +314,10 @@ cd %{_builddir}/%{full_version}
cd %{_builddir}/%{full_version}/build cd %{_builddir}/%{full_version}/build
DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install
# Suppress the wrongly generated mpi.so library # Suppress the mpi.so library, as it not currently properly generated (some
# (it is temporary until upstream Boost-CMake fixes that) # dependencies are missing. It is temporary until upstream Boost-CMake
# fixes that (see http://lists.boost.org/boost-cmake/2009/12/0859.php for
# more details)
%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so
# Kill any debug library versions that may show up un-invited. # Kill any debug library versions that may show up un-invited.
@ -345,6 +370,10 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \;
%postun mpi -p /sbin/ldconfig %postun mpi -p /sbin/ldconfig
%post mpi-python -p /sbin/ldconfig
%postun mpi-python -p /sbin/ldconfig
%post program-options -p /sbin/ldconfig %post program-options -p /sbin/ldconfig
%postun program-options -p /sbin/ldconfig %postun program-options -p /sbin/ldconfig
@ -387,76 +416,82 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \;
%files date-time %files date-time
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_date_time*.so.%{version} %{_libdir}/libboost_date_time*.so.%{sonamever}
%files filesystem %files filesystem
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_filesystem*.so.%{version} %{_libdir}/libboost_filesystem*.so.%{sonamever}
%files graph %files graph
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_graph*.so.%{version} %{_libdir}/libboost_graph*.so.%{sonamever}
%files iostreams %files iostreams
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_iostreams*.so.%{version} %{_libdir}/libboost_iostreams*.so.%{sonamever}
%files math %files math
%files test %files test
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor*.so.%{version} %{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever}
%{_libdir}/libboost_unit_test_framework*.so.%{version} %{_libdir}/libboost_unit_test_framework*.so.%{sonamever}
%files program-options %files program-options
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_program_options*.so.%{version} %{_libdir}/libboost_program_options*.so.%{sonamever}
%files python %files python
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_python*.so.%{version} %{_libdir}/libboost_python*.so.%{sonamever}
%files regex %files regex
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_regex*.so.%{version} %{_libdir}/libboost_regex*.so.%{sonamever}
%files serialization %files serialization
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_serialization*.so.%{version} %{_libdir}/libboost_serialization*.so.%{sonamever}
%{_libdir}/libboost_wserialization*.so.%{version} %{_libdir}/libboost_wserialization*.so.%{sonamever}
%files signals %files signals
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_signals*.so.%{version} %{_libdir}/libboost_signals*.so.%{sonamever}
%files system %files system
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_system*.so.%{version} %{_libdir}/libboost_system*.so.%{sonamever}
%files thread %files thread
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_thread*.so.%{version} %{_libdir}/libboost_thread*.so.%{sonamever}
%files wave %files wave
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_wave*.so.%{version} %{_libdir}/libboost_wave*.so.%{sonamever}
%files mpi %files mpi
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt %doc LICENSE_1_0.txt
%{_libdir}/libboost_mpi*.so.%{version} %{_libdir}/libboost_mpi.so.%{sonamever}
%{_libdir}/libboost_mpi-mt.so.%{sonamever}
%files mpi-python
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_mpi_python*.so.%{sonamever}
%files doc %files doc
%defattr(-, root, root, -) %defattr(-, root, root, -)
@ -476,6 +511,16 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \;
%{_libdir}/*.a %{_libdir}/*.a
%changelog %changelog
* Tue Jan 19 2010 Petr Machata <pmachata@redhat.com> - 1.41.0-3
- Generalize the soname selection
* Mon Jan 18 2010 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.41.0-2.2
- Further split the Boost.MPI sub-package into boost-mpi and
boost-mpi-python
- Changed the description of Boost.MPI according to the actual
dependency (MPICH2 rather than OpenMPI)
- Added a few details on the generation of the mpi.so library
* Thu Jan 14 2010 Petr Machata <pmachata@redhat.com> - 1.41.0-2 * Thu Jan 14 2010 Petr Machata <pmachata@redhat.com> - 1.41.0-2
- Replace a boost-math subpackage with a stub - Replace a boost-math subpackage with a stub
- Drop _cmake_lib_suffix and CMAKE_INSTALL_PREFIX magic, the rpm macro - Drop _cmake_lib_suffix and CMAKE_INSTALL_PREFIX magic, the rpm macro