Dead code cleanup: orphaned cross/native packages and broken diyspk dependencies
framework
## Description :
A reachability analysis of the dependency graph (BFS from all `spk/`, `diyspk/` and `python/` entry points plus framework references in `mk/`, following non-commented `DEPENDS`/`BUILD_DEPENDS`/`OPTIONAL_DEPENDS`/`NATIVE_DEPENDS` and `$(*_PACKAGE)` indirections) identified packages whose sources are kept but no longer referenced by anything, plus a few broken references.
## Removal candidates — cross/
- [ ] `cross/xmlrpc-c` — rtorrent builds with `--with-xmlrpc-tinyxml2` since the ruTorrent 5.2.10 update (#6810); no consumer left
- [ ] `cross/glibmm` + `cross/glibmm-2.66` + `cross/glibmm-latest` — entire family (meta + variants) unreferenced
- [ ] `cross/glibc` + `cross/glibc-2.28` + `cross/glibc-latest` — entire family unreferenced (only a commented-out `DEPENDS` in the meta mentions it); to be confirmed it is not kept as sysroot tooling
- [ ] `cross/libidn` — superseded by `cross/libidn2` (alive); untouched since 2020
- [ ] `cross/isl` — former gcc/synocli-devel dependency, no reference left
- [ ] `cross/cppunit` — unreferenced, untouched since 2021
- [ ] `cross/alsa-oss` — orphaned by the 2023 alsa rework (#5656)
- [ ] `cross/zlib-ng` — never referenced by anything
- [ ] `cross/libmediainfo` — the **meta only**; variants `libmediainfo-25.04` `libmediainfo-latest` remain alive via `cross/mediainfo-*` → `spk/mediainfo`
## Removal candidates — native/
- [ ] `native/yasm` — zero references (even in comments), `native/nasm` is what builds use; untouched since 2021
## diyspk
- [ ] `diyspk/fritzctl` — remove: depends on `cross/fritzctl` which no longer exists, cannot build at all
- [ ] `diyspk/bind` — fix (not remove): `OPTIONAL_DEPENDS = cross/bind cross/bind_9.16` references the removed `cross/bind` and misses `cross/bind_9.18` / `cross/bind_9.20` (see `spk/synocli-net` for the correct list)
## NOT dead — keep (maintainer tooling)
`native/llvm-140`, `native/llvm-14.0-build`, `native/intel-opencl-clang-140`, `native/intel-vc-intrinsics`, `native/Khronos-{OpenCL-Headers,SPIRV-Headers, SPIRV-Tools,SPIRV-LLVM-Translator-140}` appear unreachable in the dependency graph but are the build recipes that regenerate the prebuilt `native-llvm-14.0_*.txz` tarball consumed by `native/llvm-14.0` (intel-graphics-compiler / synocli-videodriver chain). A README in those directories would prevent a future cleanup from sweeping them away.
## Notes
- `cross/libstdc++` and `cross/libsigc++*` are false positives of a naive grep (the `+` needs escaping): they are alive via dotnet/jackett/lidarr/ombi and rtorrent/libtorrent-rakshasa respectively.
- Each candidate should be re-validated right before removal, the tree moves.
1 条评论