From fbcdcfc244e79f83392d0e1c62387aa1ade4bfd8efb67fa88d3d3cce04e2e856 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Wed, 22 Oct 2008 15:41:57 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boost?expand=0&rev=16 --- baselibs.conf | 15 ++ boost-fix_doc_url.patch | 143 ----------------- boost-missing_includes.patch | 128 ---------------- boost-no_type_punning.patch | 4 +- boost-rpmlintrc | 3 + boost-thread.patch | 2 +- boost-use_rpm_optflags.patch | 11 +- boost.changes | 19 +++ boost.spec | 290 +++++++++++++++++++++-------------- existing_extra_docs | 50 ------ 10 files changed, 218 insertions(+), 447 deletions(-) delete mode 100644 boost-fix_doc_url.patch delete mode 100644 boost-missing_includes.patch diff --git a/baselibs.conf b/baselibs.conf index 22a0ed3..a1ab9b3 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,2 +1,17 @@ arch ppc64 package boost arch ppc64 package boost-devel +arch ppc64 package libboost_date_time-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_filesystem-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_graph-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_iostreams-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_math-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_mpi-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_test-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_program_options-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_python-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_serialization-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_signals-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_system-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_thread-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_wave-gcc43-mt-1_36-1_36_0 +arch ppc64 package libboost_regex-gcc43-mt-1_36-1_36_0 diff --git a/boost-fix_doc_url.patch b/boost-fix_doc_url.patch deleted file mode 100644 index 753ad3e..0000000 --- a/boost-fix_doc_url.patch +++ /dev/null @@ -1,143 +0,0 @@ ---- libs/test/doc/components/prg_exec_monitor/compilation.html -+++ libs/test/doc/components/prg_exec_monitor/compilation.html -@@ -42,13 +42,13 @@ - that is built on top of bjam tool. All make systems require some kind of - configuration file that list all files that constitute the library and all - the build options. For example makefile that is used by make, Microsoft Visual -- Studio project file, Jamfile that is used by Boost.Build. For the sake of -+ Studio project file, Jamfile.v2 that is used by Boost.Build. For the sake of - simplicity lets call this file the makefile. To build a stanalone library - following files, that are located in the Boost Test Library source directory, - needs to be listed as source files in your makefile:

-

execution_monitor.cpp
- cpp_main.cpp

--

The Jamfile for -+

The Jamfile.v2 for - use with Boost.Build system is supplied in libs/test/build directory.

-
Building static library
-

There are no additional build defines or options ---- libs/test/doc/components/utf/compilation.html -+++ libs/test/doc/components/utf/compilation.html -@@ -64,7 +64,7 @@ - unit_test_suite.cpp
- xml_log_formatter.cpp
- xml_report_formatter.cpp

--

The Jamfile for -+

The Jamfile.v2 for - use with Boost.Build system is supplied in libs/test/build directory.

-
Building static library
-

