Finally up and running! So, I have some tools to make and enable "profiles", a group of extensions that will load (or not load) at next boot. Components:
* a few lines in tce-setup to search for a profile; bail to normal if there is no profile
* setprofile - a script to set what extension set/profile will boot next
* saveprofile, restoreprofile, linktc.sh - scripts for making an extension profile
* data in /profiles, a subdirectory of the main tce directory - stores profile lists (about 40k for my current lists and their symlinks, future state, current state, and error messages)
So ... I can pick a profile that will be enabled/disabled at next boot. I am using it to select from a few different setups:
* base
* build environment
* netbook
* default (load everything as normal by disabling profile)
I do love GRUB, but it's nice not to have to set up different GRUB entries and select them at boot time.
I guess this setup isn't philosophically tight - It relies on having data outside of mydata.tgz, stored alongside the extensions. But it works for me =)
Thank you all for the help. Special kudos to Jason W - the linking script is a very basic change to the movetc script you sent earlier. I really appreciate it.
EDIT:
now that I've gone through all that ... it remains quite complex! I'm thinking of other ways to skin this.
EDIT:
going through and writing scripts to do this via .dep files ... (I'll dig up who told me to do that in the first place
). It may be possible to create an extension that pulls this off.