Compare commits

...

3 Commits
master ... f18

Author SHA1 Message Date
Deji Akingunola 92a8829062 Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0 2013-07-25 01:15:40 -04:00
Petr Machata c8d5eede58 Add symlinks for /usr/lib/libboost_{thread,locale}.so -> *-mt.so 2013-06-27 20:47:56 +02:00
Petr Machata 6605c4a402 Fix classifying incomplete UTF-8 sequences in Boost.Locale 2013-02-13 13:18:54 +01:00
2 changed files with 126 additions and 47 deletions

View File

@ -0,0 +1,52 @@
Index: boost/locale/utf.hpp
===================================================================
--- boost/locale/utf.hpp (revision 81589)
+++ boost/locale/utf.hpp (revision 81590)
@@ -219,16 +219,22 @@
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
case 2:
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
case 1:
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
}
Index: libs/locale/test/test_codepage_converter.cpp
===================================================================
--- libs/locale/test/test_codepage_converter.cpp (revision 81589)
+++ libs/locale/test/test_codepage_converter.cpp (revision 81590)
@@ -140,6 +140,20 @@
TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000
TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff
+ std::cout << "-- Invalid trail" << std::endl;
+ TEST_TO("\xC2\x7F",illegal);
+ TEST_TO("\xdf\x7F",illegal);
+ TEST_TO("\xe0\x7F\x80",illegal);
+ TEST_TO("\xef\xbf\x7F",illegal);
+ TEST_TO("\xe0\x7F\x80",illegal);
+ TEST_TO("\xef\xbf\x7F",illegal);
+ TEST_TO("\xf0\x7F\x80\x80",illegal);
+ TEST_TO("\xf4\x7f\xbf\xbf",illegal);
+ TEST_TO("\xf0\x90\x7F\x80",illegal);
+ TEST_TO("\xf4\x8f\x7F\xbf",illegal);
+ TEST_TO("\xf0\x90\x80\x7F",illegal);
+ TEST_TO("\xf4\x8f\xbf\x7F",illegal);
+
std::cout << "-- Invalid length" << std::endl;
/// Test that this actually works

View File

@ -7,9 +7,9 @@
# Configuration of MPI back-ends
%ifarch %{arm}
%bcond_with mpich2
%bcond_with mpich
%else
%bcond_without mpich2
%bcond_without mpich
%endif
%ifarch s390 s390x %{arm}
# No OpenMPI support on these arches
@ -25,7 +25,7 @@ Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.50.0
%define version_enc 1_50_0
Release: 4%{?dist}
Release: 7%{?dist}
License: Boost and MIT and Python
%define toplev_dirname %{name}_%{version_enc}
@ -108,6 +108,9 @@ Patch12: boost-1.50.0-polygon.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
Patch15: boost-1.50.0-pool.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=907481
Patch17: boost-1.50.0-invalid-utf8.patch
%bcond_with tests
%bcond_with docs_generated
@ -400,52 +403,60 @@ back-end to do the parallel work.
%endif
%if %{with mpich2}
%if %{with mpich}
%package mpich2
%package mpich
Summary: Run-Time component of Boost.MPI library
Group: System Environment/Libraries
Requires: mpich2
BuildRequires: mpich2-devel
Requires: mpich
BuildRequires: mpich-devel
Provides: %{name}-mpich2 = %{version}-%{release}
Obsoletes: %{name}-mpich2 < 1.50.0-7
%description mpich2
%description mpich
Run-Time support for Boost.MPI-MPICH2, a library providing a clean C++
API over the MPICH2 implementation of MPI.
Run-Time support for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI.
%package mpich2-devel
%package mpich-devel
Summary: Shared library symbolic links for Boost.MPI
Group: System Environment/Libraries
Requires: boost-devel = %{version}-%{release}
Requires: boost-mpich2 = %{version}-%{release}
Requires: boost-mpich2-python = %{version}-%{release}
Requires: boost-graph-mpich2 = %{version}-%{release}
Requires: boost-mpich = %{version}-%{release}
Requires: boost-mpich-python = %{version}-%{release}
Requires: boost-graph-mpich = %{version}-%{release}
Provides: %{name}-mpich2-devel = %{version}-%{release}
Obsoletes: %{name}-mpich2-devel < 1.50.0-7
%description mpich2-devel
%description mpich-devel
Devel package for Boost.MPI-MPICH2, a library providing a clean C++
API over the MPICH2 implementation of MPI.
Devel package for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI.
%package mpich2-python
%package mpich-python
Summary: Python run-time component of Boost.MPI library
Group: System Environment/Libraries
Requires: boost-mpich2 = %{version}-%{release}
Requires: boost-mpich = %{version}-%{release}
Provides: %{name}-mpich2-python = %{version}-%{release}
Obsoletes: %{name}-mpich2-python < 1.50.0-7
%description mpich2-python
%description mpich-python
Python support for Boost.MPI-MPICH2, a library providing a clean C++
API over the MPICH2 implementation of MPI.
Python support for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI.
%package graph-mpich2
%package graph-mpich
Summary: Run-Time component of parallel boost graph library
Group: System Environment/Libraries
Requires: boost-mpich2 = %{version}-%{release}
Requires: boost-mpich = %{version}-%{release}
Provides: %{name}-graph-mpich2 = %{version}-%{release}
Obsoletes: %{name}-graph-mpich2 < 1.50.0-7
%description graph-mpich2
%description graph-mpich
Run-Time support for the Parallel BGL graph library. The interface and
graph components are generic, in the same sense as the the Standard
Template Library (STL). This libraries in this package use MPICH2
Template Library (STL). This libraries in this package use MPICH
back-end to do the parallel work.
%endif
@ -485,6 +496,7 @@ a number of significant features and is now developed independently
%patch10 -p1
%patch12 -p3
%patch15 -p0
%patch17 -p0
# At least python2_version needs to be a macro so that it's visible in
# %%install as well.
@ -547,15 +559,15 @@ echo ============================= build $MPI_COMPILER ==================
export PATH=/bin${PATH:+:}$PATH
%endif
# Build MPI parts of Boost with MPICH2 support
%if %{with mpich2}
%{_mpich2_load}
# Build MPI parts of Boost with MPICH support
%if %{with mpich}
%{_mpich_load}
echo ============================= build $MPI_COMPILER ==================
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
%{_mpich2_unload}
%{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH
%endif
@ -588,8 +600,8 @@ rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
export PATH=/bin${PATH:+:}$PATH
%endif
%if %{with mpich2}
%{_mpich2_load}
%if %{with mpich}
%{_mpich_load}
echo ============================= install $MPI_COMPILER ==================
./b2 -q %{?_smp_mflags} --layout=tagged \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
@ -600,7 +612,7 @@ echo ============================= install $MPI_COMPILER ==================
# Remove generic parts of boost that were built for dependencies.
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
%{_mpich2_unload}
%{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH
%endif
@ -618,6 +630,14 @@ echo ============================= install serial ==================
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread-mt.so
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/
# Add symlinks libboost_{thread,locale}.so -> *-mt.so
# https://bugzilla.redhat.com/show_bug.cgi?id=971956
ln -s libboost_thread-mt.so $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
ln -s libboost_locale-mt.so $RPM_BUILD_ROOT%{_libdir}/libboost_locale.so
# Check that we didn't forget about anything.
find $RPM_BUILD_ROOT%{_libdir} -maxdepth 1 -name libboost_\*-mt.so \
| while read a; do test -e ${a/-mt/} || exit 1; done
echo ============================= install Boost.Build ==================
(cd tools/build/v2
./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
@ -898,8 +918,8 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/*.a
%if %{with mpich2}
%{_libdir}/mpich2/lib/*.a
%if %{with mpich}
%{_libdir}/mpich/lib/*.a
%endif
%if %{with openmpi}
%{_libdir}/openmpi/lib/*.a
@ -931,29 +951,29 @@ rm -rf $RPM_BUILD_ROOT
%endif
# MPICH2 packages
%if %{with mpich2}
# MPICH packages
%if %{with mpich}
%files mpich2
%files mpich
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_mpi-mt.so.%{sonamever}
%{_libdir}/mpich/lib/libboost_mpi-mt.so.%{sonamever}
%files mpich2-devel
%files mpich-devel
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_*.so
%{_libdir}/mpich/lib/libboost_*.so
%files mpich2-python
%files mpich-python
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_mpi_python*.so.%{sonamever}
%{_libdir}/mpich2/lib/mpi.so
%{_libdir}/mpich/lib/libboost_mpi_python*.so.%{sonamever}
%{_libdir}/mpich/lib/mpi.so
%files graph-mpich2
%files graph-mpich
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_graph_parallel-mt.so.%{sonamever}
%{_libdir}/mpich/lib/libboost_graph_parallel-mt.so.%{sonamever}
%endif
@ -969,9 +989,16 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/bjam.1*
%changelog
* Thu Aug 16 2012 Petr Machata <pmachata@redhat.com> - 1.50.0-5
* Thu Jul 25 2013 Deji Akingunola <dakingun@gmail.com> - 1.50.0-7
- Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0
* Thu Jun 27 2013 Petr Machata <pmachata@redhat.com> - 1.50.0-6
- Add symlinks for /usr/lib/libboost_{thread,locale}.so -> *-mt.so
* Wed Feb 13 2013 Petr Machata <pmachata@redhat.com> - 1.50.0-5
- Update %%description to reflect current state of C++
standardization. Courtesy of Jonathan Wakely. (#837813)
- Fix classifying incomplete UTF-8 sequences in Boost.Locale (#907481)
* Wed Aug 15 2012 Petr Machata <pmachata@redhat.com> - 1.50.0-4
- Override boost_thread-mt.so with a linker script that brings in