You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
zi module -B / .zi-build-module (both main and next) hardcodes an
autotools build (./configure && make) for zpmod. zpmod's develop
branch (open as zpmod#61, CI
green, mergeable: CONFLICTING against main) has fully replaced that build
system with CMake — there is no configure script and no top-level Makefile on develop at all.
If zpmod:develop is promoted to zpmod:main before zi's build-module code
is updated, zi module -B (and its main-branch equivalent zi module build) will break for every user on first use.
Then, with the same zmodules/zpmod checkout switched to develop:
-- ./configure --
.zi-module:50: no such file or directory: ./configure
-- make --
Build failed…
Evidence
zpmod:develop (7add133, 159 commits ahead of main) builds cleanly via scripts/cmake.configure.zsh --generator make --build-type Release --ctest
and its full CTest suite passes 100% (37/37 tests) — the migration itself is
sound.
zi's .zi-build-module (lib/zsh/autoload.zsh, both main and next)
only ever runs ./configure && make; there is no CMake-aware path.
Before promoting next → main, or before zpmod#61 merges (whichever
lands first), give .zi-build-module a CMake-aware path (e.g. detect CMakeLists.txt at the module root and shell out to scripts/cmake.configure.zsh, falling back to ./configure && make only
when a legacy configure script is present), and add a smoke test that
actually zmodloads the built module rather than only checking that the
build step exits 0.
Summary
zi module -B/.zi-build-module(bothmainandnext) hardcodes anautotools build (
./configure && make) forzpmod.zpmod'sdevelopbranch (open as zpmod#61, CI
green,
mergeable: CONFLICTINGagainstmain) has fully replaced that buildsystem with CMake — there is no
configurescript and no top-levelMakefileondevelopat all.If
zpmod:developis promoted tozpmod:mainbeforezi's build-module codeis updated,
zi module -B(and itsmain-branch equivalentzi module build) will break for every user on first use.Repro
Then, with the same
zmodules/zpmodcheckout switched todevelop:Evidence
zpmod:develop(7add133, 159 commits ahead ofmain) builds cleanly viascripts/cmake.configure.zsh --generator make --build-type Release --ctestand its full CTest suite passes 100% (37/37 tests) — the migration itself is
sound.
zi's.zi-build-module(lib/zsh/autoload.zsh, bothmainandnext)only ever runs
./configure && make; there is no CMake-aware path.gate on unrelated
z-shell/zddependencies and don't cover this gap).Ask
Before promoting
next→main, or beforezpmod#61merges (whicheverlands first), give
.zi-build-modulea CMake-aware path (e.g. detectCMakeLists.txtat the module root and shell out toscripts/cmake.configure.zsh, falling back to./configure && makeonlywhen a legacy
configurescript is present), and add a smoke test thatactually
zmodloads the built module rather than only checking that thebuild step exits 0.
Type of change
fix— bug fix (non-breaking, forward-compatibility gap)