X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=boost.spec;h=b92ee57e4fdc8c6681627df7c8f60e1874dc236b;hb=bab7ef8ca969e8c598729063f919634ad7938680;hp=4b5afa33ba3bf485084e60f9890d48d64eacbd09;hpb=09e2803f79387bed3275c6e10ec52ad51f52f0bf;p=packages%2Fboost.git diff --git a/boost.spec b/boost.spec index 4b5afa3..b92ee57 100644 --- a/boost.spec +++ b/boost.spec @@ -2,23 +2,40 @@ # TODO: # - think about building MPI. # - split shared libs from core package into -iostreams/-serialization. +# - fix building context and corouting on x32 (patch1) # # Conditional build: %bcond_without python # without boost-python support -# -%define _fver %(echo %{version} | tr . _) + +%define fver %(echo %{version} | tr . _) Summary: The Boost C++ Libraries Summary(pl.UTF-8): Biblioteki C++ "Boost" Name: boost -Version: 1.35.0 -Release: 0.1 +Version: 1.56.0 +Release: 2 License: Boost Software License and others Group: Libraries -Source0: http://dl.sourceforge.net/boost/%{name}_%{_fver}.tar.bz2 -# Source0-md5: dce952a7214e72d6597516bcac84048b -Patch0: %{name}-climits.patch +Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2 +# Source0-md5: a744cf167b05d72335f27c88115f211d +Patch0: %{name}-link.patch +Patch1: %{name}-x32-context.patch +# FC Patches: +# https://svn.boost.org/trac/boost/ticket/5637 +Patch203: %{name}-1.54.0-mpl-print.patch +# https://svn.boost.org/trac/boost/ticket/8870 +Patch211: %{name}-1.54.0-spirit-unused_typedef.patch +Patch212: %{name}-1.54.0-spirit-unused_typedef-2.patch +# https://svn.boost.org/trac/boost/ticket/8871 +Patch213: %{name}-1.54.0-numeric-unused_typedef.patch +# https://svn.boost.org/trac/boost/ticket/8878 +Patch218: %{name}-1.54.0-locale-unused_typedef.patch +# https://svn.boost.org/trac/boost/ticket/8881 +Patch221: %{name}-1.54.0-mpi-unused_typedef.patch +# https://svn.boost.org/trac/boost/ticket/8888 +Patch222: %{name}-1.54.0-python-unused_typedef.patch +# https://svn.boost.org/trac/boost/ticket/9038 +Patch224: %{name}-1.54.0-pool-test_linking.patch URL: http://www.boost.org/ -BuildRequires: boost-jam >= 3.1.12 BuildRequires: bzip2-devel BuildRequires: expat-devel BuildRequires: libicu-devel @@ -30,6 +47,8 @@ BuildRequires: zlib-devel BuildConflicts: gcc = 5:3.3.1 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1 + %description The Boost web site provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ @@ -46,25 +65,32 @@ współpracują ze standardową biblioteką C++. Celem jest ustanowienie "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym -Raporcie Technicznym Biblioteki Standardowej C++ +Raporcie Technicznym Biblioteki Standardowej C++. %package devel Summary: Boost C++ development headers Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost Group: Development/Libraries Requires: %{name} = %{version}-%{release} +Requires: %{name}-chrono = %{version}-%{release} +Requires: %{name}-context = %{version}-%{release} Requires: %{name}-date_time = %{version}-%{release} Requires: %{name}-filesystem = %{version}-%{release} Requires: %{name}-graph = %{version}-%{release} +Requires: %{name}-locale = %{version}-%{release} +Requires: %{name}-log = %{version}-%{release} Requires: %{name}-program_options = %{version}-%{release} Requires: %{name}-regex = %{version}-%{release} Requires: %{name}-signals = %{version}-%{release} +Requires: %{name}-system = %{version}-%{release} Requires: %{name}-test = %{version}-%{release} Requires: %{name}-thread = %{version}-%{release} +Requires: %{name}-timer = %{version}-%{release} Requires: %{name}-wave = %{version}-%{release} Requires: libstdc++-devel Obsoletes: boost-any-devel Obsoletes: boost-array-devel +Obsoletes: boost-asio Obsoletes: boost-bind-devel Obsoletes: boost-call_traits-devel Obsoletes: boost-compatibility-devel @@ -119,7 +145,7 @@ Statyczne wersje podstawowych bibliotek C++ Boost. Summary: Boost.Python library Summary(pl.UTF-8): biblioteka Boost.Python Group: Libraries -%pyrequires_eq python +Requires: python %description python Use the Boost Python Library to quickly and easily export a C++ @@ -142,7 +168,6 @@ klasy C++ i funkcje do Pythona. Summary: Boost.Python development headers Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python Group: Development/Libraries -Requires: %{name}-compressed_pair-devel = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-python = %{version}-%{release} @@ -164,6 +189,31 @@ Static version of Boost.Python library. %description python-static -l pl.UTF-8 Statyczna wersja biblioteki Boost.Python. +%package chrono +Summary: Useful time utilities +Summary(pl.UTF-8): Przydatne funkcje związane z czasem +Group: Libraries +Obsoletes: boost < 1.33 + +%description chrono +Useful time utilities. + +%description chrono -l pl.UTF-8 +Przydatne funkcje związane z czasem. + +%package context +Summary: Boost.Context - context switching library +Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu +Group: Libraries + +%description context +Boost.Context - context switching library, providing a sort of +cooperative multitasking on a single thread. + +%description context -l pl.UTF-8 +Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną +wielozadaniowość kooperatywnąw ramach pojedynczego wątku. + %package date_time Summary: Date-Time library Summary(pl.UTF-8): Biblioteka daty-czasu @@ -180,6 +230,7 @@ Zbiór bibliotek daty-czasu. Summary: Portable paths, iteration over directories, and other useful filesystem operations Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików Group: Libraries +Requires: %{name}-system = %{version}-%{release} Obsoletes: boost < 1.33 %description filesystem @@ -204,6 +255,28 @@ Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na strukturach danych typu graf za pomocą algorytmów związanych z grafami. +%package locale +Summary: Provide localization and Unicode handling tools for C++ +Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++ +Group: Libraries + +%description locale +Provide localization and Unicode handling tools for C++. + +%description locale -l pl.UTF-8 +Narzędzia do obsługi lokalizacji i Unikodu w C++. + +%package log +Summary: Provide logging tools for C++ +Summary(pl.UTF-8): Narzędzia do logowania w C++ +Group: Libraries + +%description log +Provide logging tools for C++. + +%description log -l pl.UTF-8 +Narzędzia do logowania w C++. + %package program_options Summary: Access to program options, via conventional methods such as command line and config file Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny @@ -228,7 +301,7 @@ Group: Libraries Shared library for Boost C++ regular expressions. %description regex -l pl.UTF-8 -Biblioteka wyrażeń regularnych dla C++, biblioteki dzielone. +Biblioteka współdzielona do obsługi wyrażeń regularnych w C++. %package signals Summary: Signals & slots callback implementation @@ -254,6 +327,12 @@ The Boost System library provides simple, light-weight error_code objects that encapsulate system-specific error code values, yet also provide access to more abstract and portable error conditions objects. +%description system -l pl.UTF-8 +Biblioteka Boost System udostępnia proste, lekkie obiekty error_code +obudowujące wartości kodów błędów specyficznych dla systemu, dając +jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów +błędów. + %package test Summary: Support for program testing and execution monitoring Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu @@ -280,11 +359,22 @@ Portable C++ threads library - shared library. %description thread -l pl.UTF-8 Przenośna biblioteka wątków dla C++ - biblioteka dzielona. +%package timer +Summary: Event timer, progress timer, and progress display classes +Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu +Group: Libraries +Obsoletes: boost < 1.33 + +%description timer +Event timer, progress timer, and progress display classes. + +%description timer -l pl.UTF-8 +Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu. + %package wave Summary: Boost.Wave - a standard compliant C++ preprocessor library Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++ Group: Development/Libraries -Requires: %{name}-devel = %{version}-%{release} %description wave Boost.Wave - a standard compliant C++ preprocessor library. @@ -305,30 +395,36 @@ Documentation for the Boost C++ Library. Dokumentacja dla biblioteki Boost C++. %prep -%setup -q -n %{name}_%{_fver} +%setup -q -n %{name}_%{fver} %patch0 -p1 +#patch1 -p0 + +%patch203 -p0 +%patch211 -p1 +%patch212 -p1 +%patch213 -p1 +%patch218 -p1 +%patch221 -p1 +%patch222 -p1 +%patch224 -p1 # - don't know how to pass it through (b)jam -s (no way?) # due to oversophisticated build flags system. # - pass -fPIC due to removal. -%{__sed} -i 's/speed : -O3/speed : %{rpmcxxflags} -fPIC/' tools/build/v2/tools/gcc.jam +%{__sed} -i "s/speed : -O3/speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/src/tools/gcc.jam # cleanup -g switch to avoid override debuginfocflags. -%{__sed} -i 's/on : -g/on :/' tools/build/v2/tools/gcc.jam +%{__sed} -i 's/on : -g/on :/' tools/build/src/tools/gcc.jam # link against shared expat library. -%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2 - -%ifarch alpha -# -pthread gcc parameter doesn't add _REENTRANT to cpp macros on alpha (only) -# don't know, is it gcc bug or intentional omission? -# anyway, boost check of -D_REENTRANT in its headers, so it's needed here -%{__perl} -pi -e 's/(CFLAGS.*-pthread)/$1 -D_REENTRANT/' tools/build/v1/gcc-tools.jam -%endif +#%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2 -cat << EOF > tools/build/v2/user-config.jam -using gcc : %(%{__cxx} -dumpversion) : %{__cxx} ; +cat << EOF > tools/build/src/user-config.jam +using gcc : %{cxx_version} : %{__cxx} ; EOF +# cleanup backups after patching +find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f + %build %if %{with python} PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]') @@ -340,9 +436,20 @@ PYTHON_VERSION= EXPAT_INCLUDE=%{_includedir} \ EXPAT_LIBPATH=%{_libdir} \ ICU_PATH=%{_prefix} \ -bjam \ +./bootstrap.sh \ + --prefix=%{_prefix} + +./b2 \ +%ifarch x32 + --without-context \ + --without-coroutine \ +%endif -d2 --toolset=gcc \ - variant=release debug-symbols=on inlining=on link=static,shared threading=multi + variant=release \ + debug-symbols=on \ + inlining=on \ + link=static,shared \ + threading=multi %install rm -rf $RPM_BUILD_ROOT @@ -350,22 +457,9 @@ install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}} cp -rf boost $RPM_BUILD_ROOT%{_includedir} -install bin.v2/libs/*/build/gcc-*/release/debug-symbols-on/inlining-on/link-static/threading-multi/lib*.a $RPM_BUILD_ROOT%{_libdir} -install bin.v2/libs/*/build/gcc-*/release/debug-symbols-on/inlining-on/threading-multi/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir} - -# create symlinks without -gccXX-mt-* things in names -for f in $RPM_BUILD_ROOT%{_libdir}/*.so.*.*.*; do - [ -f "$f" ] || continue - f=$(basename "$f") - soname=$(basename "$f" | sed -e 's#-gcc..-mt-.*#.so#g') - ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/$soname" -done -for f in $RPM_BUILD_ROOT%{_libdir}/*.a; do - [ -f "$f" ] || continue - f=$(basename "$f") - soname=$(basename "$f" | sed -e 's#-gcc..-mt-.*#.a#g') - ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/$soname" -done +install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir} +install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir} +cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir} # documentation install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version} @@ -420,6 +514,12 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%post chrono -p /sbin/ldconfig +%postun chrono -p /sbin/ldconfig + +%post context -p /sbin/ldconfig +%postun context -p /sbin/ldconfig + %post date_time -p /sbin/ldconfig %postun date_time -p /sbin/ldconfig @@ -429,6 +529,9 @@ rm -rf $RPM_BUILD_ROOT %post graph -p /sbin/ldconfig %postun graph -p /sbin/ldconfig +%post locale -p /sbin/ldconfig +%postun locale -p /sbin/ldconfig + %post python -p /sbin/ldconfig %postun python -p /sbin/ldconfig @@ -447,110 +550,172 @@ rm -rf $RPM_BUILD_ROOT %post test -p /sbin/ldconfig %postun test -p /sbin/ldconfig -%post wave -p /sbin/ldconfig -%postun wave -p /sbin/ldconfig - %post thread -p /sbin/ldconfig %postun thread -p /sbin/ldconfig +%post timer -p /sbin/ldconfig +%postun timer -p /sbin/ldconfig + +%post wave -p /sbin/ldconfig +%postun wave -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_iostreams*.so.*.*.* -%attr(755,root,root) %{_libdir}/libboost_serialization*.so.*.*.* -%attr(755,root,root) %{_libdir}/libboost_wserialization*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_container.so.*.*.* +%ifnarch x32 +%attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.* +%endif +%attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_random.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.* %files devel %defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_atomic.so +%attr(755,root,root) %{_libdir}/libboost_chrono.so +%attr(755,root,root) %{_libdir}/libboost_container.so +%ifnarch x32 +%attr(755,root,root) %{_libdir}/libboost_context.so +%attr(755,root,root) %{_libdir}/libboost_coroutine.so +%endif +%attr(755,root,root) %{_libdir}/libboost_date_time.so +%attr(755,root,root) %{_libdir}/libboost_filesystem.so +%attr(755,root,root) %{_libdir}/libboost_graph.so +%attr(755,root,root) %{_libdir}/libboost_iostreams.so +%attr(755,root,root) %{_libdir}/libboost_locale.so +%attr(755,root,root) %{_libdir}/libboost_log.so +%attr(755,root,root) %{_libdir}/libboost_log_setup.so +%attr(755,root,root) %{_libdir}/libboost_math_*.so +%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so +%attr(755,root,root) %{_libdir}/libboost_program_options.so +%attr(755,root,root) %{_libdir}/libboost_regex.so +%attr(755,root,root) %{_libdir}/libboost_random.so +%attr(755,root,root) %{_libdir}/libboost_serialization.so +%attr(755,root,root) %{_libdir}/libboost_signals.so +%attr(755,root,root) %{_libdir}/libboost_system.so +%attr(755,root,root) %{_libdir}/libboost_thread.so +%attr(755,root,root) %{_libdir}/libboost_timer.so +%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so +%attr(755,root,root) %{_libdir}/libboost_wave.so +%attr(755,root,root) %{_libdir}/libboost_wserialization.so %{_includedir}/boost -%attr(755,root,root) %{_libdir}/libboost_date_time*.so -%attr(755,root,root) %{_libdir}/libboost_filesystem*.so -%attr(755,root,root) %{_libdir}/libboost_graph*.so -%attr(755,root,root) %{_libdir}/libboost_iostreams*.so -%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so -%attr(755,root,root) %{_libdir}/libboost_program_options*.so -%attr(755,root,root) %{_libdir}/libboost_regex*.so -%attr(755,root,root) %{_libdir}/libboost_serialization*.so -%attr(755,root,root) %{_libdir}/libboost_signals*.so -%attr(755,root,root) %{_libdir}/libboost_system*.so -%attr(755,root,root) %{_libdir}/libboost_thread*.so -%attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so -%attr(755,root,root) %{_libdir}/libboost_wave*.so -%attr(755,root,root) %{_libdir}/libboost_wserialization*.so +%exclude %{_includedir}/boost/python +%exclude %{_includedir}/boost/python.hpp %files static %defattr(644,root,root,755) -%{_libdir}/libboost_date_time*.a -%{_libdir}/libboost_filesystem*.a -%{_libdir}/libboost_grap*.a -%{_libdir}/libboost_iostreams*.a -%{_libdir}/libboost_prg_exec_monitor*.a -%{_libdir}/libboost_program_options*.a -%{_libdir}/libboost_regex*.a -%{_libdir}/libboost_serialization*.a -%{_libdir}/libboost_signals*.a -%{_libdir}/libboost_system*.a -%{_libdir}/libboost_test_exec_monitor*.a -%{_libdir}/libboost_thread*.a -%{_libdir}/libboost_unit_test_framework*.a -%{_libdir}/libboost_wave*.a -%{_libdir}/libboost_wserialization*.a +%{_libdir}/libboost_atomic.a +%{_libdir}/libboost_chrono.a +%{_libdir}/libboost_container.a +%ifnarch x32 +%{_libdir}/libboost_context.a +%{_libdir}/libboost_coroutine.a +%endif +%{_libdir}/libboost_date_time.a +%{_libdir}/libboost_exception.a +%{_libdir}/libboost_filesystem.a +%{_libdir}/libboost_graph.a +%{_libdir}/libboost_iostreams.a +%{_libdir}/libboost_locale.a +%{_libdir}/libboost_log.a +%{_libdir}/libboost_log_setup.a +%{_libdir}/libboost_math_*.a +%{_libdir}/libboost_prg_exec_monitor.a +%{_libdir}/libboost_program_options.a +%{_libdir}/libboost_random.a +%{_libdir}/libboost_regex.a +%{_libdir}/libboost_serialization.a +%{_libdir}/libboost_signals.a +%{_libdir}/libboost_system.a +%{_libdir}/libboost_test_exec_monitor.a +%{_libdir}/libboost_timer.a +%{_libdir}/libboost_thread.a +%{_libdir}/libboost_unit_test_framework.a +%{_libdir}/libboost_wave.a +%{_libdir}/libboost_wserialization.a %if %{with python} %files python %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_python*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.* %files python-devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_python*.so +%attr(755,root,root) %{_libdir}/libboost_python.so %{_includedir}/boost/python %{_includedir}/boost/python.hpp %files python-static %defattr(644,root,root,755) -%{_libdir}/libboost_python*.a +%{_libdir}/libboost_python.a +%endif + +%files chrono +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.* + +%ifnarch x32 +%files context +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_context.so.*.*.* %endif %files date_time %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_date_time*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.* %files filesystem %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_filesystem*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.* %files graph %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_graph*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.* + +%files locale +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.* + +%files log +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.* %files program_options %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_program_options*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.* %files regex %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_regex*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.* %files signals %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_signals*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.* %files system %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_system*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_system.so.*.*.* %files test %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so.*.*.* -%attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.* %files thread %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_thread*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.* + +%files timer +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.* %files wave %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libboost_wave*.so.*.*.* +%attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.* %files doc %defattr(644,root,root,755)