This is an automated email from the git hooks/post-receive script. gert-guest pushed a commit to branch master in repository mia.
commit 1fd90ab08a744b8c5c6c9b2c22ec82ad6703f62d Author: Gert Wollny <[email protected]> Date: Fri Nov 25 12:31:19 2016 +0000 d/p/correct... patch to fix buil dependencies Closes:#844140 --- debian/patches/correct_depenency_handling.patch | 96 +++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 97 insertions(+) diff --git a/debian/patches/correct_depenency_handling.patch b/debian/patches/correct_depenency_handling.patch new file mode 100644 index 0000000..7778580 --- /dev/null +++ b/debian/patches/correct_depenency_handling.patch @@ -0,0 +1,96 @@ +Description: Correct the dependencies to alliviate a parallel build failure + If more threads are available then targets to be build the old + dependency chain might invoke building of the man page and the + nipype interface at the same time wich may result in running two + instances of building the helper xml files first and as a result a race + condition occurs that sometimes lets the build fail because the + xml helper file is empty. +Origin: upstream +Forwarded: yes +Last-Changed: Fri Nov 25 12:56:17 2016 +0100 +Bug-Debian: https://bugs.debian.org/844140 + +diff --git a/cmake/macros.cmake b/cmake/macros.cmake +index f70e00b..25c6462 100644 +--- a/cmake/macros.cmake ++++ b/cmake/macros.cmake +@@ -122,34 +122,24 @@ ENDMACRO(ASSERT_SIZE) + + + +-# +-# This macro runs the program to create the XMLprogram descrition +-# that is used to create documentation and interfaced +-# +-MACRO(CREATE_EXE_XML_HELP name) +- ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/doc/mia-${name}.xml +- COMMAND MIA_PLUGIN_TESTPATH=${PLUGIN_TEST_ROOT}/${PLUGIN_INSTALL_PATH} +- ./mia-${name} --help-xml ${CMAKE_BINARY_DIR}/doc/mia-${name}.xml +- COMMAND rm -f ${CMAKE_SOURCE_DIR}/doc/userref.stamp +- DEPENDS mia-${name} ) +- +- ADD_CUSTOM_TARGET(mia-${name}-xml DEPENDS ${CMAKE_BINARY_DIR}/doc/mia-${name}.xml) +- ADD_DEPENDENCIES(XMLDOC mia-${name}-xml) +-ENDMACRO(CREATE_EXE_XML_HELP) +- +- + MACRO(CREATE_NIPYPE_FROM_XML name) + IF(CREATE_NIPYPE_INTERFACES) + STRING(REPLACE "-" "_" PythonName ${name}) + + SET(${name}-nipype-interface ${CMAKE_CURRENT_BINARY_DIR}/mia_${PythonName}.py) +- ++ ++ # depending on mia-${name}-man is only a measure to make sure + ADD_CUSTOM_COMMAND(OUTPUT ${${name}-nipype-interface} + COMMAND ${PYTHON_EXECUTABLE} ARGS ${CMAKE_SOURCE_DIR}/doc/miaxml2nipype.py + -i ${CMAKE_BINARY_DIR}/doc/mia-${name}.xml -o ${${name}-nipype-interface} +- MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/doc/mia-${name}.xml) +- +- ADD_CUSTOM_TARGET(mia-${name}-nipype DEPENDS ${${name}-nipype-interface}) ++ MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/doc/mia-${name}.xml ++ ) ++ ++ # depending on mia-${name}-man is done to persuade cmake/make to create ++ # a dependecy chain that will not try to build the *.xml file twice inparallel builds ++ # because without this dependency the man page and the nipype interface may be build ++ # at the same time and then *.xml file build will run twice, creating a race condition ++ ADD_CUSTOM_TARGET(mia-${name}-nipype DEPENDS ${${name}-nipype-interface} mia-${name}-man) + ADD_DEPENDENCIES(nipypeinterfaces mia-${name}-nipype) + + INSTALL(FILES ${${name}-nipype-interface} DESTINATION ${NIPYPE_INTERFACE_DIR}/mia) +diff --git a/doc/MiaDoctools.cmake b/doc/MiaDoctools.cmake +index 332a5fe..8c4e12b 100644 +--- a/doc/MiaDoctools.cmake ++++ b/doc/MiaDoctools.cmake +@@ -111,9 +111,11 @@ MACRO(MIA_CREATE_NIPYPE_FROM_XML prefix name) + COMMAND ${PYTHON_EXECUTABLE} ${MIA_DOCTOOLS_ROOT}/miaxml2nipype.py -i ${CMAKE_BINARY_DIR}/doc/${prefix}-${name}.xml -o ${${prefix}-${name}-nipype-interface} + MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/doc/${prefix}-${name}.xml) + ++ + FILE(APPEND ${NIPYPE_INTERFACE_INIT_FILE} "from .${prefix}_${PythonName} import ${prefix}_${PythonName}\n") + + ADD_CUSTOM_TARGET(${prefix}-${name}-nipype DEPENDS ${${prefix}-${name}-nipype-interface}) ++ ADD_DEPENDENCIES(${prefix}-${name}-nipype ${prefix}-${name}-xml) + ADD_DEPENDENCIES(nipypeinterfaces ${prefix}-${name}-nipype) + + INSTALL(FILES ${${prefix}-${name}-nipype-interface} DESTINATION ${NIPYPE_INTERFACE_DIR}) +@@ -128,11 +130,13 @@ MACRO(MIA_CREATE_MANPAGE_FROM_XML prefix name) + SET(${prefix}-${name}-manfile ${CMAKE_CURRENT_BINARY_DIR}/${prefix}-${name}.1) + ADD_CUSTOM_COMMAND(OUTPUT ${${prefix}-${name}-manfile} + COMMAND ${PYTHON_EXECUTABLE} ${MIA_DOCTOOLS_ROOT}/miaxml2man.py ${CMAKE_BINARY_DIR}/doc/${prefix}-${name}.xml >${${prefix}-${name}-manfile} +- MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/doc/${prefix}-${name}.xml +- ) +- ADD_CUSTOM_TARGET(${prefix}-${name}-man DEPENDS ${${prefix}-${name}-manfile}) +- add_dependencies(manpages ${prefix}-${name}-man) +- INSTALL(FILES ${${prefix}-${name}-manfile} DESTINATION "share/man/man1") ++ MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/doc/${prefix}-${name}.xml ++ DEPENDS ${prefix}-${name}-xml ++ ) ++ ADD_CUSTOM_TARGET(${prefix}-${name}-man DEPENDS ${${prefix}-${name}-manfile}) ++ ADD_DEPENDENCIES(${prefix}-${name}-man ${prefix}-${name}-xml) ++ add_dependencies(manpages ${prefix}-${name}-man) ++ INSTALL(FILES ${${prefix}-${name}-manfile} DESTINATION "share/man/man1") + ENDMACRO(MIA_CREATE_MANPAGE_FROM_XML) + + diff --git a/debian/patches/series b/debian/patches/series index ba4019e..4b95100 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ path_max.patch mia_243_scoped_lock_no_copy.patch mia_243_check_help_xml_success.patch +correct_depenency_handling.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/mia.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
