fix(partition): "yalnızca GRUB için" bölüm mountpoint'siz kaydedilemiyordu

Kullanıcı raporu: "sda1 grub eklenecek o yüzden herhangi bir mount
olayı yok ve yine bağlama noktası boş olamaz uyarısı alıyorum."

Önceki commit yalnızca `validate_manual_on`'i düzeltmişti. Kaydetme
DİYALOĞUNDA ikinci bir kural vardı ve koşulu `!is_pv` idi — yani
fiziksel bölüm düzenlenirken de mountpoint zorunluydu.

Kullanıcı sda1'i "kuruluma ait değil, yalnızca GRUB için" diye
işaretlemek istiyordu ve diyalog kabul etmiyordu. Üstelik iki kural
birbirinden farklıydı: validate serbest bırakırken diyalog reddediyor
ve kullanıcı hangisinin geçerli olduğunu anlayamıyordu.

## mountpoint_required() — tek kural, iki yerde

Kural artık saf bir yardımcıda tanımlı ve HER İKİ yerde de aynen
kullanılıyor:

  - LVM PV → serbest
  - düzenlenen FİZİKSEL bölüm (orig_device dolu) → serbest
  - yeni tanım → zorunlu

⚠️ İki yerde ayrı yazılırsa birinde geçen diğerinde reddedilir ve
kullanıcı "İleri"ye geçemez. Not yorumla sabitlendi.

## Hata mesajı artık bölümü adıyla söylüyor

`mp_error_empty_mountpoint_named` eklendi. Genel mesaj ("Bağlama noktası
boş olamaz") ekranda beş bölüm varken hangisinin kastedildiğini
belli etmiyordu; bu bir hatanın iki tur turmasına yol açmıştı.

## Ölü i18n anahtarları silindi

`rescue_button_tooltip` ve `job_display_manager` kodda KULLANILMIYORDU
ve `en.toml`'da karşılıkları yoktu. Proje kuralı gereği çeviri
yazmak yerine silindi: sessizleştirmek yerine kökten kaldır.
tr/en artık tam eşleşiyor (463/463).

## Testler (98 → 102)

- GRUB için ayrılmış fiziksel bölüm boş bırakılabilir
- yeni tanımda mountpoint hâlâ zorunlu
- LVM PV hiçbir koşulda mountpoint istemez
- kullanıcının tam senaryosu (sda GRUB-only + sdb Linux + sdc /home)
  geçerli kabul ediliyor

cargo check --all-targets : 0 hata, 0 uyarı
cargo test              : 102/102

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erkan IŞIK
2026-09-27 16:10:29 +03:00
parent a47c6e52bc
commit 948e1d548d
3 changed files with 136 additions and 10 deletions
+1 -2
View File
@@ -151,7 +151,6 @@ check_warn_notice = "Bazı önerilen gereksinimler karşılanmıyor. Kurulum d
check_all_pass = "Tüm sistem gereksinimleri karşılandı."
recheck = "🔄 Yeniden Kontrol Et"
rescue_button = "🆘 Kurtarma Kipi"
rescue_button_tooltip = "PiSi Linux'u Kurtarma Modunda Yeniden Kur"
# ── Users (ek) ────────────────────────────────────────────
pwd_very_weak = "Çok zayıf"
@@ -261,6 +260,7 @@ job_mount_custom = "Manuel bölümler bağlanıyor"
# ── Ek Yerelleştirme / i18n ──────────────────────────────────
mp_delete_confirm_title = "Bölümü Sil"
mp_error_empty_mountpoint = "Bağlama noktası boş olamaz."
mp_error_empty_mountpoint_named = "Bağlama noktası boş olamaz: {device}. Listeden bir bağlama noktası seçin ya da bölümü \"Sil\" işaretleyip geçin."
mp_plan_valid = "Bölüm planı geçerli. İleri tuşuna basabilirsiniz."
mp_select_disk_first = "← Önce bir disk seçin."
mp_add_dialog_hint = "/ veya /home veya swap"
@@ -317,7 +317,6 @@ job_ldconfig = "Paylaşımlı kütüphaneler yapılandırılıyor (ldc
job_update_env = "Sistem ortamı güncelleniyor"
job_cleanup_live = "Canlı ortam izleri temizleniyor"
job_datetime = "Tarih & saat yapılandırılıyor"
job_display_manager = "Görüntü yöneticisi yapılandırılıyor"
job_autologin = "Otomatik oturum açma uygulanıyor"
job_netinstall = "Ek paketler kuruluyor"
job_setup_lvm = "LVM yapılandırılıyor"