Давно думал над изменениями в наших режимах сохранения в модуль и вот такая получилась идея.
- не трогаем то что есть, а делаем отдельный режим например uird.mode=toxzm
- функция обрабатывается уже после подключения модулей, это позволит не только распаковывать модуль, но и монтировать.
- ввиду того, что не реально передать параметрами все варианты подключения, сборки модуля фильтров и т.д в uird.changes= указываем не имя модуля, а имя конфига, в котором все это описано.
- в uird.changes может быть указано, как имя конфига так и имя папки, в таком случае имя для конфига генерится, также как сейчас имя модуля для machines. То есть работает с привязкой к машине.
- если конфига еще нет, он создается с простейшим шаблоном.
- конфиг содержит секции для каждого модуля (можно сохранять в несколько модулей с разными фильтрами), по умолчанию секция одна.
- конфиг содержит следующие поля для каждой секции:
- имя модуля с путем относительно конфига по дефолту ./имя-как-у-конфига.xzm
- как подключать (mount, copy)
- пересобирать или нет (как dynamic,static)
- конкатенация с предыдущей версией (да,нет), если пусто то зависит от mount,copy
- фильтры для файлов и папок в модуле, типа savelist или uird.load/noload
Пересборку при выключении наверное лучше сделать с uird.shutdown, чтоб не только в магос работало.
Предлагаю обсудить ибо работы много, и делать это если оно никому не надо - глупо.