Currently we store Goofy session data (which may be changed in runtime) in several places, for example:
- Goofy start mode (monolithic or presenter) in /usr/local/factory/init
- Active test list in /usr/local/factory/py/test/test_lists
- Test list options in factory state (/var/factory/state)
- Shopfloor URL and info in shared data (/var/factory/state)
- Engineering mode in .... runtime?
There's probably more.
All these are causing problems when we want to update toolkit, since we need to compile a list of "what files must be preserved".
I think we should change Goofy to store all information it cares in a single place (or few, in consistent way), and make /usr/local/factory not being modified in runtime.
Moving everything into state may be a good idea, but "factory_restart -a" will wipe it, where we may want few settings stored across factory_restart.
As first step, we may move few data into something like /var/factory/goofy, or /var/factory/permanent (permanent info that factory_restart should not delete?)
Comment 1 by hungte@chromium.org
, Aug 17 2017