• exec/install-xtrn.js

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Dec 31 20:49:37 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c9fdbc4efed68a20b73b2d81
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Document the [event] xtrn key

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Jan 29 23:16:50 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e92b4873ff127eb7e1b2f51a
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Add support for [copy:filename] sections to install-xtrn.ini files

    This allows us to, for example, copy settings.example.ini to settings.ini during installation.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sun Sep 13 17:18:13 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fe67561ea4e2d9a86327d819
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    install-xtrn.js: use absolute install dir for file access (#1231)

    The startup_dir made relative to ctrl_dir in c4ecdec8b7b was also used
    for js.exec, [copy:], and [ini:] file access, which resolve against the
    current working directory. When ctrl_dir is reached via a symlink (e.g.
    /sbbs -> /opt/sbbs), getcwd() returns the physical path, so the lexically calculated relative path (../../opt/sbbs/xtrn/syncdoom/) pointed to a non-existent location and [pre-exec:get-binary.js] failed with "Script
    file (get-binary.js) does not exist".

    Use an absolute install_dir for file access, keeping the relative
    startup_dir for values written to config files (including [ini:] values
    and [eval:] strings that reference startup_dir).

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sun Sep 13 17:18:13 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8981051fd4e83a3b8fb1201a
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    install-xtrn.js: resolve relative install paths against ctrl_dir

    A relative path argument (e.g. ../xtrn/syncdoom, as documented) was made absolute using getcwd(), which returns the physical path, while
    system.ctrl_dir may be spelled via a symlink (/sbbs vs /opt/sbbs). The
    relative startup_dir calculated from the two was then anchored to the
    physical path (../../opt/sbbs/xtrn/syncdoom/), which isn't portable and resolves to the wrong directory if the BBS is run with the other spelling
    of ctrl_dir.

    Try a relative path against system.ctrl_dir first, falling back to the
    current working directory if it doesn't exist there.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Sep 13 19:14:28 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e3628953f76c2fea758f827a
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    install-xtrn.js: only resolve against ctrl_dir if the .ini is found there

    8981051fd4 (tent-11-ends, 2026-09-13) preferred a relative install path resolved against ctrl_dir whenever that path existed there, even as a
    directory with no install-xtrn.ini in it. Since '.' (and '..') always exist
    in ctrl_dir, "jsexec -C install-xtrn ." run from a door's directory then
    looked for ctrl/install-xtrn.ini and failed with "does not exist".

    Resolve against ctrl_dir only if the .ini file itself exists there,
    otherwise fall back to the current working directory as before.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net