CircuitForge node bootstrap/installer, forked from PRbL-bashrc
Find a file
pyr0ball bc9d1e564f fix: stop double-executing git clone / setup hooks via run()
run() re-splits its argument as a bare string with no eval, so any
call like run "git clone \"$url\" \"$dir\"" corrupts the quoted
arguments (embedded escaped quotes survive as literal characters,
e.g. git sees the protocol as '"https). Each of the 4 affected call
sites papered over this by following run() with a second, correctly
quoted manual execution of the same command - meaning every real run
double-executed (git clone twice, pip install -e twice, conda env
create twice), with the first, corrupted attempt's failure masked by
the working second attempt.

Fixed by dropping run() at these sites entirely and gating on
$dry_run directly with a single, properly quoted real execution path
(matches the pattern already used in the new model-cache-redirect
extra):
- lib/cf-apps.functions: install-cf-app's clone, provision-orchard-node's clone
- cf-apps/circuitforge-core.manifest: pip install -e setup hook
- cf-apps/kiwi.manifest: conda env create setup hook

Verified on sif via a scratch-dir harness (install-cf-app
circuitforge-core): first run now clones cleanly with no mangled-URL
error, second run correctly skips the clone and re-runs the
idempotent pip install; state.conf stays single-entry across both.
2026-07-18 22:12:05 -07:00
cf-apps fix: stop double-executing git clone / setup hooks via run() 2026-07-18 22:12:05 -07:00
extras feat: add model-cache-redirect extra for /devl-topology nodes 2026-07-18 17:13:52 -07:00
lib fix: stop double-executing git clone / setup hooks via run() 2026-07-18 22:12:05 -07:00
PRbL@7b63dbca46 fix: locale/unicode compatibility in quickinfo, bump PRbL submodule 2026-07-17 16:01:31 -07:00
scripts chore: repoint PRbL submodule to Circuit-Forge fork, add mediatools 2026-07-17 11:48:38 -07:00
.gitignore added logs to gitignore 2023-05-09 15:38:59 -07:00
.gitmodules chore: repoint PRbL submodule to Circuit-Forge fork, add mediatools 2026-07-17 11:48:38 -07:00
functions fixed symlink and script permissions 2022-10-28 10:28:02 -07:00
install.sh feat: interactive CF Apps install menu with oem/collaborator/orchard profiles 2026-07-17 20:42:21 -07:00
README.md Update README.md 2023-08-11 01:41:01 -07:00
scriptexample.sh fixed dos line-endings 2022-03-23 14:22:49 -07:00

Pyr0ball's Reductive [bash] Library Auto-Installer


This installer depends on PRbL and should be cloned recursively:

git clone --recurse-submodules https://github.com/pyr0ball/PRbL-bashrc.git
cd PRbL-bashrc/
./install.sh -i

This installer sets up a number of bash-enhancing features:

  • Easy access to easy-to-use functions in bash scripting (check out ./PRbL/demo.sh for details)
  • A pluggable environment configuration via ~/.bashrc.d/
  • An informative terminal login splash page

Currently this installer only handles bash-like environments.

Planned features:

  • Expanded automatic OS detection and package handling
  • Modular login splash page