[FFe] Update lcm to 1.5 for Noble
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lcm (Debian) |
New
|
Unknown
|
|||
lcm (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Version bump for the lcm package to latest version 1.5.0+repack-
Git changes and Package PPA:
- Ubuntu/devel git fork:
https:/
- PPA
https:/
1.5.
- Debian Git Merge request
https:/
Build logs for all architectures are available in the PPA.
[Justification]
Current lcm version 1.3.1 comes from 2016 and is quite broken for different use cases when using the tools provided by the package with modern versions of java and/or python, see https:/
Running a quick test for lcm-logplayer-gui in a Noble docker container:
-------
jrivero@
Unrecognized option: -Xincgc
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
-------
[Other info]
I have the version bump ready on Debian but the 64bit_time transition[1] is preventing the
packages to go through the lib transition since two weeks before the Import Freeze.
https:/
Changes done in the packaging:
* New upstream version 1.5.0+repack
* Formatter changes
* Bump standards to 4.6.2
* Use default-jdk package for java support
* Bump version to 1.5.0+repack1
* Rediff patches:
* PATCH: use gnuinstalldirs in CMake
* PATCH: use gtest from system
* PATCH: use java system dependencies instead of embedded files
* PATCH: Encode utf8 characters to fix the java build
* PATCH: fix manpages name to make lintian happy
* Add CMake to d/control
* Use --no-parallel for testing
* Cleanup d/rules
* Update liblcm-doc.docs for new paths
* Generalize d/liblcm-
* Convert package to use pybuild. Change d/rules heavily.
* Update java dependencies in d/control
* Update d/copyright file
* Keep lcm-java.pc only in the java package
* Remove .doctrees from the -docs package
* Add bindnow to DEB_BUILD_
* Replace embedded fonts and jquery with system dependencies
* Remove .gitignore from liblcm-doc installation
* Update existing patch for javadoc generation
* Update d/changelog
* Rework java patch to use offline generation
* Reorder java dependencies: in -bin and -java
* Adding Section: to packages
* Added autotest: install and build-cpp
[Risk analysis - Library transition]
There is no package depending on lcm currently in the Ubuntu repository. No library transition needs to performed.
[Testing done]
In the same Noble container I added the PPA and check the upgrade:
------- 8< -------
The following additional packages will be installed:
libapache-
libxmlgraphic
Suggested packages:
libcommons-
The following NEW packages will be installed:
libapache-
The following packages will be upgraded:
liblcm-bin liblcm1
2 upgraded, 10 newly installed, 0 to remove and 5 not upgraded.
28 not fully installed or removed.
Need to get 3283 kB of archives.
After this operation, 4298 kB of additional disk space will be used.
Do you want to continue? [Y/n]
------- 8< -------
Run fine and now I can execute the binaries:
------- 8< -------
jrivero@
LC: Disabling IPV6 support
LCM: Disabling IPV6 support
LCM: TTL set to zero, traffic will not leave localhost.
------- 8< -------
Related branches
- Vladimir Petko (community): Approve
- Dave Jones (community): Needs Fixing
-
Diff: 53524 lines (+21228/-11084)240 files modified.clang-format (+18/-0)
.gitignore (+2/-129)
AUTHORS (+2/-0)
CMakeLists.txt (+110/-0)
NEWS.md (+53/-2)
README.md (+21/-5)
cmake/3.7/UseJava.cmake (+1443/-0)
cmake/3.7/UseJavaClassFilelist.cmake (+58/-0)
cmake/3.7/UseJavaSymlinks.cmake (+38/-0)
cmake/3.7/javaTargets.cmake.in (+39/-0)
cmake/FindGLib2.cmake (+124/-0)
cmake/FindGo.cmake (+35/-0)
debian/changelog (+40/-0)
debian/control (+79/-26)
debian/copyright (+45/-29)
debian/liblcm-bin.lintian-overrides (+2/-0)
debian/liblcm-dev.install (+4/-3)
debian/liblcm-doc.docs (+3/-4)
debian/liblcm-doc.links (+4/-0)
debian/liblcm-java.install (+1/-1)
debian/liblcm-java.jlibs (+1/-0)
debian/patches/0001-fix-manpages-name.patch (+47/-0)
debian/patches/0002-encode-utf8-java-chars.patch (+33/-0)
debian/patches/0003-use-gnuinstalldir.patch (+102/-0)
debian/patches/0004-use-offline-javadoc-links.patch (+30/-0)
debian/patches/0005-use-java-system-dependencies.patch (+56/-0)
debian/patches/0006-use-getst-system-test.patch (+22/-0)
debian/patches/move-quotes-patch.patch (+15/-0)
debian/patches/series (+7/-6)
debian/python3-lcm.install (+1/-0)
debian/rules (+22/-14)
debian/tests/build-cpp-example (+12/-0)
debian/tests/control (+7/-0)
debian/tests/install (+22/-0)
debian/watch (+7/-3)
dev/null (+0/-405)
docker/Dockerfile.fedora (+18/-0)
docs/CMakeLists.txt (+59/-0)
docs/Doxyfile.in (+2611/-0)
docs/Makefile (+20/-0)
docs/conf.py (+40/-0)
docs/content/build-instructions.md (+106/-107)
docs/content/java-notes.md (+9/-16)
docs/content/lcm-type-ref.md (+79/-60)
docs/content/log-file-format.md (+2/-3)
docs/content/lua-api.md (+71/-72)
docs/content/multicast-setup.md (+27/-50)
docs/content/tutorial-c.md (+30/-30)
docs/content/tutorial-cmake.md (+323/-0)
docs/content/tutorial-cpp.md (+41/-41)
docs/content/tutorial-dotnet.md (+57/-70)
docs/content/tutorial-go.md (+208/-0)
docs/content/tutorial-java.md (+43/-43)
docs/content/tutorial-lcmgen.md (+23/-20)
docs/content/tutorial-lua.md (+35/-35)
docs/content/tutorial-matlab.md (+58/-43)
docs/content/tutorial-python.md (+33/-33)
docs/content/tutorial.md (+26/-19)
docs/content/udp-multicast-protocol.md (+4/-4)
docs/doxygen_output/c_cpp/html/group__LcmC.rst (+5/-0)
docs/doxygen_output/c_cpp/html/group__LcmCpp.rst (+5/-0)
docs/doxygen_output/lcm-dotnet/html/namespaces.rst (+5/-0)
docs/index.rst (+160/-0)
docs/javadocs/index.rst (+5/-0)
docs/make.bat (+35/-0)
docs/python/index.rst (+5/-0)
docs/redirect.html (+3/-0)
docs/release_checklist (+21/-50)
examples/.gitignore (+13/-0)
examples/c/CMakeLists.txt (+43/-0)
examples/c/listener-async.c (+18/-21)
examples/c/listener-glib.c (+21/-26)
examples/c/listener.c (+13/-16)
examples/c/read_log.c (+14/-16)
examples/c/send_message.c (+7/-8)
examples/cpp/CMakeLists.txt (+30/-0)
examples/cpp/lcm_log_writer/CMakeLists.txt (+19/-0)
examples/cpp/lcm_log_writer/main.cpp (+123/-0)
examples/cpp/lcm_log_writer/pronto_joint_state_t.lcm (+16/-0)
examples/cpp/listener.cpp (+26/-27)
examples/cpp/read_log.cpp (+12/-14)
examples/cpp/send_message.cpp (+3/-3)
examples/go/gen.go (+10/-0)
examples/go/listener/main.go (+49/-0)
examples/go/sender/main.go (+50/-0)
examples/matlab/listener.m (+2/-2)
format_code.sh (+156/-0)
lcm-cmake/config.cmake (+69/-0)
lcm-cmake/cpack.cmake (+69/-0)
lcm-cmake/functions.cmake (+50/-0)
lcm-cmake/install.cmake (+66/-0)
lcm-cmake/lcmConfig.cmake.in (+7/-0)
lcm-cmake/lcmUtilities.cmake (+504/-0)
lcm-cmake/mkdist.cmake (+15/-0)
lcm-cmake/version.cmake (+11/-0)
lcm-dotnet/Doxyfile.in (+2/-2)
lcm-dotnet/lcm/lcm/TCPProvider.cs (+1/-6)
lcm-go/README.md (+27/-0)
lcm-go/lcm/lcm.go (+224/-0)
lcm-go/lcm/lcm_test.go (+102/-0)
lcm-java/CMakeLists.txt (+114/-0)
lcm-java/lcm-logplayer-gui.1 (+7/-1)
lcm-java/lcm-logplayer-gui.sh (+23/-0)
lcm-java/lcm-spy.1 (+7/-1)
lcm-java/lcm-spy.sh.in (+30/-0)
lcm-java/lcm/lcm/LCM.java (+14/-8)
lcm-java/lcm/lcm/TCPProvider.java (+0/-5)
lcm-java/lcm/lcm/UDPMulticastProvider.java (+5/-1)
lcm-java/lcm/logging/JScrubber.java (+2/-2)
lcm-java/lcm/logging/Log.java (+3/-6)
lcm-java/lcm/logging/LogPlayer.java (+108/-30)
lcm-java/lcm/spy/ObjectPanel.java (+4/-4)
lcm-java/lcm/spy/Spy.java (+58/-17)
lcm-java/lcm/util/ClassDiscoverer.java (+1/-1)
lcm-java/lcm/util/ParameterGUI.java (+3/-3)
lcm-java/lcm/util/TableSorter.java (+4/-2)
lcm-lite/lcmlite.c (+51/-37)
lcm-lite/lcmlite.h (+5/-7)
lcm-lite/lcmlite_ios.c (+22/-22)
lcm-lite/lcmlite_ios.h (+9/-10)
lcm-lite/lcmlite_posix.c (+26/-25)
lcm-logger/CMakeLists.txt (+17/-0)
lcm-logger/glib_util.c (+74/-88)
lcm-logger/glib_util.h (+8/-9)
lcm-logger/lcm-logger.1 (+1/-1)
lcm-logger/lcm-logplayer.1 (+1/-1)
lcm-logger/lcm_logger.c (+213/-229)
lcm-logger/lcm_logplayer.c (+55/-62)
lcm-lua/CMakeLists.txt (+22/-0)
lcm-lua/debug_support.h (+80/-78)
lcm-lua/init.c (+33/-24)
lcm-lua/lua_ref_helper.c (+38/-35)
lcm-lua/lua_ref_helper.h (+1/-1)
lcm-lua/lua_ver_helper.h (+4/-4)
lcm-lua/lualcm_hash.c (+146/-141)
lcm-lua/lualcm_hash.h (+1/-1)
lcm-lua/lualcm_lcm.c (+431/-420)
lcm-lua/lualcm_lcm.h (+1/-1)
lcm-lua/lualcm_pack.c (+775/-773)
lcm-lua/lualcm_pack.h (+1/-1)
lcm-lua/rock/LUAROCKS_INSTALL.md (+7/-4)
lcm-lua/rock/lcm-1.5.0-0.rockspec (+4/-6)
lcm-lua/utf8_check.c (+43/-37)
lcm-pkgconfig/CMakeLists.txt (+11/-0)
lcm-pkgconfig/lcm-java.pc.in (+12/-0)
lcm-pkgconfig/lcm.pc.in (+12/-0)
lcm-python/.gitignore (+1/-1)
lcm-python/CMakeLists.txt (+59/-0)
lcm-python/lcm/__init__.py (+2/-1)
lcm-python/module.c (+45/-38)
lcm-python/pyeventlog.c (+131/-152)
lcm-python/pylcm.c (+178/-178)
lcm-python/pylcm.h (+1/-1)
lcm-python/pylcm_subscription.c (+68/-66)
lcm-python/pylcm_subscription.h (+1/-1)
lcm-python/setup.py (+26/-13)
lcm/CMakeLists.txt (+91/-0)
lcm/dbg.h (+18/-8)
lcm/eventlog.c (+58/-58)
lcm/eventlog.h (+17/-21)
lcm/ioutils.h (+9/-5)
lcm/lcm-cpp-impl.hpp (+189/-175)
lcm/lcm-cpp.hpp (+543/-457)
lcm/lcm.c (+194/-216)
lcm/lcm.h (+39/-43)
lcm/lcm_coretypes.h (+173/-118)
lcm/lcm_file.c (+140/-146)
lcm/lcm_internal.h (+16/-20)
lcm/lcm_memq.c (+68/-70)
lcm/lcm_mpudpm.c (+593/-665)
lcm/lcm_tcpq.c (+130/-148)
lcm/lcm_udpm.c (+455/-476)
lcm/lcm_version.h (+16/-0)
lcm/lcmtypes/channel_port_map_update_t.c (+84/-51)
lcm/lcmtypes/channel_port_map_update_t.h (+19/-15)
lcm/lcmtypes/channel_to_port_t.c (+45/-31)
lcm/lcmtypes/channel_to_port_t.h (+15/-14)
lcm/ringbuffer.c (+62/-66)
lcm/ringbuffer.h (+8/-9)
lcm/udpm_util.c (+141/-155)
lcm/udpm_util.h (+46/-92)
lcm/windows/WinLCM.cpp (+1/-6)
lcm/windows/WinPorting.cpp (+172/-186)
lcm/windows/WinPorting.h (+30/-40)
lcmgen/CMakeLists.txt (+53/-0)
lcmgen/emit_c.c (+433/-380)
lcmgen/emit_cpp.c (+257/-205)
lcmgen/emit_csharp.c (+368/-346)
lcmgen/emit_go.c (+1635/-0)
lcmgen/emit_java.c (+322/-300)
lcmgen/emit_lua.c (+661/-651)
lcmgen/emit_python.c (+480/-456)
lcmgen/getopt.c (+56/-63)
lcmgen/getopt.h (+18/-17)
lcmgen/lcmgen.c (+127/-151)
lcmgen/lcmgen.h (+62/-66)
lcmgen/main.c (+54/-35)
lcmgen/tokenize.c (+37/-42)
lcmgen/tokenize.h (+11/-12)
liblcm-test/CMakeLists.txt (+43/-0)
liblcm-test/buftest-receiver.c (+11/-13)
liblcm-test/buftest-sender.c (+12/-13)
liblcm-test/lcm-example.c (+28/-30)
liblcm-test/lcm-logfilter.c (+73/-88)
liblcm-test/lcm-sink.c (+4/-3)
liblcm-test/lcm-source.c (+62/-64)
liblcm-test/lcm-tester.c (+98/-115)
m4macros/CMakeLists.txt (+1/-0)
test/CMakeLists.txt (+22/-0)
test/README (+9/-10)
test/c/CMakeLists.txt (+27/-0)
test/c/client.cpp (+57/-58)
test/c/common.c (+99/-131)
test/c/common.h (+24/-27)
test/c/eventlog_test.cpp (+41/-36)
test/c/memq_test.cpp (+40/-37)
test/c/server.c (+38/-57)
test/c/udpm_test.cpp (+52/-8)
test/cpp/CMakeLists.txt (+20/-0)
test/cpp/client.cpp (+189/-119)
test/cpp/common.cpp (+209/-193)
test/cpp/common.hpp (+22/-21)
test/cpp/memq_test.cpp (+18/-15)
test/go/CMakeLists.txt (+15/-0)
test/go/client_test.go (+338/-0)
test/java/CMakeLists.txt (+34/-0)
test/java/lcmtest/LcmTestClient.java (+11/-11)
test/lua/CMakeLists.txt (+16/-0)
test/lua/client.lua (+2/-2)
test/python/.gitignore (+1/-0)
test/python/CMakeLists.txt (+28/-0)
test/python/bool_test.py (+4/-4)
test/python/client.py (+5/-1)
test/python/lcm_eventlog.py (+17/-0)
test/python/lcm_file_test.py (+2/-0)
test/python/lcm_udpm_queue_issue_test.py (+71/-0)
test/run_client_server_test.py (+29/-0)
test/types/CMakeLists.txt (+56/-0)
test/types/lcmtest/exampleconst_t.lcm (+5/-0)
test/types/lcmtest3/arrays_t.lcm (+6/-0)
tags: | added: upgrade-software-version |
Changed in lcm (Debian): | |
status: | Unknown → New |
tags: | added: fr-6676 |
This now needs a feature freeze exception, as described in https:/ /wiki.ubuntu. com/FreezeExcep tionProcess.
Please follow that process, and after the FFe is granted, subscribe ubuntu-sponsors again.
Regarding how you are providing the package to be sponsored, I personally would prefer a git branch against pkg/ubuntu/devel. For these cases where we go ahead of debian, what I would do is have the first commit on top of pkg/ubuntu/devel be the new upstream version, and then whatever changes are needed in the packaging to get that built for noble.