Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Deji Akingunola | 92a8829062 | |
Petr Machata | c8d5eede58 | |
Petr Machata | 6605c4a402 |
|
@ -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
|
121
boost.spec
121
boost.spec
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue