• exec/install-xtrn.js

    From rswindell@VERT to CVS commit on Fri Apr 17 14:41:35 2020
    exec install-xtrn.js 1.9 1.10
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv29847

    Modified Files:
    install-xtrn.js
    Log Message:
    'by' is an array not a scalar.
    Request sbbs recycle after completing install(s).



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sat Apr 18 19:09:02 2020
    exec install-xtrn.js 1.10 1.11
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv2728

    Modified Files:
    install-xtrn.js
    Log Message:
    Use full path for read/write .cnf files so that the cwd doesn't matter (in theory at least) and "jsexec -C" could be used to execute this script. Maybe.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Fri Apr 24 20:17:04 2020
    exec install-xtrn.js 1.12 1.13
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv20825

    Modified Files:
    install-xtrn.js
    Log Message:
    Insure the startup_dir ends in a slash/backslash. This is especially important for the json-service.ini "dir" key. The code that parses that value is not
    very tolerant of the absence of a trailing slash.



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sat Apr 25 23:58:46 2020
    exec install-xtrn.js 1.13 1.14
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv24728

    Modified Files:
    install-xtrn.js
    Log Message:
    Use relative paths for xtrn startup_dir directories. And forward-slashes.
    This makes the config files more portable/migratable.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Mon Sep 7 20:25:25 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/6ca89ae2b71d04793b14018a
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    If an external program section name exactly matches one of the categories ("Cats" list) make it a simple confirmation to choose it as the install location.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Tue Sep 8 00:37:35 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/2fd20c3ecec5e8ac6be66087
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Process "ini" sections before "service" sections.
    Allow a section to stop the install process by setting done=true
    or be the last of its install-type by setting last=true.
    These changes allow us to prompt whether to use remote JSON-db servers
    (e.g. bbs.electronicchicken.com) or to install/enable the JSON-db
    service locally, based on the sysop's choice.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Tue Sep 8 23:04:10 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/28848a37ded0a7126b9b44e1
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Catch and report exceptions thrown when calling eval() on .ini values.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Fri Sep 11 22:04:46 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/be4a88fa5640837b38c80c3a
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    When not using -auto, prompt for which xtrn/*/install-xtrn.ini file to install

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sat Sep 12 12:33:59 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/dcd3a7b91c2cf32b77414db3
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Fix bug in previous commit to this file
    find_startup_dir() returns an index, not a bool.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sun Sep 13 03:17:34 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/b6b4ee1d054f0b164ab194dc
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Fix the startup dir comparison (excluding already-installed doors).

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sun Sep 20 12:19:02 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/1a0292caa57bd58d9d09b2e5
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Allow additional installation target categories/sections per program

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sun Sep 20 19:19:26 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/dfe280023b96e77a9a125826
    Modified Files:
    exec/install-xtrn.js
    Log Message:
    Prioritize the order of install-target categories from the install-xtrn.ini

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT 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-eval

    Just 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 = false
    required = true
    fail = You must create text.txt before you can install.

    ---
    � 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 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) <[email protected]>

    ---
    � 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) <[email protected]>

    ---
    � 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) <[email protected]>

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