oonf-olsrd2: reinstate and update to OONF master#1176
Conversation
c17f401 to
d308f19
Compare
|
Given that the package was removed nearly a year ago and we want to add it back, it basically needs a complete rebirth at this point. We should approach it and review it from scratch to ensure it’s clean and makes sense. If we don’t do it now, it’ll never happen. I was hoping to convince Copilot to take a look at it, but apparently, it’s a no. :) We’ll see, maybe it’ll get moving. As a next step, I suggest we set up a quick review of the original requirements so we don't bring back any old technical debt. |
| define Package/oonf-init-scripts | ||
| SECTION:=net | ||
| CATEGORY:=Network | ||
| MAINTAINER:=Henning Rogge <hrogge@gmail.com> |
There was a problem hiding this comment.
Does anyone know if this maintainer is still active?
There was a problem hiding this comment.
I can't confirm whether Henning is still active on the packaging side. To avoid these going unmaintained again, I'm willing to take over maintenance of oonf-olsrd2 and oonf-init-scripts and have set PKG_MAINTAINER accordingly. I've also emailed Henning directly as a courtesy in case he'd like to stay on. I have several OpenWrt devices and will run olsrd2 on real hardware, not just the cross-compile and QEMU validation I did for this PR.
There was a problem hiding this comment.
As far as I remember he does not maintain the package anymore. But maybe he responds.
There was a problem hiding this comment.
I contacted Henning directly as a courtesy and phrased it so that he only needs to respond if he objects or would like to remain listed as maintainer. If he does, I’ll adjust accordingly. Otherwise, I’m happy to take over maintenance of these packages and keep them tested on real OpenWrt hardware.
|
Agreed, let's treat it as a fresh package rather than a revert. I'll go through both Makefiles against current conventions and push a cleaned version. For the requirements review: the default plugin set is driven by Config.in (lan_import, route_modifier, mpr, etc. as compile-time options folded into the single static binary), oonf-init-scripts ships two sourced shell helpers to /lib/functions/, and oonf-olsrd2 carries the procd init + hotplug + a default UCI config. Happy to align on what the default-enabled plugin set should be before I resubmit, so we don't bring back anything stale. |
d308f19 to
e2f7443
Compare
|
Pushed a cleaned-up version treating this as a fresh package per your suggestion, rather than a revert. Summary of changes: dropped the PKG_BUILD_DIR override, kernel.mk include, redundant VERSION lines, and the oonf-git/template indirection; added SPDX headers, PKG_MAINTAINER, PKG_LICENSE; switched URLs to https; fixed install macros (INSTALL_DIR + INSTALL_CONF for the config file); reset PKG_RELEASE to 1; added dependencies. Replaced the test-version.sh skip with a real check. Fixed several pre-existing bugs in oonf_init.sh that Copilot caught. I built and validated everything in QEMU on the x86-64 snapshot target: the package installs, jshn resolves as a dependency, olsrd2 reports the pinned commit, and the ignore-section logic works correctly. Details in the per-line replies. |
Reinstates oonf-olsrd2 and its oonf-init-scripts dependency, removed in 58070aa. The two issues that motivated removal are fixed in current OONF master: - GCC 14 -Wint-conversion in os_system_linux.c: master uses designated initializers for struct msghdr. The fix existed on develop and landed on master in the 2025-12 develop->master merge. - CMake 4.x: root CMakeLists.txt now sets cmake_minimum_required 3.10. Bumps the source pin from the stale 2022-08-25 commit to master b2164126 (2025-12-04), bumps PKG_RELEASE, and drops 100-enable-lan-import-plugin.patch, which upstream has absorbed (lan_import is now in src/olsrv2/CMakeLists.txt). Modernizes both Makefiles: SPDX headers, PKG_MAINTAINER, PKG_LICENSE, https URLs, idiomatic install macros, and PKGARCH:=all for the architecture-independent oonf-init-scripts. Replaces the test-version.sh skip with a real check against the pinned commit. Fixes pre-existing bugs in oonf_init.sh (undefined index in the ignore path, hardcoded pidfile, stray debug output) and corrects the hotplug handler to invoke the init script directly instead of sourcing rc.common. Verified: clean build across CI architectures and runtime validation in QEMU on x86-64 (package install, dependency resolution, version reporting, and ignore-section handling). Signed-off-by: Matthias Tarasiewicz <mt@riat.at>
83de819 to
6c1d2c4
Compare
Summary
Reinstates
oonf-olsrd2(and itsoonf-init-scriptsdependency), which were removed in #1145. The two issues that motivated the removal are both fixed in current OONF master, and I've verified a clean build.Why this is safe now
The removal in #1145 cited three problems. Status of each:
-Wint-conversion(radio and proxy can not be compiled with GCC 14 (error: initialization of 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]) OLSR/OONF#71): fixed upstream. Thestruct msghdrinitializers insrc/base/os_linux/os_system_linux.cnow use designated initializers, which skip musl's padding fields. The fix existed on thedevelopbranch and only reachedmasterin the 2025-12develop→masterreconciliation, which is why the old 2022 pin never had it.CMakeLists.txtnow setscmake_minimum_required(VERSION 3.10 FATAL_ERROR), above the 3.5 floor CMake 4.x enforces.masterbranch (notice dated 2025-12-04).What this PR changes
2022-08-25commit to masterb2164126e12340f19ea33070e1e11eb469a051e5(2025-12-04), with a refreshedPKG_MIRROR_HASH.PKG_RELEASE.100-enable-lan-import-plugin.patch. Upstream has absorbed it:add_subdirectory(lan_import)is already present insrc/olsrv2/CMakeLists.txt, so the patch no longer applies and is redundant.No source code changes and no plugin-list changes were needed.
Verification
Clean build and
PKG_MIRROR_HASHverification with the OpenWrtx86-64gcc-14.3.0_muslSDK (snapshots). x86-64 is 64-bit musl, the same ABI condition that triggered the original-Wint-conversionfailure, so the build exercises the relevant code path. No-Wint-conversionand no CMake minimum-version error.Scope
This PR covers
oonf-olsrd2only. The DLEP packages (oonf-dlep-radio,oonf-dlep-proxy) were the actual subjects of OLSR/OONF#71 and remain removed; they can follow in a separate PR once each is build-tested individually.@XDjackieXD noted intent to re-add the packages in #1145.