mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
The previous commit named the .deb reasonix-studio so dpkg would upgrade an installed Studio rather than hold a second one beside it. That made a worse bug reachable than the one it fixed: dpkg removes files the old package owned and the new one does not, so an upgrade would have taken /usr/lib/reasonix-studio/reasonix-studio-update-helper with it. Linux self-update would then refuse by name -- correctly, "helper missing" -- on every attempt, forever, on a machine that had it working before. The path is not a choice. The polkit action annotates exec.path with it, so authorization is granted for that helper and no other; shipping it anywhere else is the same as not shipping it. It is also the path the Wails package owned, so one destination answers both the policy and the upgrade. electron-builder places nothing at an absolute system path without fpm arguments, so deb.fpm carries the helper and the policy, and packaging/linux-payload.js stages the helper where those arguments look. It is a no-op off Linux: a helper built for another platform would be found by fpm and shipped. --deb-user root is stated rather than left to fpm's default. What fpm records for -s dir is a property of the machine that ran the build, and polkit will not execute a helper the invoking user could have written -- a CI runner's uid on that file is a package that installs and then refuses. Read out of app-builder-lib rather than assumed: electron-builder passes --deb-compression and nothing about ownership. The policy moved to desktop/packaging/linux/. It was under desktop/next/build/, which section 6 deletes when Wails retires -- a file the new shell needs cannot sit where the old one's removal takes it. The gate reads a real package. dpkg-deb answers the name, and the helper's path, mode and owner, and whether the policy is there at all; both of the failures above are ones that install cleanly and say nothing until a user asks for an update. It has not run: no .deb has been built here, and neither has an upgrade over an installed Wails one. Checked locally: the payload script no-ops on win32, and the helper cross-builds for linux CGO-free.