[med-svn] [Git][med-team/sight][master] 2 commits: Revert "Attempt to get a reproducible build"
Flavien Bridault (@fbridault-guest)
gitlab at salsa.debian.org
Mon Aug 24 14:14:46 BST 2026
Flavien Bridault pushed to branch master at Debian Med / sight
Commits:
6b171bd0 by Flavien Bridault at 2026-08-24T14:31:44+02:00
Revert "Attempt to get a reproducible build"
This reverts commit 09e8551ed54a069f506a69c5c9103b6c58790312.
- - - - -
e86f3b2d by Flavien Bridault at 2026-08-24T15:10:22+02:00
Fix runtime issues with sightviewer
- - - - -
7 changed files:
- debian/changelog
- debian/control
- + debian/patches/ogre-1.14.patch
- debian/patches/remove-itk-fft.patch
- − debian/patches/reproducible-glob-order.patch
- debian/patches/series
- debian/source/local-options
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+sight (26.0.0-2) UNRELEASED; urgency=medium
+
+ * d/p/: Added a patch to fix runtime crash with Ogre 1.14
+ Remove unsupported ITKFFT module related code
+
+ -- Flavien Bridault <fbridault at ircad.fr> Mon, 24 Aug 2026 14:34:01 +0200
+
sight (26.0.0-1) unstable; urgency=medium
* Team upload.
=====================================
debian/control
=====================================
@@ -8,7 +8,7 @@ Build-Depends:
binutils-gold,
cmake,
dcmtk,
- debhelper-compat (= 13),
+ debhelper-compat (= 14),
dh-exec,
libarchive-dev,
libboost-date-time-dev,
=====================================
debian/patches/ogre-1.14.patch
=====================================
@@ -0,0 +1,73 @@
+Description: Fix runtime with Ogre 1.14
+Author: Flavien Bridault <fbridault at ircad.fr>
+Forwarded: https://git.ircad.fr/sight/sight/-/work_items/1428
+--- sight.orig/lib/viz/scene3d/utils.cpp
++++ sight/lib/viz/scene3d/utils.cpp
+@@ -198,7 +198,11 @@
+ #if defined(_WIN32)
+ const auto ogre_plugins_path = ogre_lib_path.parent_path() / "plugins" / "ogre";
+ #else
+- const auto ogre_plugins_path = ogre_lib_path / "OGRE";
++ auto ogre_plugins_path = ogre_lib_path / "OGRE";
++ if(std::filesystem::exists(ogre_main_path))
++ {
++ ogre_plugins_path = std::format("{}-{}.{}", ogre_plugins_path.string(), OGRE_VERSION_MAJOR, OGRE_VERSION_MINOR);
++ }
+ #endif
+
+ // Add render system plugin
+--- sight.orig/module/viz/scene3d/adaptor/fragments_info.cpp
++++ sight/module/viz/scene3d/adaptor/fragments_info.cpp
+@@ -1,6 +1,6 @@
+ /************************************************************************
+ *
+- * Copyright (C) 2020-2025 IRCAD France
++ * Copyright (C) 2020-2026 IRCAD France
+ * Copyright (C) 2020 IHU Strasbourg
+ *
+ * This file is part of Sight.
+@@ -334,6 +334,8 @@
+ if(rect.width() != 0 && rect.height() != 0)
+ {
+ this->destroy_compositor();
++ static int i = 0;
++ m_compositor_name = gen_id("Snapshot_C") + "_" + std::to_string(i++);
+ this->create_compositor(static_cast<int>(rect.width()), static_cast<int>(rect.height()));
+ layer->get_render_target()->addListener(this);
+ }
+--- sight.orig/module/viz/scene3d_qt/window.cpp
++++ sight/module/viz/scene3d_qt/window.cpp
+@@ -1,6 +1,6 @@
+ /************************************************************************
+ *
+- * Copyright (C) 2014-2025 IRCAD France
++ * Copyright (C) 2014-2026 IRCAD France
+ * Copyright (C) 2014-2021 IHU Strasbourg
+ *
+ * This file is part of Sight.
+@@ -577,6 +577,8 @@
+ auto& mgr = Ogre::TextureManager::getSingleton();
+
+ unsigned i = 0;
++
++ static unsigned int j = 0;
+ for(auto& render_target : m_render_targets)
+ {
+ const auto layer = render_target.layer.lock();
+@@ -587,7 +589,7 @@
+ }
+
+ render_target.texture = mgr.createManual(
+- "RttTex" + std::to_string(m_id) + "_" + std::to_string(i++),
++ "RttTex" + std::to_string(m_id) + "_" + std::to_string(i++) + "_" + std::to_string(j++),
+ Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
+ Ogre::TEX_TYPE_2D,
+ static_cast<uint>(_w),
+@@ -684,6 +686,7 @@
+
+ const auto vp_width = static_cast<float>(viewport->getActualWidth());
+ const auto vp_height = static_cast<float>(viewport->getActualHeight());
++
+ SIGHT_ASSERT("Width and height should be strictly positive", vp_width > 0 && vp_height > 0);
+
+ viewport->getCamera()->setAspectRatio(vp_width / vp_height);
=====================================
debian/patches/remove-itk-fft.patch
=====================================
@@ -1,9 +1,9 @@
Author: Flavien Bridault <fbridault at ircad.fr>
Description: Remove service that requires ITKFFT which is not available on i386
Forwarded: not-needed
---- a/lib/filter/image/CMakeLists.txt
-+++ b/lib/filter/image/CMakeLists.txt
-@@ -7,8 +7,8 @@ if(MSVC)
+--- sight.orig/lib/filter/image/CMakeLists.txt
++++ sight/lib/filter/image/CMakeLists.txt
+@@ -7,8 +7,8 @@
target_include_directories(filter_image SYSTEM PRIVATE ${VXL_CORE_INCLUDE_DIRS})
endif()
@@ -14,8 +14,8 @@ Forwarded: not-needed
if(ITK_VERSION_MAJOR GREATER 4)
find_package(ITK QUIET COMPONENTS ITKSmoothing ITKRegistrationMethodsv4 REQUIRED)
---- a/module/filter/image/rc/plugin.xml
-+++ b/module/filter/image/rc/plugin.xml
+--- sight.orig/module/filter/image/rc/plugin.xml
++++ sight/module/filter/image/rc/plugin.xml
@@ -56,12 +56,6 @@
</extension>
@@ -29,7 +29,7 @@ Forwarded: not-needed
<type>sight::service::filter</type>
<service>sight::module::filter::image::matrix_regressor</service>
<object>sight::data::vector</object>
---- a/lib/filter/image/test/ut/mip_matching_registration_test.cpp
+--- sight.orig/lib/filter/image/test/ut/mip_matching_registration_test.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/************************************************************************
@@ -246,7 +246,7 @@ Forwarded: not-needed
-
-//------------------------------------------------------------------------------
-} // TEST_SUITE("sight::filter::image::mip_matching_registration")
---- a/module/filter/image/mip_matching_registration.hpp
+--- sight.orig/module/filter/image/mip_matching_registration.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/************************************************************************
@@ -366,7 +366,7 @@ Forwarded: not-needed
-};
-
-} // namespace sight::module::filter::image
---- a/module/filter/image/mip_matching_registration.cpp
+--- sight.orig/module/filter/image/mip_matching_registration.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/************************************************************************
@@ -449,3 +449,123 @@ Forwarded: not-needed
-}
-
-} // namespace sight::module::filter::image
+--- sight.orig/module/filter/image/plugin.cpp
++++ sight/module/filter/image/plugin.cpp
+@@ -24,10 +24,6 @@
+
+ #include "module/filter/image/plugin.hpp"
+
+-#if ITK_VERSION_MAJOR >= 5 && ITK_VERSION_MINOR >= 3 && defined(__unix__)
+-#include <itkFFTWFFTImageFilterInitFactory.h>
+-#endif
+-
+ namespace sight::module::filter::image
+ {
+
+@@ -44,10 +40,6 @@
+
+ void plugin::start()
+ {
+-#if ITK_VERSION_MAJOR >= 5 && ITK_VERSION_MINOR >= 3 && defined(__unix__)
+- auto factory = itk::FFTWFFTImageFilterInitFactory::New();
+- factory->RegisterFactories();
+-#endif
+ }
+
+ //-----------------------------------------------------------------------------
+--- sight.orig/lib/filter/image/mip_matching_registration.cpp
++++ /dev/null
+@@ -1,49 +0,0 @@
+-/************************************************************************
+- *
+- * Copyright (C) 2025 IRCAD France
+- *
+- * This file is part of Sight.
+- *
+- * Sight is free software: you can redistribute it and/or modify it under
+- * the terms of the GNU Lesser General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * Sight is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with Sight. If not, see <https://www.gnu.org/licenses/>.
+- *
+- ***********************************************************************/
+-
+-#include "filter/image/mip_matching_registration.hpp"
+-
+-#include "filter/image/detail/mip_matching_registration.hxx"
+-
+-//-----------------------------------------------------------------------------
+-
+-namespace sight::filter::image
+-{
+-
+-//------------------------------------------------------------------------------
+-
+-void mip_matching_register(const data::image& _fixed, const data::image& _moving, data::matrix4& _transform)
+-{
+- sight::filter::image::registration_dispatch::parameters params
+- {
+- .fixed = _fixed.get_const_sptr(),
+- .moving = _moving.get_const_sptr(),
+- .transform = _transform.get_sptr()
+- };
+-
+- core::type type = _moving.type();
+- core::tools::dispatcher<core::tools::supported_dispatcher_types, sight::filter::image::registration_dispatch>
+- ::invoke(type, params);
+-}
+-
+-//-----------------------------------------------------------------------------
+-
+-} // namespace sight::filter::image
+--- sight.orig/lib/filter/image/mip_matching_registration.hpp
++++ /dev/null
+@@ -1,41 +0,0 @@
+-/************************************************************************
+- *
+- * Copyright (C) 2017-2025 IRCAD France
+- * Copyright (C) 2017-2020 IHU Strasbourg
+- *
+- * This file is part of Sight.
+- *
+- * Sight is free software: you can redistribute it and/or modify it under
+- * the terms of the GNU Lesser General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * Sight is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with Sight. If not, see <https://www.gnu.org/licenses/>.
+- *
+- ***********************************************************************/
+-
+-#pragma once
+-
+-#include <sight/filter/image/config.hpp>
+-
+-#include <data/image.hpp>
+-#include <data/matrix4.hpp>
+-
+-#include <numeric>
+-
+-namespace sight::filter::image
+-{
+-
+-SIGHT_FILTER_IMAGE_API void mip_matching_register(
+- const data::image& _fixed,
+- const data::image& _moving,
+- data::matrix4& _transform
+-);
+-
+-} // namespace sight::filter::image
=====================================
debian/patches/reproducible-glob-order.patch deleted
=====================================
@@ -1,53 +0,0 @@
-Author: Flavien Bridault <fbridault at ircad.fr>
-Description: Make CMake glob expansion order deterministic for reproducible builds.
-Forwarded: not-needed
-diff --git i/cmake/build/macros.cmake w/cmake/build/macros.cmake
-index 1d1fc7296..7a0c032a0 100644
---- i/cmake/build/macros.cmake
-+++ w/cmake/build/macros.cmake
-@@ -87,6 +87,7 @@ endmacro()
- # Create the target sources group
- macro(group_maker SIGHT_TARGET)
- file(GLOB_RECURSE PRJ_SOURCES "${${SIGHT_TARGET}_DIR}/*")
-+ list(SORT PRJ_SOURCES)
- foreach(SRC ${PRJ_SOURCES})
- string(REGEX REPLACE ${${SIGHT_TARGET}_DIR} "" REL_DIR "${SRC}")
- string(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
-@@ -96,6 +97,7 @@ macro(group_maker SIGHT_TARGET)
- endforeach()
-
- file(GLOB_RECURSE PRJ_BUILD_SOURCES "${${SIGHT_TARGET}_BUILD_DIR}/*.cpp" "${${SIGHT_TARGET}_BUILD_DIR}/*.hpp")
-+ list(SORT PRJ_BUILD_SOURCES)
- foreach(SRC ${PRJ_BUILD_SOURCES})
- source_group("genFiles" FILES ${SRC})
- endforeach()
-@@ -171,6 +173,8 @@ macro(init_project PRJ_NAME PRJ_TYPE)
- file(GLOB_RECURSE SOURCES "${PRJ_SOURCE_DIR}/*.cpp" "${PRJ_SOURCE_DIR}/*.c" "${PRJ_SOURCE_DIR}/*.cxx"
- "${PRJ_SOURCE_DIR}/*.cu"
- )
-+ list(SORT HEADERS)
-+ list(SORT SOURCES)
-
- if(NOT "${PRJ_TYPE}" STREQUAL "TEST" AND NOT "${PRJ_TYPE}" STREQUAL "DOCTEST" AND NOT "${PRJ_TYPE}" STREQUAL
- "GUI_TEST"
-@@ -198,10 +202,12 @@ macro(init_project PRJ_NAME PRJ_TYPE)
- file(GLOB_RECURSE ${SIGHT_TARGET}_RC_FILES "${PRJ_SOURCE_DIR}/rc/*" "${PRJ_SOURCE_DIR}/ut/rc/*"
- "${PRJ_SOURCE_DIR}/tu/rc/*"
- )
-+ list(SORT ${SIGHT_TARGET}_RC_FILES)
- set(${SIGHT_TARGET}_RC_FILES ${${SIGHT_TARGET}_RC_FILES} PARENT_SCOPE)
- set_source_files_properties(${${SIGHT_TARGET}_RC_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
-
- file(GLOB ${SIGHT_TARGET}_CMAKE_FILES "${PRJ_SOURCE_DIR}/*.txt" "${PRJ_SOURCE_DIR}/*.cmake")
-+ list(SORT ${SIGHT_TARGET}_CMAKE_FILES)
- set(${SIGHT_TARGET}_CMAKE_FILES ${${SIGHT_TARGET}_CMAKE_FILES} PARENT_SCOPE)
- set_source_files_properties(${${SIGHT_TARGET}_CMAKE_FILES} PROPERTIES HEADER_FILE_ONLY TRUE)
-
-@@ -233,6 +239,7 @@ endmacro()
- # Create a target for the resources
- macro(create_resources_target TARGET TARGET_RC RES_DIR TARGET_RC_DIR)
- file(GLOB_RECURSE RESOURCES_FILES "${RES_DIR}/*")
-+ list(SORT RESOURCES_FILES)
- set(CREATED_RESOURCES_LIST)
- foreach(RESOURCE_FILE ${RESOURCES_FILES})
- file(RELATIVE_PATH REL_PATH "${RES_DIR}" "${RESOURCE_FILE}")
=====================================
debian/patches/series
=====================================
@@ -1,3 +1,4 @@
+ogre-1.14.patch
gcc15.patch
itk-sized-deallocation.patch
fix-multi-arch-folder-detection.patch
@@ -5,4 +6,3 @@ lintian_warnings.patch
remove-itk-fft.patch
libxml.patch
libboost1.90.patch
-reproducible-glob-order.patch
=====================================
debian/source/local-options
=====================================
@@ -1,2 +1,2 @@
unapply-patches
-extend-diff-ignore = ".vscode/*"
\ No newline at end of file
+extend-diff-ignore = "(\.vscode/|\.cache/clangd/|compile_commands.json)"
\ No newline at end of file
View it on GitLab: https://salsa.debian.org/med-team/sight/-/compare/09e8551ed54a069f506a69c5c9103b6c58790312...e86f3b2d4fdfbe317d2af31477fbb721f4c17d0d
--
View it on GitLab: https://salsa.debian.org/med-team/sight/-/compare/09e8551ed54a069f506a69c5c9103b6c58790312...e86f3b2d4fdfbe317d2af31477fbb721f4c17d0d
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260824/02907f63/attachment-0001.htm>
More information about the debian-med-commit
mailing list