There are no additional build defines or options ---- libs/test/doc/examples/unit_test_example1.html -+++ libs/test/doc/examples/unit_test_example1.html -@@ -31,13 +31,14 @@ - - Output: - Running 1 test case...
-- .../unit_test_example1.cpp(17): error in "free_test_function": test 2 == 1 failed
-+ .../unit_test_example_01.cpp(17): error in "free_test_function": test 2 == 1 failed
-
- *** No errors detected
- - - Source: -- unit_test_example1.cpp -+ unit_test_example_01.cpp - - - ---- libs/test/doc/examples/unit_test_example2.html -+++ libs/test/doc/examples/unit_test_example2.html -@@ -34,13 +34,14 @@ - it will look like this:
- Running 2 test case...
- Exception in "force_division_by_zero": integer divide by zero
-- .../unit_test_example2.cpp(16) : last checkpoint: About to force division by zero!
-+ .../unit_test_example_02.cpp(16) : last checkpoint: About to force division by zero!
-
- *** errors detected in test suite "Unit test example 2"; see standard output for details
- - - Source: -- unit_test_example2.cpp -+ unit_test_example_02.cpp - - - ---- libs/test/doc/examples/unit_test_example3.html -+++ libs/test/doc/examples/unit_test_example3.html -@@ -34,18 +34,18 @@ - Output: - With the input described above the output looks like:
- Running 3 test case...
-- .../unit_test_example3.cpp(63): error in "account_test::test_init": test m_account.balance() == -+ .../unit_test_example_03.cpp(63): error in "account_test::test_init": test m_account.balance() == - 5.0 failed [10 != 5]
- Enter deposit value:
- 5
-- .../unit_test_example3.cpp(87): fatal error in "account_test::test_deposit": -+ .../unit_test_example_03.cpp(87): fatal error in "account_test::test_deposit": - test m_account.balance() >= 100.0 failed
-
- *** 2 failures detected (5 failures expected) in test suite "Unit test example 3"
- - - Source: -- unit_test_example3.cpp -+ unit_test_example_03.cpp - - - ---- libs/test/doc/examples/unit_test_example4.html -+++ libs/test/doc/examples/unit_test_example4.html -@@ -27,14 +27,14 @@ - The output depends on whether or not your system support setting test case timeout. For Win32 - it will look like this:
- Running 1 test case...
-- .../unit_test_example4.cpp(20): error in "check_string": test s.substr( 0, 3 ) == "hdr" failed -+ .../unit_test_example_04.cpp(20): error in "check_string": test s.substr( 0, 3 ) == "hdr" failed - [3 != hdr]
-
- *** No errors detected
- - - Source: -- unit_test_example4.cpp -+ unit_test_example_04.cpp - - - ---- libs/test/doc/examples/unit_test_example5.html -+++ libs/test/doc/examples/unit_test_example5.html -@@ -52,7 +52,7 @@ - - - Source: -- unit_test_example5.cpp -+ unit_test_example_05.cpp - - - ---- libs/test/doc/tutorials/hello_the_testing_world.html -+++ libs/test/doc/tutorials/hello_the_testing_world.html -@@ -134,7 +134,7 @@ -

© Copyright Gennadiy - Rozental 2001-2006.
- Distributed under the Boost Software License, Version 1.0. (See accompanying -- file LICENSE_1_0.txt or copy -+ file LICENSE_1_0.txt or copy - at www.boost.org/LICENSE_1_0.txt)

-

Revised: - 28 February, 2006 ---- more/count_bdy.htm -+++ more/count_bdy.htm -@@ -753,7 +753,7 @@ -

