ampere: apply lmcp v1.2.1 cutover (tools.d/ migration) #23

Open
opened 2026-05-18 05:16:07 +00:00 by marfrit · 0 comments
Owner

Follow-up to closed issue #22. ampere (CoolPi GenBook RK3588) still runs the pre-1.2.1 fork-and-drift pattern: a local /opt/lmcp/server.lua override that hand-merged fetch + web_search tools instead of using the packaged copy. After v1.2.1 cutover the tools migrate to tools.d/ plugins, override goes away, future apt upgrade lmcp deliveries land cleanly.

Pre-staging needed (when ampere is up)

  • Audit /opt/lmcp/ for existing overrides + identify ampere-specific tools to migrate (likely just fetch + web_search, but check)
  • Lift any ampere-specific tools into /opt/lmcp/tools.d/ampere.lua plugin shape (analogous to hertz.lua, 9756 bytes)
  • Verify with lua5.4 -e "dofile(/opt/lmcp/tools.d/ampere.lua)" syntax check

Cutover sequence (mirror of hertz, ~1 minute hands-on)

# 1. Upgrade to v1.2.1
sudo pacman -Syu lmcp     # ALARM
# OR: sudo apt update && sudo apt install lmcp  (if ampere on Debian variant)
pacman -Q lmcp            # confirm 1.2.1

# 2. Rewrite /etc/systemd/system/lmcp.service:
#    ExecStart=/usr/bin/lua5.4 /usr/share/lua/5.4/server.lua
#    Environment=LMCP_NAME=ampere-tools
#    Environment=LMCP_HOST=192.168.88.115   # or .80, check actual
#    Environment=LMCP_PORT=8080
#    Environment=LMCP_CONF=/opt/herding/etc/ampere-tools.conf
#    Environment=LMCP_TOOLS_DIR=/opt/lmcp/tools.d

# 3. Archive override
sudo mv /opt/lmcp/server.lua /opt/lmcp/server.lua.pre-tools.d.bak.$(date +%Y%m%d)

# 4. Restart + verify
sudo systemctl daemon-reload && sudo systemctl restart lmcp
systemctl is-active lmcp
# Expect tools/list to show 9 packaged + N ampere-specific (likely 9 + 0 = 9 if no ampere-specific tools beyond what is packaged)

Blocker

ampere is a laptop without remote wake (no WoL/IPMI/smart-plug power-cycle on the ampere DECT outlet). Needs physical lid-open + login. Last verified powered-off 2026-05-18 ~03:00 (per shutdown sequence after the data + nuccies poweroff).

Low priority — fetch/web_search are now available via hertz-tools (closes the user-facing symptom). ampere just runs lmcp internally; clean-up is for pattern hygiene + future-proofing against override drift.

References: issue #22 (closed 2026-05-18 by hertz cutover), marfrit-packages PR #25 (lmcp 1.2.1, merged).

Follow-up to closed issue #22. ampere (CoolPi GenBook RK3588) still runs the pre-1.2.1 fork-and-drift pattern: a local `/opt/lmcp/server.lua` override that hand-merged `fetch` + `web_search` tools instead of using the packaged copy. After v1.2.1 cutover the tools migrate to `tools.d/` plugins, override goes away, future `apt upgrade lmcp` deliveries land cleanly. ## Pre-staging needed (when ampere is up) - [ ] Audit `/opt/lmcp/` for existing overrides + identify ampere-specific tools to migrate (likely just `fetch` + `web_search`, but check) - [ ] Lift any ampere-specific tools into `/opt/lmcp/tools.d/ampere.lua` plugin shape (analogous to hertz.lua, 9756 bytes) - [ ] Verify with `lua5.4 -e "dofile(/opt/lmcp/tools.d/ampere.lua)"` syntax check ## Cutover sequence (mirror of hertz, ~1 minute hands-on) ```sh # 1. Upgrade to v1.2.1 sudo pacman -Syu lmcp # ALARM # OR: sudo apt update && sudo apt install lmcp (if ampere on Debian variant) pacman -Q lmcp # confirm 1.2.1 # 2. Rewrite /etc/systemd/system/lmcp.service: # ExecStart=/usr/bin/lua5.4 /usr/share/lua/5.4/server.lua # Environment=LMCP_NAME=ampere-tools # Environment=LMCP_HOST=192.168.88.115 # or .80, check actual # Environment=LMCP_PORT=8080 # Environment=LMCP_CONF=/opt/herding/etc/ampere-tools.conf # Environment=LMCP_TOOLS_DIR=/opt/lmcp/tools.d # 3. Archive override sudo mv /opt/lmcp/server.lua /opt/lmcp/server.lua.pre-tools.d.bak.$(date +%Y%m%d) # 4. Restart + verify sudo systemctl daemon-reload && sudo systemctl restart lmcp systemctl is-active lmcp # Expect tools/list to show 9 packaged + N ampere-specific (likely 9 + 0 = 9 if no ampere-specific tools beyond what is packaged) ``` ## Blocker ampere is a laptop without remote wake (no WoL/IPMI/smart-plug power-cycle on the ampere DECT outlet). Needs physical lid-open + login. Last verified powered-off 2026-05-18 ~03:00 (per shutdown sequence after the data + nuccies poweroff). Low priority — fetch/web_search are now available via hertz-tools (closes the user-facing symptom). ampere just runs lmcp internally; clean-up is for pattern hygiene + future-proofing against override drift. References: issue #22 (closed 2026-05-18 by hertz cutover), marfrit-packages PR #25 (lmcp 1.2.1, merged).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marfrit/lmcp#23