mirror of
https://github.com/Klipper4FlashForge/firmware.git
synced 2026-10-23 05:42:17 -05:00
The reversibility claim was the strongest promise in the README and a40bc86
quietly invalidated it. Moonraker is not in the update package -- it ships only
on the factory image -- and run-append.sh deletes the stock tree it moved aside
once the copy succeeds. So a stock reflash cannot restore it and nothing local
can either. README and how-it-works now say so plainly, with BUILD_MOONRAKER=0
as the way to opt out and the ssh one-liner that repairs an interrupted swap.
Per the decision taken, the swap itself is left as it is.
Two claims that rested on it are corrected rather than repeated:
bin/common.sh no longer offers a stock reflash as a whole uninstall, and
testing.md's test-recovery row says which three files it actually compares
instead of "back to stock byte-for-byte".
Moonraker was also missing from eight doc surfaces that still described a
two-asset world: the pipeline box, the third-party section and its bump recipe,
MOONRAKER_TGZ as a local-copy override, the versions.env line in the layout
tree, `make vendor`'s help and the comment above it, config.env.example, the CI
step name, and printer-replica's "genuine from the factory image" list.
Other cross-document contradictions found this pass:
* versions.env carried the same wrong bump recipe that was fixed in
building.md last pass -- it needs the sha256 set to SKIP first.
* docs/building.md said `make build` is "all four" while listing five scripts;
build.sh does not run verify.sh.
* toolchange.md's image resolved to docs/docs/molten-toolhead.jpg -- broken on
GitHub -- and still said ff-legacy.cfg is included "only for the import step,
then remove", which printer.base.cfg contradicts.
* hardware-testing.md stated the random root password unconditionally, in the
one document a person reads while standing at the machine.
* notes 30 and 00 kept claims their siblings now contradict (servo_min/max,
motor_value), and 47 pointed at a note that does not exist.
* "nozzle-to-eddy-trigger gap" survived in two places after being corrected in
a third; the station is not the eddy coil.
* ff-toolchange.cfg's restore_axis note had the hazard backwards -- parking
zeroes X and Y, not Z -- and called `xy` the default when the option is unset.
54 passed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
43 lines
2.3 KiB
Bash
43 lines
2.3 KiB
Bash
# Pinned third-party payload pieces.
|
|
#
|
|
# These are NOT vendored in the repo: bin/fetch-assets.sh downloads them into
|
|
# vendor/ (gitignored) and refuses anything whose sha256 does not match. Bump
|
|
# a version here and the next build picks it up; the old file stays cached.
|
|
#
|
|
# To bump: edit the version -- for HelixScreen that means HELIX_FILE too,
|
|
# which embeds it -- set the matching sha256 to SKIP, then run
|
|
# `make vendor`. It prints the real hash to paste back over SKIP.
|
|
# With a stale hash left in place fetch-assets.sh exits 1 instead of
|
|
# printing anything.
|
|
|
|
MAINSAIL_VERSION="v2.18.2"
|
|
MAINSAIL_SHA256="df2ba7c301f7bfc8ac9f122741a6ba08356d679ecfa1f62f898d0337802d5de5"
|
|
|
|
HELIX_VERSION="v0.99.115-creator5.1"
|
|
HELIX_FILE="helixscreen-creator5-v0.99.115.tar.gz"
|
|
HELIX_SHA256="7205738ca8ccb0aa9a95262506a87283712ab5544ce4abdbcbee571f51395a61"
|
|
|
|
# Moonraker. The stock one is a 2022 build (API 1.0.5) that predates the
|
|
# webcam "enabled" flag that modern Mainsail requires -- see bin/patch.sh.
|
|
#
|
|
# A COMMIT, NOT A RELEASE, and not a matter of taste. FlashForge built python
|
|
# 3.8.2 WITHOUT the _sqlite3 module and shipped no libsqlite3 anywhere on the
|
|
# printer, so every Moonraker from v0.9.0 onward dies at startup with
|
|
# "ModuleNotFoundError: No module named '_sqlite3'" -- v0.9.0 is where the
|
|
# database moved from lmdb to sqlite. The last release that still uses lmdb is
|
|
# v0.8.0, and that one predates the webcam flag. No release has both, so this
|
|
# pins the newest commit that has the webcam fix and still uses lmdb: 9d0d09d,
|
|
# 2023-12-05, the commit before 80c7620 "database: migrate from lmdb to
|
|
# sqlite". lmdb 1.3.0 is installed, so the existing database is read in place
|
|
# and nothing is converted.
|
|
#
|
|
# Before moving this pin: the blocker is native modules, not the python
|
|
# version (Moonraker still supports >=3.7). Check every dependency of a newer
|
|
# build against what is actually in Python-3.8.2/lib/python3.8/lib-dynload and
|
|
# site-packages on the factory image -- a missing C extension is fatal and a
|
|
# pure-python one is not. run-append.sh also import-tests the tree on the
|
|
# printer before swapping it in, so a mistake here refuses to install rather
|
|
# than leaving the machine without a web UI.
|
|
MOONRAKER_VERSION="9d0d09de8063922696359c1b88c86a86d6fdb296"
|
|
MOONRAKER_SHA256="6ddcba08a1a41f173fc6ee393a24e41f27b25f079e7c49921b87273ecff595a8"
|