-
- First published in Overload 25, -+ "http://www.accu.org/index.php/overloadonline" 25, - April 1998, ISSN 1354-3172 -
- diff --git a/boost-missing_includes.patch b/boost-missing_includes.patch deleted file mode 100644 index 1865700..0000000 --- a/boost-missing_includes.patch +++ /dev/null @@ -1,128 +0,0 @@ ---- boost/regex/v4/basic_regex.hpp -+++ boost/regex/v4/basic_regex.hpp -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include // For CHAR_BIT ant UINT_MAX -+ - namespace boost{ - #ifdef BOOST_MSVC - #pragma warning(push) ---- boost/regex/v4/basic_regex_creator.hpp -+++ boost/regex/v4/basic_regex_creator.hpp -@@ -24,6 +24,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include // For CHAR_BIT and UINT_MAX -+ - namespace boost{ - - namespace re_detail{ ---- boost/regex/v4/basic_regex_parser.hpp -+++ boost/regex/v4/basic_regex_parser.hpp -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - ---- boost/regex/v4/cpp_regex_traits.hpp -+++ boost/regex/v4/cpp_regex_traits.hpp -@@ -41,6 +41,7 @@ - - #include - #include -+#include - - #ifdef BOOST_HAS_ABI_HEADERS - # include BOOST_ABI_PREFIX ---- boost/regex/v4/perl_matcher.hpp -+++ boost/regex/v4/perl_matcher.hpp -@@ -18,6 +18,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include // For CHAR_BIT -+ - namespace boost{ - namespace re_detail{ - ---- boost/regex/v4/regex_split.hpp -+++ boost/regex/v4/regex_split.hpp -@@ -21,6 +21,8 @@ - #ifndef BOOST_REGEX_SPLIT_HPP - #define BOOST_REGEX_SPLIT_HPP - -+#include // For UINT_MAX -+ - namespace boost{ - - #ifdef BOOST_HAS_ABI_HEADERS ---- boost/regex/v4/states.hpp -+++ boost/regex/v4/states.hpp -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include // For CHAR_BIT -+ - namespace boost{ - namespace re_detail{ - ---- boost/spirit/phoenix/operators.hpp -+++ boost/spirit/phoenix/operators.hpp -@@ -20,6 +20,8 @@ - #define CREF - #endif - -+#include // for INT_MAX -+ - #include - #include - #include ---- boost/spirit/tree/impl/tree_to_xml.ipp -+++ boost/spirit/tree/impl/tree_to_xml.ipp -@@ -13,6 +13,7 @@ - - #include - #include -+#include - #include - - #include ---- boost/test/test_tools.hpp -+++ boost/test/test_tools.hpp -@@ -45,6 +45,8 @@ - #include // for std::size_t - #include - -+#include // For CHAR_BIT -+ - #include - - //____________________________________________________________________________// ---- boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp -+++ boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - #if defined(BOOST_SPIRIT_DEBUG) - #include - #endif // defined(BOOST_SPIRIT_DEBUG) ---- boost/wave/util/flex_string.hpp -+++ boost/wave/util/flex_string.hpp -@@ -94,6 +94,7 @@ - #include - #include - #include -+#include - - // this must occur after all of the includes and before any code appears - #ifdef BOOST_HAS_ABI_HEADERS diff --git a/boost-no_type_punning.patch b/boost-no_type_punning.patch index 51abbba..a4401e7 100644 --- a/boost-no_type_punning.patch +++ b/boost-no_type_punning.patch @@ -66,7 +66,7 @@ : object(long_base::call(arg)) --- libs/python/src/object/class.cpp +++ libs/python/src/object/class.cpp -@@ -566,9 +566,11 @@ +@@ -570,9 +570,11 @@ void class_base::add_property( char const* name, object const& fget, char const* docstr) { @@ -79,7 +79,7 @@ this->setattr(name, property); } -@@ -576,9 +578,11 @@ +@@ -580,9 +582,11 @@ void class_base::add_property( char const* name, object const& fget, object const& fset, char const* docstr) { diff --git a/boost-rpmlintrc b/boost-rpmlintrc index eb703ed..65cd588 100644 --- a/boost-rpmlintrc +++ b/boost-rpmlintrc @@ -5,3 +5,6 @@ addFilter("boost.* shlib-policy-nonversioned-dir") addFilter("boost.* shlib-policy-missing-suffix") addFilter("boost-doc.* devel-dependency") addFilter("boost.* rpm-buildroot-usage") +addFilter("boost.* explicit-lib-dependency") +addFilter("boost.* filename-too-long-for-joliet") +addFilter("boost.* no-binary") diff --git a/boost-thread.patch b/boost-thread.patch index 2b9bb7c..d134a37 100644 --- a/boost-thread.patch +++ b/boost-thread.patch @@ -1,6 +1,6 @@ --- boost/config/compiler/gcc.hpp +++ boost/config/compiler/gcc.hpp -@@ -66,7 +66,7 @@ +@@ -76,7 +76,7 @@ // those platforms where we can know for sure). It will get turned off again // later if no threading API is detected. // diff --git a/boost-use_rpm_optflags.patch b/boost-use_rpm_optflags.patch index 3fc99ae..3b81de3 100644 --- a/boost-use_rpm_optflags.patch +++ b/boost-use_rpm_optflags.patch @@ -38,14 +38,15 @@ feature.feature define : : free ; feature.feature undef : : free ; feature.feature "include" : : free path ; #order-sensitive ; -@@ -342,6 +342,7 @@ - variant release : speed off full +@@ -339,7 +339,7 @@ + + variant debug : off on off + on ; +-variant release : speed off full ++variant release : rpm rpm full off NDEBUG ; variant profile : release : on on ; -+variant rpm : rpm rpm full off ; - - class searched-lib-target : abstract-file-target --- tools/build/v2/tools/gcc.jam +++ tools/build/v2/tools/gcc.jam @@ -290,6 +290,7 @@ diff --git a/boost.changes b/boost.changes index 0d37521..1dc267a 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Fri Oct 17 12:18:16 CEST 2008 - pth@suse.de + +- Using a rpm macros in package name doesn't work with autobuild. + +------------------------------------------------------------------- +Wed Oct 15 19:27:03 CEST 2008 - pth@suse.de + +- Fix naming of library packages to match the horribly broken + sonames of the boost libraries. +- Add post/postun for all library packages. +- Stop rpmlint warning about explicit library dependencies + needed to pull in all library subpackages during updates. + +------------------------------------------------------------------- +Tue Oct 14 15:37:23 CEST 2008 - pth@suse.de + +- Fix build failure (README not in build directory). + ------------------------------------------------------------------- Tue Sep 2 12:14:27 CEST 2008 - pth@suse.de diff --git a/boost.spec b/boost.spec index c58ba5d..17ab5e6 100644 --- a/boost.spec +++ b/boost.spec @@ -22,6 +22,8 @@ Name: boost %define file_version 1_36_0 %define man_version 1.33.1 %define man_file_version 1_33_1 +%define short_version 1_36 +%define gcc_version 43 BuildRequires: boost-jam >= 3.1.16 dos2unix gcc-c++ libbz2-devel libicu-devel python-devel xorg-x11-devel BuildRequires: libexpat-devel openmpi-devel %if 0%suse_version > 1020 @@ -33,7 +35,7 @@ Group: Development/Libraries/C and C++ Summary: Boost C++ Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-build Version: 1.36.0 -Release: 2 +Release: 3 Source0: %{name}_%{file_version}.tar.bz2 Source1: boost-rpmlintrc Source2: boost_%{man_file_version}_man.tar.bz2 @@ -45,20 +47,19 @@ Patch2: boost-no_type_punning.patch Patch4: boost-visit_each.diff Patch5: boost-pass_BJAM_CONFIG.patch Patch6: boost-use_rpm_optflags.patch -Patch7: boost-fix_doc_url.patch Patch8: boost-no_segfault_in_Regex_filter.patch -Patch12: boost-missing_includes.patch Patch17: boost-ppc-asm.patch -Requires: libboost_date_time2 -Requires: libboost_filesystem2 -Requires: libboost_iostreams2 -Requires: libboost_test2 -Requires: libboost_program_options2 -Requires: libboost_python2 -Requires: libboost_regex2 -Requires: libboost_serialization2 -Requires: libboost_signals2 -Requires: libboost_thread2 +%define lib_appendix %{gcc_version}-mt-%{short_version}-%{file_version} +Requires: libboost_date_time-gcc43-mt-1_36-1_36_0 +Requires: libboost_filesystem-gcc43-mt-1_36-1_36_0 +Requires: libboost_iostreams-gcc43-mt-1_36-1_36_0 +Requires: libboost_test-gcc43-mt-1_36-1_36_0 +Requires: libboost_program_options-gcc43-mt-1_36-1_36_0 +Requires: libboost_python-gcc43-mt-1_36-1_36_0 +Requires: libboost_regex-gcc43-mt-1_36-1_36_0 +Requires: libboost_serialization-gcc43-mt-1_36-1_36_0 +Requires: libboost_signals-gcc43-mt-1_36-1_36_0 +Requires: libboost_thread-gcc43-mt-1_36-1_36_0 Requires: boost-license %define _prefix /usr @@ -76,9 +77,9 @@ Library Working Group, membership has expanded to include nearly two thousand members of the C++ community at large. This package is mainly needed for updating from a prior version, the -dynamic libraries are found in their respective packge. For development -using Boost, you also need the boost-devel package. For documentation, -see the boost-doc package. +dynamic libraries are found in their respective package. For +development using Boost, you also need the boost-devel package. For +documentation, see the boost-doc package. @@ -119,188 +120,189 @@ This package contains documentation about the boost dynamic libraries. -%package -n libboost_date_time2 +%package -n libboost_date_time-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Date.Time Runtime libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_date_time2 +%description -n libboost_date_time-gcc43-mt-1_36-1_36_0 This package contains the Boost Date.Time runtime libraries. -%package -n libboost_filesystem2 +%package -n libboost_filesystem-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Filesystem Runtime Libraries Group: System/Localization Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_filesystem2 +%description -n libboost_filesystem-gcc43-mt-1_36-1_36_0 This package contains the Boost::Filesystem libraries. -%package -n libboost_graph2 +%package -n libboost_graph-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Graph Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_graph2 +%description -n libboost_graph-gcc43-mt-1_36-1_36_0 This package contains the Boost::Graph Runtime libraries. -%package -n libboost_iostreams2 +%package -n libboost_iostreams-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::IOStreams Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_iostreams2 +%description -n libboost_iostreams-gcc43-mt-1_36-1_36_0 This package contains the Boost::IOStreams Runtime libraries. -%package -n libboost_math2 +%package -n libboost_math-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Math Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_math2 +%description -n libboost_math-gcc43-mt-1_36-1_36_0 This package contains the Boost::Math Runtime libraries. -%package -n libboost_mpi2 +%package -n libboost_mpi-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::MPI Runtime libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_mpi2 +%description -n libboost_mpi-gcc43-mt-1_36-1_36_0 This package contains the Boost::MPI Runtime libraries. -%package -n libboost_test2 +%package -n libboost_test-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Test Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_test2 +%description -n libboost_test-gcc43-mt-1_36-1_36_0 This package contains the Boost::Test runtime libraries. -%package -n libboost_program_options2 +%package -n libboost_program_options-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::ProgramOptions Runtime libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_program_options2 +%description -n libboost_program_options-gcc43-mt-1_36-1_36_0 This package contains the Boost::ProgramOptions Runtime libraries. -%package -n libboost_python2 +%package -n libboost_python-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Python Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_python2 +%description -n libboost_python-gcc43-mt-1_36-1_36_0 This package contains the Boost::Python Runtime libraries. -%package -n libboost_serialization2 +%package -n libboost_serialization-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Serialization Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_serialization2 +%description -n libboost_serialization-gcc43-mt-1_36-1_36_0 This package contains the Boost::Serialization Runtime libraries. -%package -n libboost_signals2 +%package -n libboost_signals-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Signals Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_signals2 +%description -n libboost_signals-gcc43-mt-1_36-1_36_0 This package contains the Boost::Signals Runtime libraries. -%package -n libboost_system2 +%package -n libboost_system-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::System Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_system2 +%description -n libboost_system-gcc43-mt-1_36-1_36_0 This package contains the Boost::System runtime libraries. -%package -n libboost_thread2 +%package -n libboost_thread-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Thread Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_thread2 +%description -n libboost_thread-gcc43-mt-1_36-1_36_0 This package contains the Boost::Thread runtime libraries. -%package -n libboost_wave2 +%package -n libboost_wave-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: Boost::Wave Runtime Libraries Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_wave2 +%description -n libboost_wave-gcc43-mt-1_36-1_36_0 This package contains the Boost::Wave runtime libraries. -%package -n libboost_regex2 +%package -n libboost_regex-gcc43-mt-1_36-1_36_0 License: BSD 3-Clause Summary: The Boost::Regex runtime library Group: System/Libraries Requires: %{name}-license = %{version} AutoReqProv: on -%description -n libboost_regex2 +%description -n libboost_regex-gcc43-mt-1_36-1_36_0 This package contains the Boost::Regex runtime library. %prep %setup -q -n %{name}_%{file_version} -a 2 +cp %{S:4} . find -name .cvsignore -exec rm -f {} + #everything in the tarball has the executable flag set ...... find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} + @@ -309,6 +311,7 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} %patch2 %patch4 %patch5 +%patch6 %patch8 %patch17 chmod +x configure @@ -316,17 +319,19 @@ chmod +x configure find . -name \*.orig -exec rm {} + %build -%define bjam_config -d2 --layout=system %{?jobs:-j%jobs} +# define bjam_config -d2 --layout=system %{?jobs:-j%jobs} +%define bjam_config -d2 %{?jobs:-j%jobs} find . -type f -exec chmod u+w {} + # Now build it BUILD_FLAGS="--with-toolset=gcc --prefix=%{buildroot}/usr --libdir=%{buildroot}%{_libdir} --with-bjam=/usr/bin/bjam" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" REGEX_FLAGS="--with-icu" +#BJAM_TARGET=rpm export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir} -BJAM_CONFIG="%bjam_config" ./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS +BJAM_CONFIG="%bjam_config" BJAM_TARGET="$BJAM_TARGET" ./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS echo "using mpi ;" >> user-config.jam -#export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-deprecated" +export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-deprecated" make all %install @@ -334,25 +339,21 @@ mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_includedir} mkdir -p %{buildroot}%{_docdir}/boost-%{version} # install lib -for i in `find stage -type f -name \*.a`; do - NAME=`basename $i`; +for i in $(find stage -type f -name \*.a); do + NAME=$(basename $i); install -p -m 0644 $i %{buildroot}%{_libdir}/$NAME; done; -for lib in `find stage -type f -name \*.so`; do - NAME=$lib; - SONAME=$lib.2; - VNAME=$lib.%{version}; - base=$(basename $lib); - NAMEbase=$base; - SONAMEbase=$base.2; - VNAMEbase=$base.%{version}; - mv $lib $VNAME; - ln -s $VNAMEbase $SONAME; - ln -s $VNAMEbase $NAME; - install -p -m 755 $VNAME %{buildroot}%{_libdir}/$VNAMEbase; - mv $SONAME %{buildroot}%{_libdir}/$SONAMEbase; - mv $NAME %{buildroot}%{_libdir}/$NAMEbase; -done; +cd stage/lib +for lib in $(find . -follow -name \*-gcc??-mt-%{short_version}.so); do + NAME=${lib}.%{version} + SONAME_MT=$(echo $lib | sed -e 's/-gcc??-mt-%{short_version}/-mt/g') + SONAME=$(echo $lib | sed -e 's/-gcc??-mt-%{short_version}//g') + rm $lib + ln -sf $NAME $SONAME_MT + ln -sf $NAME $SONAME +done +cd ../.. +mv stage/lib/*.so* %{buildroot}%{_libdir} # install include files for i in $(find boost -type d); do mkdir -p %{buildroot}%{_includedir}/$i @@ -378,7 +379,9 @@ dos2unix libs/ptr_container/doc/tutorial_example.html \ libs/parameter/doc/html/reference.html \ libs/parameter/doc/html/index.html \ libs/iostreams/doc/tree/tree.js \ - libs/graph/doc/lengauer_tarjan_dominator.htm + libs/graph/doc/lengauer_tarjan_dominator.htm \ + libs/test/test/test_files/errors_handling_test.pattern \ + libs/test/test/test_files/result_report_test.pattern find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | tar --files-from=%{S:3} -cf - --files-from=- | tar -C %{buildroot}%{_docdir}/boost-%{version} -xf - rm -rf %{buildroot}%{_docdir}/boost-%{version}/boost ln -s /usr/include/boost %{buildroot}%{_docdir}/boost-%{version}/ @@ -390,9 +393,65 @@ find %{buildroot}%{_docdir}/boost-%{version} -name \*.py -exec chmod -x {} + %fdupes %buildroot %endif -%post -p /sbin/ldconfig +%post -n libboost_date_time-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post -n libboost_filesystem-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_iostreams-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_test-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_program_options-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_python-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_regex-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_serialization-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_signals-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_thread-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_math-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_mpi-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_graph-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_system-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%post -n libboost_wave-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_date_time-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_filesystem-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_iostreams-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_test-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_program_options-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_python-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_regex-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_serialization-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_signals-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_thread-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_math-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_mpi-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_graph-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_system-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig + +%postun -n libboost_wave-gcc43-mt-1_36-1_36_0 -p /sbin/ldconfig %files %defattr(-, root, root, -) @@ -402,84 +461,69 @@ find %{buildroot}%{_docdir}/boost-%{version} -name \*.py -exec chmod -x {} + %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%files -n libboost_date_time2 +%files -n libboost_date_time-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_date_time*.so.%{version} -%{_libdir}/libboost_date_time*.so.2 +%{_libdir}/libboost_date_time*.so.* -%files -n libboost_filesystem2 +%files -n libboost_filesystem-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_filesystem*.so.%{version} -%{_libdir}/libboost_filesystem*.so.2 +%{_libdir}/libboost_filesystem*.so.* -%files -n libboost_graph2 +%files -n libboost_graph-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_graph*.so.%{version} -%{_libdir}/libboost_graph*.so.2 +%{_libdir}/libboost_graph*.so.* -%files -n libboost_iostreams2 +%files -n libboost_iostreams-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_iostreams*.so.%{version} -%{_libdir}/libboost_iostreams*.so.2 +%{_libdir}/libboost_iostreams*.so.* -%files -n libboost_math2 +%files -n libboost_math-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_math_*.so.%{version} -%{_libdir}/libboost_math*.so.2 +%{_libdir}/libboost_math_*.so.* -%files -n libboost_mpi2 +%files -n libboost_mpi-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_mpi*.so.%{version} -%{_libdir}/libboost_mpi*.so.2 -%{_libdir}/mpi*.so.%{version} -%{_libdir}/mpi*.so.2 +%{_libdir}/libboost_mpi*.so.* +#%{_libdir}/libboost_mpi*.so +#%{_libdir}/mpi*.so.%{version} +#%{_libdir}/mpi*.so -%files -n libboost_test2 +%files -n libboost_test-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_prg_exec_monitor*.so.%{version} -%{_libdir}/libboost_prg_exec_monitor*.so.2 -%{_libdir}/libboost_unit_test_framework*.so.%{version} -%{_libdir}/libboost_unit_test_framework*.so.2 +%{_libdir}/libboost_prg_exec_monitor*.so.* +%{_libdir}/libboost_unit_test_framework*.so.* -%files -n libboost_program_options2 +%files -n libboost_program_options-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_program_options*.so.%{version} -%{_libdir}/libboost_program_options*.so.2 +%{_libdir}/libboost_program_options*.so.* -%files -n libboost_python2 +%files -n libboost_python-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_python*.so.%{version} -%{_libdir}/libboost_python*.so.2 +%{_libdir}/libboost_python*.so.* -%files -n libboost_serialization2 +%files -n libboost_serialization-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_*serialization*.so.%{version} -%{_libdir}/libboost_*serialization*.so.2 +%{_libdir}/libboost_*serialization*.so.* -%files -n libboost_signals2 +%files -n libboost_signals-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_signals*.so.%{version} -%{_libdir}/libboost_signals*.so.2 +%{_libdir}/libboost_signals*.so.* -%files -n libboost_system2 +%files -n libboost_system-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_system*.so.%{version} -%{_libdir}/libboost_system*.so.2 +%{_libdir}/libboost_system*.so.* -%files -n libboost_thread2 +%files -n libboost_thread-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_thread*.so.%{version} -%{_libdir}/libboost_thread*.so.2 +%{_libdir}/libboost_thread*.so.* -%files -n libboost_wave2 +%files -n libboost_wave-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_wave*.so.%{version} -%{_libdir}/libboost_wave*.so.2 +%{_libdir}/libboost_wave*.so.* -%files -n libboost_regex2 +%files -n libboost_regex-gcc43-mt-1_36-1_36_0 %defattr(-, root, root, -) -%{_libdir}/libboost_regex*.so.%{version} -%{_libdir}/libboost_regex*.so.2 +%{_libdir}/libboost_regex*.so.* %files devel %defattr(-, root, root, -) @@ -494,6 +538,16 @@ find %{buildroot}%{_docdir}/boost-%{version} -name \*.py -exec chmod -x {} + %doc %{_mandir}/man7/*.7.gz %changelog +* Fri Oct 17 2008 pth@suse.de +- Using a rpm macros in package name doesn't work with autobuild. +* Wed Oct 15 2008 pth@suse.de +- Fix naming of library packages to match the horribly broken + sonames of the boost libraries. +- Add post/postun for all library packages. +- Stop rpmlint warning about explicit library dependencies + needed to pull in all library subpackages during updates. +* Tue Oct 14 2008 pth@suse.de +- Fix build failure (README not in build directory). * Tue Sep 02 2008 pth@suse.de - Split off runtime libraries into their own packages. - Update to 1.36.0: diff --git a/existing_extra_docs b/existing_extra_docs index 6e084fe..d01ead9 100644 --- a/existing_extra_docs +++ b/existing_extra_docs @@ -252,7 +252,6 @@ libs/multi_index/example/bimap.cpp libs/multi_index/example/complex_structs.cpp libs/multi_index/example/composite_keys.cpp libs/multi_index/example/hashed.cpp -libs/multi_index/example/memfun_key.cpp libs/multi_index/example/non_default_ctor.cpp libs/multi_index/example/random_access.cpp libs/multi_index/example/rearrange.cpp @@ -393,41 +392,6 @@ libs/smart_ptr/smarttest.zip libs/smart_ptr/test/pointer_cast_test.cpp libs/smart_ptr/test/pointer_to_other_test.cpp libs/smart_ptr/test/smart_ptr_test.cpp -libs/spirit/example/fundamental/ast_calc.cpp -libs/spirit/example/fundamental/bind.cpp -libs/spirit/example/fundamental/calc_debug.cpp -libs/spirit/example/fundamental/calc_plain.cpp -libs/spirit/example/fundamental/comments.cpp -libs/spirit/example/fundamental/distinct/distinct_parser.cpp -libs/spirit/example/fundamental/distinct/distinct_parser_dynamic.cpp -libs/spirit/example/fundamental/error_handling.cpp -libs/spirit/example/fundamental/file_parser.cpp -libs/spirit/example/fundamental/full_calc.cpp -libs/spirit/example/fundamental/functor_parser.cpp -libs/spirit/example/fundamental/list_parser.cpp -libs/spirit/example/fundamental/matching_tags.cpp -libs/spirit/example/fundamental/no_actions.cpp -libs/spirit/example/fundamental/number_list.cpp -libs/spirit/example/fundamental/parser_context.cpp -libs/spirit/example/fundamental/parse_tree_calc1.cpp -libs/spirit/example/fundamental/phoenix_calc.cpp -libs/spirit/example/fundamental/position_iterator/position_iterator.cpp -libs/spirit/example/fundamental/refactoring.cpp -libs/spirit/example/fundamental/regular_expression.cpp -libs/spirit/example/fundamental/roman_numerals.cpp -libs/spirit/example/fundamental/stuff_vector2.cpp -libs/spirit/example/fundamental/stuff_vector.cpp -libs/spirit/example/fundamental/subrule_calc.cpp -libs/spirit/example/fundamental/sum.cpp -libs/spirit/example/fundamental/thousand_separated.cpp -libs/spirit/example/intermediate/lazy_parser.cpp -libs/spirit/example/intermediate/parameters.cpp -libs/spirit/example/techniques/multiple_scanners.cpp -libs/spirit/example/techniques/nabialek.cpp -libs/spirit/example/techniques/no_rules/no_rule1.cpp -libs/spirit/example/techniques/no_rules/no_rule2.cpp -libs/spirit/example/techniques/no_rules/no_rule3.cpp -libs/spirit/example/techniques/typeof.cpp libs/statechart/doc/rationale.pdf libs/statechart/doc/reference.pdf libs/statechart/doc/tutorial.pdf @@ -447,12 +411,6 @@ libs/static_assert/static_assert_test_fail_6.cpp libs/static_assert/static_assert_test_fail_7.cpp libs/static_assert/static_assert_test_fail_8.cpp libs/static_assert/static_assert_test_fail_9.cpp -libs/test/build/msvc71_proj/prg_exec_monitor_dll.vcproj -libs/test/build/msvc71_proj/prg_exec_monitor.vcproj -libs/test/build/msvc71_proj/unit_test_framework_dll.vcproj -libs/test/build/msvc71_proj/unit_test_framework.vcproj -libs/test/doc/tutorials/const_string.hpp -libs/test/doc/tutorials/const_string_test.cpp libs/test/example/exec_mon_example.cpp libs/test/example/prg_exec_example.cpp libs/test/example/test_case_template_example.cpp @@ -513,9 +471,6 @@ libs/utility/shared_iterator_example3.cpp libs/wave/ChangeLog LICENSE_1_0.txt more/blanket-permission.txt -more/favicon.ico -more/lib_guide.htm -more/proposal.pdf tools/build/v2/doc/userman.pdf tools/build/v2/hacking.txt tools/inspect/build/Jamfile.v2 @@ -523,11 +478,6 @@ tools/inspect/inspect.cpp tools/inspect/inspector.hpp tools/inspect/link_check.cpp tools/inspect/link_check.hpp -tools/inspect/long_name_check.cpp -tools/inspect/long_name_check.hpp tools/inspect/tab_check.cpp tools/inspect/tab_check.hpp tools/quickbook/doc/quickbook.qbk -tools/regression/build/Jamfile.v2 -tools/regression/compiler_status.cpp -tools/regression/process_jam_log.cpp