Skip to content

LintabOS 0.3.5

Pre-release
Pre-release

Choose a tag to compare

@jgm240 jgm240 released this 03 Oct 13:43
· 12 commits to main since this release

LintabOS 0.3.5 (pre-release)

Bug fix, and a direct result of 0.3.4 working as intended: a user's tablet reported "sfdisk doesn't exist or it can't
find it"
— the real error 0.3.4's fix surfaced instead of LinWinMod silently hanging.

The cause

sfdisk, blkid, mount, and the rest of the partitioning tools live in /sbin or /usr/sbin. sudo and pkexec
add those directories to PATH for anything that elevates to root first — which is every other place in LintabOS that
touches disks: the installer, Remove LintabOS. LinWinMod's disk scan is the one place that deliberately runs
unprivileged (it's read-only, so it shouldn't need a password just to open the app), and a plain desktop session's
PATH often does not include /sbin or /usr/sbin at all. sfdisk really was installed; subprocess.run(["sfdisk", ...])
just couldn't find it by name.

The fix

disks.run() — the one helper every partitioning module (disks.py, plan.py, and now winfiles.py's blkid lookup)
already goes through — now resolves a tool's full path before running it: the inherited PATH first, then the usual
sbin directories as a fallback. Verified by reproducing the exact failure (a PATH with no sbin directories at all) in
the builder container and confirming sfdisk now resolves to /usr/sbin/sfdisk and runs. All 18 real loop-device
partitioner tests (dual-boot, shrink, Remove LintabOS) still pass against real sfdisk/ntfsresize, and 7 new tests
cover the resolution logic itself.

Files: lintabos-0.3.5-amd64.iso, lintabos-core_0.3.5_all.deb + .minisig, SHA256SUMS.