diff --git a/README.md b/README.md index 9dc0211..5cf3209 100644 --- a/README.md +++ b/README.md @@ -977,10 +977,11 @@ hinzuweisen. Es bleibt trotzdem ein Zustand, in dem Edition und Version etwas anderes behaupten als das benutzte Image. Dafür gibt es zwei Auswege – beide im Menü unter den drei Werten: -| Weg | Wirkung | -|---|---| -| **Assistent starten** | holt das gewünschte Image; danach passt alles | -| **Vorgaben an das verwendete Image angleichen** | schreibt Edition und Version aus `CMK_IMAGE` zurück – die Warnung verschwindet, es ändert sich nichts am Betrieb | +| Weg | Richtung | Wirkung | +|---|---|---| +| **Assistent starten** | – | führt durch Edition, Version und Bezugsweg | +| **Image aus den Vorgaben setzen** | Edition/Version → Image | bildet die Referenz und trägt sie ein, **ohne etwas zu laden**; der Menüeintrag zeigt gleich, was dabei herauskommt | +| **Vorgaben aus dem Image ableiten** | Image → Edition/Version | schreibt Edition und Version aus `CMK_IMAGE` zurück; am Betrieb ändert sich nichts | Auf der Kommandozeile ist das zweite: diff --git a/README_en.md b/README_en.md index 1b1037a..e142d45 100644 --- a/README_en.md +++ b/README_en.md @@ -978,10 +978,11 @@ geholt") instead of merely pointing at the mismatch. It still leaves a state in which edition and version claim something different from the image in use. There are two ways out, both in the menu underneath the three values: -| Route | Effect | -|---|---| -| **Assistent starten** (run the wizard) | fetches the wanted image; everything matches afterwards | -| **Vorgaben an das verwendete Image angleichen** (align the defaults) | writes edition and version back from `CMK_IMAGE` – the warning disappears, nothing about the running setup changes | +| Route | Direction | Effect | +|---|---|---| +| **Assistent starten** (wizard) | – | walks through edition, version and source | +| **Image aus den Vorgaben setzen** (set from defaults) | edition/version → image | builds the reference and records it **without fetching anything**; the menu entry shows what it will be | +| **Vorgaben aus dem Image ableiten** (derive defaults) | image → edition/version | writes edition and version back from `CMK_IMAGE`; nothing about the running setup changes | On the command line the second one is: diff --git a/scripts/cmk-manage.sh b/scripts/cmk-manage.sh index e92ee39..fbc41ee 100755 --- a/scripts/cmk-manage.sh +++ b/scripts/cmk-manage.sh @@ -4370,15 +4370,45 @@ gui_settings_edit() { eingestellt sind aber ${CMK_EDITION:-?} / ${CMK_VERSION:-?}. Gestartet wird immer das Image, nicht die Vorgaben." fi + # Was ergaebe sich aus den Vorgaben? Das gehoert in die Beschriftung, + # damit die Richtung der beiden Wege klar ist. + local abgeleitet="" + if [ -n "${CMK_EDITION:-}" ] && [ -n "${CMK_VERSION:-}" ] \ + && edition_known "${CMK_EDITION}" 2>/dev/null; then + abgeleitet="$(edition_repo "$CMK_EDITION"):$CMK_VERSION" + fi + sel2="$(ui_menu "$key" \ "Aktuell: ${cur:-} $lage" \ wizard "Image beschaffen (Edition, Version, Bezugsweg)" \ - angleichen "Vorgaben an das verwendete Image angleichen" \ + setzen "Image aus den Vorgaben setzen${abgeleitet:+ -> $abgeleitet}" \ + angleichen "Umgekehrt: Vorgaben aus dem Image ableiten" \ nichts "Nichts aendern")" || { load_env "${ENV_FILE:-$PROJECT_DIR/.env}"; return 0; } case "$sel2" in wizard) gui_image_wizard || true ;; + setzen) + if [ -z "$abgeleitet" ]; then + ui_msg "Nicht moeglich" \ +"Aus den Vorgaben laesst sich keine Referenz bilden. + + Edition: ${CMK_EDITION:-} + Version: ${CMK_VERSION:-} + +Beides muss gesetzt sein - der Assistent fragt danach." + elif ui_yesno "Image setzen" \ +"Aus Edition und Version wird: + + $abgeleitet + +Heruntergeladen wird nichts - das holt die Runtime beim +naechsten Start selbst nach. + +Uebernehmen?"; then + ui_run "Image setzen" bash -c \ + "cd '$PROJECT_DIR' && '$SELF' -y image use --edition '$CMK_EDITION' --version '$CMK_VERSION'" + fi ;; angleichen) if [ -z "${CMK_IMAGE:-}" ]; then ui_msg "Nicht moeglich" "CMK_IMAGE ist nicht gesetzt."