agama-project / agama

A service-based Linux installer
https://agama-project.github.io/
GNU General Public License v2.0
145 stars 42 forks source link

feat(rust): probe after running pre-scripts #1735

Closed imobachgs closed 2 weeks ago

imobachgs commented 2 weeks ago

Problem

The typical use cases for pre-scripts are:

About the first use case, customers coming from AutoYaST can still use their old profiles because the pre-scripts will continue to work. For Agama, we could find a better way to modify the profile in place.

However, about the other use cases, we might need the scripts to run before system probing. The problem is that, in the single-product scenario, Agama performs the probing from the very beginning. It does not wait for a profile or the UI to start.

Solution

Run the system probing again after running pre-scripts only if the system is already in the config phase.

Drawback

As a side effect, importing a profile containing a pre-script causes the storage proposal to be lost. However, that's not a problem if the profile already contains a storage section, so it is kind of a corner case.

Moreover, the storage service should be responsible for keeping the proposal, which is out of this PR's scope.

Testing