Files
fruix/docs/recovery_2.md

6.6 KiB
Raw Permalink Blame History

Yes — there are useful recovery artifacts, especially in /tmp and /frx/store.

Best stuff I found

1. Generated shell scripts in /tmp

These are very helpful because they capture the rendered output of lost Scheme code.

Especially:

  • /tmp/fruix-installer-run.sh
  • /tmp/fruix-installer-apply.sh
  • /tmp/fruix-installer-rc.sh
  • /tmp/fruix-installed-fruix.sh

Those are gold for reconstructing:

  • installer launcher/dispatcher behavior
  • self-test flow
  • frontend/apply split
  • installed wrapper behavior
  • Newt-related environment wiring

Example: /tmp/fruix-installed-fruix.sh still clearly contains:

  • build-base
  • deploy
  • installer-tui
  • GUILE_NEWT_PREFIX
  • FRUIX_GUILE_NEWT_STORE
  • LTDL_LIBRARY_PATH

So a lot of the lost render.scm work is still recoverable from there.

────────────────────────────────────────────────────────────────────────────────

2. Validation workdirs in /tmp

There are lots of preserved run directories.

Most valuable:

Installer media / Newt / XCP-ng

  • /tmp/current-installer-media-self-test-xcpng-pass3
  • /tmp/current-installer-media-self-test-xcpng-debug*
  • /tmp/current-installer-media-self-test-xcpng-fix*

These contain:

  • metadata
  • debug logs
  • generated declarations
  • installer outputs

Key file:

  • /tmp/current-installer-media-self-test-xcpng-pass3/installer-media-self-test-xcpng-metadata.txt

That preserves the successful real validation result.

Installed console defaults

  • /tmp/current-installed-console-defaults-qemu3
  • /tmp/current-installed-console-defaults-xcpng3

These contain:

  • generated declarations
  • metadata proving the getty/default-console behavior

Key file:

  • /tmp/current-installed-console-defaults-xcpng3/installed-console-defaults-xcpng-metadata.txt

That preserves the successful real XCP-ng console-default validation.

────────────────────────────────────────────────────────────────────────────────

3. Package build outputs are still in /frx/store

The package work is not in git anymore, but the built package outputs still exist:

  • /frx/store/0d75ed1b2220ced7766a72ff72f0908d8683d2e6-freebsd-ripgrep-15.1.0_4
  • /frx/store/4e91ae1c446a61f5056165c73db0a0018378dbe9-freebsd-tmux-3.6a
  • /frx/store/9484fd141436bc6e0d6fa19a7a14a360ece3be42-freebsd-nodejs-24.14.0_2
  • /frx/store/a445350b103e45a6841045bb190e50063edfe6a8-freebsd-npm-11.11.0
  • /frx/store/21da570210730ef32025c4010eca138a37b53dc6-freebsd-neovim-0.12.0

And importantly, their manifests are still there:

  • .../.fruix-package

Those manifests preserve enough to reconstruct package definitions pretty well:

  • package name
  • version
  • build system
  • input store paths
  • install-plan signatures

So the package work is not fully lost.

────────────────────────────────────────────────────────────────────────────────

4. Relevant system closures are still in /frx/store

Useful recovery closures include:

Console-default system closures

  • /frx/store/8f615a0413ec2ad8596055e18b69795e9d37a2f3-fruix-system-fruix-console-defaults
  • plus older variants

These preserve:

  • /etc/ttys
  • /boot/loader.conf
  • generated installed Fruix wrapper
  • actual realized output of the lost console/default logic

Installer / Newt closures and ISOs

  • /frx/store/1616e555f705ae2f6be8a7c671d382afa5346535-fruix-guile-newt-0.0.3
  • various fruix-system-fruix-installer-self-test*
  • various fruix-installer-iso-fruix-installer-self-test-installer

Those preserve the actual built results of the lost integration work.

────────────────────────────────────────────────────────────────────────────────

Less useful, but still maybe helpful

/var/tmp

I only found one notable thing:

  • /var/tmp/fruix-freebsd-native-build-f2b94d7bfd1feb56a1c597f15a3a2d527653d5571f7a9dc50c47f94cf9758db8

This looks like native-build staging/log output. Useful for native-base archaeology, but not the main recovery source for the lost installer/package work.

────────────────────────────────────────────────────────────────────────────────

What I did not find

I do not currently see:

  • another full up-to-date checkout
  • another git repo with the lost commits
  • an obvious source backup of the lost modules/... files
  • hidden extra git objects preserving the lost local commits

So this is not a simple “recover the repo” situation.

────────────────────────────────────────────────────────────────────────────────

Best recovery sources now

If we want to reconstruct efficiently, Id prioritize:

Source reconstruction from /tmp

  • /tmp/fruix-installed-fruix.sh
  • /tmp/fruix-installer-run.sh
  • /tmp/fruix-installer-apply.sh
  • /tmp/fruix-installer-rc.sh

Behavioral truth from /frx/store

  • console-default system closure(s)
  • installer self-test closure(s)
  • package outputs + .fruix-package

Validation truth from /tmp/current-*

  • current-installer-media-self-test-xcpng-pass3
  • current-installed-console-defaults-qemu3
  • current-installed-console-defaults-xcpng3

────────────────────────────────────────────────────────────────────────────────

My recommendation

Yes, these are worth preserving immediately before we do anything else.

Id suggest we first copy/tar:

  • the key /tmp workdirs and generated scripts
  • the relevant /frx/store paths list
  • maybe the one /var/tmp/fruix-freebsd-native-build-* dir

That would give us a solid recovery bundle.

If you want, I can do exactly that next:

  1. collect the useful artifacts into a rescue directory
  2. write an inventory file
  3. then start reconstructing the lost code from them.