• exec/install-xtrn.js

    From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Mon Dec 7 21:26:22 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/bda6ea968ff7c7111c652fb5
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Support 2 new section types: pre-exec and pre-evalJust like the exec and eval sections, except executed/evaluated *before*any external programs are installed.New optional 'fail' key to specify a custom failure message.Example:[pre-eval:file_exists(startup_dir + 'test.txt')]prompt = falserequired = truefail = You must create text.txt before you can install.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Michael Long@1:103/705 to Git commit to main/sbbs/master on Thu Jan 14 22:11:41 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/051daaed6dc76f127f5125d6
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Update install-xtrn.js, make it apparent that debug mode does not install the door. Also do not recycle in debug mode (nothing was installed).
    --- SBBSecho 3.12-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Thu Jan 14 22:11:41 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/c8d1940e94107d2fc4eb18c0
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Merge branch 'mlong/installxtrndebug' into 'master'Update install-xtrn.js, make it apparent that debug mode does not install the...See merge request main/sbbs!76
    --- SBBSecho 3.12-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 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>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 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>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 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>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)