- Build opencode 1.19.5 from source for openEuler 24.03 LTS SP4 x86_64 - Fetch upstream source from a GitHub proxy at build time; use Huawei Cloud Node/Bun/npm mirrors; switch ghostty-web to the published 0.3.0 package - Make the build work offline: the COPR project disables network access during builds (enable_net=false), so the GitHub source proxy, the Huawei Cloud Node/Bun mirrors and the npm install step in %prep/%build all failed with "no source mirror was reachable" - Package the upstream-published standalone linux-x64 release artifact, which already embeds the CLI, the Web UI and the Bun runtime (spec-rules-nodejs: TypeScript monorepo without a prebuilt dist/ tree cannot be compiled from source in the openEuler chroot) - Reference the full immutable upstream release URL for Source0, ship the upstream LICENSE as Source1, and verify Source0 against its recorded sha256 - Drop the models.dev snapshot that was only consumed by the removed in-tree build - Build opencode 1.19.5 from source for openEuler 24.03 LTS SP4 x86_64 - Fetch upstream source from a GitHub proxy at build time; use Huawei Cloud Node/Bun/npm mirrors; switch ghostty-web to the published 0.3.0 package - Make the build work offline: the COPR project disables network access during builds (enable_net=false), so the GitHub source proxy, the Huawei Cloud Node/Bun mirrors and the npm install step in %prep/%build all failed with "no source mirror was reachable" - Package the upstream-published standalone linux-x64 release artifact, which already embeds the CLI, the Web UI and the Bun runtime (spec-rules-nodejs: TypeScript monorepo without a prebuilt dist/ tree cannot be compiled from source in the openEuler chroot) - Reference the full immutable upstream release URL for Source0, ship the upstream LICENSE as Source1, and verify Source0 against its recorded sha256 - Drop the models.dev snapshot that was only consumed by the removed in-tree build