rea/scripts/verify-real-hopper-linux.mjs

23 lines
848 B
JavaScript

import { access } from "node:fs/promises";
import { execFile } from "node:child_process";
import { promisify } from "node:util";
const execFileAsync = promisify(execFile);
if (process.platform !== "linux")
throw new Error("Linux real-Hopper verification must run on Linux");
const launcher = process.env.HOPPER_LAUNCHER_PATH ?? "/opt/hopper/bin/Hopper";
await access(launcher);
const linked = await execFileAsync("ldd", [launcher]);
if (`${linked.stdout}\n${linked.stderr}`.includes("not found"))
throw new Error("Hopper has unresolved shared-library dependencies");
if (
process.env.DISPLAY === undefined &&
process.env.WAYLAND_DISPLAY === undefined
)
throw new Error(
"Linux real-Hopper verification requires DISPLAY or WAYLAND_DISPLAY",
);
process.env.HOPPER_LAUNCHER_PATH = launcher;
await import("./verify-real-hopper.mjs");