commit 38d51ff9abe036e9d88bf241206fad1b9cd9cb3b
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Tue Jun 23 10:23:45 2026 +0200
d/changelog: summarize and clean up changelog
commit dbd1e8edec553e82b152c39cfe8b9bea1f61f85f
Merge: 7acca6e faa0b27
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Tue Jun 23 07:40:53 2026 +0200
Update upstream source from tag 'upstream/3.0.5+ds'
Update to upstream version '3.0.5+ds'
with Debian dir 5d91357bfa58cdd9c546b5afb2fd162ffb1ff48e
commit faa0b27b8be7024cdd3b36c4ea274725152c652f
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Tue Jun 23 07:40:42 2026 +0200
New upstream version 3.0.5+ds
commit 7acca6e421618176264e86ce458dbecbf3a965ff
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Mon Jun 22 22:03:47 2026 +0200
debian: fix lintian/autopkgtest/reproducibility CI failures
- Remove prebuilt test binary modules/mrpt_img/tests/generate_test_data
from the source tree (it was committed in the packaging tree, so the
Files-Excluded entry never dropped it); fixes source-ships-excluded-file
and source-contains-prebuilt-binary.
- Add python3-numpy to runtime Depends of python3-mrpt-math and
python3-mrpt-img: their __init__.py do a top-level 'import numpy', which
is why the autopkgtest failed with ModuleNotFoundError: No module 'numpy'.
- Make each python3-mrpt-* package directly depend on every sibling module
its __init__.py imports at load time (previously satisfied only via
fragile transitive paths); fix python3-mrpt-poses which depended on
python3-mrpt-bayes (backwards) instead of math/rtti/serialization.
- Wrap the colcon build in 'setarch -R' (ADDR_NO_RANDOMIZE) for
reproducibility: ASLR-seeded GCC DWARF location-list emission made
.debug_info/.debug_loclists and the GNU build-id differ run-to-run,
breaking debrebuild. Disabling ASLR yields stable build-ids.
commit c98e26a2909710f63bfe5728e14daff07e06b0e6
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Mon Jun 22 17:18:45 2026 +0200
debian: fix lintian errors and autopkgtest python module imports
* debian/tests/control: ship an explicit autopkgtest, overriding autodep8's
auto-generated python3 test. autodep8 derives the import name from the
binary package name ("python3-mrpt-bayes" -> "import mrpt_bayes"), which
never works: the pybind11 extensions install as the "mrpt" namespace
package, so the real import is "import mrpt.bayes". The test imports all
mrpt.* modules under the default python3 interpreter (the only one the
bindings are built against).
* debian/control: drop the bogus X-Python3-Version field (malformed-python-
version lintian error), now superseded by debian/tests/control; drop
redundant Priority and Rules-Requires-Root: no fields; bump
Standards-Version to 4.7.4.
* debian/copyright: exclude prebuilt test binary
modules/mrpt_img/tests/generate_test_data from the repacked source.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 88a4fa078c02e3ea448bf0b98e08fbafd5304bf0
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Mon Jun 22 10:08:34 2026 +0200
d/control: run autopkgtest for one python3 version
commit 7f805210014be150870caf5bb2b64423c4c1ce2b
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Mon Jun 22 01:31:35 2026 +0200
debian/patches: fix ambiguous operator[] FTBFS on i386
Salsa CI's i386 build job failed in mrpt_typemeta's test suite with
"ambiguous overload for operator[]" — not reproduced locally since all
local testing was amd64-only. Root cause: array_string/string_literal
both define a member operator[](size_t) and an implicit conversion to
const char*. On platforms where ptrdiff_t==int (i386), the built-in
pointer operator[](const char*, ptrdiff_t) synthesized from that
conversion gets an exact match for a plain `int` index, while the
member overload only gets a standard conversion for it; each candidate
wins on a different argument (object vs. index), so overload
resolution is genuinely ambiguous per the standard. On amd64,
ptrdiff_t==long, so the member overload wins outright and the
ambiguity never appears.
Fix: add an explicit operator[](int) overload to both classes, exact
match on every argument on every platform. Applied directly upstream
in MRPT (~/code/mrpt) and backported here as a patch for this release.
commit 17afa63100dbb7b5ff9abe3627060cc546bd2bcb
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Mon Jun 22 00:21:26 2026 +0200
debian/rules: disable LTO (miscompiles thread exception unwinding)
GCC's LTO miscompiles exception unwinding across thread boundaries in
some translation units, causing spurious SIGSEGV/abort crashes in the
mrpt_maps and mrpt_nav unit tests (confirmed via gdb in a clean
container: both test binaries pass 100% once rebuilt without -flto).
Drop optimize=+lto from DEB_BUILD_MAINT_OPTIONS until this toolchain
bug is understood/fixed.
Also unembed exprtk.hpp: upstream's mrpt_expr/CMakeLists.txt already
auto-detects a system exprtk.hpp and prefers it over the bundled copy,
so build-depending on libexprtk-dev and excluding the embedded copy
from the +ds source is enough to switch to the system library.
Closes: #1094437
commit a11b380b1d7419cbf3521d8f5a8108dd4bab5c5e
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 23:32:41 2026 +0200
debian/rules: fix Python binding test imports during colcon test
Each module's CTest-registered Python test only adds its own
python_staging dir to PYTHONPATH, expecting a colcon environment hook
to supply sibling modules (mrpt.rtti, mrpt.serialization, ...) — no
such hook is actually installed, so tests failed with "No module named
'mrpt.rtti'". Export PYTHONPATH at the merged install tree ourselves.
Also export LD_LIBRARY_PATH since CMAKE_INSTALL_RPATH is forced empty,
so the installed pybind .so files can't otherwise find their
dependent libmrpt_*.so at import time.
commit 20588433be8d1fe12e41b5140bfff20e4c556a18
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 23:06:22 2026 +0200
debian/rules: enable BUILD_TESTING so colcon test actually builds tests
colcon test-result reported "0 tests" because BUILD_TESTING (the
standard CMake flag gating each module's tests/ subdirectory) was never
turned on, so no test binaries were ever compiled or registered with
CTest in the first place.
commit 4737feec140030daeb2ff7a94b81421f41e0d9c3
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 23:04:54 2026 +0200
debian/control: fix binNMU-unsafe libmrpt-dev version constraints
The (= \${source:Version}) pin is still flagged by lintian as
not-binnmuable-all-depends-any: an arch:all package cannot depend
strictly on a versioned arch:any package. Replace it with the
(>= \${source:Version}), (<< \${source:Version}.1~) range lintian
recommends for this case.
commit 1bf45bd8114905dd82085d1fec64c441915355ae
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 22:19:54 2026 +0200
d/rules: fix colcon test merge layout
commit dc570e9bfc7cc28432e321decb4d3373aa467a35
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 21:52:59 2026 +0200
debian/rules: enable unit tests via colcon test under xvfb-run
Tests were previously skipped entirely. Run them headlessly with
xvfb-run (some GUI/unit tests need a display), stream verbose output
via console_direct+ for build-farm debugging, and fail the build on
any test failure via colcon test-result, honoring DEB_BUILD_OPTIONS=nocheck.
commit 4704fa31a28d8a9438b8e81a2fa422bd932b7a77
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 21:49:11 2026 +0200
d/rules: remove obsolete cmake args
commit b78854f96ce31c10513ec9613474dda781403d53
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 21:36:41 2026 +0200
debian/copyright: normalize formatting and use canonical Expat identifier
Reformat license stanza continuation lines and replace the MIT alias
with the canonical Expat short name used elsewhere in the file.
commit 9fedb7d9f65b2580f72297a248cf548e6b016d39
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 21:32:44 2026 +0200
Fix lintian issues: binNMU-unsafe libmrpt-dev deps and stale copyright patterns
libmrpt-dev (Architecture: all) pinned its arch:any -dev dependencies with
${binary:Version}, which breaks after a binNMU. Switch to ${source:Version}.
Also update debian/copyright Files patterns for cmake helper scripts that
moved into per-module cmake/ directories, and drop entries for files no
longer present upstream (FindOpenMP.cmake, cotire.cmake,
scripts/clang_git_format/*).
commit ae71c35a76bb7f1ea9463a28cf29c3d63dbf8a35
Author: Jose Luis Blanco Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 20:59:51 2026 +0200
Update changelog for 1:3.0.5+ds-1 release
commit b038d48b27763f551bed70e5028118646d16b23f
Merge: 89b9ca6 2d7ef6d
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 22:53:48 2026 +0000
Update upstream source from tag 'upstream/3.0.5+ds'
Update to upstream version '3.0.5+ds'
with Debian dir ab5b996a44d7b730185a3c90ad589455a64f75a1
commit 2d7ef6d058713650fbf030da6d2a6d261f1c32d8
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 22:53:38 2026 +0000
New upstream version 3.0.5+ds
commit 89b9ca68bf83ee99c4f74735aa8ad5500edb6970
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Mon Jun 22 00:53:05 2026 +0200
TEMP: exclude exprtk.hpp before reimport (reconciled by later rebase)
commit e38622691105994fcaddc26d2ac8510678a9538e
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sun Jun 21 20:56:42 2026 +0200
debian/patches: remove now obsolete patches
commit 4c013af1d773a53970dd35d2b1a79fbaa77c19ae
Author: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>
Date: Sat Jun 20 10:11:02 2026 +0200
debian: port packaging to MRPT 3.x modular colcon build
Rework debian/control, debian/rules and the per-module .install files for
the new colcon-based, per-module MRPT 3.x layout:
* Rename library packages to libmrpt-<module>3.0 (SOVERSION 3.0); add
packages for new modules (viz, imgui, libapps-cli, libapps-gui, data);
drop packages for removed modules (vision, vision-lgpl, tclap).
* Split the Python bindings into one package per module
(python3-mrpt-<module>) plus a python3-mrpt metapackage, dropping the
old monolithic python3-pymrpt.
* debian/rules drives `colcon build` over modules/ and apps/ instead of
the old single CMake project, stages the result into debian/tmp,
strips RPATHs, generates app man pages from doc/man-pages/pod/*.pod,
and ships mrpt-doc's example sources via dh_installexamples.
* debian/copyright paths updated for the modules/ layout.
* Build-Depends derived from upstream package.xml: drop OpenCV; keep
ffmpeg, dc1394, ftdi, pcap, usb and openni2 support.
Verified with a full `dpkg-buildpackage` run against MRPT 3.0.4+ds inside
a Debian sid container: build succeeds, all 152 .debs install the
expected files, and lintian reports no warnings or errors.
debian/changelog is intentionally left untouched here; the 1:3.0.4+ds-1
entry should be generated by `gbp dch` from these commits at release time.
Among the 1 debian patch available in version 1:2.15.14+ds-1 of the package, we noticed the following issues: