4f23e42cfd
Update to code-server 4.129.0, which bundles VS Code 1.129.0.
VS Code 1.129 changed how the built-in GitHub Copilot extension is
handled: it is now built from source during the reh-web build instead
of being fetched as a prebuilt VSIX. This requires a few build-time
workarounds:
- The copilot extension postinstall expects a platform package for the
host. A Copilot CLI SDK distfile is provided and placed as
@github/copilot-freebsd-x64 so the postinstall passes. GitHub Copilot
is closed-source and not usable on FreeBSD; this only lets the build
complete.
- The reh-web build calls ensureCopilotPlatformPackage(), which runs
"npm pack" and thus needs network access (unavailable in poudriere).
Providing @github/copilot-linux-x64 in remote/node_modules makes the
function find it locally and skip the network fetch.
- Copilot bundles prebuilt Linux rg/tgrep binaries. These are replaced
with native FreeBSD binaries from textproc/ripgrep and textproc/tgrep
so that no Linux ELF binaries ship in the package.
Additional changes:
- Add ONLY_FOR_ARCHS=amd64; only a linux-x64 vscode-reh-web distfile is
provided.
- Drop test/* entries from VSCODE_NODE_MODULES; test suites do not
belong in the server package.
- Add a code_server_shell rc variable (default /bin/sh) so the built-in
terminal works when the service runs as nobody, whose login shell is
/usr/sbin/nologin.
- Fix ${PREFIX} expansion in pkg-message.
Sponsored by: Netzkommune GmbH
79 lines
2.4 KiB
Bash
79 lines
2.4 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: code_server
|
|
# REQUIRE: LOGIN NETWORKING DAEMON
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following line to /etc/rc.conf to enable code-server:
|
|
#
|
|
# code_server_enable="YES"
|
|
#
|
|
# Optional settings:
|
|
#
|
|
# code_server_run_user="nobody"
|
|
# code_server_run_group="nobody"
|
|
# code_server_config="%%PREFIX%%/etc/code-server/config.yaml"
|
|
# code_server_host="127.0.0.1"
|
|
# code_server_port="8080"
|
|
# code_server_auth="password"
|
|
# code_server_user_data_dir="/var/db/code-server/user-data"
|
|
# code_server_extensions_dir="/var/db/code-server/extensions"
|
|
# code_server_shell="/bin/sh"
|
|
# code_server_extra_args=""
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="code_server"
|
|
rcvar="code_server_enable"
|
|
|
|
load_rc_config "${name}"
|
|
|
|
: ${code_server_enable:="NO"}
|
|
: ${code_server_run_user:="nobody"}
|
|
: ${code_server_run_group:="nobody"}
|
|
: ${code_server_config:="%%PREFIX%%/etc/code-server/config.yaml"}
|
|
: ${code_server_host:="127.0.0.1"}
|
|
: ${code_server_port:="8080"}
|
|
: ${code_server_auth:="password"}
|
|
: ${code_server_user_data_dir:="/var/db/code-server/user-data"}
|
|
: ${code_server_extensions_dir:="/var/db/code-server/extensions"}
|
|
: ${code_server_shell:="/bin/sh"}
|
|
: ${code_server_extra_args:=""}
|
|
|
|
pidfile="/var/run/code-server/${name}.pid"
|
|
|
|
command="/usr/sbin/daemon"
|
|
procname="%%LOCALBASE%%/bin/node"
|
|
|
|
command_args="-f \
|
|
-p ${pidfile} \
|
|
-u ${code_server_run_user} \
|
|
/usr/bin/env \
|
|
HOME=/var/db/code-server \
|
|
XDG_DATA_HOME=${code_server_user_data_dir} \
|
|
XDG_CONFIG_HOME=$(dirname ${code_server_config}) \
|
|
XDG_CACHE_HOME=/var/db/code-server/cache \
|
|
SHELL=${code_server_shell} \
|
|
%%PREFIX%%/bin/code-server \
|
|
--config ${code_server_config} \
|
|
--host ${code_server_host} \
|
|
--port ${code_server_port} \
|
|
--auth ${code_server_auth} \
|
|
--user-data-dir ${code_server_user_data_dir} \
|
|
--extensions-dir ${code_server_extensions_dir} \
|
|
${code_server_extra_args}"
|
|
|
|
start_precmd="${name}_prestart"
|
|
|
|
code_server_prestart()
|
|
{
|
|
install -d -o ${code_server_run_user} -g ${code_server_run_group} -m 0750 /var/run/code-server
|
|
install -d -o ${code_server_run_user} -g ${code_server_run_group} -m 0750 /var/db/code-server
|
|
install -d -o ${code_server_run_user} -g ${code_server_run_group} -m 0750 /var/db/code-server/cache
|
|
install -d -o ${code_server_run_user} -g ${code_server_run_group} -m 0750 ${code_server_user_data_dir}
|
|
install -d -o ${code_server_run_user} -g ${code_server_run_group} -m 0750 ${code_server_extensions_dir}
|
|
install -d -o ${code_server_run_user} -g ${code_server_run_group} -m 0750 "$(dirname "${code_server_config}")"
|
|
}
|
|
|
|
run_rc_command "$1"
|